123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364 |
- PROGRAM _INIT
- Tisch_6 := 0;
- Tisch_6_Manuell := 0;
-
- gTisch_6.Cmd.Stopper := KMD_EINFAHREN;
- gTisch_6.Cmd.Vorstopper := KMD_EINFAHREN;
- gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
-
- RTInfo_0(enable:=1);
- END_PROGRAM
- PROGRAM _CYCLIC
- gTisch_6;
-
- IF gMerker_Laser_Manuell = TRUE THEN
- gDO_Start_Laser := FALSE;
- gDO_Laser_Seitentuer_oeffnen := FALSE;
- END_IF
-
- IF gMerker_Laser_Automatik = TRUE THEN
- gDO_Laser_Seitentuer_oeffnen := FALSE;
- END_IF
-
- 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;
- END_IF
-
- IF gVK_Freigabe_manuell = TRUE AND gVK_Vorstopper_Tisch_6 = TRUE THEN
- gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
- ELSIF gVK_Freigabe_manuell = TRUE AND gVK_Vorstopper_Tisch_6 = FALSE THEN
- gTisch_6.Cmd.Vorstopper := KMD_EINFAHREN;
- END_IF
-
- IF gVK_Freigabe_manuell = TRUE AND gVK_Aushebeeinheit_Tisch_6 = TRUE THEN
- gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
- ELSIF gVK_Freigabe_manuell = TRUE AND gVK_Aushebeeinheit_Tisch_6 = FALSE THEN
- gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
- END_IF
-
- IF gVK_Freigabe_manuell = TRUE AND gVK_doppelt_Lasern = TRUE THEN
- gDO_doppelt_lasern := TRUE;
- ELSIF gVK_Freigabe_manuell = TRUE AND gVK_doppelt_Lasern = FALSE THEN
- gDO_doppelt_lasern := FALSE;
- END_IF
-
- IF gVK_Freigabe_manuell = TRUE AND gVK_Start_Laser = TRUE THEN
- gDO_Start_Laser := TRUE;
- ELSIF gVK_Freigabe_manuell = TRUE AND gVK_Start_Laser = FALSE THEN
- gDO_Start_Laser := FALSE;
- END_IF
-
- 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
-
- IF gDI_Laser_Automatik = TRUE AND gDI_Laser_Manuell = FALSE THEN
- gMerker_Laser_Automatik := TRUE;
- gMerker_Laser_Halbautomatik := FALSE;
- gMerker_Laser_Manuell := FALSE;
- END_IF
-
- IF gDI_Laser_Manuell = TRUE AND gDI_Laser_Automatik = FALSE THEN
- gMerker_Laser_Automatik := FALSE;
- gMerker_Laser_Halbautomatik := FALSE;
- gMerker_Laser_Manuell := TRUE;
- END_IF
-
- IF gDI_Laser_Manuell = FALSE AND gDI_Laser_Automatik = FALSE THEN
- gMerker_Laser_Automatik := FALSE;
- gMerker_Laser_Halbautomatik := TRUE;
- gMerker_Laser_Manuell := FALSE;
- END_IF
-
-
-
- CASE Tisch_6_Manuell OF
-
- 0:
- 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;
- gDO_Laser_Absaugung := TRUE;
- 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;
- gDO_Laser_Absaugung := TRUE;
- Tisch_6_Manuell := 20;
- END_IF
-
- 10:
- IF gTisch_6.Inputs.Nach_Stopper = TRUE 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
-
- 20:
- IF gMerker_Laser_Manuell = FALSE THEN
- gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
- gDO_Laser_Absaugung := FALSE;
- Tisch_6_Manuell := 30;
- END_IF
-
- 30: 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
- lWarten_Aushebeeinheit_Tisch_6 := 0;
- Tisch_6_Manuell := 0;
- END_IF
-
- 40:
- IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
- gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
- Tisch_6_Manuell := 0;
- END_IF
-
- END_CASE
-
- CASE Tisch_6 OF
- 0:
- 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
- gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
- gMerker_RFID_Tisch_6_gelesen := FALSE;
- Tisch_6 := 10;
- 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
- gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
- gMerker_RFID_Tisch_6_gelesen := FALSE;
- Tisch_6 := 10;
- 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
- gDO_Laser_Seitentuer_oeffnen := TRUE;
- gTisch_6.Cmd.Vorstopper := KMD_EINFAHREN;
- Tisch_6 := 200; /// war 110
- 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
- gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
- gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
- Tisch_6 := 0;
- END_IF
-
- //
- 10:
- IF (*gTisch_6.Status.Aushebeeinheit = STATUS_AUSGEFAHREN*) gTisch_6.Outputs.Aushebeeinheit_ausfahren = TRUE AND gTisch_6.Outputs.Aushebeeinheit_einfahren = FALSE THEN
- gDO_Start_Laser := TRUE;
- gDO_Laser_Absaugung := TRUE;
- gDO_Laser_Seitentuer_oeffnen := TRUE;
- Tisch_6 := 20;
- END_IF
-
- 20:
- IF gTisch_6.Inputs.Start = TRUE THEN
- gDO_Start_Laser := FALSE;
- gDO_Laser_Absaugung := FALSE;
- gDO_Laser_Seitentuer_oeffnen := FALSE;
- gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
- Tisch_6 := 30;
- END_IF
- 30:
- 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 := 40;
- END_IF
- 40:
- IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
- Tisch_6 := 45;
- END_IF
-
- 45:
- IF gTisch_6.Inputs.Nach_Stopper = FALSE THEN
- gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
- Tisch_6 := 50;
- END_IF
- 50:
- IF gTisch_6.Inputs.Stausensor = TRUE THEN
- Tisch_6 := 60;
- END_IF
- 60:
- IF gTisch_6.Inputs.Stausensor = FALSE THEN
- Tisch_6 := 0;
- END_IF
- //
- 110:
- IF gTisch_6.Inputs.Nach_Vorstopper = TRUE THEN
- Tisch_6 := 120;
- END_IF
- 120:
- IF gTisch_6.Inputs.Nach_Vorstopper = FALSE THEN
- gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
- Tisch_6 := 130;
- END_IF
- 130:
- IF (*gTisch_6.Inputs.Vor_Stopper = TRUE AND*) gTisch_6.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
- (*gDO_Laser_Seitentuer_oeffnen := FALSE;*)
- Tisch_6 := 0;
- END_IF
-
- 200:
- IF gTisch_6.Inputs.Nach_Vorstopper = TRUE THEN
- Tisch_6 := 210;
- END_IF
- 210:
- IF gTisch_6.Inputs.Nach_Vorstopper = FALSE THEN
- gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
- Tisch_6 := 220;
- END_IF
- 220:
- IF (*gTisch_6.Inputs.Vor_Stopper = TRUE AND*) gTisch_6.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
- Tisch_6 := 230;
- END_IF
-
- 230: IF gTisch_6.Inputs.Vor_Stopper = TRUE THEN
- Tisch_6 := 0;
- END_IF
- END_CASE
-
- CASE Tisch_6_Automatik OF
- 0:
- IF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE 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
- gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
- gMerker_RFID_Tisch_6_gelesen := FALSE;
- Tisch_6_Automatik := 10;
- ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE 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
- gTisch_6.Cmd.Aushebeeinheit := KMD_AUSFAHREN;
- gMerker_RFID_Tisch_6_gelesen := FALSE;
- Tisch_6_Automatik := 10;
- ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE AND gTisch_6.Inputs.Vor_VorStopper = TRUE AND gTisch_6.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_6_aus = FALSE THEN
- gDO_Laser_Seitentuer_oeffnen := TRUE;
- gTisch_6.Cmd.Vorstopper := KMD_EINFAHREN;
- Tisch_6_Automatik := 200; // war 110
- ELSIF gMerker_Laser_Manuell = FALSE AND gMerker_Laser_Halbautomatik = FALSE AND gMerker_Laser_Automatik = TRUE AND gTaster_Tisch_6_aus = FALSE AND (gTisch_6.Inputs.Stopper_eingefahren = TRUE OR gTisch_6.Inputs.Vorstopper_eingefahren = TRUE) THEN
- gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
- gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
- Tisch_6_Automatik := 0;
- END_IF
-
- //
- 10:
- IF (*gTisch_6.Status.Aushebeeinheit = STATUS_AUSGEFAHREN*) gTisch_6.Outputs.Aushebeeinheit_ausfahren = TRUE AND gTisch_6.Outputs.Aushebeeinheit_einfahren = FALSE THEN
- gDO_Start_Laser := TRUE;
- Tisch_6_Automatik := 15;
- END_IF
-
- 15: lWarten_Laser_Startsignal := lWarten_Laser_Startsignal + (RTInfo_0.cycle_time/1000);
- IF lWarten_Laser_Startsignal >= 500 THEN
- gDO_Start_Laser := FALSE;
- Tisch_6_Automatik := 20;
- END_IF
-
- 20:
- IF gDI_Laser_fertig = TRUE THEN
- gDO_Start_Laser := FALSE;
- gTisch_6.Cmd.Aushebeeinheit := KMD_EINFAHREN;
- gMerker_RFID_Value_Tisch_6 := 0;
- gMerker_block_RFID_read_Tisch_6 := TRUE;
- Tisch_6_Automatik := 30;
- END_IF
- 30:
- 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;
- END_IF
- 40:
- IF gTisch_6.Inputs.Nach_Stopper = TRUE THEN
- Tisch_6_Automatik := 45;
- END_IF
-
- 45:
- IF gTisch_6.Inputs.Nach_Stopper = FALSE THEN
- gTisch_6.Cmd.Stopper := KMD_AUSFAHREN;
- gMerker_block_RFID_read_Tisch_6 := FALSE;
- Tisch_6_Automatik := 50;
- END_IF
- 50:
- IF gTisch_6.Inputs.Stausensor = TRUE THEN
- Tisch_6_Automatik := 60;
- END_IF
- 60:
- IF gTisch_6.Inputs.Stausensor = FALSE THEN
- Tisch_6_Automatik := 0;
- END_IF
- //
- 110:
- IF gTisch_6.Inputs.Nach_Vorstopper = TRUE THEN
- Tisch_6_Automatik := 120;
- END_IF
- 120:
- IF gTisch_6.Inputs.Nach_Vorstopper = FALSE THEN
- gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
- Tisch_6_Automatik := 130;
- END_IF
- 130:
- IF (*gTisch_6.Inputs.Vor_Stopper = TRUE AND*) gTisch_6.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
- Tisch_6_Automatik := 0;
- END_IF
-
- 200:
- IF gTisch_6.Inputs.Nach_Vorstopper = TRUE THEN
- Tisch_6_Automatik := 210;
- END_IF
- 210:
- IF gTisch_6.Inputs.Nach_Vorstopper = FALSE THEN
- gTisch_6.Cmd.Vorstopper := KMD_AUSFAHREN;
- Tisch_6_Automatik := 220;
- END_IF
- 220:
- IF (*gTisch_6.Inputs.Vor_Stopper = TRUE AND*) gTisch_6.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
- Tisch_6_Automatik := 230;
- END_IF
-
- 230: IF gTisch_6.Inputs.Vor_Stopper = TRUE THEN
- Tisch_6_Automatik := 0;
- END_IF
-
- END_CASE
- END_PROGRAM
- PROGRAM _EXIT
- (* Insert code here *)
-
- END_PROGRAM
|