I have alarms associated with a tag in a UDT. The alarm is triggering correctly, but it doesn’t look quite right in the alarm journal.
I’ve hard-coded the
display path to describe the alarm condition and the
label is supposed to be populated by a parameter (Device_Name). The display path shows up correctly, but the label is always just “Alarm”:
Why does the label column not fill in correctly?
Parameters are filled in for the UDT instances. This is true for every instance of this UDT and every instance of other UDTs where I also implemented this.
Which version of Ignition are you currently using? The problem you are seeing is something that should be fixed in versions 8.1.13 and higher. In versions prior to this we were relying on cached values a little too frequently, which in cases of UDT parameters or other bound values, would sometimes be
null due to the ordering of processes in Ignition.
This is what it looks like in my testing with 8.1.17. Note that the values will be shown based on the values of the tag when the status of the alarm last occurred. They will not update in the table if the UDT value changes until a state change ( e.g. ACK or CLEAR event):
I’m on 8.1.16. It might be the case that the parameter was missing at the time that the alarm triggered, but I’ll have to test it to be sure.
Still having an issue with it after testing. Although, I have noticed that it’s specifically with the Alarm Journal, but not an issue on the Alarm Status Table.
Also, you’ll notice I’ve switched the display path and label (so I can filter by device), but the issue still exists even with the hardcoded label.
After looking at my screenshots, it looks like the “Label” column is actually filled in with the alarm’s name for some reason. Which actually causes an issue for some of my alarms as the label is derived from a UDT parameter and I can’t override the alarm name property.
I’m not seeing the issue you are noting with the alarm Journal table other than when the alarm is initially created. If you look at the
alarm_event_data table in the DB, assuming you are using the default settings, do you see any records with
propname = 'label'?
You should be able to check this in the designer by going to
Tools > Database Query Browser and running a query like the following:
select * from alarm_event_data where propname = 'label'
if rows return, I would be curious to see what returns with a query like the following where we are limiting it to the specific Display Path you are working with:
select ae.eventtime, ae.displaypath, aed.strvalue from alarm_events ae
join alarm_event_data aed on ae.id = aed.id
where ae.displaypath = 'High Service Pump 1' and aed.propname = 'label'
It is internal, but I get an error when I try to run
select * from alarm_event_data where propname = 'label'
Error running query: select * from alarm_event_data where propname = 'label'
Invalid object name 'alarm_event_data'
Based on the error, it looks like what it being queried either doesn’t contain the table (Multiple DBs might exist on the Gateway and the default DB for the project isn’t the same one where the journal data is being stored) or the table name was changed to something other than the default value (Gateway > Config > Alarming > Journal > Show Advanced Properties).
I don’t have a Show Advanced Properties option
Are you using a Database Alarm Journal or a Remote Alarm Journal?
Ok, the internal DB isn’t available via the Database Query Browser by default. There are ways to make it appear, but it is a little difficult to describe via a forum post as it is dependent on your naming convention and the OS for the Gateway.
I did double check that the issue wasn’t something that was specific to the internal DB against the latest version of Ignition. At this point I would recommend a call to support to work through the issue you are seeing. There has to be a factor that I am not currently taking into account and having access to you and your system would help make narrowing down the problem quicker for everyone.
Found a couple issues working together to create this situation.
- The alarm in question was inherited from a UDT.
- The name property is substituted for the label property, if the label is left blank (as indicated by the property description in the popup)
- By default, static values (non-bound) in an alarm configuration are not stored. This alarm label was a static value because the condition was identical for all devices and the display name changes to let operators know which device it is.
The final solution was to go into the Alarming>Jornal>Alarm Jornal Settings>Event Data section and enable “Static Config”
I noticing similar behaviour. Ignition 8.1.16.
I have the Label column enabled in both an AlarmStatusTable view and an AlarmJournalTable view.
In the Alarm Status component the Label column is correctly populated with the contents of the label field of the configured alarm. There are no bindings on the tag or its alarm.
In the Alarm Journal component the Label column is populated with the name of the alarm.
Status displays “Test Alarm”, the configured label
Journal displays “Alarm Test”, the name of the alarm
Sorry, my bad.
I hadn’t read to the end of the thread.
Enabling Static Config did the trick.
Figured it would. Static config enabled really should be the default.
When I was talking to tech support on my ticket about the issue, they said it’s disabled by default due to memory concerns in some applications. I would think making the lives of the majority easier and requiring the extra step for those that need it disabled would make the most sense, but at least it’s any easy fix.