Main.st 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. PROGRAM _INIT
  2. Tisch_7 := 0;
  3. RTInfo_0(enable:=1);
  4. gDO_AC230V_Steckdose := FALSE;
  5. gMerker_AC230V_ON := FALSE;
  6. lWarten_AC230V_Einschalten := 0;
  7. END_PROGRAM
  8. PROGRAM _CYCLIC
  9. 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
  10. gTisch_7.Outputs.Lampe_Start := TRUE;
  11. ELSE
  12. gTisch_7.Outputs.Lampe_Start := FALSE;
  13. END_IF
  14. IF gTaster_Tisch_7_aus = TRUE THEN
  15. gTisch_7.Cmd.Stopper := KMD_EINFAHREN;
  16. gTisch_7.Cmd.Vorstopper := KMD_EINFAHREN;
  17. gMerker_RFID_Tisch_7_gelesen := TRUE;
  18. Tisch_7 := 0;
  19. END_IF
  20. IF gMerker_AC230V_ON = FALSE THEN //VErzögerung der Netzsteckerleiste im Schaltschrank der Station7, um den Router für die KAmera erst später zu aktivieren, sonst geht die KAmera nicht
  21. lWarten_AC230V_Einschalten := lWarten_AC230V_Einschalten + (RTInfo_0.cycle_time/1000);
  22. IF lWarten_AC230V_Einschalten >= 5000 THEN
  23. gDO_AC230V_Steckdose := TRUE;
  24. gMerker_AC230V_ON := TRUE;
  25. END_IF
  26. END_IF
  27. CASE Tisch_7 OF
  28. 0:
  29. 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
  30. // gTisch_7.Cmd.Stopper := KMD_EINFAHREN;
  31. // gMerker_RFID_Tisch_7_gelesen := FALSE;
  32. // Tisch_7 := 10;
  33. lWarten_Auto_Start_Tisch_7 := 0;
  34. Tisch_7 := 5;
  35. 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
  36. // gTisch_7.Cmd.Stopper := KMD_EINFAHREN;
  37. // gMerker_RFID_Tisch_7_gelesen := FALSE;
  38. // Tisch_7 := 70;
  39. lWarten_Auto_Start_Tisch_7 := 0;
  40. Tisch_7 := 65;
  41. ELSIF gTisch_7.Inputs.Vor_VorStopper = TRUE AND gTisch_7.Inputs.Vor_Stopper = FALSE AND gTaster_Tisch_7_aus = FALSE THEN
  42. gTisch_7.Cmd.Vorstopper := KMD_EINFAHREN;
  43. Tisch_7 := 110;
  44. ELSIF gTaster_Tisch_7_aus = FALSE AND gTisch_7.Inputs.Stopper_eingefahren = TRUE AND gTisch_7.Inputs.Vorstopper_eingefahren = TRUE THEN
  45. gTisch_7.Cmd.Stopper := KMD_AUSFAHREN;
  46. gTisch_7.Cmd.Vorstopper := KMD_AUSFAHREN;
  47. Tisch_7 := 0;
  48. END_IF
  49. //
  50. 5: lWarten_Auto_Start_Tisch_7 := lWarten_Auto_Start_Tisch_7 + (RTInfo_0.cycle_time/1000);
  51. IF lWarten_Auto_Start_Tisch_7 >= 10000 THEN
  52. gTisch_7.Cmd.Stopper := KMD_EINFAHREN;
  53. gMerker_RFID_Tisch_7_gelesen := FALSE;
  54. lWarten_Auto_Start_Tisch_7 := 0;
  55. Tisch_7 := 10;
  56. END_IF
  57. 10:
  58. IF gTisch_7.Inputs.Nach_Stopper = TRUE THEN
  59. Tisch_7 := 20;
  60. END_IF
  61. 20:
  62. IF gTisch_7.Inputs.Nach_Stopper = FALSE THEN
  63. gTisch_7.Cmd.Stopper := KMD_AUSFAHREN;
  64. gTisch_7.Cmd.Vorstopper := KMD_EINFAHREN;
  65. Tisch_7 := 30;
  66. END_IF
  67. 30:
  68. IF gTisch_7.Inputs.Nach_Vorstopper = TRUE THEN
  69. Tisch_7 := 40;
  70. END_IF
  71. 40:
  72. IF gTisch_7.Inputs.Nach_Vorstopper = FALSE THEN
  73. gTisch_7.Cmd.Vorstopper := KMD_AUSFAHREN;
  74. Tisch_7 := 50;
  75. END_IF
  76. 50:
  77. IF gTisch_7.Inputs.Stausensor = TRUE THEN
  78. Tisch_7 := 60;
  79. END_IF
  80. 60:
  81. IF gTisch_7.Status.Vorstopper = STATUS_AUSGEFAHREN AND gTisch_7.Status.Stopper = STATUS_AUSGEFAHREN THEN
  82. Tisch_7 := 0;
  83. END_IF
  84. //
  85. 65: lWarten_Auto_Start_Tisch_7 := lWarten_Auto_Start_Tisch_7 + (RTInfo_0.cycle_time/1000);
  86. IF lWarten_Auto_Start_Tisch_7 >= 10000 THEN
  87. gTisch_7.Cmd.Stopper := KMD_EINFAHREN;
  88. gMerker_RFID_Tisch_7_gelesen := FALSE;
  89. lWarten_Auto_Start_Tisch_7 := 0;
  90. Tisch_7 := 70;
  91. END_IF
  92. 70:
  93. IF gTisch_7.Inputs.Nach_Stopper = TRUE THEN
  94. Tisch_7 := 80;
  95. END_IF
  96. 80:
  97. IF gTisch_7.Inputs.Nach_Stopper = FALSE THEN
  98. gTisch_7.Cmd.Stopper := KMD_AUSFAHREN;
  99. Tisch_7 := 90;
  100. END_IF
  101. 90:
  102. IF gTisch_7.Inputs.Stausensor = TRUE THEN
  103. Tisch_7 := 100;
  104. END_IF
  105. 100:
  106. IF gTisch_7.Status.Stopper = STATUS_AUSGEFAHREN THEN
  107. Tisch_7 := 0;
  108. END_IF
  109. //
  110. 110:
  111. IF gTisch_7.Inputs.Nach_Vorstopper = TRUE THEN
  112. Tisch_7 := 120;
  113. END_IF
  114. 120:
  115. IF gTisch_7.Inputs.Nach_Vorstopper = FALSE THEN
  116. gTisch_7.Cmd.Vorstopper := KMD_AUSFAHREN;
  117. Tisch_7 := 130;
  118. END_IF
  119. 130:
  120. IF gTisch_7.Inputs.Vor_Stopper = TRUE AND gTisch_7.Status.Vorstopper = STATUS_AUSGEFAHREN THEN
  121. Tisch_7 := 0;
  122. END_IF
  123. END_CASE
  124. END_PROGRAM
  125. PROGRAM _EXIT
  126. (* Insert code here *)
  127. END_PROGRAM