Main.st 3.9 KB

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