Browse Source

Zwischenspeicher um zurückgehen zu können
Kann später gelöscht werden, wenn RFID nur mit UUID funktioniert

jcech 2 years ago
parent
commit
ec0d333c07

+ 82 - 80
Logical/RFID/Main.st

@@ -739,39 +739,39 @@ PROGRAM _CYCLIC
 
 	gMerker_Tisch_6_RFID_Vorhanden := gTisch_6_RFID_Read[0].0; (* Auslesen ob Chip vor Lesekopf *)
 	
-	IF gMerker_Tisch_6_Auftrag_Lesen = TRUE THEN
+///	IF gMerker_Tisch_6_Auftrag_Lesen = TRUE THEN
 		//			gMerker_Lesen_Fertig := FALSE;
-		gTisch_6_RFID_Write[1] := 1;(* Befehl Datenträger lesen *)
-		gTisch_6_RFID_Write[2] := 0;
-		gTisch_6_RFID_Write[3] := 0;
-		gTisch_6_RFID_Write[4] := 8;  (* Anzahl Bytes Lowbytes *)
-		gTisch_6_RFID_Write[5] := 0;
-		gTisch_6_RFID_Write[6] := 0;
-		gTisch_6_RFID_Write[7] := 0;
-		gTisch_6_RFID_Write[8] := 0;
-		gTisch_6_RFID_Write[9] := 1;
-		gTisch_6_RFID_Write[0].0 := TRUE;
-	END_IF
+///		gTisch_6_RFID_Write[1] := 1;(* Befehl Datenträger lesen *)
+///		gTisch_6_RFID_Write[2] := 0;
+///		gTisch_6_RFID_Write[3] := 0;
+///		gTisch_6_RFID_Write[4] := 8;  (* Anzahl Bytes Lowbytes *)
+///		gTisch_6_RFID_Write[5] := 0;
+///		gTisch_6_RFID_Write[6] := 0;
+///		gTisch_6_RFID_Write[7] := 0;
+///		gTisch_6_RFID_Write[8] := 0;
+///		gTisch_6_RFID_Write[9] := 1;
+///		gTisch_6_RFID_Write[0].0 := TRUE;
+///	END_IF
 		
 	(* Write Variable nullen *)
 	
-	IF gMerker_Tisch_6_alles_nullen = TRUE THEN
-		gTisch_6_RFID_Write[1] := 0;
-		gTisch_6_RFID_Write[2] := 0;
-		gTisch_6_RFID_Write[3] := 0;
-		gTisch_6_RFID_Write[4] := 0;  
-		gTisch_6_RFID_Write[5] := 0;
-		gTisch_6_RFID_Write[6] := 0;
-		gTisch_6_RFID_Write[7] := 0; 
-		gTisch_6_RFID_Write[8] := 0;
-		gTisch_6_RFID_Write[0] := 0;
-	END_IF
+///	IF gMerker_Tisch_6_alles_nullen = TRUE THEN
+///		gTisch_6_RFID_Write[1] := 0;
+///		gTisch_6_RFID_Write[2] := 0;
+///		gTisch_6_RFID_Write[3] := 0;
+///		gTisch_6_RFID_Write[4] := 0;  
+///		gTisch_6_RFID_Write[5] := 0;
+///		gTisch_6_RFID_Write[6] := 0;
+///		gTisch_6_RFID_Write[7] := 0; 
+///		gTisch_6_RFID_Write[8] := 0;
+///		gTisch_6_RFID_Write[0] := 0;
+///	END_IF
 	
-	gTisch_6_RFID_Write[9] := gTisch_6_RFID_Write[0];
+///	gTisch_6_RFID_Write[9] := gTisch_6_RFID_Write[0];
 	
 	CASE Tisch_6_RFID OF
 //Cech-Implement-Beginn: Hier soll die UID aus dem TAg nach Tag-Present rausgeholt und auf 8Byte-Array gMerker_Tisch_1_RFID_UID übergeben werden, damit die UID für Centurio über Opc-Ua übergeben werden kannn
-		0:	IF gTisch_6_RFID_Read[0] = 129 AND gTisch_6_RFID_Write[0].0 = FALSE THEN //Cech-Comment: Wenn der TAG im Lesebereich ist und der Lesekopf betriebsbereit ist ( Read[0] = 1000 0001 ), aber noch kein Lesebefehl ausgegeben wurde
+		0:	IF gTisch_6_RFID_Read[0] = 129 (* /// AND gTisch_6_RFID_Write[0].0 = FALSE *) THEN //Cech-Comment: Wenn der TAG im Lesebereich ist und der Lesekopf betriebsbereit ist ( Read[0] = 1000 0001 ), aber noch kein Lesebefehl ausgegeben wurde
 				gMerker_Tisch_6_STRING_HELPER := '';
 				gMerker_Tisch_6_RFID_UID_STR := '0';
 				FOR i := 1 TO 8 DO
@@ -783,75 +783,77 @@ PROGRAM _CYCLIC
 					END_IF;
 					gMerker_Tisch_6_RFID_UID_STR := CONCAT( gMerker_Tisch_6_RFID_UID_STR, gMerker_Tisch_6_STRING_HELPER );
 				END_FOR
-				Tisch_6_RFID := 5;
+///				Tisch_6_RFID := 5;
+				Tisch_6_RFID := 30;
 			END_IF
 //Cech-Implement-Ende		
 		
-		5:	IF gMerker_Tisch_6_RFID_Vorhanden  = TRUE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gMerker_Tisch_6_RFID_Reset = FALSE AND gMerker_block_RFID_read_Tisch_6 = FALSE (*AND gMerker_Tisch_6_lesen_fertig = FALSE*) THEN
-				gMerker_Tisch_6_Auftrag_Lesen := TRUE;
-				Tisch_6_RFID := 10;
-			END_IF
+///		5:	IF gMerker_Tisch_6_RFID_Vorhanden  = TRUE AND gTisch_6.Inputs.Vor_Stopper = TRUE AND gMerker_Tisch_6_RFID_Reset = FALSE AND gMerker_block_RFID_read_Tisch_6 = FALSE (*AND gMerker_Tisch_6_lesen_fertig = FALSE*) THEN
+///				gMerker_Tisch_6_Auftrag_Lesen := TRUE;
+///				Tisch_6_RFID := 10;
+///			END_IF
 		
-		10: lWarten_RFID_Fehler_Tisch_6 := lWarten_RFID_Fehler_Tisch_6 + (RTInfo_0.cycle_time/1000);
-			IF gTisch_6_RFID_Read[0] = 135 THEN
-				gMerker_RFID_Value_Tisch_6 := gTisch_6_RFID_Read[1];
-				//			gMerker_RFID_Tisch_6_gelesen := TRUE;
-				//			gMerker_Tisch_6_lesen_fertig := TRUE;
-				lWarten_RFID_Fehler_Tisch_6 := 0;
-				Tisch_6_RFID := 15;
-			ELSIF lWarten_RFID_Fehler_Tisch_6 >= 5000 AND gTisch_6_RFID_Read[0] <> 135 THEN
-				gMerker_Tisch_6_Auftrag_Lesen := FALSE;
-				gMerker_Tisch_6_RFID_Reset := TRUE;
-				lWarten_RFID_Fehler_Tisch_6 := 0;
-				Tisch_6_RFID := 100;
-			END_IF
+///		10: lWarten_RFID_Fehler_Tisch_6 := lWarten_RFID_Fehler_Tisch_6 + (RTInfo_0.cycle_time/1000);
+///			IF gTisch_6_RFID_Read[0] = 135 THEN
+///				gMerker_RFID_Value_Tisch_6 := gTisch_6_RFID_Read[1];
+///				//			gMerker_RFID_Tisch_6_gelesen := TRUE;
+///				//			gMerker_Tisch_6_lesen_fertig := TRUE;
+///				lWarten_RFID_Fehler_Tisch_6 := 0;
+///				Tisch_6_RFID := 15;
+///			ELSIF lWarten_RFID_Fehler_Tisch_6 >= 5000 AND gTisch_6_RFID_Read[0] <> 135 THEN
+///				gMerker_Tisch_6_Auftrag_Lesen := FALSE;
+///				gMerker_Tisch_6_RFID_Reset := TRUE;
+///				lWarten_RFID_Fehler_Tisch_6 := 0;
+///				Tisch_6_RFID := 100;
+///			END_IF
 		
-		15:
-			IF gMerker_RFID_Value_Tisch_6 <> 0 THEN
-				gMerker_RFID_Tisch_6_gelesen := TRUE;
-				gMerker_Tisch_6_lesen_fertig := TRUE;
-				Tisch_6_RFID := 20;
-			ELSIF gMerker_RFID_Value_Tisch_6 = 0 THEN
-				gMerker_RFID_Tisch_6_gelesen := FALSE;
-				gMerker_Tisch_6_lesen_fertig := FALSE;
-				Tisch_6_RFID := 100;
-			END_IF				
+///		15:
+///			IF gMerker_RFID_Value_Tisch_6 <> 0 THEN
+///				gMerker_RFID_Tisch_6_gelesen := TRUE;
+///				gMerker_Tisch_6_lesen_fertig := TRUE;
+///				Tisch_6_RFID := 20;
+///			ELSIF gMerker_RFID_Value_Tisch_6 = 0 THEN
+///				gMerker_RFID_Tisch_6_gelesen := FALSE;
+///				gMerker_Tisch_6_lesen_fertig := FALSE;
+///				Tisch_6_RFID := 100;
+///			END_IF				
 			
-		20: lWarten_fuer_OPCUA_Tisch_6 := lWarten_fuer_OPCUA_Tisch_6 + (RTInfo_0.cycle_time/1000);
-			IF gMerker_Tisch_6_RFID_Vorhanden = FALSE AND gTisch_6.Inputs.Vor_Stopper = FALSE AND lWarten_fuer_OPCUA_Tisch_6 >= Wartezeit_OPCUA THEN
-				gMerker_Tisch_6_Auftrag_Lesen := FALSE;
-	//			gMerker_RFID_Value_Tisch_6 := 0;
-				gTisch_6_RFID_Write[0] := 4;
-				gMerker_Tisch_6_RFID_UID_STR := '0';
-				Tisch_6_RFID := 30;
-			END_IF
+///		20: lWarten_fuer_OPCUA_Tisch_6 := lWarten_fuer_OPCUA_Tisch_6 + (RTInfo_0.cycle_time/1000);
+///			IF (* ///gMerker_Tisch_6_RFID_Vorhanden = FALSE AND gTisch_6.Inputs.Vor_Stopper = FALSE AND *) lWarten_fuer_OPCUA_Tisch_6 >= Wartezeit_OPCUA THEN
+///				gMerker_Tisch_6_Auftrag_Lesen := FALSE;
+///	//			gMerker_RFID_Value_Tisch_6 := 0;
+///				gTisch_6_RFID_Write[0] := 4;
+///				gMerker_Tisch_6_RFID_UID_STR := '0';
+///				Tisch_6_RFID := 30;
+///			END_IF
 		
 		30: 
 			IF gTisch_6_RFID_Read[0] = 0 THEN
-				gTisch_6_RFID_Write[0] := 0;
+///				gTisch_6_RFID_Write[0] := 0;
+				gMerker_Tisch_6_RFID_UID_STR := '0';
 				Tisch_6_RFID := 0;
 			END_IF
 		
-		100:
-			IF gMerker_Tisch_6_Auftrag_Lesen = FALSE AND gMerker_Tisch_6_RFID_Reset = TRUE THEN
-				gTisch_6_RFID_Write[0] := 4;
-		//		gMerker_RFID_Value_Tisch_6 := 0;
-				gMerker_Tisch_6_RFID_UID_STR := '0';
-				Tisch_6_RFID := 110;
-			END_IF
+///		100:
+///			IF gMerker_Tisch_6_Auftrag_Lesen = FALSE AND gMerker_Tisch_6_RFID_Reset = TRUE THEN
+///				gTisch_6_RFID_Write[0] := 4;
+///		//		gMerker_RFID_Value_Tisch_6 := 0;
+///				gMerker_Tisch_6_RFID_UID_STR := '0';
+///				Tisch_6_RFID := 110;
+///			END_IF
 		
-		110:
-			IF gTisch_6_RFID_Read[0] = 0 THEN
-				gMerker_Tisch_6_alles_nullen := TRUE;
-				Tisch_6_RFID := 120;
-			END_IF
+///		110:
+///			IF gTisch_6_RFID_Read[0] = 0 THEN
+///				gMerker_Tisch_6_alles_nullen := TRUE;
+///				Tisch_6_RFID := 120;
+///			END_IF
 		
-		120:
-			IF gTisch_6_RFID_Write[0] = 0 AND gTisch_6_RFID_Write[1] = 0 AND gTisch_6_RFID_Write[2] = 0 AND gTisch_6_RFID_Write[3] = 0 AND gTisch_6_RFID_Write[4] = 0 AND gTisch_6_RFID_Write[5] = 0 AND gTisch_6_RFID_Write[6] = 0 AND gTisch_6_RFID_Write[7] = 0 AND gTisch_6_RFID_Write[8] = 0 AND gTisch_6_RFID_Write[9] = 0 THEN
-				gMerker_Tisch_6_alles_nullen := FALSE;
-				gMerker_Tisch_6_RFID_Reset := FALSE;
-				Tisch_6_RFID := 0;
-			END_IF			
+///		120:
+///			IF gTisch_6_RFID_Write[0] = 0 AND gTisch_6_RFID_Write[1] = 0 AND gTisch_6_RFID_Write[2] = 0 AND gTisch_6_RFID_Write[3] = 0 AND gTisch_6_RFID_Write[4] = 0 AND gTisch_6_RFID_Write[5] = 0 AND gTisch_6_RFID_Write[6] = 0 AND gTisch_6_RFID_Write[7] = 0 AND gTisch_6_RFID_Write[8] = 0 AND gTisch_6_RFID_Write[9] = 0 THEN
+///				gMerker_Tisch_6_alles_nullen := FALSE;
+///				gMerker_Tisch_6_RFID_Reset := FALSE;
+///				Tisch_6_RFID := 0;
+///			END_IF			
 				
 	END_CASE
 	

+ 1 - 0
Logical/Stationen_Variablen/Tisch_6.typ

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

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

@@ -138,7 +138,10 @@ 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 THEN
+	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;
 		gTisch_6.Outputs.Aushebeeinheit_einfahren := FALSE;
 		gTisch_6.Outputs.Aushebeeinheit_ausfahren := TRUE;
@@ -151,6 +154,7 @@ PROGRAM _CYCLIC
 
 	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;