|
@@ -3,6 +3,14 @@ PROGRAM _INIT
|
|
|
|
|
|
RTInfo_0(enable:=1);
|
|
|
Wartezeit_OPCUA := 1100;
|
|
|
+ gMerker_Tisch_1_RFID_UID_STR := '0';
|
|
|
+ gMerker_Tisch_2_RFID_UID_STR := '0';
|
|
|
+ gMerker_Tisch_3_RFID_UID_STR := '0';
|
|
|
+ gMerker_Tisch_4_RFID_UID_STR := '0';
|
|
|
+ gMerker_Tisch_5_RFID_UID_STR := '0';
|
|
|
+ gMerker_Tisch_6_RFID_UID_STR := '0';
|
|
|
+ gMerker_Tisch_7_RFID_UID_STR := '0';
|
|
|
+ gMerker_Tisch_8_RFID_UID_STR := '0';
|
|
|
|
|
|
END_PROGRAM
|
|
|
|
|
@@ -739,11 +747,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
|
|
|
+ // 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
|
|
|
+
|
|
|
+ (* 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
|
|
|
+
|
|
|
+ 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
|
|
|
+//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
|
|
|
gMerker_Tisch_6_STRING_HELPER := '';
|
|
|
gMerker_Tisch_6_RFID_UID_STR := '';
|
|
|
FOR i := 1 TO 8 DO
|
|
@@ -755,17 +791,75 @@ 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;
|
|
|
+ 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
|
|
|
+
|
|
|
+ 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
|
|
|
+
|
|
|
+ 20: (* lWarten_fuer_OPCUA_Tisch_6 := lWarten_fuer_OPCUA_Tisch_6 + (RTInfo_0.cycle_time/1000) ;*)
|
|
|
+ IF gMerker_Tisch_6_RFID_Vorhanden = FALSE (* gTisch_6.Inputs.Vor_Stopper = FALSE *) AND gTisch_6.Inputs.Nach_Stopper = TRUE (* 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
|
|
|
- //Cech-Implement-Ende
|
|
|
|
|
|
30:
|
|
|
- IF gMerker_Tisch_6_RFID_Vorhanden = FALSE AND gTisch_6.Inputs.Nach_Stopper = TRUE THEN
|
|
|
- /// gTisch_6_RFID_Write[0] := 0;
|
|
|
- gMerker_Tisch_6_RFID_UID_STR := '0';
|
|
|
+ IF gTisch_6_RFID_Read[0] = 0 THEN
|
|
|
+ gTisch_6_RFID_Write[0] := 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
|
|
|
+
|
|
|
+ 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
|
|
|
|
|
|
END_CASE
|
|
|
|