Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub SCR1()
- Dim zachod(3), wschod(3), polnoc(3), poludnie(3) As Integer
- Dim cars as Tag
- Set cars = GetTag("DISP1", "BBTN1")
- if cars <> 0 then
- Set cars = GetTag("DISP1", "NCTL1")
- zachod(0) = cars*3
- Set cars = GetTag("DISP1", "NCTL2")
- zachod(1) = cars*1
- Set cars = GetTag("DISP1", "NCTL3")
- zachod(2) = cars*2
- zachod(3) = zachod(0)+zachod(1)+zachod(2)
- Set cars = GetTag("DISP1", "NCTL7")
- wschod(0) = cars*3
- Set cars = GetTag("DISP1", "NCTL8")
- wschod(1) = cars*1
- Set cars = GetTag("DISP1", "NCTL9")
- wschod(2) = cars*2
- wschod(3) = wschod(0)+wschod(1)+wschod(2)
- Set cars = GetTag("DISP1", "NCTL10")
- polnoc(0) = cars*3
- Set cars = GetTag("DISP1", "NCTL11")
- polnoc(1) = cars*1 'Tu zmienilem
- Set cars = GetTag("DISP1", "NCTL12")
- polnoc(2) = cars*2 'Tu zmienilem
- polnoc(3) = polnoc(0)+polnoc(1)+polnoc(2)
- Set cars = GetTag("DISP1", "NCTL13")
- poludnie(0) = cars*3
- Set cars = GetTag("DISP1", "NCTL14")
- poludnie(1) = cars*1
- Set cars = GetTag("DISP1", "NCTL15")
- poludnie(2) = cars*2
- poludnie(3) =poludnie(0)+poludnie(1)+poludnie(2)
- DIM zwW as Integer
- DIM cykl, cyklp1, cyklp2, cyklz
- if zachod(3) > wschod(3) then
- cyklp1=zachod(3)
- else
- cyklp1=wschod(3)
- end if
- if polnoc(3) > poludnie(3) then
- cyklp2=polnoc(3)
- else
- cykl2=poludnie(3)
- end if
- cyklz = 2
- cykl = cyklp1+cyklz*5+cyklp2
- DIM czerwone1,czerwone2,zolte1,zolte2,zielone1,zielone2
- czerwone1 = 0
- zolte1 = 1
- zielone1 = 2
- czerwone2 = 3
- zolte2 = 4
- zielone2 = 5
- DIM czas as Tag
- SET czas = GetTag("TASK1","ET1")
- czas = czas mod cykl
- if cyklp2 = 0 and cyklp1 = 0 then
- OUTPUTI czerwone1, 1
- OUTPUTI zolte1, 0
- OUTPUTI zielone1, 0
- OUTPUTI czerwone2, 1
- OUTPUTI zolte2, 0
- OUTPUTI zielone2, 0
- elseif cyklp1 <> 0 and cyklp2 = 0 then
- OUTPUTI czerwone1, 1
- OUTPUTI zolte1, 0
- OUTPUTI zielone1, 0
- OUTPUTI czerwone2, 0
- OUTPUTI zolte2, 0
- OUTPUTI zielone2, 1
- elseif cyklp2 <> 0 and cykl1 = 0 then
- OUTPUTI czerwone1, 0
- OUTPUTI zolte1, 0
- OUTPUTI zielone1, 1
- OUTPUTI czerwone2, 1
- OUTPUTI zolte2, 0
- OUTPUTI zielone2, 0
- elseif czas < cyklp1 then
- OUTPUTI czerwone1, 1
- OUTPUTI zolte1, 0
- OUTPUTI zielone1, 0
- OUTPUTI czerwone2, 0
- OUTPUTI zolte2, 0
- OUTPUTI zielone2, 1
- elseif czas > cyklp1 and czas < cyklp1+cyklz Then
- OUTPUTI czerwone1, 1
- OUTPUTI zolte1, 0
- OUTPUTI zielone1, 0
- OUTPUTI czerwone2, 0
- OUTPUTI zolte2, 1
- OUTPUTI zielone2, 0
- elseif czas > cyklp1+cyklz and czas < cyklp1+cyklz*2 Then
- OUTPUTI czerwone1, 1
- OUTPUTI zolte1, 0
- OUTPUTI zielone1, 0
- OUTPUTI czerwone2, 0
- OUTPUTI zolte2, 1
- OUTPUTI zielone2, 0
- elseif czas > cyklp1+cyklz*2 and czas < cyklp1+cyklz*3 then
- OUTPUTI czerwone1, 1
- OUTPUTI zolte1, 1
- OUTPUTI zielone1, 0
- OUTPUTI czerwone2, 1
- OUTPUTI zolte2, 0
- OUTPUTI zielone2, 0
- 'cyklp1+cyklz*3
- elseif czas >= cyklp1+cyklz*3 And czas < cyklp1+cyklz*3+cyklp2 then
- OUTPUTI czerwone1, 0
- OUTPUTI zolte1, 0
- OUTPUTI zielone1, 1
- OUTPUTI czerwone2, 1
- OUTPUTI zolte2, 0
- OUTPUTI zielone2, 0
- elseif czas >= cyklp1+cyklz*3+cyklp2 And czas < cyklp1+cyklz*4+cyklp2 then
- OUTPUTI czerwone1, 0
- OUTPUTI zolte1, 1
- OUTPUTI zielone1, 0
- OUTPUTI czerwone2, 1
- OUTPUTI zolte2, 0
- OUTPUTI zielone2, 0
- elseif czas >= cyklp1+cyklz*4+cyklp2 And czas < cyklp1+cyklz*5+cyklp2 then
- OUTPUTI czerwone1, 1
- OUTPUTI zolte1, 0
- OUTPUTI zielone1, 0
- OUTPUTI czerwone2, 1
- OUTPUTI zolte2, 1
- OUTPUTI zielone2, 0
- end if
- OUTPUTF 6, cyklp1+cyklz*3
- OUTPUTF 7, czas'Do kontroli outputuje aktualny czas cyklu do boxa w displayu
- end if
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement