|
@@ -34,11 +34,11 @@ PROGRAM _CYCLIC
|
|
|
gMerker_Laserung_fertig := TRUE; //Cech-Implement: Abkoppeln vom gDI_LAser_fertig
|
|
|
END_IF
|
|
|
|
|
|
-//Cech-Comment: Hier wird der Status der Soft-Buttons am Hauptpanel abgefragt. Wenn die Freigabe erteilt ist, sind die anderen 5 Tasten (Ausheber, Vorstopperm, Stopper, Start-Laser und Doppelt-lasern aktiviert)
|
|
|
+ //Cech-Comment: Hier wird der Status der Soft-Buttons am Hauptpanel abgefragt. Wenn die Freigabe erteilt ist, sind die anderen 5 Tasten (Ausheber, Vorstopperm, Stopper, Start-Laser und Doppelt-lasern aktiviert)
|
|
|
IF gVK_Freigabe_manuell = TRUE AND gVK_Stopper_Tisch_6 = TRUE THEN
|
|
|
gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
|
|
|
ELSIF gVK_Freigabe_manuell = TRUE AND gVK_Stopper_Tisch_6 = FALSE THEN
|
|
|
- gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
|
|
|
+ gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
|
|
|
END_IF
|
|
|
|
|
|
IF gVK_Freigabe_manuell = TRUE AND gVK_Vorstopper_Tisch_6 = TRUE THEN
|
|
@@ -74,19 +74,19 @@ PROGRAM _CYCLIC
|
|
|
END_IF //Cech-Implement zum Aktivieren und deaktivieren der LAserabsaugung über einen Button am Control-Panel-PC
|
|
|
|
|
|
|
|
|
-//Cech-Comment: Alles neutralsieren, wenn die Station deaktiviert wurde mit dem Soft-Button am Hauptbildschirm
|
|
|
- IF gTaster_Tisch_6_aus = TRUE THEN
|
|
|
- gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
|
|
|
- gTisch_6.Cmd.Vorstopper := KMD_EINFAHREN;
|
|
|
- gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
|
|
|
- gMerker_RFID_Tisch_6_gelesen := TRUE;
|
|
|
- Tisch_6_Automatik := 0;
|
|
|
- Tisch_6 := 0;
|
|
|
- Tisch_6_Manuell := 0;
|
|
|
+ //Cech-Comment: Alles neutralsieren, wenn die Station deaktiviert wurde mit dem Soft-Button am Hauptbildschirm
|
|
|
+ IF gTaster_Tisch_6_aus = TRUE THEN
|
|
|
+ gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
|
|
|
+ gTisch_6.Cmd.Vorstopper := KMD_EINFAHREN;
|
|
|
+ gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
|
|
|
+ gMerker_RFID_Tisch_6_gelesen := TRUE;
|
|
|
+ Tisch_6_Automatik := 0;
|
|
|
+ Tisch_6 := 0;
|
|
|
+ Tisch_6_Manuell := 0;
|
|
|
END_IF
|
|
|
|
|
|
|
|
|
-//Cech-Comment: In diesem und den nachfolgenden IFs werden die drei möglichen Zustände von der LAser-SPS (MAnuell, Halbauto, Auto) auf die Linien-SPS übernommen
|
|
|
+ //Cech-Comment: In diesem und den nachfolgenden IFs werden die drei möglichen Zustände von der LAser-SPS (MAnuell, Halbauto, Auto) auf die Linien-SPS übernommen
|
|
|
IF gDI_Laser_Automatik = TRUE AND gDI_Laser_Manuell = FALSE THEN
|
|
|
gMerker_Laser_Automatik := TRUE;
|
|
|
gMerker_Laser_Halbautomatik := FALSE;
|
|
@@ -110,48 +110,48 @@ 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
|
|
|
- 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
|
|
|
- gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
|
|
|
- gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
|
|
|
- gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
|
|
|
- Tisch_6_Manuell := 20;
|
|
|
+ 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
|
|
|
+ gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
|
|
|
+ gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
|
|
|
+ gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
|
|
|
+ Tisch_6_Manuell := 20;
|
|
|
END_IF
|
|
|
|
|
|
10: //Cech-Comment: Warten, bis der WST die Station verlassen hat und alles ausfahren (Warum Aushebeeinheit?)
|
|
|
- IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
|
|
|
- gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN; //Im Handbetrieb wird jeenfalls die Aushebeeinheit ausgefahren. Wahrscheinlich, damit händisch ein WST oder Sonstiges eingelegt werden kann
|
|
|
- gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
|
|
|
- gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
|
|
|
- Tisch_6_Manuell := 20;
|
|
|
- END_IF
|
|
|
+ IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
|
|
|
+ gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN; //Im Handbetrieb wird jeenfalls die Aushebeeinheit ausgefahren. Wahrscheinlich, damit händisch ein WST oder Sonstiges eingelegt werden kann
|
|
|
+ gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
|
|
|
+ gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
|
|
|
+ Tisch_6_Manuell := 20;
|
|
|
+ END_IF
|
|
|
|
|
|
20: //Cech-Comment: Wenn HAndbetrieb beendet wird am LAser-Umschalter, dann wird die Aushebeeinheit runtergafehren und die LAserabsaugung ausgeschaltet
|
|
|
- IF gMerker_Laser_Manuell = FALSE THEN
|
|
|
- gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
|
|
|
- gDO_Laser_Absaugung := FALSE;
|
|
|
- Tisch_6_Manuell := 30;
|
|
|
- END_IF
|
|
|
+ IF gMerker_Laser_Manuell = FALSE THEN
|
|
|
+ gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
|
|
|
+ gDO_Laser_Absaugung := FALSE;
|
|
|
+ Tisch_6_Manuell := 30;
|
|
|
+ END_IF
|
|
|
|
|
|
30: //Cech-Comment: Warten, bis die Aushebeeinheit unten ist. Dann wird der Stopper eingefahren, wenn ein WST wartet, bzw. der Prozess von vorne gestartet, wenn kein WST beim Vorstopper wartet
|
|
|
lWarten_Aushebeeinheit_Tisch_6 := lWarten_Aushebeeinheit_Tisch_6 + (RTInfo_0.cycle_time/1000);
|
|
|
- IF gTisch_6.Inputs.Vor_Stopper = TRUE AND lWarten_Aushebeeinheit_Tisch_6 >= 500 THEN
|
|
|
- gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
|
|
|
- lWarten_Aushebeeinheit_Tisch_6 := 0;
|
|
|
- Tisch_6_Manuell := 40;
|
|
|
- ELSIF gTisch_6.Inputs.Vor_Stopper = FALSE AND lWarten_Aushebeeinheit_Tisch_6 >= 500 THEN
|
|
|
+ IF gTisch_6.Inputs.Vor_Stopper = TRUE AND lWarten_Aushebeeinheit_Tisch_6 >= 500 THEN
|
|
|
+ gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
|
|
|
+ lWarten_Aushebeeinheit_Tisch_6 := 0;
|
|
|
+ Tisch_6_Manuell := 40;
|
|
|
+ ELSIF gTisch_6.Inputs.Vor_Stopper = FALSE AND lWarten_Aushebeeinheit_Tisch_6 >= 500 THEN
|
|
|
lWarten_Aushebeeinheit_Tisch_6 := 0;
|
|
|
Tisch_6_Manuell := 0;
|
|
|
- END_IF
|
|
|
+ END_IF
|
|
|
|
|
|
40: // ... und der Stopper wird wieder ausgefahren
|
|
|
- IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
|
|
|
- gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
|
|
|
- Tisch_6_Manuell := 0;
|
|
|
- END_IF
|
|
|
+ IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
|
|
|
+ gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
|
|
|
+ Tisch_6_Manuell := 0;
|
|
|
+ END_IF
|
|
|
|
|
|
END_CASE
|
|
|
|
|
@@ -159,40 +159,40 @@ 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
|
|
|
- gMerker_Debug_Test_Counter := 11;
|
|
|
- gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
|
|
|
- gMerker_RFID_Tisch_6_gelesen := FALSE;
|
|
|
+ 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
|
|
|
+ //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
|
|
|
gMerker_Debug_Test_Counter := 12;
|
|
|
gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
|
|
|
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
|
|
|
+ //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
|
|
|
+ //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;
|
|
|
- END_IF
|
|
|
+ END_IF
|
|
|
|
|
|
-//
|
|
|
+ //
|
|
|
|
|
|
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 := 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
|
|
|
+ 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
|
|
@@ -200,44 +200,44 @@ PROGRAM _CYCLIC
|
|
|
gDO_Start_Laser := FALSE;
|
|
|
gDO_Laser_Absaugung := FALSE;
|
|
|
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
|
|
|
+ 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
|
|
|
+ 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 := 130;
|
|
|
gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
|
|
|
- Tisch_6 := 40;
|
|
|
- END_IF
|
|
|
+ Tisch_6 := 40;
|
|
|
+ END_IF
|
|
|
|
|
|
40: //Cech-Comment: Wenn der NAchstopper_Sensor einmal ein ...
|
|
|
- IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
|
|
|
+ IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
|
|
|
gMerker_Debug_Test_Counter := 140;
|
|
|
Tisch_6 := 45;
|
|
|
- END_IF
|
|
|
+ END_IF
|
|
|
|
|
|
45: // ... und wieder aus geht, dann kann der Stopper wieder ausgefahren werden
|
|
|
- IF gTisch_6.Inputs.Nach_Stopper = FALSE THEN
|
|
|
+ IF gTisch_6.Inputs.Nach_Stopper = FALSE THEN
|
|
|
gMerker_Debug_Test_Counter := 145;
|
|
|
gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
|
|
|
- Tisch_6 := 50;
|
|
|
- END_IF
|
|
|
+ Tisch_6 := 50;
|
|
|
+ END_IF
|
|
|
|
|
|
50: //Cech-Comment: WEnn der WST am Stausensor vorbei ist, also ein ...
|
|
|
- IF gTisch_6.Inputs.Stausensor = TRUE THEN
|
|
|
+ IF gTisch_6.Inputs.Stausensor = TRUE THEN
|
|
|
gMerker_Debug_Test_Counter := 150;
|
|
|
Tisch_6 := 60;
|
|
|
- END_IF
|
|
|
+ END_IF
|
|
|
|
|
|
60: // ... und wieder aus, dann wird der Prozess von oben wieder begonnen
|
|
|
- IF gTisch_6.Inputs.Stausensor = FALSE THEN
|
|
|
+ IF gTisch_6.Inputs.Stausensor = FALSE THEN
|
|
|
gMerker_Debug_Test_Counter := 160;
|
|
|
Tisch_6 := 0;
|
|
|
- END_IF
|
|
|
+ END_IF
|
|
|
|
|
|
- //
|
|
|
- // Cech-Comment: von hier bis excl. 200 wird nicht durchfahren
|
|
|
+ //
|
|
|
+ // Cech-Comment: von hier bis excl. 200 wird nicht durchfahren
|
|
|
110:
|
|
|
IF gTisch_6.Inputs.Nach_Vorstopper = TRUE THEN
|
|
|
gMerker_Debug_Test_Counter := 1110;
|
|
@@ -325,17 +325,17 @@ PROGRAM _CYCLIC
|
|
|
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) THEN // !!!!KOMT WIEDER REIN, WENN DAS OPCUA_SERVICE SAUBER LÄUFT "AND gMerker_Laser_Einstellen_fertig = TRUE)" THEN //Cech-Implement gMerker_Laser_Einstellen_fertig von Cech eingefügt
|
|
|
- lWarten_Laser_Startsignal := lWarten_Laser_Startsignal + (RTInfo_0.cycle_time/1000);
|
|
|
+ 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
|
|
|
+// lWarten_Laser_Startsignal := lWarten_Laser_Startsignal + (RTInfo_0.cycle_time/1000);
|
|
|
IF gMerker_Laser_Doppelzylinder = TRUE THEN
|
|
|
gDO_doppelt_lasern := TRUE;
|
|
|
END_IF
|
|
|
- IF lWarten_Laser_Startsignal >= 20000 THEN // !!!! DAS GANZE WARTEN KOMMT RAUS,WENN OPCUA SAUBER LÄUFT
|
|
|
+// IF lWarten_Laser_Startsignal >= 20000 THEN // !!!! DAS GANZE WARTEN KOMMT RAUS,WENN OPCUA SAUBER LÄUFT
|
|
|
lWarten_Laser_Startsignal := 0;
|
|
|
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
|
|
|
+// END_IF
|
|
|
END_IF
|
|
|
|
|
|
END_IF
|
|
@@ -344,7 +344,7 @@ PROGRAM _CYCLIC
|
|
|
lWarten_Laser_Startsignal := lWarten_Laser_Startsignal + (RTInfo_0.cycle_time/1000);
|
|
|
IF lWarten_Laser_Startsignal >= 1000 THEN
|
|
|
gMerker_Laserung_fertig := FALSE;
|
|
|
-// gMerker_Laserung_fertig := FALSE; //Da hat der LAser das "gDI_Laser_fertig" längst auf FLASE gesetzt, sodass gMerker_Laserung_fertig nicht ganz oben wieder auf TRUE überschrieben wird
|
|
|
+ // gMerker_Laserung_fertig := FALSE; //Da hat der LAser das "gDI_Laser_fertig" längst auf FLASE gesetzt, sodass gMerker_Laserung_fertig nicht ganz oben wieder auf TRUE überschrieben wird
|
|
|
// 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.
|
|
|
IF gMerker_Laser_Doppelzylinder = TRUE THEN
|
|
|
Tisch_6_Automatik := 16;
|
|
@@ -353,12 +353,12 @@ PROGRAM _CYCLIC
|
|
|
END_IF
|
|
|
END_IF
|
|
|
|
|
|
-//Cech-Implement
|
|
|
+ //Cech-Implement
|
|
|
16:
|
|
|
IF (gMerker_Laserung_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_Laserung_fertig := TRUE; //Cech-Implement: Dient dazu, in der LAser-SPS den "Extern_Fertig"-Portpin wieder zurücknehmen zu können, und in der LAser-SPS aber zu wissen, dass die erste LAserung erfolgreich beendet wurde
|
|
|
+ //// gMerker_Laserung_fertig := TRUE; //Cech-Implement: Dient dazu, in der LAser-SPS den "Extern_Fertig"-Portpin wieder zurücknehmen zu können, und in der LAser-SPS aber zu wissen, dass die erste LAserung erfolgreich beendet wurde
|
|
|
gDO_Start_Laser := FALSE;
|
|
|
gMerker_Laser_Einstellen_fertig := FALSE; //Cech-Implement
|
|
|
//// gMerker_Laser_Doppelzylinder := FALSE; // Müsste ohne dem gehen
|
|
@@ -462,7 +462,7 @@ PROGRAM _CYCLIC
|
|
|
|
|
|
//
|
|
|
|
|
|
-//Cech-Comment: Wird meiner Meinung nach im Augenblick nicht mehr ausgeführt bis excl. 200:
|
|
|
+ //Cech-Comment: Wird meiner Meinung nach im Augenblick nicht mehr ausgeführt bis excl. 200:
|
|
|
110:
|
|
|
IF gTisch_6.Inputs.Nach_Vorstopper = TRUE THEN
|
|
|
Tisch_6_Automatik := 120;
|
|
@@ -478,7 +478,7 @@ PROGRAM _CYCLIC
|
|
|
IF (*gTisch_6.Inputs.Vor_Stopper = TRUE AND*) gTisch_6.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
|
|
|
Tisch_6_Automatik := 0;
|
|
|
END_IF
|
|
|
-//Cech-Comment: Wird meiner Meinung nach im Augenblick nicht mehr ausgeführt seit 110:
|
|
|
+ //Cech-Comment: Wird meiner Meinung nach im Augenblick nicht mehr ausgeführt seit 110:
|
|
|
|
|
|
|
|
|
200: //Cech-Comment: Warten, bis ein WST den Stopper sicher verlassen hat ...
|