Alarm 'Label' dynamic binding not working. Displays 'Name' instead of Label

Using alarms generated from a UDT, the alarm ‘Label’ is dynamically bound in the alarm configuration, however, the Alarm Status Table will not display anything other than the ‘Name’. Even trying to bind the ‘Label’ to {PathToTag} does not change the value of Label on the Alarm Status Table.

I’ve seen numerous topics created on this, all without any replies.
Here, another one, and yet another (which I can’t help but think might be related, even though it’s for an alarm Journal).

Has anyone else experienced this issue? Is it a bug? It would be great to find out since ‘Label’ is the only way to create a meaningful alarm description from a UDT being that ‘Name’ ends up being too generic.

Ignition 7.9.10 (b2018112821)

After a bit more experimenting, I found that this anomaly is only present when using ‘Expression’ for the binding. I was able to bind to a single ‘UDT Parameter’ successfully.

Although this is not the desirable outcome, it will suffice for now. I’m trying to use an expression to build a slightly more complex alarm label.

I’m posting this solution just to make sure other users find the answers in case they come across this issue. I’m assuming no one wants to reply to this issue because it’s so simple.

UDT Parameters are handled a bit differently when in expressions. You’ll find a somewhat obscure description of this in the “Data Type Parameters in Expressions” User Manual under “Syntax”.

In a nutshell, because this Alarm Label script was within a Data Type (UDT) expression, the parameter required single (or double) quotes containing the parameter (see image below). Apparently, Ignition handles this automatically when selecting a single parameter as an Alarm Label as shown in my previous reply.


The uncertainty/confusion here is part of the reason UDT parameter evaluation and lookup works differently in 8.0. Basically, in 7.9, UDT parameters are substituted into the UDT’s configuration (before it is built) as raw strings - so if you’re trying to build a dynamic value, it must still compile to a valid expression.

The migration guide goes into this in more detail - in all cases (besides tag event scripts) the migration should happen automatically if you’ve got it set up in 7.9.

And, for what it’s worth, you’re definitely not the first person to run into this behavior - but thanks for coming back and posting the solution for anyone else searching in the future.

Saw you posted to my old question.

My work around was to add this to the label binding: [.]tagname.Documentation
Replace tagname with the actual name.

And import my tags as a CSV with the appropriate text I wanted in the Documentation column.

I tried this in Ignition 8.0.7 as my alarms are set up as a UDT. So I used [.]{TagName}.Documentation but the Label just showed up as “Alarm” even though the documentation field contained “test”.

Also just tried {TagName}.Documentation and [.].Documentation and the result was the same.

Has this not been fixed? I looked through the release notes for 8.0.9 but did not see anything. For my project this is a huge inconvenience. My alarm labels are displaying the name when using expressions.

{Description} + " Above " + {[.]HI_HI_Alarm_Setpoint} + " " + {Units} + " Hi Hi Alarm"

Ignition v8.0.9
Windows OS - 2012 R2


I have configured alarm in UDT and using parameter for Label. I am facing the same issue.

In Alarm Status, it is showing correctly but when you go to alarm history, it looks like it doesn’t pass parameter value.

Alarm Status

Alarm History

In the alarm journal configuration you need to select this checkbox:

Once that is selected then it will start logging that data to the database.

This is a database concentric item, so it won’t populate old data, just new data as it goes into the journal.