Main.st 3.2 KB

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