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