Main.st 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. PROGRAM _INIT
  2. RTInfo_0(enable:=1);
  3. END_PROGRAM
  4. PROGRAM _CYCLIC
  5. (* #############################################################################################################
  6. ############################# Kurve 1 #####################################
  7. ############################################################################################################# *)
  8. IF gKurve_1.Cmd.Stopper = KMD_AUSFAHREN THEN
  9. gKurve_1.Outputs.Stopper_einfahren := FALSE;
  10. gKurve_1.Times.Stopper_AusZeit := TRUE;
  11. gKurve_1.Times.Stopper_EinZeit := FALSE;
  12. gKurve_1.Cmd.Stopper := KMD_FERTIG;
  13. gKurve_1.Status.Stopper := STATUS_BUSY;
  14. END_IF
  15. IF gKurve_1.Cmd.Stopper = KMD_EINFAHREN THEN
  16. gKurve_1.Outputs.Stopper_einfahren := TRUE;
  17. gKurve_1.Times.Stopper_AusZeit := FALSE;
  18. gKurve_1.Times.Stopper_EinZeit := TRUE;
  19. gKurve_1.Cmd.Stopper := KMD_FERTIG;
  20. gKurve_1.Status.Stopper := STATUS_BUSY;
  21. END_IF
  22. (* Status, Zylinderposition ausgeben *)
  23. IF (gKurve_1.Inputs.Stopper_eingefahren = TRUE) AND (gKurve_1.Inputs.Stopper_ausgefahren = FALSE) THEN
  24. gKurve_1.Status.Stopper := STATUS_EINGEFAHREN;
  25. ELSIF (gKurve_1.Inputs.Stopper_eingefahren = FALSE) AND (gKurve_1.Inputs.Stopper_ausgefahren = TRUE) THEN
  26. gKurve_1.Status.Stopper := STATUS_AUSGEFAHREN;
  27. ELSE
  28. gKurve_1.Status.Stopper := STATUS_BUSY;
  29. END_IF
  30. (* Zeitüberwachung Eingefahren*)
  31. 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
  32. gKurve_1.Times.Stopper_ZeitRun := gKurve_1.Times.Stopper_ZeitRun + (RTInfo_0.cycle_time/1000);
  33. IF (gKurve_1.Times.Stopper_EinZeit = TRUE AND gKurve_1.Status.Stopper = STATUS_EINGEFAHREN)
  34. OR (gKurve_1.Times.Stopper_AusZeit = TRUE AND gKurve_1.Status.Stopper = STATUS_AUSGEFAHREN)THEN
  35. (* lPortal_Mittelanschlag_EinZeit := FALSE;
  36. lPortal_Mittelanschlag_AusZeit := FALSE; *)
  37. gKurve_1.Times.Stopper_ZeitRun := 0;
  38. END_IF
  39. IF gKurve_1.Times.Stopper_ZeitRun >= 5000 THEN
  40. gKurve_1.Status.Stopper := STATUS_ERROR;
  41. IF gKurve_1.Times.Stopper_EinZeit = TRUE THEN
  42. gError[0] := 1;
  43. END_IF
  44. IF gKurve_1.Times.Stopper_AusZeit = TRUE THEN
  45. gError[1] := 1;
  46. END_IF
  47. END_IF
  48. ELSE
  49. gKurve_1.Times.Stopper_ZeitRun := 0;
  50. END_IF
  51. END_PROGRAM
  52. PROGRAM _EXIT
  53. (* Insert code here *)
  54. END_PROGRAM