harryting
Lifetime Supporting Member
A good general practice is to treat the HMI command and command to the device as two separate items. There are many reasons for this; communication glitch, allowing for multiple HMI, reboot of HMI or PLC, etc... In NO WAY you would want the HMI to issue the stop command even though I assume the Limitorque would not act on it once it reach it's destination. Treat the HMI command as a start/stop to a separate sequence to open/close the valve.
Also, if there's any chance of something gets stuck the valve, you would want valve fault logic where it stop the action and let "maintenance" open/close action taking over where you have to maintain the open/close to jog the valve to either end.
BCS, nothing. Keep in mind the HMI is basically doing a one shot and doesn't check the PLC status again. IE. HMI is not constantly syncing the database. To make PLC code works with various HMI I used to make this type of of logic
--| HMI Set 1 | -----------(Latch command)-----
--| Command |------------(Unlatch HMI Set)----
This also take care of slow communication
Also, if there's any chance of something gets stuck the valve, you would want valve fault logic where it stop the action and let "maintenance" open/close action taking over where you have to maintain the open/close to jog the valve to either end.
BCS, nothing. Keep in mind the HMI is basically doing a one shot and doesn't check the PLC status again. IE. HMI is not constantly syncing the database. To make PLC code works with various HMI I used to make this type of of logic
--| HMI Set 1 | -----------(Latch command)-----
--| Command |------------(Unlatch HMI Set)----
This also take care of slow communication