Tasirius
Member
Hi all,
I like to know any ideas/best way (most efficient, simplest to maintain/update) to transfer the interlock conditions up to the HMI. We use a Siemens 315-2DP with an OPC server to our 3rd party GUI interface. Sorry for the long post, but I don't quite know how to word this succinctly.
On our machine, we have a lot of interlocks on the power sources, motor movement, robot, etc. Any one interlock may have a number of criteria to satisfy it.
for example: to allow part elevator movement ...
A Robot_Homed
A Robot_Not_InShaft
A Elevator_Homed
A Door_Closed
= Elevator_Move_Intlk
Some are more complicated - they may involve a time delay or number comparisons.
The OPC transfers the interlock result as part of a status word on the device in question (the status word includes device actual state - on/off, fault exists, last HMI request,etc)
However it does not contain the reason why the interlock may not be satisfied. The OPC gets a lot of the various conditions separately as part of statusing other items on the GUI (the GUI shows location of the robot, etc) but it doesn't get all conditions for every interlock.
We maintain the interlock condition list as an Excel file but this only allows the operator to check what all the reasons are and not which one is actually causing it to be off.
To show the interlock conditons dynamically on the GUI, I can think of a couple ways but all of the involve a lot of work so I'm trying to figure out which way to go.
1. Make sure all the bits (and in some cases ints or words) in the condtions are transfered separately via OPC and on the GUI bring all the bits together and recreate the intlk condition string. Basically I'm recreating the PLC code in the GUI and creating another place to maintain the intlks.
2. In the PLC where the interlock is ascertained, also transfer the condition bits into a separate word/doubleword, then tranfer just the word up. Show the word as a bit array on the GUI using a text file listing what the bits are and how they are used in the condition. This would keep it all together for the OPC and the GUI but would double the interlock code.
A Robot_Homed
=Elev_Intk_Stat1
A Robot_Not_InShaft
=Elev_Intk_Stat2
A Elevator_Homed
=Elev_Intk_Stat3
A Door_Closed
=Elev_Intk_Stat4
A Robot_Homed
A Robot_Not_InShaft
A Elevator_Homed
A Door_Closed
= Elevator_Move_Intlk
Any other ideas, thoughts?
Thanks!
I like to know any ideas/best way (most efficient, simplest to maintain/update) to transfer the interlock conditions up to the HMI. We use a Siemens 315-2DP with an OPC server to our 3rd party GUI interface. Sorry for the long post, but I don't quite know how to word this succinctly.
On our machine, we have a lot of interlocks on the power sources, motor movement, robot, etc. Any one interlock may have a number of criteria to satisfy it.
for example: to allow part elevator movement ...
A Robot_Homed
A Robot_Not_InShaft
A Elevator_Homed
A Door_Closed
= Elevator_Move_Intlk
Some are more complicated - they may involve a time delay or number comparisons.
The OPC transfers the interlock result as part of a status word on the device in question (the status word includes device actual state - on/off, fault exists, last HMI request,etc)
However it does not contain the reason why the interlock may not be satisfied. The OPC gets a lot of the various conditions separately as part of statusing other items on the GUI (the GUI shows location of the robot, etc) but it doesn't get all conditions for every interlock.
We maintain the interlock condition list as an Excel file but this only allows the operator to check what all the reasons are and not which one is actually causing it to be off.
To show the interlock conditons dynamically on the GUI, I can think of a couple ways but all of the involve a lot of work so I'm trying to figure out which way to go.
1. Make sure all the bits (and in some cases ints or words) in the condtions are transfered separately via OPC and on the GUI bring all the bits together and recreate the intlk condition string. Basically I'm recreating the PLC code in the GUI and creating another place to maintain the intlks.
2. In the PLC where the interlock is ascertained, also transfer the condition bits into a separate word/doubleword, then tranfer just the word up. Show the word as a bit array on the GUI using a text file listing what the bits are and how they are used in the condition. This would keep it all together for the OPC and the GUI but would double the interlock code.
A Robot_Homed
=Elev_Intk_Stat1
A Robot_Not_InShaft
=Elev_Intk_Stat2
A Elevator_Homed
=Elev_Intk_Stat3
A Door_Closed
=Elev_Intk_Stat4
A Robot_Homed
A Robot_Not_InShaft
A Elevator_Homed
A Door_Closed
= Elevator_Move_Intlk
Any other ideas, thoughts?
Thanks!