|
@@ -31,7 +31,7 @@ PROGRAM _CYCLIC
|
|
|
END_IF
|
|
|
|
|
|
IF gDI_Laser_fertig = TRUE THEN
|
|
|
- gMerker_Laserung_fertig := TRUE;
|
|
|
+ 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)
|
|
@@ -330,7 +330,6 @@ PROGRAM _CYCLIC
|
|
|
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
|
|
|
- gMerker_Laserung_fertig := FALSE;
|
|
|
gDO_Laser_Absaugung := TRUE;
|
|
|
Tisch_6_Automatik := 15;
|
|
|
END_IF
|
|
@@ -342,12 +341,13 @@ PROGRAM _CYCLIC
|
|
|
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
|
|
|
+ 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
|
|
|
// 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;
|
|
|
ELSIF gMerker_Laser_Doppelzylinder = FALSE THEN
|
|
|
- Tisch_6_Automatik :=20;
|
|
|
+ Tisch_6_Automatik :=30;
|
|
|
END_IF
|
|
|
END_IF
|
|
|
|
|
@@ -362,10 +362,11 @@ PROGRAM _CYCLIC
|
|
|
//// gMerker_Laser_Doppelzylinder := FALSE; // Müsste ohne dem gehen
|
|
|
gDO_Laser_Seitentuer_oeffnen := FALSE; ////Cech-Implement
|
|
|
// gDO_Laser_Seitentuer_oeffnen := TRUE;
|
|
|
- //gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
|
|
|
+ gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
|
|
|
+ gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
|
|
|
//gMerker_RFID_Value_Tisch_6 := 0;
|
|
|
//gMerker_block_RFID_read_Tisch_6 := TRUE; //Cech-Comment: Der MErker wenn TRUE blockiert das RFID-LEsen während des Einfahrens der Aushebeeinheit, um nicht neu zu beginnen (RFID kann beim Ausheben die VErbindung verlieren, das soll verhindert werden)
|
|
|
- Tisch_6_Automatik := 18;
|
|
|
+ Tisch_6_Automatik := 17;
|
|
|
// ELSIF (gDI_Laser_fertig = TRUE AND gDI_keiner_Stoerung_Laser = FALSE)
|
|
|
// gDO_Start_Laser := FALSE;
|
|
|
// gMerker_Laser_Einstellen_fertig := FALSE;
|
|
@@ -373,17 +374,30 @@ PROGRAM _CYCLIC
|
|
|
//Cech-Implement-Ende
|
|
|
END_IF
|
|
|
|
|
|
+ 17: //Cech-Comment: Kann sein, dass die Zeit ganz rausgenommen werden kann, wenn es reciht, den Vor_Stopper Input abzufragen auf FALSE; KAnn sein, dass dieses Tisch6 Main-Programm in einen schnelleren TAsk gelegt weden muss (50 oder 20ms vielleicht)
|
|
|
+ IF (gMerker_Tisch_6_Ausgehoben = FALSE AND gTisch_6.Status.Vorstopper = STATUS_EINGEFAHREN AND gTisch_6.Inputs.Vor_Stopper = FALSE) THEN
|
|
|
+ lWarten_Laser_Doppel_Innen := lWarten_Laser_Doppel_Innen + (RTInfo_0.cycle_time/1000);
|
|
|
+ IF lWarten_Laser_Doppel_Innen >= 100 THEN //Hier muss angeschaut werden, wie schnell der Stopper wieder ausgefahren werden kann, um den Block am WST 11cm für die LAserung der Innenseite zu erwischen
|
|
|
+ gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
|
|
|
+ Tisch_6_Automatik := 18;
|
|
|
+ END_IF
|
|
|
+ END_IF
|
|
|
+
|
|
|
18:
|
|
|
- IF (gMerker_Laser_Einstellen_fertig = TRUE) THEN
|
|
|
- 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
|
|
|
- lWarten_Laser_Startsignal := 0;
|
|
|
+ IF gTisch_6.Inputs.Vor_Stopper = TRUE THEN
|
|
|
Tisch_6_Automatik := 19;
|
|
|
END_IF
|
|
|
|
|
|
- 19: //Cech-Comment: Nach 1000ms wird das Startsignal an den Laser zurückgenommen und weiter mit 20
|
|
|
+ 19:
|
|
|
+ IF (gMerker_Laser_Einstellen_fertig = TRUE) THEN
|
|
|
+ gDO_Start_Laser := TRUE;
|
|
|
+ Tisch_6_Automatik := 20;
|
|
|
+ END_IF
|
|
|
+
|
|
|
+ 20://Cech-Comment: Nach 1000ms wird das Startsignal an den Laser zurückgenommen und weiter mit 30
|
|
|
lWarten_Laser_Startsignal := lWarten_Laser_Startsignal + (RTInfo_0.cycle_time/1000);
|
|
|
IF lWarten_Laser_Startsignal >= 1000 THEN
|
|
|
- Tisch_6_Automatik := 20;
|
|
|
+ Tisch_6_Automatik := 30;
|
|
|
END_IF
|
|
|
|
|
|
|
|
@@ -391,7 +405,7 @@ PROGRAM _CYCLIC
|
|
|
|
|
|
|
|
|
|
|
|
- 20: //Cech-Comment: Wenn vom LAser das Signal "WST bereit zum ABtransport", also LAsern fertig, kommt, dann wird die Aushebeeinheit eingefahren, der RFID-Wert der Station auf "0" gesetzt
|
|
|
+ 30: //Cech-Comment: Wenn vom LAser das Signal "WST bereit zum ABtransport", also LAsern fertig, kommt, dann wird die Aushebeeinheit eingefahren, der RFID-Wert der Station auf "0" gesetzt
|
|
|
lWarten_Laser_Dauer := lWarten_Laser_Dauer + (RTInfo_0.cycle_time/1000); //Cech-Implement
|
|
|
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
|
|
|
//Cech-Implement-Anfang
|
|
@@ -405,7 +419,7 @@ PROGRAM _CYCLIC
|
|
|
gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
|
|
|
gMerker_RFID_Value_Tisch_6 := 0;
|
|
|
gMerker_block_RFID_read_Tisch_6 := TRUE; //Cech-Comment: Der MErker wenn TRUE blockiert das RFID-LEsen während des Einfahrens der Aushebeeinheit, um nicht neu zu beginnen (RFID kann beim Ausheben die VErbindung verlieren, das soll verhindert werden)
|
|
|
- Tisch_6_Automatik := 30;
|
|
|
+ Tisch_6_Automatik := 40;
|
|
|
// ELSIF (gDI_Laser_fertig = TRUE AND gDI_keiner_Stoerung_Laser = FALSE)
|
|
|
// gDO_Start_Laser := FALSE;
|
|
|
// gMerker_Laser_Einstellen_fertig := FALSE;
|
|
@@ -416,30 +430,30 @@ PROGRAM _CYCLIC
|
|
|
|
|
|
|
|
|
|
|
|
- 30: //Cech-Comment: Stopper wird eingefahren
|
|
|
+ 40: //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
|
|
|
gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
|
|
|
- Tisch_6_Automatik := 40;
|
|
|
+ Tisch_6_Automatik := 50;
|
|
|
END_IF
|
|
|
|
|
|
- 40: //Cech-Comment: schauen, wenn der WST die Station wirklich verlassen hat
|
|
|
+ 50: //Cech-Comment: schauen, wenn der WST die Station wirklich verlassen hat
|
|
|
IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
|
|
|
- Tisch_6_Automatik := 45;
|
|
|
+ Tisch_6_Automatik := 55;
|
|
|
END_IF
|
|
|
|
|
|
- 45: //Cech-Comment: Wenn der WST weg ist, wird der Stopper ausgefahren und der RFID-Leser wieder "scharf" geschaltet
|
|
|
+ 55: //Cech-Comment: Wenn der WST weg ist, wird der Stopper ausgefahren und der RFID-Leser wieder "scharf" geschaltet
|
|
|
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"
|
|
|
- Tisch_6_Automatik := 50;
|
|
|
+ Tisch_6_Automatik := 60;
|
|
|
END_IF
|
|
|
|
|
|
- 50: //Cech-Comment: Wenn der Stausensor nach dem Laser den WST anzeigt und ...
|
|
|
+ 60: //Cech-Comment: Wenn der Stausensor nach dem Laser den WST anzeigt und ...
|
|
|
IF gTisch_6.Inputs.Stausensor = TRUE THEN
|
|
|
- Tisch_6_Automatik := 60;
|
|
|
+ Tisch_6_Automatik := 70;
|
|
|
END_IF
|
|
|
|
|
|
- 60: //Cech-Comment: ...und vorbei ist, dann wird der Prozess wieder von Vorne begonnen
|
|
|
+ 70: //Cech-Comment: ...und vorbei ist, dann wird der Prozess wieder von Vorne begonnen
|
|
|
IF gTisch_6.Inputs.Stausensor = FALSE THEN
|
|
|
Tisch_6_Automatik := 0;
|
|
|
END_IF
|