Browse Source

7_active; Shutdownbutton

jcech 1 year ago
parent
commit
2be9556826

+ 205 - 171
Logical/Global.var

@@ -1,172 +1,76 @@
 VAR
 	VK_Stop : BOOL;
-	VK_Start : BOOL;
-	Tisch_8_RFID : USINT;
-	Tisch_8 : USINT;
-	Tisch_7_RFID : USINT;
-	Tisch_7 : USINT;
-	Tisch_6_RFID : USINT;
-	Tisch_6_Manuell : USINT;
-	Tisch_6_Automatik : USINT;
-	Tisch_6 : USINT;
-	Tisch_5_RFID : USINT;
-	Tisch_5 : USINT;
-	Tisch_4_RFID : USINT;
-	Tisch_4 : USINT;
-	Tisch_3_RFID : USINT;
-	Tisch_3 : USINT;
-	Tisch_2_RFID : USINT;
-	Tisch_2 : USINT;
-	Tisch_1_RFID : USINT;
-	Tisch_1 : USINT;
-END_VAR
-VAR CONSTANT
-	STATUS_MITTELSTELLUNG : USINT := 3;
-	STATUS_FEHLERRESET : USINT := 50;
-	STATUS_ERROR : USINT := 200;
-	STATUS_EINGEFAHREN : USINT := 1;
-	STATUS_DRUCKLOS : USINT := 5;
-	STATUS_BUSY : USINT := 255;
-	STATUS_AUSGEFAHREN : USINT := 2;
-END_VAR
-VAR
-	Rot_blinken : USINT;
-	RFID_Schreiben : USINT;
-	OPCUA_TEST_1 : USINT;
-	OPCUATEST3 : STRING[80];
-	OPCUATEST2 : USINT;
-	Liftgate_oeffnen : USINT;
-	Liftgate : USINT;
-	Kurve_4 : USINT;
-	Kurve_3 : USINT;
-	Kurve_2 : USINT;
-	Kurve_1 : USINT;
-END_VAR
-VAR CONSTANT
-	KMD_STOP : USINT := 11;
-	KMD_START : USINT := 12;
-	KMD_MITTELSTELLUNG : USINT := 3;
-	KMD_FERTIG : USINT := 0;
-	KMD_EINFAHREN : USINT := 1;
-	KMD_DRUCKLOS : USINT := 5;
-	KMD_AUSFAHREN : USINT := 2;
-END_VAR
-VAR
-	i : USINT;
-	gVK_Vorstopper_Tisch_6 : BOOL;
-	gVK_Stopper_Tisch_6 : BOOL;
-	gVK_Start_Laser : BOOL;
-	gVK_Freigabe_manuell : BOOL; (*Cech-Comment: TAster auf dem Haupt-Panel; wird über OPC-UA übergeben*)
-	gVK_doppelt_Lasern : BOOL;
-	gVK_Aushebeeinheit_Tisch_6 : BOOL;
-	gVK_Absaugung : BOOL := TRUE; (*Cech-Implement: Zum Aktivieren und Deaktivieren der Absaugung über den Control-Panel-PC*)
-	gTisch_8_RFID_Write : ARRAY[0..9] OF USINT;
-	gTisch_8_RFID_Read : ARRAY[0..9] OF USINT;
-	gTisch_8 : Tisch_8_Typ;
-	gTisch_7_RFID_Write : ARRAY[0..9] OF USINT;
-	gTisch_7_RFID_Read : ARRAY[0..9] OF USINT;
-	gTisch_7 : Tisch_7_Typ;
-	gTisch_6_RFID_Write : ARRAY[0..9] OF USINT;
-	gTisch_6_RFID_Read : ARRAY[0..9] OF USINT;
-	gTisch_6 : Tisch_6_Typ;
-	gTisch_5_RFID_Write : ARRAY[0..9] OF USINT;
-	gTisch_5_RFID_Read : ARRAY[0..9] OF USINT;
-	gTisch_5 : Tisch_5_Typ;
-	gTisch_4_RFID_Write : ARRAY[0..9] OF USINT;
-	gTisch_4_RFID_Read : ARRAY[0..9] OF USINT;
-	gTisch_4 : Tisch_4_Typ;
-	gTisch_3_RFID_Write : ARRAY[0..9] OF USINT;
-	gTisch_3_RFID_Read : ARRAY[0..9] OF USINT;
-	gTisch_3 : Tisch_3_Typ;
-	gTisch_2_RFID_Write : ARRAY[0..9] OF USINT;
-	gTisch_2_RFID_Read : ARRAY[0..9] OF USINT;
-	gTisch_2 : Tisch_2_Typ;
-	gTisch_1_RFID_Write : ARRAY[0..9] OF USINT;
-	gTisch_1_RFID_Read : ARRAY[0..9] OF USINT;
-	gTisch_1 : Tisch_1_Typ;
-END_VAR
-VAR RETAIN
-	gTaster_Tisch_8_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
-	gTaster_Tisch_7_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
-	gTaster_Tisch_6_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
-	gTaster_Tisch_5_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
-	gTaster_Tisch_4_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
-	gTaster_Tisch_3_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
-	gTaster_Tisch_2_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
-	gTaster_Tisch_1_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
-END_VAR
-VAR
-	gTaster_Liftgate_verriegeln : BOOL;
-	gTaster_Liftgate_oeffnen : BOOL;
-	gTaster_Liftgate_Leuchte_Rot : BOOL;
-	gTaster_Liftgate_Leuchte_Gruen : BOOL;
-	gMerker_Tisch_8_STRING_HELPER : STRING[24]; (*Cech-Implement*)
-	gMerker_Tisch_8_RFID_Vorhanden : BOOL;
-	gMerker_Tisch_8_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
-	gMerker_Tisch_8_RFID_Reset : BOOL;
-	gMerker_Tisch_8_lesen_fertig : BOOL;
-	gMerker_Tisch_8_Auftrag_Lesen : BOOL;
-	gMerker_Tisch_8_alles_nullen : BOOL;
-	gMerker_Tisch_7_STRING_HELPER : STRING[24]; (*Cech-Implement*)
-	gMerker_Tisch_7_RFID_Vorhanden : BOOL;
-	gMerker_Tisch_7_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
-	gMerker_Tisch_7_RFID_Reset : BOOL;
-	gMerker_Tisch_7_lesen_fertig : BOOL;
-	gMerker_Tisch_7_Auftrag_Lesen : BOOL;
-	gMerker_Tisch_7_alles_nullen : BOOL;
-	gMerker_Tisch_6_STRING_HELPER : STRING[24]; (*Cech-Implement*)
-	gMerker_Tisch_6_RFID_Vorhanden : BOOL;
-	gMerker_Tisch_6_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
-	gMerker_Tisch_6_RFID_Reset : BOOL;
-	gMerker_Tisch_6_lesen_fertig : BOOL;
-	gMerker_Tisch_6_Ausgehoben : BOOL; (*Cech-Implement*)
-	gMerker_Tisch_6_Auftrag_Lesen : BOOL;
-	gMerker_Tisch_6_alles_nullen : BOOL;
-	gMerker_Tisch_5_STRING_HELPER : STRING[24]; (*Cech-Implement*)
-	gMerker_Tisch_5_RFID_Vorhanden : BOOL;
-	gMerker_Tisch_5_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
 	gMerker_Tisch_5_RFID_Reset : BOOL;
 	gMerker_Tisch_5_lesen_fertig : BOOL;
 	gMerker_Tisch_5_Auftrag_Lesen : BOOL;
 	gMerker_Tisch_5_alles_nullen : BOOL;
-	gMerker_Tisch_4_STRING_HELPER : STRING[24]; (*Cech-Implement*)
 	gMerker_Tisch_4_RFID_Vorhanden : BOOL;
-	gMerker_Tisch_4_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
 	gMerker_Tisch_4_RFID_Reset : BOOL;
 	gMerker_Tisch_4_lesen_fertig : BOOL;
 	gMerker_Tisch_4_Auftrag_Lesen : BOOL;
 	gMerker_Tisch_4_alles_nullen : BOOL;
-	gMerker_Tisch_3_STRING_HELPER : STRING[24]; (*Cech-Implement*)
 	gMerker_Tisch_3_RFID_Vorhanden : BOOL;
-	gMerker_Tisch_3_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
 	gMerker_Tisch_3_RFID_Reset : BOOL;
 	gMerker_Tisch_3_lesen_fertig : BOOL;
 	gMerker_Tisch_3_Auftrag_Lesen : BOOL;
 	gMerker_Tisch_3_alles_nullen : BOOL;
-	gMerker_Tisch_2_STRING_HELPER : STRING[24]; (*Cech-Implement*)
 	gMerker_Tisch_2_RFID_Vorhanden : BOOL;
-	gMerker_Tisch_2_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
 	gMerker_Tisch_2_RFID_Reset : BOOL;
 	gMerker_Tisch_2_lesen_fertig : BOOL;
+	gMerker_Tisch_5_RFID_Vorhanden : BOOL;
 	gMerker_Tisch_2_Auftrag_Lesen : BOOL;
+	gMerker_Tisch_6_alles_nullen : BOOL;
+	gMerker_Tisch_6_Ausgehoben : BOOL; (*Cech-Implement*)
+	gTaster_Liftgate_verriegeln : BOOL;
+	gTaster_Liftgate_oeffnen : BOOL;
+	gTaster_Liftgate_Leuchte_Rot : BOOL;
+	gTaster_Liftgate_Leuchte_Gruen : BOOL;
+	gMerker_Tisch_8_RFID_Vorhanden : BOOL;
+	gMerker_Tisch_8_RFID_Reset : BOOL;
+	gMerker_Tisch_8_lesen_fertig : BOOL;
+	gMerker_Tisch_8_Auftrag_Lesen : BOOL;
+	gMerker_Tisch_8_alles_nullen : BOOL;
+	gMerker_Tisch_7_RFID_Vorhanden : BOOL;
+	gMerker_Tisch_7_RFID_Reset : BOOL;
+	gDI_Laser_Automatik : BOOL;
+	gMerker_Tisch_7_Auftrag_Lesen : BOOL;
+	gMerker_Tisch_7_alles_nullen : BOOL;
+	gMerker_Tisch_6_RFID_Vorhanden : BOOL;
+	gMerker_Tisch_6_RFID_Reset : BOOL;
+	gMerker_Tisch_6_lesen_fertig : BOOL;
+	gMerker_Tisch_6_Auftrag_Lesen : BOOL;
+END_VAR
+VAR RETAIN
+	gTaster_Tisch_1_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
+END_VAR
+VAR
 	gMerker_Tisch_2_alles_nullen : BOOL;
-	gMerker_Tisch_1_STRING_HELPER : STRING[24]; (*Cech-Implement*)
-	gMerker_Tisch_1_RFID_Vorhanden : BOOL;
-	gMerker_Tisch_1_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
 	gMerker_Tisch_1_RFID_Reset : BOOL;
+	gMerker_Laser_Automatik : BOOL;
+	gMerker_Laserung_fertig : BOOL; (*Cech-Implement: Dient zur Speicherung, wenn die erste Laserung von einem Doppelzylinder fertig ist und wird von der LAser-SPS über deren Output "Extern_Fertig" an den LAser-SPS-Input "gDI_Laser_fertig" übergeben*)
+	gMerker_block_RFID_read_Tisch_6 : BOOL;
+	gDO_Start_Laser : BOOL;
+	gDO_Motor_K8 : BOOL;
+	gDO_Motor_K7 : BOOL;
+	gDO_Motor_K6 : BOOL;
+	gDO_Motor_K5 : BOOL;
+	gDO_Motor_K4 : BOOL;
+	gDO_Motor_K3 : BOOL;
+	gDO_Motor_K2 : BOOL;
+	gDO_Motor_K1 : BOOL;
+	gDO_Laser_Seitentuer_oeffnen : BOOL;
+	gDO_Laser_Absaugung : BOOL;
+	gDO_doppelt_lasern : BOOL;
+	gDI_Laser_Manuell : BOOL;
+	gDI_Laser_fertig : BOOL;
+	gMerker_Laser_Doppelzylinder : BOOL; (*Cech-Implement: Centurio fordert aus dem Produktcode eine Doppellaserung für einen Doppelzylinder*)
+	gMerker_Tisch_1_RFID_Vorhanden : BOOL;
+	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_Manuell : BOOL;
 	gMerker_Tisch_1_lesen_fertig : BOOL;
 	gMerker_Tisch_1_Auftrag_Lesen : BOOL;
 	gMerker_Tisch_1_alles_nullen : BOOL;
 	gMerker_Stop_an_Kurve2 : BOOL;
-	gMerker_Schreibe_Traegernummer : USINT;
-	gMerker_RFID_Value_Tisch_8 : USINT;
-	gMerker_RFID_Value_Tisch_7 : USINT;
-	gMerker_RFID_Value_Tisch_6 : USINT;
-	gMerker_RFID_Value_Tisch_5 : USINT;
-	gMerker_RFID_Value_Tisch_4 : USINT;
-	gMerker_RFID_Value_Tisch_3 : USINT;
-	gMerker_RFID_Value_Tisch_2 : USINT;
-	gMerker_RFID_Value_Tisch_1 : USINT;
 	gMerker_RFID_Tisch_8_gelesen : BOOL;
 	gMerker_RFID_Tisch_7_gelesen : BOOL;
 	gMerker_RFID_Tisch_6_gelesen : BOOL;
@@ -175,41 +79,171 @@ VAR
 	gMerker_RFID_Tisch_3_gelesen : BOOL;
 	gMerker_RFID_Tisch_2_gelesen : BOOL;
 	gMerker_RFID_Tisch_1_gelesen : BOOL;
-	gMerker_OPCUA_Seriennummer_Test : USINT;
 	gMerker_OPCUA_Schreibauftrag : BOOL;
 	gMerker_neuen_Befehl_schreiben : BOOL;
 	gMerker_Motoren_ein : BOOL;
 	gMerker_Liftgate_Leuchte_Rot : BOOL;
 	gMerker_Liftgate_entriegelt : BOOL;
-	gMerker_Laser_Manuell : BOOL;
 	gMerker_Laser_Halbautomatik : BOOL;
-	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_Doppelzylinder : BOOL; (*Cech-Implement: Centurio fordert aus dem Produktcode eine Doppellaserung für einen Doppelzylinder*)
-	gMerker_Laser_Automatik : BOOL;
-	gMerker_Laserung_fertig : BOOL; (*Cech-Implement: Dient zur Speicherung, wenn die erste Laserung von einem Doppelzylinder fertig ist und wird von der LAser-SPS über deren Output "Extern_Fertig" an den LAser-SPS-Input "gDI_Laser_fertig" übergeben*)
+END_VAR
+VAR RETAIN
+	gTaster_Tisch_2_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
+END_VAR
+VAR
+	gMerker_Tisch_7_lesen_fertig : BOOL;
+END_VAR
+VAR RETAIN
+	gTaster_Tisch_4_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
+END_VAR
+VAR
+	VK_Start : BOOL;
+END_VAR
+VAR RETAIN
+	gTaster_Tisch_3_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
+END_VAR
+VAR
+	gVK_Vorstopper_Tisch_6 : BOOL;
+	gVK_Stopper_Tisch_6 : BOOL;
+	gVK_Start_Laser : BOOL;
+	gVK_Freigabe_manuell : BOOL; (*Cech-Comment: TAster auf dem Haupt-Panel; wird über OPC-UA übergeben*)
+	gVK_doppelt_Lasern : BOOL;
+	gVK_Aushebeeinheit_Tisch_6 : BOOL;
+	gVK_Absaugung : BOOL := TRUE; (*Cech-Implement: Zum Aktivieren und Deaktivieren der Absaugung über den Control-Panel-PC*)
+	gDI_keiner_Stoerung_Laser : BOOL;
+END_VAR
+VAR RETAIN
+	gTaster_Tisch_5_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
+	gTaster_Tisch_6_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
+	gTaster_Tisch_8_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
+	gTaster_Tisch_7_aus : BOOL; (*Cech-Comment: Das sind die Soft-Switches am Hauptpanel, wo die jeweilige Station aktiviert und deaktiviert werden kann*)
+END_VAR
+VAR
+	gError : ARRAY[0..99] OF BOOL;
+	gKurve_1 : Kurve_1_Typ;
+	gKurve_2 : Kurve_2_Typ;
+	gKurve_3 : Kurve_3_Typ;
+	gKurve_4 : Kurve_4_Typ;
+	gMerker_Tisch_3_STRING_HELPER : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_4_STRING_HELPER : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_8_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_3_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_8_STRING_HELPER : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_5_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_5_STRING_HELPER : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_2_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_4_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_6_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_6_STRING_HELPER : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_1_STRING_HELPER : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_1_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_7_RFID_UID_STR : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_7_STRING_HELPER : STRING[24]; (*Cech-Implement*)
+	gMerker_Tisch_2_STRING_HELPER : STRING[24]; (*Cech-Implement*)
+	gMerker_Shutdown : {REDUND_UNREPLICABLE} BOOL; (*Cech-Implement: Shutdown aller Stations-PCs*)
+	Shutdown_URL : WSTRING[80]; (*Cech-Implement: Shutdown URL*)
+	OPCUATEST3 : STRING[80];
+	gTisch_1 : Tisch_1_Typ;
+	gTisch_2 : Tisch_2_Typ;
+	gTisch_3 : Tisch_3_Typ;
+	gTisch_4 : Tisch_4_Typ;
+	gTisch_5 : Tisch_5_Typ;
+	gTisch_6 : Tisch_6_Typ;
+	gTisch_7 : Tisch_7_Typ;
+	gTisch_8 : Tisch_8_Typ;
 	gMerker_Debug_Test_Counter_RFID : UINT; (*Cech-Comment: Variable zum Debuggen, Testen der RFID*)
 	gMerker_Debug_Test_Counter : UINT; (*Cech-Comment: Variable zum Debuggen, Testen*)
+	Tisch_2 : USINT;
+	Tisch_1_RFID : USINT;
+	Tisch_1 : USINT;
+END_VAR
+VAR CONSTANT
+	STATUS_MITTELSTELLUNG : USINT := 3;
+	STATUS_ERROR : USINT := 200;
+	STATUS_EINGEFAHREN : USINT := 1;
+	STATUS_DRUCKLOS : USINT := 5;
+	STATUS_BUSY : USINT := 255;
+	STATUS_AUSGEFAHREN : USINT := 2;
+END_VAR
+VAR
+	gMerker_OPCUA_Seriennummer_Test : USINT;
+	Rot_blinken : USINT;
+END_VAR
+VAR CONSTANT
+	STATUS_FEHLERRESET : USINT := 50;
+END_VAR
+VAR
+	Tisch_3_RFID : USINT;
+	Tisch_8_RFID : USINT;
+	Tisch_4 : USINT;
+	Tisch_8 : USINT;
 	gMerker_Cech_Test_Counter : USINT;
-	gMerker_block_RFID_read_Tisch_6 : BOOL;
-	gKurve_4 : Kurve_4_Typ;
-	gKurve_3 : Kurve_3_Typ;
-	gKurve_2 : Kurve_2_Typ;
-	gKurve_1 : Kurve_1_Typ;
-	gError : ARRAY[0..99] OF BOOL;
-	gDO_Start_Laser : BOOL;
-	gDO_Motor_K8 : BOOL;
-	gDO_Motor_K7 : BOOL;
-	gDO_Motor_K6 : BOOL;
-	gDO_Motor_K5 : BOOL;
-	gDO_Motor_K4 : BOOL;
-	gDO_Motor_K3 : BOOL;
-	gDO_Motor_K2 : BOOL;
-	gDO_Motor_K1 : BOOL;
-	gDO_Laser_Seitentuer_oeffnen : BOOL;
-	gDO_Laser_Absaugung : BOOL;
-	gDO_doppelt_lasern : BOOL;
-	gDI_Laser_Manuell : BOOL;
-	gDI_Laser_fertig : BOOL;
-	gDI_Laser_Automatik : BOOL;
-	gDI_keiner_Stoerung_Laser : BOOL;
+	Tisch_3 : USINT;
+	Tisch_7_RFID : USINT;
+	Tisch_7 : USINT;
+	Tisch_6_RFID : USINT;
+	Tisch_6_Manuell : USINT;
+	Tisch_6_Automatik : USINT;
+	Tisch_6 : USINT;
+	RFID_Schreiben : USINT;
+	Tisch_5_RFID : USINT;
+	Tisch_5 : USINT;
+	Tisch_4_RFID : USINT;
+	Tisch_2_RFID : USINT;
+	gMerker_Schreibe_Traegernummer : USINT;
+END_VAR
+VAR CONSTANT
+	KMD_START : USINT := 12;
+END_VAR
+VAR
+	OPCUATEST2 : USINT;
+	i : USINT;
+END_VAR
+VAR CONSTANT
+	KMD_AUSFAHREN : USINT := 2;
+END_VAR
+VAR
+	OPCUA_TEST_1 : USINT;
+END_VAR
+VAR CONSTANT
+	KMD_EINFAHREN : USINT := 1;
+	KMD_FERTIG : USINT := 0;
+	KMD_MITTELSTELLUNG : USINT := 3;
+	KMD_STOP : USINT := 11;
+END_VAR
+VAR
+	Kurve_1 : USINT;
+	Kurve_2 : USINT;
+	Kurve_3 : USINT;
+END_VAR
+VAR CONSTANT
+	KMD_DRUCKLOS : USINT := 5;
+END_VAR
+VAR
+	gMerker_RFID_Value_Tisch_7 : USINT;
+	gMerker_RFID_Value_Tisch_8 : USINT;
+	Liftgate_oeffnen : USINT;
+	Kurve_4 : USINT;
+	gMerker_RFID_Value_Tisch_1 : USINT;
+	Liftgate : USINT;
+	gMerker_RFID_Value_Tisch_3 : USINT;
+	gMerker_RFID_Value_Tisch_4 : USINT;
+	gMerker_RFID_Value_Tisch_5 : USINT;
+	gMerker_RFID_Value_Tisch_6 : USINT;
+	gMerker_RFID_Value_Tisch_2 : USINT;
+	gTisch_5_RFID_Read : ARRAY[0..9] OF USINT;
+	gTisch_2_RFID_Write : ARRAY[0..9] OF USINT;
+	gTisch_3_RFID_Read : ARRAY[0..9] OF USINT;
+	gTisch_3_RFID_Write : ARRAY[0..9] OF USINT;
+	gTisch_4_RFID_Read : ARRAY[0..9] OF USINT;
+	gTisch_4_RFID_Write : ARRAY[0..9] OF USINT;
+	gTisch_5_RFID_Write : ARRAY[0..9] OF USINT;
+	gTisch_8_RFID_Read : ARRAY[0..9] OF USINT;
+	gTisch_6_RFID_Write : ARRAY[0..9] OF USINT;
+	gTisch_7_RFID_Read : ARRAY[0..9] OF USINT;
+	gTisch_7_RFID_Write : ARRAY[0..9] OF USINT;
+	gTisch_8_RFID_Write : ARRAY[0..9] OF USINT;
+	gTisch_1_RFID_Write : ARRAY[0..9] OF USINT;
+	gTisch_1_RFID_Read : ARRAY[0..9] OF USINT;
+	gTisch_6_RFID_Read : ARRAY[0..9] OF USINT;
+	gTisch_2_RFID_Read : ARRAY[0..9] OF USINT;
 END_VAR

+ 7 - 1
Logical/Main/Main.st

@@ -9,7 +9,8 @@ PROGRAM _CYCLIC
 	gDO_doppelt_lasern;
 	gDI_keiner_Stoerung_Laser;
 	gDI_Laser_fertig;
-	gDO_Start_Laser;  
+	gDO_Start_Laser;
+	gMerker_Shutdown;
 	
 	IF VK_Start = TRUE THEN
 		gMerker_Motoren_ein := TRUE;
@@ -42,6 +43,11 @@ PROGRAM _CYCLIC
 		gDO_Motor_K7 := FALSE;
 		gDO_Motor_K8 := FALSE;
 	END_IF
+	
+	IF gMerker_Shutdown = TRUE THEN
+		Shutdown_URL := "https://centurio.evva.com/services/healthmonitor/shutdown/all.php";
+	END_IF
+	
 
 END_PROGRAM
 

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


+ 2 - 0
Physical/Config1/5APC3100_KBU0_000/Connectivity/OpcUA/OpcUaMap.uad

@@ -135,6 +135,8 @@
         <Variable Name="gMerker_Laser_Manuell" />
         <Variable Name="gMerker_Laserung_fertig" />
         <Variable Name="Tisch_6_Automatik" />
+        <Variable Name="gMerker_Shutdown" />
+        <Variable Name="Shutdown_URL" />
       </GlobalVariables>
     </Module>
   </DefaultView>

+ 11 - 1
Physical/Config1/5APC3100_KBU0_000/mappView/MainContentBinding.binding

@@ -54,7 +54,7 @@
 <Target xsi:type="brease" contentRefId="ContentMain" widgetRefId="ToggleButton11" attribute="value" />
 </Binding>
 <Binding mode="twoWay">
-<Source xsi:type="opcUa" refId="::AsGlobalPV:gVK_Start_Laser" attribute="value" />
+			<Source xsi:type="opcUa" refId="::AsGlobalPV:gVK_Start_Laser" attribute="value" />
 <Target xsi:type="brease" contentRefId="ContentMain" widgetRefId="ToggleButton12" attribute="value" />
 </Binding>
 <Binding mode="twoWay">
@@ -69,5 +69,15 @@
 <Source xsi:type="opcUa" refId="::AsGlobalPV:gVK_Absaugung" attribute="value" />
 <Target xsi:type="brease" contentRefId="ContentMain" widgetRefId="ToggleButton15" attribute="value" />
 </Binding>
+<Binding mode="twoWay">
+<Source xsi:type="opcUa" refId="::AsGlobalPV:gMerker_Shutdown" attribute="value" />
+<Target xsi:type="brease" contentRefId="ContentMain" widgetRefId="PushButton3" attribute="value" />
+</Binding>
+
+
+<Binding mode="twoWay">
+<Source xsi:type="opcUa" refId="::AsGlobalPV:Shutdown_URL" attribute="value" />
+<Target xsi:type="brease" contentRefId="ContentMain" widgetRefId="WebViewer1" attribute="src" />
+</Binding>
 </Bindings>
 </BindingsSet>