I have been working on this exercise for 2 days and am now utterly confused.
It calls for the switch to select one of three modes of operation. I have the fully automatic and semi-automatic running without a hitch. I can even run the by-pass mode, but there is a hidden bug in the program. If the switch is changed from auto or semi-auto to the by-pass mode (position C) the filling process doesn't stop.
What I have been trying to do is find a way that will stop the filling process if the switch is moved to by-pass during the filling process. The very beginning of the filling process has a shut-down coil (e3:0/5) that normally will stop the process if the stop button is pushed. What I have found is that even though the shut-down coil is de-energized the following logic remains active on the filling process (see attached picture)
To make the program function correctly I employed the use of more latch coils than I normally use, but I have looked over the code and do not see where a latch on the fill process. The only latch I used for the process is on the full coil that helps move the box past the proxy switch after the level indicator is triggered.
I use subroutines to respond to the switch position; could it be a case that the fill routine is started in subroutine 3 and then if the switch is moved to a by-pass (subroutine 5) that the PLC doesn't know that it need to shut off the fill process?
Subroutine 3 and 4 are almost mirror images; there is only a difference in the conveyor restarting on its own -vs- waiting for a command from a operator (start bp). Subroutine 5 (by-pass) is different than the rest. I thought if I de-energized the coil here, it would stop all processes down the line. I'll explore this possibility.
Ever run into this?
(sorry for rambling there-trying to think through the problem and type at the same time)
It calls for the switch to select one of three modes of operation. I have the fully automatic and semi-automatic running without a hitch. I can even run the by-pass mode, but there is a hidden bug in the program. If the switch is changed from auto or semi-auto to the by-pass mode (position C) the filling process doesn't stop.
What I have been trying to do is find a way that will stop the filling process if the switch is moved to by-pass during the filling process. The very beginning of the filling process has a shut-down coil (e3:0/5) that normally will stop the process if the stop button is pushed. What I have found is that even though the shut-down coil is de-energized the following logic remains active on the filling process (see attached picture)
To make the program function correctly I employed the use of more latch coils than I normally use, but I have looked over the code and do not see where a latch on the fill process. The only latch I used for the process is on the full coil that helps move the box past the proxy switch after the level indicator is triggered.
I use subroutines to respond to the switch position; could it be a case that the fill routine is started in subroutine 3 and then if the switch is moved to a by-pass (subroutine 5) that the PLC doesn't know that it need to shut off the fill process?
Subroutine 3 and 4 are almost mirror images; there is only a difference in the conveyor restarting on its own -vs- waiting for a command from a operator (start bp). Subroutine 5 (by-pass) is different than the rest. I thought if I de-energized the coil here, it would stop all processes down the line. I'll explore this possibility.
Ever run into this?
(sorry for rambling there-trying to think through the problem and type at the same time)