Browse Source

Stable Version active_3

jcech 2 years ago
parent
commit
6646ff2a5d

+ 0 - 1
Logical/Global.var

@@ -27,7 +27,6 @@ VAR
 	gMerker_Laser_Automatik : BOOL;
 	gMerker_Laser_Doppelzylinder : BOOL; (*Cech-Implement: Centurio fordert aus dem Produktcode eine Doppellaserung für einen Doppelzylinder*)
 	gMerker_Laser_Einstellen_fertig : BOOL; (*Cech-Implement: Laser ist fertig eingestellt mit LAserfile und Seriennummer und bereit für das Startsignal von Linien-SPS "gVK_Start_Laser"*)
-	gMerker_Laser_erforderlich : BOOL; (*Cech-Implement: Centurio teilt Linien-SPS mit, ab bei dem WST gelasert werden soll oder nicht*)
 	gMerker_Laser_Halbautomatik : BOOL;
 	gMerker_Laser_Manuell : BOOL;
 	gMerker_Liftgate_entriegelt : BOOL;

File diff suppressed because it is too large
+ 815 - 772
Logical/RFID/Main.st


+ 0 - 1
Logical/Stationen_Variablen/Tisch_6.typ

@@ -47,7 +47,6 @@ TYPE
 		Vorstopper_EinZeit : BOOL;
 		Vorstopper_ZeitRun : UDINT;
 		Vorstopper_AusZeit : BOOL;
-		Aushebeeinheit_ZeitWart : UDINT;
 		Aushebeeinheit_EinZeit : BOOL;
 		Aushebeeinheit_ZeitRun : UDINT;
 		Aushebeeinheit_AusZeit : BOOL;

+ 2 - 2
Logical/TischProgramme/Tisch1/Main.st

@@ -23,12 +23,12 @@ PROGRAM _CYCLIC
 	CASE Tisch_1 OF
 
 		0:
-		IF gTisch_1.Inputs.Start = TRUE AND gTisch_1.Inputs.Vor_VorStopper = TRUE AND gTisch_1.Inputs.Vor_Stopper = TRUE AND gTisch_1.Inputs.Stausensor = FALSE AND gTaster_Tisch_1_aus = FALSE AND gMerker_RFID_Tisch_1_gelesen = TRUE THEN
+		IF gTisch_1.Inputs.Start = TRUE AND gTisch_1.Inputs.Vor_VorStopper = TRUE AND gTisch_1.Inputs.Vor_Stopper = TRUE AND gTisch_1.Inputs.Stausensor = FALSE AND gTaster_Tisch_1_aus = FALSE (*AND gMerker_RFID_Tisch_1_gelesen = TRUE*) THEN
 			gTisch_1.Cmd.Stopper := KMD_EINFAHREN;
 			gMerker_RFID_Tisch_1_gelesen := FALSE;
 			gMerker_Tisch_1_lesen_fertig := FALSE;
 			Tisch_1 := 10;
-		ELSIF gTisch_1.Inputs.Start = TRUE AND gTisch_1.Inputs.Vor_VorStopper = FALSE AND gTisch_1.Inputs.Vor_Stopper = TRUE AND gTisch_1.Inputs.Stausensor = FALSE AND gTaster_Tisch_1_aus = FALSE AND gMerker_RFID_Tisch_1_gelesen = TRUE THEN
+		ELSIF gTisch_1.Inputs.Start = TRUE AND gTisch_1.Inputs.Vor_VorStopper = FALSE AND gTisch_1.Inputs.Vor_Stopper = TRUE AND gTisch_1.Inputs.Stausensor = FALSE AND gTaster_Tisch_1_aus = FALSE (*AND gMerker_RFID_Tisch_1_gelesen = TRUE*) THEN
 				gTisch_1.Cmd.Stopper := KMD_EINFAHREN;
 				gMerker_RFID_Tisch_1_gelesen := FALSE;
 				gMerker_Tisch_1_lesen_fertig := FALSE;

+ 2 - 2
Logical/TischProgramme/Tisch2/Main.st

@@ -27,12 +27,12 @@ PROGRAM _CYCLIC
 	//Cech-Comment: Mit dem grünen TAster werden entsprechend der Konstellation in der Station die Stopper aus und eingefahren und der RFID-Merker wird geschrieben oder gelöscht
 		0:  
 			//Cech-Comment: Wenn grüne TAste und ein WST in und auch vor der Station, danach frei und der RFID gelesen wurde, dann WST aus der Station entlasse und RFID-VAriable der Station auf ungelesen stellen
-		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
+		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;
 			// Cech-Comment: Wenn grüner TAster und kein WST vor der Station und WST in der Station und keiner nach der Station und RFID gelesen, dann WST entlassen und RFID-Variable der STation auf ungelesen setzen
-		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
+		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;

+ 2 - 2
Logical/TischProgramme/Tisch3/Main.st

@@ -24,11 +24,11 @@ PROGRAM _CYCLIC
 	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
+		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
+		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;

+ 104 - 125
Logical/TischProgramme/Tisch4/Main.st

@@ -2,8 +2,6 @@
 PROGRAM _INIT
 
 	Tisch_4 := 0;
-	
-	RTInfo_0(enable:=1);
 	 
 	gTisch_4.Cmd.Stopper := KMD_EINFAHREN;
 	gTisch_4.Cmd.Vorstopper := KMD_EINFAHREN;
@@ -13,135 +11,116 @@ END_PROGRAM
 
 PROGRAM _CYCLIC
 
-		IF (gTisch_4.Inputs.Vor_Stopper = TRUE AND gTisch_4.Inputs.Stausensor = FALSE AND Tisch_4 = 0) OR (gTisch_4.Inputs.Vor_VorStopper = TRUE AND gTisch_4.Inputs.Vor_Stopper = FALSE AND Tisch_4 = 0) THEN
-			gTisch_4.Outputs.Lampe_Start := TRUE;
-		ELSE
-			gTisch_4.Outputs.Lampe_Start := FALSE;
-		END_IF
-	
-		IF gTaster_Tisch_4_aus = TRUE THEN
-			gTisch_4.Cmd.Stopper := KMD_EINFAHREN;
-			gTisch_4.Cmd.Vorstopper := KMD_EINFAHREN;
-			gMerker_RFID_Tisch_4_gelesen := TRUE;
-			Tisch_4 := 0;
-		END_IF
-	
-	CASE Tisch_4 OF
-
-		0:
-		IF (*gTisch_4.Inputs.Start = TRUE AND*) gTisch_4.Inputs.Vor_VorStopper = TRUE AND gTisch_4.Inputs.Vor_Stopper = TRUE AND gTisch_4.Inputs.Stausensor = FALSE AND gTaster_Tisch_4_aus = FALSE AND gMerker_RFID_Tisch_4_gelesen = TRUE THEN
+//		IF (gTisch_4.Inputs.Vor_Stopper = TRUE AND gTisch_4.Inputs.Stausensor = FALSE AND Tisch_4 = 0) OR (gTisch_4.Inputs.Vor_VorStopper = TRUE AND gTisch_4.Inputs.Vor_Stopper = FALSE AND Tisch_4 = 0) THEN
+//			gTisch_4.Outputs.Lampe_Start := TRUE;
+//		ELSE
+//			gTisch_4.Outputs.Lampe_Start := FALSE;
+//		END_IF
+//	
+//		IF gTaster_Tisch_4_aus = TRUE THEN
+//			gTisch_4.Cmd.Stopper := KMD_EINFAHREN;
+//			gTisch_4.Cmd.Vorstopper := KMD_EINFAHREN;
+//			gMerker_RFID_Tisch_4_gelesen := TRUE;
+//			Tisch_4 := 0;
+//		END_IF
+//	
+//	CASE Tisch_4 OF
+//
+//		0:
+//		IF gTisch_4.Inputs.Start = TRUE AND gTisch_4.Inputs.Vor_VorStopper = TRUE AND gTisch_4.Inputs.Vor_Stopper = TRUE AND gTisch_4.Inputs.Stausensor = FALSE AND gTaster_Tisch_4_aus = FALSE AND gMerker_RFID_Tisch_4_gelesen = TRUE THEN
 //			gTisch_4.Cmd.Stopper := KMD_EINFAHREN;
 //			gMerker_RFID_Tisch_4_gelesen := FALSE;	
 //			Tisch_4 := 10;
-			lWarten_Auto_Start_Tisch_4 := 0;	
-			Tisch_4 := 5;
-		ELSIF (*gTisch_4.Inputs.Start = TRUE AND*) gTisch_4.Inputs.Vor_VorStopper = FALSE AND gTisch_4.Inputs.Vor_Stopper = TRUE AND gTisch_4.Inputs.Stausensor = FALSE AND gTaster_Tisch_4_aus = FALSE AND gMerker_RFID_Tisch_4_gelesen = TRUE THEN
+//		ELSIF gTisch_4.Inputs.Start = TRUE AND gTisch_4.Inputs.Vor_VorStopper = FALSE AND gTisch_4.Inputs.Vor_Stopper = TRUE AND gTisch_4.Inputs.Stausensor = FALSE AND gTaster_Tisch_4_aus = FALSE AND gMerker_RFID_Tisch_4_gelesen = TRUE THEN
 //				gTisch_4.Cmd.Stopper := KMD_EINFAHREN;
 //				gMerker_RFID_Tisch_4_gelesen := FALSE;
 //				Tisch_4 := 70;
-				lWarten_Auto_Start_Tisch_4 := 0;	
-				Tisch_4 := 65;
-		ELSIF (*gTisch_4.Inputs.Start = TRUE AND*) gTisch_4.Inputs.Vor_VorStopper = TRUE AND gTisch_4.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_4_aus = FALSE THEN
-				gTisch_4.Cmd.Vorstopper := KMD_EINFAHREN;
-				Tisch_4 := 110;
-		ELSIF gTaster_Tisch_4_aus = FALSE AND gTisch_4.Inputs.Stopper_eingefahren = TRUE AND gTisch_4.Inputs.Vorstopper_eingefahren = TRUE THEN
-				gTisch_4.Cmd.Stopper := KMD_AUSFAHREN;
-				gTisch_4.Cmd.Vorstopper := KMD_AUSFAHREN;
-				Tisch_4 := 0;
-		END_IF	
- 
-// Cech-Implement: Hier in 5: habe ich eingefügt, dass der WST zum Photografieren 10s stehen bleibt			
-		5: lWarten_Auto_Start_Tisch_4 := lWarten_Auto_Start_Tisch_4 + (RTInfo_0.cycle_time/1000);
-			IF lWarten_Auto_Start_Tisch_4 >= 10000 THEN
-				gTisch_4.Cmd.Stopper := KMD_EINFAHREN;
-				gMerker_RFID_Tisch_4_gelesen := FALSE;
-				lWarten_Auto_Start_Tisch_4 := 0;
-				Tisch_4 := 10;
-			END_IF		
-
-		10:
-		IF gTisch_4.Inputs.Nach_Stopper = TRUE THEN
-			Tisch_4 := 20;
-		END_IF
-		
-		20:
-		IF gTisch_4.Inputs.Nach_Stopper = FALSE THEN
-			gTisch_4.Cmd.Stopper := KMD_AUSFAHREN;
-			gTisch_4.Cmd.Vorstopper := KMD_EINFAHREN;
-			Tisch_4 := 30;
-		END_IF
-
-		30:
-		IF gTisch_4.Inputs.Nach_Vorstopper = TRUE THEN
-			Tisch_4 := 40;
-		END_IF
-
-		40:
-		IF gTisch_4.Inputs.Nach_Vorstopper = FALSE THEN
-			gTisch_4.Cmd.Vorstopper := KMD_AUSFAHREN;
-			Tisch_4 := 50;
-		END_IF
-
-		50:
-		IF gTisch_4.Inputs.Stausensor = TRUE THEN
-			Tisch_4 := 60;
-		END_IF
-
-		60:
-		IF gTisch_4.Status.Vorstopper = STATUS_AUSGEFAHREN AND gTisch_4.Status.Stopper = STATUS_AUSGEFAHREN THEN
-			Tisch_4 := 0;
-		END_IF
-
- 		
-		65: lWarten_Auto_Start_Tisch_4 := lWarten_Auto_Start_Tisch_4 + (RTInfo_0.cycle_time/1000);
-		IF lWarten_Auto_Start_Tisch_4 >= 10000 THEN
-			gTisch_4.Cmd.Stopper := KMD_EINFAHREN;
-			gMerker_RFID_Tisch_4_gelesen := FALSE;
-			lWarten_Auto_Start_Tisch_4 := 0;
-			Tisch_4 := 70;
-		END_IF		
-     	
-
-		70:
-		IF gTisch_4.Inputs.Nach_Stopper = TRUE THEN
-			Tisch_4 := 80;
-		END_IF
-
-		80:
-		IF gTisch_4.Inputs.Nach_Stopper = FALSE THEN
-			gTisch_4.Cmd.Stopper := KMD_AUSFAHREN;
-			Tisch_4 := 90;
-		END_IF
-
-		90:
-		IF gTisch_4.Inputs.Stausensor = TRUE THEN
-			Tisch_4 := 100;
-		END_IF
-
-		100:
-		IF gTisch_4.Status.Stopper = STATUS_AUSGEFAHREN THEN
-			Tisch_4 := 0;
-		END_IF
-
-
-
-		110:
-		IF gTisch_4.Inputs.Nach_Vorstopper = TRUE THEN
-			Tisch_4 := 120;
-		END_IF
-
-		120:
-		IF gTisch_4.Inputs.Nach_Vorstopper = FALSE THEN
-			gTisch_4.Cmd.Vorstopper := KMD_AUSFAHREN;
-			Tisch_4 := 130;
-		END_IF
-
-		130:
-		IF gTisch_4.Inputs.Vor_Stopper = TRUE AND gTisch_4.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
-			Tisch_4 := 0;
-		END_IF
-
-	END_CASE	
+//		ELSIF gTisch_4.Inputs.Start = TRUE AND gTisch_4.Inputs.Vor_VorStopper = TRUE AND gTisch_4.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_4_aus = FALSE THEN
+//				gTisch_4.Cmd.Vorstopper := KMD_EINFAHREN;
+//				Tisch_4 := 110;
+//		ELSIF gTaster_Tisch_4_aus = FALSE AND gTisch_4.Inputs.Stopper_eingefahren = TRUE AND gTisch_4.Inputs.Vorstopper_eingefahren = TRUE THEN
+//				gTisch_4.Cmd.Stopper := KMD_AUSFAHREN;
+//				gTisch_4.Cmd.Vorstopper := KMD_AUSFAHREN;
+//				Tisch_4 := 0;
+//		END_IF	
+//		
+////
+//
+//		10:
+//		IF gTisch_4.Inputs.Nach_Stopper = TRUE THEN
+//			Tisch_4 := 20;
+//		END_IF
+//		
+//		20:
+//		IF gTisch_4.Inputs.Nach_Stopper = FALSE THEN
+//			gTisch_4.Cmd.Stopper := KMD_AUSFAHREN;
+//			gTisch_4.Cmd.Vorstopper := KMD_EINFAHREN;
+//			Tisch_4 := 30;
+//		END_IF
+//
+//		30:
+//		IF gTisch_4.Inputs.Nach_Vorstopper = TRUE THEN
+//			Tisch_4 := 40;
+//		END_IF
+//
+//		40:
+//		IF gTisch_4.Inputs.Nach_Vorstopper = FALSE THEN
+//			gTisch_4.Cmd.Vorstopper := KMD_AUSFAHREN;
+//			Tisch_4 := 50;
+//		END_IF
+//
+//		50:
+//		IF gTisch_4.Inputs.Stausensor = TRUE THEN
+//			Tisch_4 := 60;
+//		END_IF
+//
+//		60:
+//		IF gTisch_4.Status.Vorstopper = STATUS_AUSGEFAHREN AND gTisch_4.Status.Stopper = STATUS_AUSGEFAHREN THEN
+//			Tisch_4 := 0;
+//		END_IF
+//
+////      	
+//
+//		70:
+//		IF gTisch_4.Inputs.Nach_Stopper = TRUE THEN
+//			Tisch_4 := 80;
+//		END_IF
+//
+//		80:
+//		IF gTisch_4.Inputs.Nach_Stopper = FALSE THEN
+//			gTisch_4.Cmd.Stopper := KMD_AUSFAHREN;
+//			Tisch_4 := 90;
+//		END_IF
+//
+//		90:
+//		IF gTisch_4.Inputs.Stausensor = TRUE THEN
+//			Tisch_4 := 100;
+//		END_IF
+//
+//		100:
+//		IF gTisch_4.Status.Stopper = STATUS_AUSGEFAHREN THEN
+//			Tisch_4 := 0;
+//		END_IF
+//
+////
+//
+//		110:
+//		IF gTisch_4.Inputs.Nach_Vorstopper = TRUE THEN
+//			Tisch_4 := 120;
+//		END_IF
+//
+//		120:
+//		IF gTisch_4.Inputs.Nach_Vorstopper = FALSE THEN
+//			gTisch_4.Cmd.Vorstopper := KMD_AUSFAHREN;
+//			Tisch_4 := 130;
+//		END_IF
+//
+//		130:
+//		IF gTisch_4.Inputs.Vor_Stopper = TRUE AND gTisch_4.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
+//			Tisch_4 := 0;
+//		END_IF
+//
+//	END_CASE	
 
 END_PROGRAM
 

+ 0 - 4
Logical/TischProgramme/Tisch4/Variables.var

@@ -1,4 +0,0 @@
-VAR
-	lWarten_Auto_Start_Tisch_4 : UDINT;
-	RTInfo_0 : RTInfo;
-END_VAR

+ 2 - 2
Logical/TischProgramme/Tisch5/Main.st

@@ -23,11 +23,11 @@ PROGRAM _CYCLIC
 	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
+		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
+		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;

+ 54 - 59
Logical/TischProgramme/Tisch6/Main.st

@@ -12,8 +12,6 @@ PROGRAM _INIT
 	RTInfo_0(enable:=1);
 	
 	gMerker_Laser_Einstellen_fertig := FALSE; 	//Cech-Implement
-	gMerker_Laser_Doppelzylinder := FALSE;		//Cech-Implement
-	gMerker_Laser_erforderlich := TRUE;		//Cech-Implement
 		
 END_PROGRAM
 
@@ -107,11 +105,11 @@ PROGRAM _CYCLIC
 	CASE Tisch_6_Manuell OF		//Cech-Comment: Handbetrieb (meiner Meinung nach nicht sauber, Fehler drinnen)
 		
 		0:		// Cech-Comment: Ich schätze, dass hier der manuelle Laserbetrieb initiiert wird, indem eine WST-"Beladung" initiiert wird (IF: WST in LASer und wird ausgefahren, ELSE-IF: Kein WSt in LAser)
-		IF gMerker_Laser_Manuell = TRUE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = FALSE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND Tisch_6 = 0 THEN		//Cech-Comment: Wenn WST in Station --> wird ausgefahren
+		IF gMerker_Laser_Manuell = TRUE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = FALSE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND Tisch_6 = 0 THEN	
 			gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
 			gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
 			Tisch_6_Manuell := 10;
-		ELSIF gMerker_Laser_Manuell = TRUE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = FALSE AND gTisch_6.Inputs.Vor_Stopper = FALSE AND Tisch_6 = 0 THEN		// Cech-Comment: Wenn kein WST in der Station steht, dann wird AUshebeeinheit ohne weitere Kontrollen 
+		ELSIF gMerker_Laser_Manuell = TRUE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = FALSE AND gTisch_6.Inputs.Vor_Stopper = FALSE AND Tisch_6 = 0 THEN
 			gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
 			gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
 			gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
@@ -156,22 +154,26 @@ PROGRAM _CYCLIC
 	CASE Tisch_6 OF		//Cech-Comment: Halbautomatik; Hier wird ein WST eingefahren bzw. auch ausgefahren;
 
 		0:		//Cech-Comment: Wenn ein WST vor dem LAser wartet und der Stausensor nicht anschlägt, aber der RFID gelesen wurde, wird die Aushebeeinheit hochgefahren (offensichtlich befindet sich ein WST in der Station
-		IF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = TRUE AND gMerker_Laser_Automatik = FALSE AND Tisch_6_Manuell = 0 AND gTisch_6.Inputs.Vor_VorStopper = TRUE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gTisch_6.Inputs.Stausensor = FALSE AND gTaster_Tisch_6_aus = FALSE AND gMerker_RFID_Tisch_6_gelesen = TRUE THEN
+		IF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = TRUE AND gMerker_Laser_Automatik = FALSE AND Tisch_6_Manuell = 0 AND gTisch_6.Inputs.Vor_VorStopper = TRUE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gTisch_6.Inputs.Stausensor = FALSE AND gTaster_Tisch_6_aus = FALSE (*AND gMerker_RFID_Tisch_6_gelesen = TRUE *) THEN
+			gMerker_Debug_Test_Counter := 11;
 			gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
 			gMerker_RFID_Tisch_6_gelesen := FALSE;
 				Tisch_6 := 10;
 			//Cech-Comment: Wen kein WST wartet aber RFID gelesen wurde, dann wird auch die Aushebeeinheit ausgefahren (offensichtlich befindet sich ein WST in der Station)
-		ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = TRUE AND gMerker_Laser_Automatik = FALSE AND Tisch_6_Manuell = 0 AND gTisch_6.Inputs.Vor_VorStopper = FALSE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gTisch_6.Inputs.Stausensor = FALSE AND gTaster_Tisch_6_aus = FALSE AND gMerker_RFID_Tisch_6_gelesen = TRUE THEN
+		ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = TRUE AND gMerker_Laser_Automatik = FALSE AND Tisch_6_Manuell = 0 AND gTisch_6.Inputs.Vor_VorStopper = FALSE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gTisch_6.Inputs.Stausensor = FALSE AND gTaster_Tisch_6_aus = FALSE (*AND gMerker_RFID_Tisch_6_gelesen = TRUE*) THEN
+				gMerker_Debug_Test_Counter := 12;
 				gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
-				gMerker_RFID_Tisch_6_gelesen := FALSE;
+				gMerker_RFID_Tisch_6_gelesen := FALSE; 
 				Tisch_6 := 10;
 			//Cech-Comment: Wenn kein WST in der Station, aber einer davor, dann werden die Sietentüren geöffnet und der Vorstopper wird freigegeben
 		ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = TRUE AND gMerker_Laser_Automatik = FALSE AND Tisch_6_Manuell = 0 AND gTisch_6.Inputs.Vor_VorStopper = TRUE AND gTisch_6.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_6_aus = FALSE THEN
+				gMerker_Debug_Test_Counter := 13;
 				gDO_Laser_Seitentuer_oeffnen := TRUE;
 				gTisch_6.Cmd.Vorstopper := KMD_EINFAHREN;
 				Tisch_6 := 200; /// war 110
 			//Cech-Comment: Wenn entweder Vorstopper oder Stopper eingefahren sind, dann werden beide wieder ausgefahren
 		ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = TRUE AND gMerker_Laser_Automatik = FALSE AND Tisch_6_Manuell = 0 AND gTaster_Tisch_6_aus = FALSE AND (gTisch_6.Inputs.Stopper_eingefahren = TRUE OR gTisch_6.Inputs.Vorstopper_eingefahren = TRUE) THEN
+				gMerker_Debug_Test_Counter := 14;
 				gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
 				gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
 				Tisch_6 := 0;
@@ -181,56 +183,65 @@ PROGRAM _CYCLIC
 
 		10:		//Cech-Comment: Ich schätze, mit diesen Ports wird das LASern aus Liniensicht freigegeben (mit Start Absaugung) und bereits das Port für das Öffnen der Seitentüren gesetzt, damit LAser-SPS öffnet, wenn gelasert wurde
 			IF (*gTisch_6.Status.Aushebeeinheit = STATUS_AUSGEFAHREN*) gTisch_6.Outputs.Aushebeeinheit_ausfahren = TRUE AND gTisch_6.Outputs.Aushebeeinheit_einfahren = FALSE THEN
+				gMerker_Debug_Test_Counter := 110;
 				gDO_Start_Laser := TRUE;
-				gDO_Laser_Seitentuer_oeffnen := TRUE; //!!!!!!!!!!!!!!!!!!!!!!Cech-Comment: Könnte mir vorstellen, dass hier ein FALSE hergehört und unter 20: dann gDO_Laser_Seitentuer_oeffnen := TRUE; das müsste ich ausprobieren
+				gDO_Laser_Seitentuer_oeffnen := FALSE; //!!!!!!!!!!!!!!!!!!!!!!Cech-Comment: Könnte mir vorstellen, dass hier ein FALSE hergehört und unter 20: dann gDO_Laser_Seitentuer_oeffnen := TRUE; das müsste ich ausprobieren
 			Tisch_6 := 20;
 		END_IF
 		
 		20:		//Cech-Comment: Wenn der grüne TAster gedrückt wurde (Offensichtlich ist das LAsern beendet und der WST kann ausgefahren werden) dann wird der WST ausgefahren
 			IF gTisch_6.Inputs.Start = TRUE THEN		//Cech-Comment: Dieser Input ist der grüne Taster unter dem Panal-PC, der HW-mäßig auf den Input 0 der 16 Input-Kanäle des Input-Moduls verdrahtet ist
+				gMerker_Debug_Test_Counter := 120;
 				gDO_Start_Laser := FALSE;
 				gDO_Laser_Absaugung := FALSE;
-				gDO_Laser_Seitentuer_oeffnen := FALSE; //!!!!!!!!!!!!!!!!!!!!!!Cech-Comment: Könnte mir vorstellen, dass hier ein TRUE hergehört und unter 10: dann gDO_Laser_Seitentuer_oeffnen := FALSE; das müsste ich ausprobieren
+				gDO_Laser_Seitentuer_oeffnen := TRUE; //!!!!!!!!!!!!!!!!!!!!!!Cech-Comment: Könnte mir vorstellen, dass hier ein TRUE hergehört und unter 10: dann gDO_Laser_Seitentuer_oeffnen := FALSE; das müsste ich ausprobieren
 			gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
 			Tisch_6 := 30;
 		END_IF
 
 		30:		//Cech-Comment: WST wird rausgelassen
 		IF (*gTisch_6.Status.Aushebeeinheit = STATUS_EINGEFAHREN*) gTisch_6.Outputs.Aushebeeinheit_einfahren = TRUE AND gTisch_6.Outputs.Aushebeeinheit_ausfahren = FALSE THEN
-			gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
+				gMerker_Debug_Test_Counter := 130;
+				gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
 			Tisch_6 := 40;
 		END_IF
 
 		40: 	//Cech-Comment: Wenn der NAchstopper_Sensor einmal ein ...
 		IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN	
-			Tisch_6 := 45;
+				gMerker_Debug_Test_Counter := 140;
+				Tisch_6 := 45;
 		END_IF	
 		
 		45:		// ... und wieder aus geht, dann kann der Stopper wieder ausgefahren werden
 		IF gTisch_6.Inputs.Nach_Stopper = FALSE THEN	
-			gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
+				gMerker_Debug_Test_Counter := 145;
+				gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
 			Tisch_6 := 50;	
 		END_IF
 
 		50:		//Cech-Comment: WEnn der WST am Stausensor vorbei ist, also ein ...
 		IF gTisch_6.Inputs.Stausensor = TRUE THEN
-			Tisch_6 := 60;
+				gMerker_Debug_Test_Counter := 150;
+				Tisch_6 := 60;
 		END_IF
 
 		60:		// ... und wieder aus, dann wird der Prozess von oben wieder begonnen
 		IF gTisch_6.Inputs.Stausensor = FALSE THEN
-			Tisch_6 := 0;
+				gMerker_Debug_Test_Counter := 160;
+				Tisch_6 := 0;
 		END_IF
 
 	//
 		// Cech-Comment: von hier bis excl. 200 wird nicht durchfahren 
 		110:
 			IF gTisch_6.Inputs.Nach_Vorstopper = TRUE THEN
+				gMerker_Debug_Test_Counter := 1110;
 				Tisch_6 := 120;
 			END_IF
 
 		120:
 			IF gTisch_6.Inputs.Nach_Vorstopper = FALSE THEN
+				gMerker_Debug_Test_Counter := 1120;
 				gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
 				Tisch_6 := 130;
 			END_IF
@@ -238,27 +249,32 @@ PROGRAM _CYCLIC
 		130:
 			IF (*gTisch_6.Inputs.Vor_Stopper = TRUE AND*) gTisch_6.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
 				(*gDO_Laser_Seitentuer_oeffnen := FALSE;*)
+				gMerker_Debug_Test_Counter := 1130;
 				Tisch_6 := 0;
 			END_IF
 		
 		200:	//Cech-Comment: Wenn WST am Ausfahrsensor des Stoppers
 			IF gTisch_6.Inputs.Nach_Vorstopper = TRUE THEN
+				gMerker_Debug_Test_Counter := 1200;
 				Tisch_6 := 210;
 			END_IF
 
 		210:	//Cech-Comment: WEnn WST am Ausfahrsensor vorbei, dann wird der Stopper wieder ausgefahren
 			IF gTisch_6.Inputs.Nach_Vorstopper = FALSE THEN
+				gMerker_Debug_Test_Counter := 1210;
 				gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
 				Tisch_6 := 220;
 			END_IF
 
 		220:	// ... und geprüft, ab der SW-Status des Stoppers auf ausgefahren steht
 			IF (*gTisch_6.Inputs.Vor_Stopper = TRUE AND*) gTisch_6.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
+				gMerker_Debug_Test_Counter := 1220;
 				Tisch_6 := 230;
 			END_IF
 		
 		230:	// Cech-Comment: ... und auch tatsächlich schon ausgefahren ist und von vorne begonnen
 			IF gTisch_6.Inputs.Vor_Stopper = TRUE THEN
+				gMerker_Debug_Test_Counter := 1230;
 				Tisch_6 := 0;
 			END_IF
 
@@ -267,37 +283,25 @@ PROGRAM _CYCLIC
 	CASE Tisch_6_Automatik OF
 
 		0:	//Cech-Comment: Hier werden die Stati vom LaSerwahlschalter und den Stoppern, Schaltern und Sensoren der Station 6 abgefragt und entsprechend in die Case-Schleife verzweigt
-			IF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE AND gTisch_6.Inputs.Vor_VorStopper = TRUE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gTisch_6.Inputs.Stausensor = FALSE AND gMerker_RFID_Tisch_6_gelesen = TRUE AND gTaster_Tisch_6_aus = FALSE THEN  //Cech-Comment: gTAster_Tisch_6_aus ist der Softbutton am MAain-Panel, wo jede Station deaktiviert werden kann
-				gMerker_Debug_Test_Counter := 010;			//Cech-Implement
+			lWarten_Laser_Dauer := 0;
+			lWarten_Laser_Startsignal :=0;
+			IF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE AND gTisch_6.Inputs.Vor_VorStopper = TRUE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gTisch_6.Inputs.Stausensor = FALSE AND (*gMerker_RFID_Tisch_6_gelesen = TRUE AND*) gTaster_Tisch_6_aus = FALSE THEN  //Cech-Comment: gTAster_Tisch_6_aus ist der Softbutton am MAain-Panel, wo jede Station deaktiviert werden kann
 				lWarten_Laser_Dauer := 0;					//Cech-Implement
-				IF 	gMerker_Laser_erforderlich =TRUE THEN	//Cech-Implement für Teile, wenn nichts gelasert werden muss (z.B.nur ein Knauf), dann ist 	gMerker_Laser_erforderlich FALSE
-					gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
-					gMerker_RFID_Tisch_6_gelesen := FALSE;
-					Tisch_6_Automatik := 10;
-				ELSE
-					Tisch_6_Automatic := 30;				//Cech-Implement: WEnn keine LAserung aus dem Produktcode abegeleitet werden kann, wurde von Centurio gMerker_Laser_erforderlich auf FLASE gesetzt --> gleich wieder ausfahren
-				END_IF
-					
-			ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE AND gTisch_6.Inputs.Vor_VorStopper = FALSE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gTisch_6.Inputs.Stausensor = FALSE AND gMerker_RFID_Tisch_6_gelesen = TRUE AND gTaster_Tisch_6_aus = FALSE THEN  //Cech-Comment: gTAster_Tisch_6_aus ist der Softbutton am MAain-Panel, wo jede Station deaktiviert werden kann
-				gMerker_Debug_Test_Counter := 020;			//Cech-Implement
+				gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
+				gMerker_RFID_Tisch_6_gelesen := FALSE;
+				Tisch_6_Automatik := 10;
+			ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE AND gTisch_6.Inputs.Vor_VorStopper = FALSE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gTisch_6.Inputs.Stausensor = FALSE AND (*gMerker_RFID_Tisch_6_gelesen = TRUE AND*) gTaster_Tisch_6_aus = FALSE THEN  //Cech-Comment: gTAster_Tisch_6_aus ist der Softbutton am MAain-Panel, wo jede Station deaktiviert werden kann
 				lWarten_Laser_Dauer := 0;					//Cech-Implement
-				IF 	gMerker_Laser_erforderlich =TRUE THEN	//Cech-Implement für Teile, wenn nichts gelasert werden muss (z.B.nur ein Knauf), dann ist 	gMerker_Laser_erforderlich FALSE
-					gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
-					gMerker_RFID_Tisch_6_gelesen := FALSE;
-					Tisch_6_Automatik := 10;
-				ELSE
-					Tisch_6_Automatic :=30					//Cech-Implement: WEnn keine LAserung aus dem Produktcode abegeleitet werden kann, wurde von Centurio gMerker_Laser_erforderlich auf FLASE gesetzt --> gleich wieder ausfahren
-				END_IF
-				
+				gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
+				gMerker_RFID_Tisch_6_gelesen := FALSE;
+				Tisch_6_Automatik := 10;
 				//Cech-Comment: Wenn ein WST wartet und keiner in der STation ist, weiters entweder der Stausensor anschlägt und/oder der RFID nicht gelesen wird   !!!! Ergibt keinen Sinn für mich!!!! Ev. soll das saubere Anfangsbedingungen schaffen
 			ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE AND gTisch_6.Inputs.Vor_VorStopper = TRUE AND gTisch_6.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_6_aus = FALSE THEN  //Cech-Comment: gTAster_Tisch_6_aus ist der Softbutton am MAain-Panel, wo jede Station deaktiviert werden kann
-				gMerker_Debug_Test_Counter := 030;			//Cech-Implement
 				lWarten_Laser_Dauer := 0;					//Cech-Implement
 				gDO_Laser_Seitentuer_oeffnen := TRUE;
 				gTisch_6.Cmd.Vorstopper := KMD_EINFAHREN;
 				Tisch_6_Automatik := 200; // war 110
 			ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE AND (gTisch_6.Inputs.Stopper_eingefahren = TRUE OR gTisch_6.Inputs.Vorstopper_eingefahren = TRUE) AND gTaster_Tisch_6_aus = FALSE THEN  //Cech-Comment: gTAster_Tisch_6_aus ist der Softbutton am MAain-Panel, wo jede Station deaktiviert werden kann
-				gMerker_Debug_Test_Counter := 040;			//Cech-Implement
 				lWarten_Laser_Dauer := 0;					//Cech-Implement
 				gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
 				gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
@@ -310,23 +314,26 @@ PROGRAM _CYCLIC
 			
 			
 		10:	//Cech-Comment: Laserport zum Starten des Lasers an die Laser-SPS wird eingeschaltet
-			IF (*gTisch_6.Status.Aushebeeinheit = STATUS_AUSGEFAHREN*) gTisch_6.Outputs.Aushebeeinheit_ausfahren = TRUE AND gTisch_6.Outputs.Aushebeeinheit_einfahren = FALSE AND gMerker_Laser_Einstellen_fertig = TRUE THEN //Cech-Implement gMerker_Laser_Einstellen_fertig von Cech eingefügt
-				IF gMerker_Laser_Doppelzylinder = TRUE THEN
-					gDO_doppelt_lasern := TRUE;
-				END_IF
-				gMerker_Debug_Test_Counter := 100;					//Cech-Implement
-				gDO_Start_Laser := TRUE;	// Cech-Implement, Comment: Das entspricht dem Port "WST in Position", wie es Hr.Ziegler von Bluhm nennt. Wenn Centurio den gMerker_Laser_Einstellen_fertig auf TRUE gesetzt hat darf LAserung gestartet werden
-				IF gVK_Absaugung = TRUE THEN
+			IF gMerker_Laser_Automatik = FALSE THEN
+				Tisch_6_Automatik := 0;
+			ELSE
+				IF (*gTisch_6.Status.Aushebeeinheit = STATUS_AUSGEFAHREN*) (gTisch_6.Outputs.Aushebeeinheit_ausfahren = TRUE AND gTisch_6.Outputs.Aushebeeinheit_einfahren = FALSE AND gMerker_Laser_Einstellen_fertig = TRUE) THEN //Cech-Implement gMerker_Laser_Einstellen_fertig von Cech eingefügt
+					IF gMerker_Laser_Doppelzylinder = TRUE THEN
+						gDO_doppelt_lasern := TRUE;
+					END_IF
+					gDO_Start_Laser := TRUE;	// Cech-Implement, Comment: Das entspricht dem Port "WST in Position", wie es Hr.Ziegler von Bluhm nennt. Wenn Centurio den gMerker_Laser_Einstellen_fertig auf TRUE gesetzt hat darf LAserung gestartet werden
 					gDO_Laser_Absaugung := TRUE;
+					Tisch_6_Automatik := 15;
 				END_IF
-				Tisch_6_Automatik := 15;	
-			END_IF
+			
+			END_IF		
+
+		
 		
 		15: //Cech-Comment: Nach 1000ms wird das Startsignal an den Laser zurückgenommen und weiter mit 20
 			lWarten_Laser_Startsignal := lWarten_Laser_Startsignal + (RTInfo_0.cycle_time/1000);
 			IF lWarten_Laser_Startsignal >= 1000 THEN  
 				//	gDO_Start_Laser := FALSE;  !!!!!!!!!!!!!!!!Dies geht nicht, weil Hr.Ziegler offensichtlich keinen Handshake programmiert hat, sondern "LAsern-fertig" gleich setzt, wenn wir sagen, dass Start-LAser low wird. Es wird nicht fertiggelasert.
-				gMerker_Debug_Test_Counter := 150;
 				IF gMerker_Laser_Doppelzylinder = TRUE THEN
 					Tisch_6_Automatik := 18;
 				ELSIF gMerker_Laser_Doppelzylinder = FALSE THEN
@@ -337,7 +344,6 @@ PROGRAM _CYCLIC
 			IF (gDI_Laser_fertig = TRUE AND gDI_keiner_Stoerung_Laser = TRUE)THEN (* OR lWarten_Laser_Dauer >= 10000 THEN *)  //WEnn das Handshake in LaserSPS aktiv wird, dann kann das ELSIF theoretisch wieder weggenommen werdenTHEN
 				// Und hier, beim Doppelzylinder darf die ZEit nicht überprüft werden, weil der Bediener die Doppeltaster drücken muss nach Einstellung von File und Seriennummer
 				//Cech-Implement-Anfang
-				gMerker_Debug_Test_Counter := 200;
 				gDO_Start_Laser := FALSE;
 				gMerker_Laser_Einstellen_fertig := FALSE; //Cech-Implement
 				gMerker_Laser_Doppelzylinder := FALSE;
@@ -359,8 +365,8 @@ PROGRAM _CYCLIC
 			lWarten_Laser_Dauer := lWarten_Laser_Dauer + (RTInfo_0.cycle_time/1000);		//Cech-Implement
 			IF (gDI_Laser_fertig = TRUE AND gDI_keiner_Stoerung_Laser = TRUE) OR lWarten_Laser_Dauer >= 10000 THEN  //WEnn das Handshake in LaserSPS aktiv wird, dann kann das ELSIF theoretisch wieder weggenommen werdenTHEN
 				//Cech-Implement-Anfang
-				gMerker_Debug_Test_Counter := 200;
 				gDO_Start_Laser := FALSE;
+				gDO_Laser_Absaugung := FALSE;
 				gMerker_Laser_Einstellen_fertig := FALSE; //Cech-Implement
 				gMerker_Laser_Doppelzylinder := FALSE;
 				gDO_doppelt_lasern := FALSE;
@@ -381,15 +387,12 @@ PROGRAM _CYCLIC
 			
 		30:	//Cech-Comment: Stopper wird eingefahren
 			IF (*gTisch_6.Status.Aushebeeinheit = STATUS_EINGEFAHREN*) gTisch_6.Outputs.Aushebeeinheit_einfahren = TRUE AND gTisch_6.Outputs.Aushebeeinheit_ausfahren = FALSE THEN
-				gMerker_Debug_Test_Counter := 300;
 				gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
 				Tisch_6_Automatik := 40;
 			END_IF
 
 		40:	//Cech-Comment: schauen, wenn der WST die Station wirklich verlassen hat
 			IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN	
-				gMerker_Debug_Test_Counter := 400;
-				gDO_Laser_Absaugung := FALSE;
 				Tisch_6_Automatik := 45;
 			END_IF	
 		
@@ -397,20 +400,16 @@ PROGRAM _CYCLIC
 			IF gTisch_6.Inputs.Nach_Stopper = FALSE THEN	
 				gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
 				gMerker_block_RFID_read_Tisch_6 := FALSE;	//Cech-Comment: Damit wird das RFID-Lesen nicht mehr "blockiert"
-				gMerker_Laser_erforderlich := TRUE;			//Cech-Implement: Wäre nicht nötig, weil das Centurio über den Produktcode für jeden WST neu einträgt
-				gMerker_Debug_Test_Counter := 450;
 				Tisch_6_Automatik := 50;	
 			END_IF
 
 		50:	//Cech-Comment: Wenn der Stausensor nach dem Laser den WST anzeigt und ...
 			IF gTisch_6.Inputs.Stausensor = TRUE THEN
-				gMerker_Debug_Test_Counter := 500;
 				Tisch_6_Automatik := 60;
 			END_IF
 
 		60:	//Cech-Comment: ...und vorbei ist, dann wird der Prozess wieder von Vorne begonnen
 			IF gTisch_6.Inputs.Stausensor = FALSE THEN
-				gMerker_Debug_Test_Counter := 600;
 				Tisch_6_Automatik := 0;
 			END_IF
 
@@ -437,26 +436,22 @@ PROGRAM _CYCLIC
 			
 		200:	//Cech-Comment: Warten, bis ein WST den Stopper sicher verlassen hat ...
 			IF gTisch_6.Inputs.Nach_Vorstopper = TRUE THEN
-				gMerker_Debug_Test_Counter := 2000;
 				Tisch_6_Automatik := 210;
 			END_IF
 
 		210:	// .... dann wird der Stopper ausgefahren
 			IF gTisch_6.Inputs.Nach_Vorstopper = FALSE THEN
 				gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
-				gMerker_Debug_Test_Counter := 2100;
 				Tisch_6_Automatik := 220;
 			END_IF
 
 		220:	// .... Wenn dann der Stopper ausgefahren ist, dann 
 			IF (*gTisch_6.Inputs.Vor_Stopper = TRUE AND*) gTisch_6.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
-				gMerker_Debug_Test_Counter := 2200;
 				Tisch_6_Automatik := 230;
 			END_IF
 		
 		230:	// ... wird wieder von Vorne begonnen 
 			IF gTisch_6.Inputs.Vor_Stopper = TRUE THEN
-				gMerker_Debug_Test_Counter := 2300;
 				Tisch_6_Automatik := 0;
 			END_IF
 		

+ 2 - 2
Logical/TischProgramme/Tisch7/Main.st

@@ -25,13 +25,13 @@ PROGRAM _CYCLIC
 	CASE Tisch_7 OF
 
 		0:
-		IF (*gTisch_7.Inputs.Start = TRUE AND*) gTisch_7.Inputs.Vor_VorStopper = TRUE AND gTisch_7.Inputs.Vor_Stopper = TRUE AND gTisch_7.Inputs.Stausensor = FALSE AND gTaster_Tisch_7_aus = FALSE AND gMerker_RFID_Tisch_7_gelesen = TRUE THEN
+		IF (*gTisch_7.Inputs.Start = TRUE AND*) gTisch_7.Inputs.Vor_VorStopper = TRUE AND gTisch_7.Inputs.Vor_Stopper = TRUE AND gTisch_7.Inputs.Stausensor = FALSE AND gTaster_Tisch_7_aus = FALSE (*AND gMerker_RFID_Tisch_7_gelesen = TRUE*) THEN
 //			gTisch_7.Cmd.Stopper := KMD_EINFAHREN;
 //			gMerker_RFID_Tisch_7_gelesen := FALSE;
 //			Tisch_7 := 10;
 			lWarten_Auto_Start_Tisch_7 := 0;	
 			Tisch_7 := 5;				
-		ELSIF (*gTisch_7.Inputs.Start = TRUE AND*) gTisch_7.Inputs.Vor_VorStopper = FALSE AND gTisch_7.Inputs.Vor_Stopper = TRUE AND gTisch_7.Inputs.Stausensor = FALSE AND gTaster_Tisch_7_aus = FALSE AND gMerker_RFID_Tisch_7_gelesen = TRUE THEN
+		ELSIF (*gTisch_7.Inputs.Start = TRUE AND*) gTisch_7.Inputs.Vor_VorStopper = FALSE AND gTisch_7.Inputs.Vor_Stopper = TRUE AND gTisch_7.Inputs.Stausensor = FALSE AND gTaster_Tisch_7_aus = FALSE (*AND gMerker_RFID_Tisch_7_gelesen = TRUE*) THEN
 //				gTisch_7.Cmd.Stopper := KMD_EINFAHREN;
 //				gMerker_RFID_Tisch_7_gelesen := FALSE;
 //				Tisch_7 := 70;

+ 2 - 2
Logical/TischProgramme/Tisch8/Main.st

@@ -23,11 +23,11 @@ PROGRAM _CYCLIC
 	CASE Tisch_8 OF
 
 		0:
-		IF gTisch_8.Inputs.Start = TRUE AND gTisch_8.Inputs.Vor_VorStopper = TRUE AND gTisch_8.Inputs.Vor_Stopper = TRUE AND gTisch_8.Inputs.Stausensor = FALSE AND gTaster_Tisch_8_aus = FALSE AND gMerker_RFID_Tisch_8_gelesen = TRUE THEN
+		IF gTisch_8.Inputs.Start = TRUE AND gTisch_8.Inputs.Vor_VorStopper = TRUE AND gTisch_8.Inputs.Vor_Stopper = TRUE AND gTisch_8.Inputs.Stausensor = FALSE AND gTaster_Tisch_8_aus = FALSE (*AND gMerker_RFID_Tisch_8_gelesen = TRUE*) THEN
 			gTisch_8.Cmd.Stopper := KMD_EINFAHREN;
 			gMerker_RFID_Tisch_8_gelesen := FALSE;
 			Tisch_8 := 10;
-		ELSIF gTisch_8.Inputs.Start = TRUE AND gTisch_8.Inputs.Vor_VorStopper = FALSE AND gTisch_8.Inputs.Vor_Stopper = TRUE AND gTisch_8.Inputs.Stausensor = FALSE AND gTaster_Tisch_8_aus = FALSE AND gMerker_RFID_Tisch_8_gelesen = TRUE THEN
+		ELSIF gTisch_8.Inputs.Start = TRUE AND gTisch_8.Inputs.Vor_VorStopper = FALSE AND gTisch_8.Inputs.Vor_Stopper = TRUE AND gTisch_8.Inputs.Stausensor = FALSE AND gTaster_Tisch_8_aus = FALSE (*AND gMerker_RFID_Tisch_8_gelesen = TRUE*) THEN
 				gTisch_8.Cmd.Stopper := KMD_EINFAHREN;
 				gMerker_RFID_Tisch_8_gelesen := FALSE;
 				Tisch_8 := 70;

+ 1 - 14
Logical/Zylinder/Zylinder_Tisch6/Main.st

@@ -138,11 +138,7 @@ PROGRAM _CYCLIC
 	Daher werden wahrscheinlich bei der Aushebeeinheit die Steuersignale gegengleich geschaltet ( kann aber auch eine eEigenheit der Aushebeeinheit sein).
 	Jedenfalls läuft der Timer immer und die Zeitüberwachung wird nicht verwendet. Es handelt sich somit um eine reine Steuerung ohne Sensorkontrolle. Das muss man berücksichtigen bei Änderungen in diesem Teil der SW*)
 	
-	IF  gTisch_6.Cmd.Aushebeeinheit = KMD_AUSFAHREN AND gTisch_6.Times.Aushebeeinheit_ZeitWart <= 500 THEN
-		gTisch_6.Times.Aushebeeinheit_ZeitWart := gTisch_6.Times.Aushebeeinheit_ZeitWart + (RTInfo_0.cycle_time/1000);
-	END_IF
-	IF	gTisch_6.Cmd.Aushebeeinheit = KMD_AUSFAHREN AND gTisch_6.Times.Aushebeeinheit_ZeitWart = 500 THEN
-		gMerker_Debug_Test_Counter := 111;
+	IF  gTisch_6.Cmd.Aushebeeinheit = KMD_AUSFAHREN THEN
 		gTisch_6.Outputs.Aushebeeinheit_einfahren := FALSE;
 		gTisch_6.Outputs.Aushebeeinheit_ausfahren := TRUE;
 		gTisch_6.Times.Aushebeeinheit_AusZeit := TRUE;
@@ -153,8 +149,6 @@ PROGRAM _CYCLIC
 	END_IF
 
 	IF  gTisch_6.Cmd.Aushebeeinheit = KMD_EINFAHREN THEN
-		gMerker_Debug_Test_Counter := 112;
-		gTisch_6.Times.Aushebeeinheit_ZeitWart := 0;
 		gTisch_6.Outputs.Aushebeeinheit_einfahren := TRUE;
 		gTisch_6.Outputs.Aushebeeinheit_ausfahren := FALSE;
 		gTisch_6.Times.Aushebeeinheit_AusZeit := FALSE;
@@ -167,15 +161,12 @@ PROGRAM _CYCLIC
 	(* Status, Zylinderposition ausgeben *)
 	IF (gTisch_6.Inputs.Aushebeeinheit_eingefahren = TRUE) AND (gTisch_6.Inputs.Aushebeeinheit_ausgefahren = FALSE) THEN
 		// Toter Zweig, weil der Input vom Aushebesensor nicht angeschlossen wurde
-		gMerker_Debug_Test_Counter := 113;
 		gTisch_6.Status.Aushebeeinheit := STATUS_EINGEFAHREN;
 	ELSIF (gTisch_6.Inputs.Aushebeeinheit_eingefahren = FALSE) AND (gTisch_6.Inputs.Aushebeeinheit_ausgefahren = TRUE) THEN
 		// Toter Zweig, weil der Input vom Aushebesensor nicht angeschlossen wurde
-		gMerker_Debug_Test_Counter := 114;		
 		gTisch_6.Status.Aushebeeinheit := STATUS_AUSGEFAHREN;
 	ELSE
 		// Es wird immer dieser Zweig angefahren und der Status der Aushebeeinheit bleibt immer STATS_BUSY (255)
-		gMerker_Debug_Test_Counter := 115;
 		gTisch_6.Status.Aushebeeinheit := STATUS_BUSY;
 	END_IF
 
@@ -185,24 +176,20 @@ PROGRAM _CYCLIC
 	//		gTisch_6.Times.Aushebeeinheit_ZeitRun := gTisch_6.Times.Aushebeeinheit_ZeitRun + (RTInfo_0.cycle_time/1000);
 	//		IF (gTisch_6.Times.Aushebeeinheit_EinZeit = TRUE AND gTisch_6.Status.Aushebeeinheit = STATUS_EINGEFAHREN)
 	//			OR (gTisch_6.Times.Aushebeeinheit_AusZeit = TRUE AND gTisch_6.Status.Aushebeeinheit = STATUS_AUSGEFAHREN)THEN
-	//			gMerker_Debug_Test_Counter := 116;
 	//		(* lPortal_Mittelanschlag_EinZeit := FALSE;
 	//		 lPortal_Mittelanschlag_AusZeit := FALSE; *)
 	//			gTisch_6.Times.Aushebeeinheit_ZeitRun := 0;
 	//		END_IF
 
 	//		IF gTisch_6.Times.Aushebeeinheit_ZeitRun >= 5000 THEN
-	//			gMerker_Debug_Test_Counter := 117;
 	//			gTisch_6.Status.Aushebeeinheit := STATUS_ERROR;
 	////			gMerker_Tisch_6_Ausgehoben := FALSE;		//Cech-Implement: Für Opc-Ua-Übergabe an Centurio, ob Aushebeeinheit in Position ist
 
 	//			IF gTisch_6.Times.Aushebeeinheit_EinZeit = TRUE THEN
-	//							gMerker_Debug_Test_Counter := 118;
 	//				gError[0] := 1;
 	//			END_IF
          
 	//			IF gTisch_6.Times.Aushebeeinheit_AusZeit = TRUE THEN
-	//							gMerker_Debug_Test_Counter := 119;
 	//				gError[1] := 1;
 	//			END_IF
 

File diff suppressed because it is too large
+ 4 - 1
Logical/mappView/Visualization/Pages/MainPage/ContentMain.content