Large Quantities of String tags

I wanted to try and commonize my alarms in one of our machines among the HMI and Ignition. Using an AB Compactlogix processor along with an AB Panelview terminal in conjunction with Ignition, I took all 600 alarms and placed them in AB UDT’s that contain 33 string values. Each of these strings matches up to an alarm status integer that is being examined in the bit level by both ignition and the panelview. Each alarm in ignition uses a tag reference in the display path to be able to show the text for the alarm and each panelview alarm does the same. It works great and allows me to dynamically change my alarm text on the floor and in our journaling system. It also allows me to have generic alarms that I can quickly set up in the PLC with no additional interaction with the HMI or ignition. It also allows me to create an interface so that the process engineers can easily wordsmith their alarms to say something meaningful to the people on the floor operating the machine.

Now for my hurdle…I have a total of about (600) 200 character string tags in these UDT’s. This presents a pretty hefty comms load to the PLC. As I understand it, I cannot just make a leased scan class with a 0 value for slow because my ignition tags would not update and then the dynamic aspect is lost. I also cannot have them slowly polling at say 30s because they inevitably all read in the same chunk and again bogs down the comms which causes some of my transactions to lose data because of the lack of tag updates during this lag.

Looking for suggestions or comments.

If Ignition is intended to be the source of all of these strings, consider using memory tags only. Use a tag change event that will write to the PLC when they change, using system.opc.*.

2 Likes