Tom Kazakoff
Member
This is a very fundamental scan question. I am not clear as to what the
PLC does in the following situation:
I have a Home routine that moves 11 valves to their "Home" state. Each
valve takes about 4 seconds for the move to complete. Each valve has it's
own timer. So when I turn on the output "open valve 1" the valve code
starts the move, waits 4 seconds, then verifies that the valve got to the
commanded position. The valve routine also sets a status bit after the
timer expires, so that the caller or user can determine if the move was
successful or not. The moves are initiated in the home routine by turning
on an output. Assume all moves will complete successfully.
Home routine:
---[valve 1 closed]----------------------------------------(open valve 1)
---[valve 1 opened OK]----[valve 2 closed]-----------(open valve2)
---[valve 1 opened OK]----[valve 2 opened OK]----(allValvesOK)
---[not allValvesOK]--------------------------------------(error)
I think this code will take a lot of scans to complete, since each move
takes 4 seconds, so I assume the last rung will get scaned a lot before
the valve moves are complete. Will the last rung give me a false error
until the output "allValvesOK" gets turned on?
PLC does in the following situation:
I have a Home routine that moves 11 valves to their "Home" state. Each
valve takes about 4 seconds for the move to complete. Each valve has it's
own timer. So when I turn on the output "open valve 1" the valve code
starts the move, waits 4 seconds, then verifies that the valve got to the
commanded position. The valve routine also sets a status bit after the
timer expires, so that the caller or user can determine if the move was
successful or not. The moves are initiated in the home routine by turning
on an output. Assume all moves will complete successfully.
Home routine:
---[valve 1 closed]----------------------------------------(open valve 1)
---[valve 1 opened OK]----[valve 2 closed]-----------(open valve2)
---[valve 1 opened OK]----[valve 2 opened OK]----(allValvesOK)
---[not allValvesOK]--------------------------------------(error)
I think this code will take a lot of scans to complete, since each move
takes 4 seconds, so I assume the last rung will get scaned a lot before
the valve moves are complete. Will the last rung give me a false error
until the output "allValvesOK" gets turned on?