Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. Sub SCR1()
  2. Dim zachod(3), wschod(3), polnoc(3), poludnie(3) As Integer
  3. Dim cars as Tag
  4.  
  5. Set cars = GetTag("DISP1", "BBTN1")
  6. if cars <> 0 then
  7.  
  8.  
  9. Set cars = GetTag("DISP1", "NCTL1")
  10. zachod(0) = cars*3
  11. Set cars = GetTag("DISP1", "NCTL2")
  12. zachod(1) = cars*1
  13. Set cars = GetTag("DISP1", "NCTL3")
  14. zachod(2) = cars*2
  15. zachod(3) = zachod(0)+zachod(1)+zachod(2)
  16.  
  17. Set cars = GetTag("DISP1", "NCTL7")
  18. wschod(0) = cars*3
  19. Set cars = GetTag("DISP1", "NCTL8")
  20. wschod(1) = cars*1
  21. Set cars = GetTag("DISP1", "NCTL9")
  22. wschod(2) = cars*2
  23. wschod(3) = wschod(0)+wschod(1)+wschod(2)
  24.  
  25. Set cars = GetTag("DISP1", "NCTL10")
  26. polnoc(0) = cars*3
  27. Set cars = GetTag("DISP1", "NCTL11")
  28. polnoc(1) = cars*1 'Tu zmienilem
  29. Set cars = GetTag("DISP1", "NCTL12")
  30. polnoc(2) = cars*2 'Tu zmienilem
  31. polnoc(3) = polnoc(0)+polnoc(1)+polnoc(2)
  32.  
  33. Set cars = GetTag("DISP1", "NCTL13")
  34. poludnie(0) = cars*3
  35. Set cars = GetTag("DISP1", "NCTL14")
  36. poludnie(1) = cars*1
  37. Set cars = GetTag("DISP1", "NCTL15")
  38. poludnie(2) = cars*2
  39. poludnie(3) =poludnie(0)+poludnie(1)+poludnie(2)
  40.  
  41.  
  42. DIM zwW as Integer
  43.  
  44.  
  45.  
  46. DIM cykl, cyklp1, cyklp2, cyklz
  47.  
  48.  
  49. if zachod(3) > wschod(3) then
  50. cyklp1=zachod(3)
  51. else
  52. cyklp1=wschod(3)
  53. end if
  54.  
  55. if polnoc(3) > poludnie(3) then
  56. cyklp2=polnoc(3)
  57. else
  58. cykl2=poludnie(3)
  59. end if
  60.  
  61. cyklz = 2
  62. cykl = cyklp1+cyklz*5+cyklp2
  63.  
  64. DIM czerwone1,czerwone2,zolte1,zolte2,zielone1,zielone2
  65. czerwone1 = 0
  66. zolte1 = 1
  67. zielone1 = 2
  68. czerwone2 = 3
  69. zolte2 = 4
  70. zielone2 = 5
  71.  
  72. DIM czas as Tag
  73. SET czas = GetTag("TASK1","ET1")
  74. czas = czas mod cykl
  75.  
  76. if cyklp2 = 0 and cyklp1 = 0 then
  77. OUTPUTI czerwone1, 1
  78. OUTPUTI zolte1, 0
  79. OUTPUTI zielone1, 0
  80.  
  81. OUTPUTI czerwone2, 1
  82. OUTPUTI zolte2, 0
  83. OUTPUTI zielone2, 0
  84. elseif cyklp1 <> 0 and cyklp2 = 0 then
  85. OUTPUTI czerwone1, 1
  86. OUTPUTI zolte1, 0
  87. OUTPUTI zielone1, 0
  88.  
  89. OUTPUTI czerwone2, 0
  90. OUTPUTI zolte2, 0
  91. OUTPUTI zielone2, 1
  92. elseif cyklp2 <> 0 and cykl1 = 0 then
  93. OUTPUTI czerwone1, 0
  94. OUTPUTI zolte1, 0
  95. OUTPUTI zielone1, 1
  96.  
  97. OUTPUTI czerwone2, 1
  98. OUTPUTI zolte2, 0
  99. OUTPUTI zielone2, 0
  100.  
  101. elseif czas < cyklp1 then
  102. OUTPUTI czerwone1, 1
  103. OUTPUTI zolte1, 0
  104. OUTPUTI zielone1, 0
  105.  
  106. OUTPUTI czerwone2, 0
  107. OUTPUTI zolte2, 0
  108. OUTPUTI zielone2, 1
  109. elseif czas > cyklp1 and czas < cyklp1+cyklz Then
  110. OUTPUTI czerwone1, 1
  111. OUTPUTI zolte1, 0
  112. OUTPUTI zielone1, 0
  113.  
  114. OUTPUTI czerwone2, 0
  115. OUTPUTI zolte2, 1
  116. OUTPUTI zielone2, 0
  117. elseif czas > cyklp1+cyklz and czas < cyklp1+cyklz*2 Then
  118. OUTPUTI czerwone1, 1
  119. OUTPUTI zolte1, 0
  120. OUTPUTI zielone1, 0
  121.  
  122. OUTPUTI czerwone2, 0
  123. OUTPUTI zolte2, 1
  124. OUTPUTI zielone2, 0
  125. elseif czas > cyklp1+cyklz*2 and czas < cyklp1+cyklz*3 then
  126. OUTPUTI czerwone1, 1
  127. OUTPUTI zolte1, 1
  128. OUTPUTI zielone1, 0
  129.  
  130. OUTPUTI czerwone2, 1
  131. OUTPUTI zolte2, 0
  132. OUTPUTI zielone2, 0
  133. 'cyklp1+cyklz*3
  134. elseif czas >= cyklp1+cyklz*3 And czas < cyklp1+cyklz*3+cyklp2 then
  135. OUTPUTI czerwone1, 0
  136. OUTPUTI zolte1, 0
  137. OUTPUTI zielone1, 1
  138.  
  139. OUTPUTI czerwone2, 1
  140. OUTPUTI zolte2, 0
  141. OUTPUTI zielone2, 0
  142. elseif czas >= cyklp1+cyklz*3+cyklp2 And czas < cyklp1+cyklz*4+cyklp2 then
  143. OUTPUTI czerwone1, 0
  144. OUTPUTI zolte1, 1
  145. OUTPUTI zielone1, 0
  146.  
  147. OUTPUTI czerwone2, 1
  148. OUTPUTI zolte2, 0
  149. OUTPUTI zielone2, 0
  150. elseif czas >= cyklp1+cyklz*4+cyklp2 And czas < cyklp1+cyklz*5+cyklp2 then
  151. OUTPUTI czerwone1, 1
  152. OUTPUTI zolte1, 0
  153. OUTPUTI zielone1, 0
  154.  
  155. OUTPUTI czerwone2, 1
  156. OUTPUTI zolte2, 1
  157. OUTPUTI zielone2, 0
  158.  
  159. end if
  160. OUTPUTF 6, cyklp1+cyklz*3
  161. OUTPUTF 7, czas'Do kontroli outputuje aktualny czas cyklu do boxa w displayu
  162. end if
  163.  
  164. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement