PROGRAM _INIT Tisch_3 := 0; END_PROGRAM PROGRAM _CYCLIC IF (gTisch_3.Inputs.Vor_Stopper = TRUE AND gTisch_3.Inputs.Stausensor = FALSE AND Tisch_3 = 0) OR (gTisch_3.Inputs.Vor_VorStopper = TRUE AND gTisch_3.Inputs.Vor_Stopper = FALSE AND Tisch_3 = 0) THEN gTisch_3.Outputs.Lampe_Start := TRUE; ELSE gTisch_3.Outputs.Lampe_Start := FALSE; END_IF IF gTaster_Tisch_3_aus = TRUE THEN gTisch_3.Cmd.Stopper := KMD_EINFAHREN; gTisch_3.Cmd.Vorstopper := KMD_EINFAHREN; gMerker_RFID_Tisch_3_gelesen := TRUE; Tisch_3 := 0; END_IF CASE Tisch_3 OF 0: IF gTisch_3.Inputs.Start = TRUE AND gTisch_3.Inputs.Vor_VorStopper = TRUE AND gTisch_3.Inputs.Vor_Stopper = TRUE AND gTisch_3.Inputs.Stausensor = FALSE AND gTaster_Tisch_3_aus = FALSE (*AND gMerker_RFID_Tisch_3_gelesen = TRUE*) THEN gTisch_3.Cmd.Stopper := KMD_EINFAHREN; gMerker_RFID_Tisch_3_gelesen := FALSE; Tisch_3 := 10; ELSIF gTisch_3.Inputs.Start = TRUE AND gTisch_3.Inputs.Vor_VorStopper = FALSE AND gTisch_3.Inputs.Vor_Stopper = TRUE AND gTisch_3.Inputs.Stausensor = FALSE AND gTaster_Tisch_3_aus = FALSE (*AND gMerker_RFID_Tisch_3_gelesen = TRUE*) THEN gTisch_3.Cmd.Stopper := KMD_EINFAHREN; gMerker_RFID_Tisch_3_gelesen := FALSE; Tisch_3 := 70; ELSIF gTisch_3.Inputs.Start = TRUE AND gTisch_3.Inputs.Vor_VorStopper = TRUE AND gTisch_3.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_3_aus = FALSE THEN gTisch_3.Cmd.Vorstopper := KMD_EINFAHREN; Tisch_3 := 110; ELSIF gTaster_Tisch_3_aus = FALSE AND gTisch_3.Inputs.Stopper_eingefahren = TRUE AND gTisch_3.Inputs.Vorstopper_eingefahren = TRUE THEN gTisch_3.Cmd.Stopper := KMD_AUSFAHREN; gTisch_3.Cmd.Vorstopper := KMD_AUSFAHREN; Tisch_3 := 0; END_IF // 10: IF gTisch_3.Inputs.Nach_Stopper = TRUE THEN Tisch_3 := 20; END_IF 20: IF gTisch_3.Inputs.Nach_Stopper = FALSE THEN gTisch_3.Cmd.Stopper := KMD_AUSFAHREN; gTisch_3.Cmd.Vorstopper := KMD_EINFAHREN; Tisch_3 := 30; END_IF 30: IF gTisch_3.Inputs.Nach_Vorstopper = TRUE THEN Tisch_3 := 40; END_IF 40: IF gTisch_3.Inputs.Nach_Vorstopper = FALSE THEN gTisch_3.Cmd.Vorstopper := KMD_AUSFAHREN; Tisch_3 := 50; END_IF 50: IF gTisch_3.Inputs.Stausensor = TRUE THEN Tisch_3 := 60; END_IF 60: IF gTisch_3.Status.Vorstopper = STATUS_AUSGEFAHREN AND gTisch_3.Status.Stopper = STATUS_AUSGEFAHREN THEN Tisch_3 := 0; END_IF // 70: IF gTisch_3.Inputs.Nach_Stopper = TRUE THEN Tisch_3 := 80; END_IF 80: IF gTisch_3.Inputs.Nach_Stopper = FALSE THEN gTisch_3.Cmd.Stopper := KMD_AUSFAHREN; Tisch_3 := 90; END_IF 90: IF gTisch_3.Inputs.Stausensor = TRUE THEN Tisch_3 := 100; END_IF 100: IF gTisch_3.Status.Stopper = STATUS_AUSGEFAHREN THEN Tisch_3 := 0; END_IF // 110: IF gTisch_3.Inputs.Nach_Vorstopper = TRUE THEN Tisch_3 := 120; END_IF 120: IF gTisch_3.Inputs.Nach_Vorstopper = FALSE THEN gTisch_3.Cmd.Vorstopper := KMD_AUSFAHREN; Tisch_3 := 130; END_IF 130: IF gTisch_3.Inputs.Vor_Stopper = TRUE AND gTisch_3.Status.Vorstopper = STATUS_AUSGEFAHREN THEN Tisch_3 := 0; END_IF END_CASE END_PROGRAM PROGRAM _EXIT (* Insert code here *) END_PROGRAM