I have an Array in my PLC which I want to use for alarms. In this case, I have "HMI_Alarm_0", whithin this I have "HMI_Alarm_0_[0]", "HMI_Alarm_0_[1]"... "HMI_Alarm_0_[31]". The tag is an array of INT
Is it possible to have this alarm on each of those value bits as they go high/low? How do I go about this or do i need to have atag for each alarm item?
Likewise with @danielps1818 my preference is to create individual tags for alarms as well. I feel you have more flexibility, you can bulld create them more easily, you can script against them more easily, you can see their values without having to expand lots of nested props. I'm sure there are others too
I'm also a fan of individual tags per alarm whether using bit-level addressing in Modbus or the getBit() expression. A bit more load on the system but definitely clearer design vs lots of alarming on a bitfield register.
That said, also historize your bitfield registers on change - an easy second-level backup and ability to retroactively prove Ignition is alarming how you intend.
Thanks All. I'm fairly new to ignition/HMI's in general. The guy doing the PLC has started with an array object, so am I better to bind an ignition tag to each array object and turn it into an alarm from there? Or should I ask him to give me something else?
Your options depend on what protocol you're using to connect to the PLC. Is it Modbus? If so, you can create unique alarm tags of binary data types by appending .n to the end of your item paths where n is the bit. Modbus Addressing | Ignition User Manual
If you still want binary tags per alarm for other protocols, you may need to pull the full register in as a tag with integer data type, then create binary reference tags for each alarm using getBit | Ignition User Manual .