Prova così
const int laser = 40; // input proveniente dal plc della macchina
long start; //inizio macchina in lavorazione
long duratas; // durata macchina in lavorazione
long fermo; // inizio fermo macchina
long durataf; // durata fermo macchina
void setup() {
pinMode(laser,INPUT);
Serial.begin(9600);
}
void loop() {
if(digitalRead(laser == HIGH))
{
start = millis();
while(digitalRead(laser)== HIGH);
duratas += millis()-start;
delay(30);
Serial.print("Laser ON:");
Serial.println(duratas/1000);
}
if(digitalRead(laser == LOW))
{
fermo = millis();
while(digitalRead(laser)== LOW);
durataf +=millis()-fermo;
delay(30);
Serial.print ("Laser OFF:");
Serial.println(durataf/1000);
//
}
}