Timer calcolo tempi morti per taglio laser lamiera

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);
  //
  }
}