Main.st 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. PROGRAM _INIT
  2. Tisch_5 := 0;
  3. END_PROGRAM
  4. PROGRAM _CYCLIC
  5. IF (gTisch_5.Inputs.Vor_Stopper = TRUE AND gTisch_5.Inputs.Stausensor = FALSE AND Tisch_5 = 0) OR (gTisch_5.Inputs.Vor_VorStopper = TRUE AND gTisch_5.Inputs.Vor_Stopper = FALSE AND Tisch_5 = 0) THEN
  6. gTisch_5.Outputs.Lampe_Start := TRUE;
  7. ELSE
  8. gTisch_5.Outputs.Lampe_Start := FALSE;
  9. END_IF
  10. IF gTaster_Tisch_5_aus = TRUE THEN
  11. gTisch_5.Cmd.Stopper := KMD_EINFAHREN;
  12. gTisch_5.Cmd.Vorstopper := KMD_EINFAHREN;
  13. gMerker_RFID_Tisch_5_gelesen := TRUE;
  14. Tisch_5 := 0;
  15. END_IF
  16. CASE Tisch_5 OF
  17. 0:
  18. IF gTisch_5.Inputs.Start = TRUE AND gTisch_5.Inputs.Vor_VorStopper = TRUE AND gTisch_5.Inputs.Vor_Stopper = TRUE AND gTisch_5.Inputs.Stausensor = FALSE AND gTaster_Tisch_5_aus = FALSE AND gMerker_RFID_Tisch_5_gelesen = TRUE THEN
  19. gTisch_5.Cmd.Stopper := KMD_EINFAHREN;
  20. gMerker_RFID_Tisch_5_gelesen := FALSE;
  21. Tisch_5 := 10;
  22. ELSIF gTisch_5.Inputs.Start = TRUE AND gTisch_5.Inputs.Vor_VorStopper = FALSE AND gTisch_5.Inputs.Vor_Stopper = TRUE AND gTisch_5.Inputs.Stausensor = FALSE AND gTaster_Tisch_5_aus = FALSE AND gMerker_RFID_Tisch_5_gelesen = TRUE THEN
  23. gTisch_5.Cmd.Stopper := KMD_EINFAHREN;
  24. gMerker_RFID_Tisch_5_gelesen := FALSE;
  25. Tisch_5 := 70;
  26. ELSIF gTisch_5.Inputs.Start = TRUE AND gTisch_5.Inputs.Vor_VorStopper = TRUE AND gTisch_5.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_5_aus = FALSE THEN
  27. gTisch_5.Cmd.Vorstopper := KMD_EINFAHREN;
  28. Tisch_5 := 110;
  29. ELSIF gTaster_Tisch_5_aus = FALSE AND gTisch_5.Inputs.Stopper_eingefahren = TRUE AND gTisch_5.Inputs.Vorstopper_eingefahren = TRUE THEN
  30. gTisch_5.Cmd.Stopper := KMD_AUSFAHREN;
  31. gTisch_5.Cmd.Vorstopper := KMD_AUSFAHREN;
  32. Tisch_5 := 0;
  33. END_IF
  34. //
  35. 10:
  36. IF gTisch_5.Inputs.Nach_Stopper = TRUE THEN
  37. Tisch_5 := 20;
  38. END_IF
  39. 20:
  40. IF gTisch_5.Inputs.Nach_Stopper = FALSE THEN
  41. gTisch_5.Cmd.Stopper := KMD_AUSFAHREN;
  42. gTisch_5.Cmd.Vorstopper := KMD_EINFAHREN;
  43. Tisch_5 := 30;
  44. END_IF
  45. 30:
  46. IF gTisch_5.Inputs.Nach_Vorstopper = TRUE THEN
  47. Tisch_5 := 40;
  48. END_IF
  49. 40:
  50. IF gTisch_5.Inputs.Nach_Vorstopper = FALSE THEN
  51. gTisch_5.Cmd.Vorstopper := KMD_AUSFAHREN;
  52. Tisch_5 := 50;
  53. END_IF
  54. 50:
  55. IF gTisch_5.Inputs.Stausensor = TRUE THEN
  56. Tisch_5 := 60;
  57. END_IF
  58. 60:
  59. IF gTisch_5.Status.Vorstopper = STATUS_AUSGEFAHREN AND gTisch_5.Status.Stopper = STATUS_AUSGEFAHREN THEN
  60. Tisch_5 := 0;
  61. END_IF
  62. //
  63. 70:
  64. IF gTisch_5.Inputs.Nach_Stopper = TRUE THEN
  65. Tisch_5 := 80;
  66. END_IF
  67. 80:
  68. IF gTisch_5.Inputs.Nach_Stopper = FALSE THEN
  69. gTisch_5.Cmd.Stopper := KMD_AUSFAHREN;
  70. Tisch_5 := 90;
  71. END_IF
  72. 90:
  73. IF gTisch_5.Inputs.Stausensor = TRUE THEN
  74. Tisch_5 := 100;
  75. END_IF
  76. 100:
  77. IF gTisch_5.Status.Stopper = STATUS_AUSGEFAHREN THEN
  78. Tisch_5 := 0;
  79. END_IF
  80. //
  81. 110:
  82. IF gTisch_5.Inputs.Nach_Vorstopper = TRUE THEN
  83. Tisch_5 := 120;
  84. END_IF
  85. 120:
  86. IF gTisch_5.Inputs.Nach_Vorstopper = FALSE THEN
  87. gTisch_5.Cmd.Vorstopper := KMD_AUSFAHREN;
  88. Tisch_5 := 130;
  89. END_IF
  90. 130:
  91. IF gTisch_5.Inputs.Vor_Stopper = TRUE AND gTisch_5.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
  92. Tisch_5 := 0;
  93. END_IF
  94. END_CASE
  95. END_PROGRAM
  96. PROGRAM _EXIT
  97. (* Insert code here *)
  98. END_PROGRAM