CASE DURUM OF
0: (*1DK CALISMA DURUMU*) (* START BUTONUYLA ÇALIŞMA BAŞLAR *)
IF TEKRAR_SAYISI <= 10 THEN (* Tekrar sayısı 10 a ulaşana dek *)
IF START OR SURE30SNBEKLE.Q THEN
TEKRAR_SAYISI := TEKRAR_SAYISI+1;
START := FALSE;
SURE30SNBEKLE.IN := FALSE;
CIKIS := TRUE;
SURE1DK.IN := TRUE;
END_IF
IF SURE1DK.Q THEN (* Süre Doldu mu? *)
SURE1DK.IN := FALSE;
CIKIS := FALSE;
DURUM := 10;
END_IF
ELSE (* TEKRAR SAYISI 10'u GEÇTİYSE *)
TEKRAR_SAYISI := 0;
START := FALSE;
CIKIS := FALSE;
SURE1DK.IN := FALSE;
SURE30SNBEKLE.IN := FALSE;
END_IF
10: (*30SN BEKLEME DURUMU *)
SURE30SNBEKLE.IN := TRUE;
CIKIS := FALSE;
IF SURE30SNBEKLE.Q THEN
DURUM :=0;
END_IF
END_CASE
(* Timerlar(TON) Case in dışında çağrılır *)
SURE1DK.PT:= T#10S;
SURE1DK();
SURE30SNBEKLE.PT :=t#5S;
SURE30SNBEKLE();