ryangriggs
Lifetime Supporting Member
I have a setup which communicates as follows:
Wonderware InTouch HMI
.
.
Kepware OPC Server
.
.
DirectLogic 06 PLC
(local)
.
.
The Internet (modbus/tcp)
.
.
multiple CLICK PLCs
(remote sites)
InTouch can read/set tags in the local DirectLogic PLC through KepWare.
The remote CLICK PLCs contact the local DL06 at regular intervals to
1) send a set of data registers to the DL06, and
2) receive a set of config registers from the DL06.
I want the InTouch operators to be able to send "one-shot" commands to the remote units (i.e. change between auto/hand mode, reset a counter, silence an alarm, etc). However, if I send these commands as control bits in step 2 above, they will stay active until the HMI operator turns the bit back off again. Instead, I want to send an "activate" bit, which initiates an action on the remote, and is reset once the action is performed.
The only way I can think of is to add some sort of acknowledgement, sent from the remote PLC, to indicate that the one-shot actions have been serviced. This bit would cause the local control bits to be reset, thus resetting any pushbuttons etc in the HMI.
I could either add a third stage to the comms above, or I could send an acknowledge bit for each action as part of stage 1) above, acknowledging that the one-shot actions from the previous read command were performed.
I was hoping to do this without adding a third communication stage, because comm failures, intermittent connections etc. don't guarantee that the acknowledge bit would arrive.
I'd appreciate your thoughts and suggestions. Maybe I'm missing something obvious here, or making this overly complex. I want to avoid doing any explicit send/receive commands on the DL06 because it adds a lot of complexity to the setup. I would prefer to have each CLICK remain autonomous, initiating and processing all its own comms on its own schedule, with the DL06 acting as a "storage area/hub" doing minimal processing.
Thanks!
Wonderware InTouch HMI
.
.
Kepware OPC Server
.
.
DirectLogic 06 PLC
(local)
.
.
The Internet (modbus/tcp)
.
.
multiple CLICK PLCs
(remote sites)
InTouch can read/set tags in the local DirectLogic PLC through KepWare.
The remote CLICK PLCs contact the local DL06 at regular intervals to
1) send a set of data registers to the DL06, and
2) receive a set of config registers from the DL06.
I want the InTouch operators to be able to send "one-shot" commands to the remote units (i.e. change between auto/hand mode, reset a counter, silence an alarm, etc). However, if I send these commands as control bits in step 2 above, they will stay active until the HMI operator turns the bit back off again. Instead, I want to send an "activate" bit, which initiates an action on the remote, and is reset once the action is performed.
The only way I can think of is to add some sort of acknowledgement, sent from the remote PLC, to indicate that the one-shot actions have been serviced. This bit would cause the local control bits to be reset, thus resetting any pushbuttons etc in the HMI.
I could either add a third stage to the comms above, or I could send an acknowledge bit for each action as part of stage 1) above, acknowledging that the one-shot actions from the previous read command were performed.
I was hoping to do this without adding a third communication stage, because comm failures, intermittent connections etc. don't guarantee that the acknowledge bit would arrive.
I'd appreciate your thoughts and suggestions. Maybe I'm missing something obvious here, or making this overly complex. I want to avoid doing any explicit send/receive commands on the DL06 because it adds a lot of complexity to the setup. I would prefer to have each CLICK remain autonomous, initiating and processing all its own comms on its own schedule, with the DL06 acting as a "storage area/hub" doing minimal processing.
Thanks!