
PROGRAM _INIT
	
	Tisch_2 := 0;

END_PROGRAM

PROGRAM _CYCLIC
	
		IF (gTisch_2.Inputs.Vor_Stopper = TRUE AND gTisch_2.Inputs.Stausensor = FALSE AND Tisch_2 = 0) OR (gTisch_2.Inputs.Vor_VorStopper = TRUE AND gTisch_2.Inputs.Vor_Stopper = FALSE AND Tisch_2 = 0) THEN
			gTisch_2.Outputs.Lampe_Start := TRUE;
		ELSE
			gTisch_2.Outputs.Lampe_Start := FALSE;
		END_IF
	
		IF gTaster_Tisch_2_aus = TRUE THEN
			gTisch_2.Cmd.Stopper := KMD_EINFAHREN;
			gTisch_2.Cmd.Vorstopper := KMD_EINFAHREN;
			gMerker_RFID_Tisch_2_gelesen := TRUE;
			Tisch_2 := 0;
		END_IF

	CASE Tisch_2 OF

		0:
		IF gTisch_2.Inputs.Start = TRUE AND gTisch_2.Inputs.Vor_VorStopper = TRUE AND gTisch_2.Inputs.Vor_Stopper = TRUE AND gTisch_2.Inputs.Stausensor = FALSE AND gTaster_Tisch_2_aus = FALSE AND gMerker_RFID_Tisch_2_gelesen = TRUE THEN
			gTisch_2.Cmd.Stopper := KMD_EINFAHREN;
			gMerker_RFID_Tisch_2_gelesen := FALSE;
			Tisch_2 := 10;
		ELSIF gTisch_2.Inputs.Start = TRUE AND gTisch_2.Inputs.Vor_VorStopper = FALSE AND gTisch_2.Inputs.Vor_Stopper = TRUE AND gTisch_2.Inputs.Stausensor = FALSE AND gTaster_Tisch_2_aus = FALSE AND gMerker_RFID_Tisch_2_gelesen = TRUE THEN
				gTisch_2.Cmd.Stopper := KMD_EINFAHREN;
				gMerker_RFID_Tisch_2_gelesen := FALSE;
				Tisch_2 := 70;
		ELSIF gTisch_2.Inputs.Start = TRUE AND gTisch_2.Inputs.Vor_VorStopper = TRUE AND gTisch_2.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_2_aus = FALSE THEN
				gTisch_2.Cmd.Vorstopper := KMD_EINFAHREN;
				Tisch_2 := 110;
		ELSIF gTaster_Tisch_2_aus = FALSE AND gTisch_2.Inputs.Stopper_eingefahren = TRUE AND gTisch_2.Inputs.Vorstopper_eingefahren = TRUE THEN
				gTisch_2.Cmd.Stopper := KMD_AUSFAHREN;
				gTisch_2.Cmd.Vorstopper := KMD_AUSFAHREN;
				Tisch_2 := 0;
		END_IF	
		
//

		10:
		IF gTisch_2.Inputs.Nach_Stopper = TRUE THEN
			Tisch_2 := 20;
		END_IF
		
		20:
		IF gTisch_2.Inputs.Nach_Stopper = FALSE THEN
			gTisch_2.Cmd.Stopper := KMD_AUSFAHREN;
			gTisch_2.Cmd.Vorstopper := KMD_EINFAHREN;
			Tisch_2 := 30;
		END_IF

		30:
		IF gTisch_2.Inputs.Nach_Vorstopper = TRUE THEN
			Tisch_2 := 40;
		END_IF

		40:
		IF gTisch_2.Inputs.Nach_Vorstopper = FALSE THEN
			gTisch_2.Cmd.Vorstopper := KMD_AUSFAHREN;
			Tisch_2 := 50;
		END_IF

		50:
		IF gTisch_2.Inputs.Stausensor = TRUE THEN
			Tisch_2 := 60;
		END_IF

		60:
		IF gTisch_2.Status.Vorstopper = STATUS_AUSGEFAHREN AND gTisch_2.Status.Stopper = STATUS_AUSGEFAHREN THEN
			Tisch_2 := 0;
		END_IF

//      	

		70:
		IF gTisch_2.Inputs.Nach_Stopper = TRUE THEN
			Tisch_2 := 80;
		END_IF

		80:
		IF gTisch_2.Inputs.Nach_Stopper = FALSE THEN
			gTisch_2.Cmd.Stopper := KMD_AUSFAHREN;
			Tisch_2 := 90;
		END_IF

		90:
		IF gTisch_2.Inputs.Stausensor = TRUE THEN
			Tisch_2 := 100;
		END_IF

		100:
		IF gTisch_2.Status.Stopper = STATUS_AUSGEFAHREN THEN
			Tisch_2 := 0;
		END_IF

//

		110:
		IF gTisch_2.Inputs.Nach_Vorstopper = TRUE THEN
			Tisch_2 := 120;
		END_IF

		120:
		IF gTisch_2.Inputs.Nach_Vorstopper = FALSE THEN
			gTisch_2.Cmd.Vorstopper := KMD_AUSFAHREN;
			Tisch_2 := 130;
		END_IF

		130:
		IF gTisch_2.Inputs.Vor_Stopper = TRUE AND gTisch_2.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
			Tisch_2 := 0;
		END_IF

	END_CASE	

END_PROGRAM

PROGRAM _EXIT
	(* Insert code here *)
	 
END_PROGRAM

