PROGRAM _INIT

	Tisch_5 := 0;

END_PROGRAM

PROGRAM _CYCLIC

		IF (gTisch_5.Inputs.Vor_Stopper = TRUE AND gTisch_5.Inputs.Stausensor = FALSE AND Tisch_5 = 0) OR (gTisch_5.Inputs.Vor_VorStopper = TRUE AND gTisch_5.Inputs.Vor_Stopper = FALSE AND Tisch_5 = 0) THEN
			gTisch_5.Outputs.Lampe_Start := TRUE;
		ELSE
			gTisch_5.Outputs.Lampe_Start := FALSE;
		END_IF	
	
		IF gTaster_Tisch_5_aus = TRUE THEN
			gTisch_5.Cmd.Stopper := KMD_EINFAHREN;
			gTisch_5.Cmd.Vorstopper := KMD_EINFAHREN;
			gMerker_RFID_Tisch_5_gelesen := TRUE;
			Tisch_5 := 0;
		END_IF
	
	CASE Tisch_5 OF

		0:
		IF gTisch_5.Inputs.Start = TRUE AND gTisch_5.Inputs.Vor_VorStopper = TRUE AND gTisch_5.Inputs.Vor_Stopper = TRUE AND gTisch_5.Inputs.Stausensor = FALSE AND gTaster_Tisch_5_aus = FALSE (*AND gMerker_RFID_Tisch_5_gelesen = TRUE*) THEN
			gTisch_5.Cmd.Stopper := KMD_EINFAHREN;
			gMerker_RFID_Tisch_5_gelesen := FALSE;
			Tisch_5 := 10;
		ELSIF gTisch_5.Inputs.Start = TRUE AND gTisch_5.Inputs.Vor_VorStopper = FALSE AND gTisch_5.Inputs.Vor_Stopper = TRUE AND gTisch_5.Inputs.Stausensor = FALSE AND gTaster_Tisch_5_aus = FALSE (*AND gMerker_RFID_Tisch_5_gelesen = TRUE*) THEN
				gTisch_5.Cmd.Stopper := KMD_EINFAHREN;
				gMerker_RFID_Tisch_5_gelesen := FALSE;
				Tisch_5 := 70;
		ELSIF gTisch_5.Inputs.Start = TRUE AND gTisch_5.Inputs.Vor_VorStopper = TRUE AND gTisch_5.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_5_aus = FALSE THEN
				gTisch_5.Cmd.Vorstopper := KMD_EINFAHREN;
				Tisch_5 := 110;
		ELSIF gTaster_Tisch_5_aus = FALSE AND gTisch_5.Inputs.Stopper_eingefahren = TRUE AND gTisch_5.Inputs.Vorstopper_eingefahren = TRUE THEN
				gTisch_5.Cmd.Stopper := KMD_AUSFAHREN;
				gTisch_5.Cmd.Vorstopper := KMD_AUSFAHREN;
				Tisch_5 := 0;
		END_IF	
		
//

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

		30:
		IF gTisch_5.Inputs.Nach_Vorstopper = TRUE THEN
			Tisch_5 := 40;
		END_IF

		40:
		IF gTisch_5.Inputs.Nach_Vorstopper = FALSE THEN
			gTisch_5.Cmd.Vorstopper := KMD_AUSFAHREN;
			Tisch_5 := 50;
		END_IF

		50:
		IF gTisch_5.Inputs.Stausensor = TRUE THEN
			Tisch_5 := 60;
		END_IF

		60:
		IF gTisch_5.Status.Vorstopper = STATUS_AUSGEFAHREN AND gTisch_5.Status.Stopper = STATUS_AUSGEFAHREN THEN
			Tisch_5 := 0;
		END_IF

//      	

		70:
		IF gTisch_5.Inputs.Nach_Stopper = TRUE THEN
			Tisch_5 := 80;
		END_IF

		80:
		IF gTisch_5.Inputs.Nach_Stopper = FALSE THEN
			gTisch_5.Cmd.Stopper := KMD_AUSFAHREN;
			Tisch_5 := 90;
		END_IF

		90:
		IF gTisch_5.Inputs.Stausensor = TRUE THEN
			Tisch_5 := 100;
		END_IF

		100:
		IF gTisch_5.Status.Stopper = STATUS_AUSGEFAHREN THEN
			Tisch_5 := 0;
		END_IF

//

		110:
		IF gTisch_5.Inputs.Nach_Vorstopper = TRUE THEN
			Tisch_5 := 120;
		END_IF

		120:
		IF gTisch_5.Inputs.Nach_Vorstopper = FALSE THEN
			gTisch_5.Cmd.Vorstopper := KMD_AUSFAHREN;
			Tisch_5 := 130;
		END_IF

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

	END_CASE	

END_PROGRAM

PROGRAM _EXIT
	(* Insert code here *)
	 
END_PROGRAM