123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- PROGRAM _INIT
-
- RTInfo_0(enable:=1);
-
- END_PROGRAM
- PROGRAM _CYCLIC
-
- (* #############################################################################################################
- ############################# Stopper Tisch 5 #####################################
- ############################################################################################################# *)
- IF gTisch_5.Cmd.Stopper = KMD_AUSFAHREN THEN
- gTisch_5.Outputs.Stopper_einfahren := FALSE;
- gTisch_5.Times.Stopper_AusZeit := TRUE;
- gTisch_5.Times.Stopper_EinZeit := FALSE;
- gTisch_5.Cmd.Stopper := KMD_FERTIG;
- gTisch_5.Status.Stopper := STATUS_BUSY;
- END_IF
- IF gTisch_5.Cmd.Stopper = KMD_EINFAHREN THEN
- gTisch_5.Outputs.Stopper_einfahren := TRUE;
- gTisch_5.Times.Stopper_AusZeit := FALSE;
- gTisch_5.Times.Stopper_EinZeit := TRUE;
- gTisch_5.Cmd.Stopper := KMD_FERTIG;
- gTisch_5.Status.Stopper := STATUS_BUSY;
- END_IF
- (* Status, Zylinderposition ausgeben *)
- IF (gTisch_5.Inputs.Stopper_eingefahren = TRUE) AND (gTisch_5.Inputs.Stopper_ausgefahren = FALSE) THEN
- gTisch_5.Status.Stopper := STATUS_EINGEFAHREN;
- ELSIF (gTisch_5.Inputs.Stopper_eingefahren = FALSE) AND (gTisch_5.Inputs.Stopper_ausgefahren = TRUE) THEN
- gTisch_5.Status.Stopper := STATUS_AUSGEFAHREN;
- ELSE
- gTisch_5.Status.Stopper := STATUS_BUSY;
- END_IF
- (* Zeitüberwachung Eingefahren*)
- IF (gTisch_5.Times.Stopper_EinZeit = TRUE AND gTisch_5.Status.Stopper <> STATUS_EINGEFAHREN) OR (gTisch_5.Times.Stopper_AusZeit = TRUE AND gTisch_5.Status.Stopper <> STATUS_AUSGEFAHREN) THEN
- gTisch_5.Times.Stopper_ZeitRun := gTisch_5.Times.Stopper_ZeitRun + (RTInfo_0.cycle_time/1000);
- IF (gTisch_5.Times.Stopper_EinZeit = TRUE AND gTisch_5.Status.Stopper = STATUS_EINGEFAHREN)
- OR (gTisch_5.Times.Stopper_AusZeit = TRUE AND gTisch_5.Status.Stopper = STATUS_AUSGEFAHREN)THEN
- (* lPortal_Mittelanschlag_EinZeit := FALSE;
- lPortal_Mittelanschlag_AusZeit := FALSE; *)
- gTisch_5.Times.Stopper_ZeitRun := 0;
- END_IF
- IF gTisch_5.Times.Stopper_ZeitRun >= 5000 THEN
- gTisch_5.Status.Stopper := STATUS_ERROR;
- IF gTisch_5.Times.Stopper_EinZeit = TRUE THEN
- gError[0] := 1;
- END_IF
-
- IF gTisch_5.Times.Stopper_AusZeit = TRUE THEN
- gError[1] := 1;
- END_IF
- END_IF
- ELSE
- gTisch_5.Times.Stopper_ZeitRun := 0;
- END_IF
-
- (* #############################################################################################################
- ############################# VorStopper Tisch 5 #####################################
- ############################################################################################################# *)
- IF gTisch_5.Cmd.Vorstopper = KMD_AUSFAHREN THEN
- gTisch_5.Outputs.Vorstopper_einfahren := FALSE;
- gTisch_5.Times.Vorstopper_AusZeit := TRUE;
- gTisch_5.Times.Vorstopper_EinZeit := FALSE;
- gTisch_5.Cmd.Vorstopper := KMD_FERTIG;
- gTisch_5.Status.Vorstopper := STATUS_BUSY;
- END_IF
- IF gTisch_5.Cmd.Vorstopper = KMD_EINFAHREN THEN
- gTisch_5.Outputs.Vorstopper_einfahren := TRUE;
- gTisch_5.Times.Vorstopper_AusZeit := FALSE;
- gTisch_5.Times.Vorstopper_EinZeit := TRUE;
- gTisch_5.Cmd.Vorstopper := KMD_FERTIG;
- gTisch_5.Status.Vorstopper := STATUS_BUSY;
- END_IF
- (* Status, Zylinderposition ausgeben *)
- IF (gTisch_5.Inputs.Vorstopper_eingefahren = TRUE) AND (gTisch_5.Inputs.Vorstopper_ausgefahren = FALSE) THEN
- gTisch_5.Status.Vorstopper := STATUS_EINGEFAHREN;
- ELSIF (gTisch_5.Inputs.Vorstopper_eingefahren = FALSE) AND (gTisch_5.Inputs.Vorstopper_ausgefahren = TRUE) THEN
- gTisch_5.Status.Vorstopper := STATUS_AUSGEFAHREN;
- ELSE
- gTisch_5.Status.Vorstopper := STATUS_BUSY;
- END_IF
- (* Zeitüberwachung Eingefahren*)
- IF (gTisch_5.Times.Vorstopper_EinZeit = TRUE AND gTisch_5.Status.Vorstopper <> STATUS_EINGEFAHREN) OR (gTisch_5.Times.Vorstopper_AusZeit = TRUE AND gTisch_5.Status.Vorstopper <> STATUS_AUSGEFAHREN) THEN
- gTisch_5.Times.Vorstopper_ZeitRun := gTisch_5.Times.Vorstopper_ZeitRun + (RTInfo_0.cycle_time/1000);
- IF (gTisch_5.Times.Vorstopper_EinZeit = TRUE AND gTisch_5.Status.Vorstopper = STATUS_EINGEFAHREN)
- OR (gTisch_5.Times.Vorstopper_AusZeit = TRUE AND gTisch_5.Status.Vorstopper = STATUS_AUSGEFAHREN)THEN
- (* lPortal_Mittelanschlag_EinZeit := FALSE;
- lPortal_Mittelanschlag_AusZeit := FALSE; *)
- gTisch_5.Times.Vorstopper_ZeitRun := 0;
- END_IF
- IF gTisch_5.Times.Vorstopper_ZeitRun >= 5000 THEN
- gTisch_5.Status.Vorstopper := STATUS_ERROR;
- IF gTisch_5.Times.Vorstopper_EinZeit = TRUE THEN
- gError[0] := 1;
- END_IF
-
- IF gTisch_5.Times.Vorstopper_AusZeit = TRUE THEN
- gError[1] := 1;
- END_IF
- END_IF
- ELSE
- gTisch_5.Times.Vorstopper_ZeitRun := 0;
- END_IF
-
- END_PROGRAM
- PROGRAM _EXIT
- (* Insert code here *)
-
- END_PROGRAM
|