Main.st 3.2 KB

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