Displaying Alarm Total Time on Alarm Status Table

Is there a good way to add the alarm total time (cleared time - active time = total time) as a column in an alarm status table? I've setup a "totaltime" tag within the associated data on the alarm, which has a good value, but will not display on the table.

Hi Daniel,

I believe what you're looking for can be found in the top right-hand side of the screen of the alarm status component with the little gear icon.

If you go into that menu there are all sorts of filters you can apply to your current table. I believe the one you're looking for is 'Ack Time'. There more information over here as well : Perspective - Alarm Status Table - Ignition User Manual 8.1 - Ignition Documentation

That shows the time stamp for when the alarm is acknowledged. I need the difference in time from when the alarm was active and when the alarm is cleared/ack. I know its easy to do this in our head, but the customer wants that on the table.

In this case, the difference between the active and clear is 5.76295 minutes.

Ohh, I misunderstood your problem then. I'm not entirely sure how you have all of your stuff set-up but do you have a section in your perspective props that has access to all the information for a given alarm?

I'm not sure what you mean.

Are you talking about this section? If so, I can't add anything to do with alarms?

image

Maybe a better question about what I'm trying to do is, how do we get the table to display an associated data tag when the alarm clears vs only when the alarm triggers? I have the following setup within the alarm, and I have a label on the screen that shows the value of the TotalTime tag correctly, its just the column on the table will not show it since its NULL when the alarm activates.

dateDiff( toDate({valuesOfInterest}), toDate({valuesOfInterest}), "minute")

I think this should do what you're after

You can't. You'll have to make a custom table.

The dateDiff expression works with the values I have, and will show the time in a label.text when bound to the TotalTime value within the tag's alarm.

The problem seems to be when the alarm is triggered, the status table sets the record with the values. Since the TotalTime tag is null, it shows up blank. However, when the clear time timestamp triggers, the label with the TotalTime binding gets updated with the value I'm looking for, but the status table column stays blank.

Maybe this image will help:

I was worried that was the solution. There's no way to "refresh" the table to reload the alarm values when the alarm is cleared?

What does that have to do with what you were asking ?

The problem I see is, the alarm record's associated data tags do not update when the alarm clears, only when the alarm is added to the table and it does not show the value I want to display. I am wondering if there is a way to force the table or record to reset when the clear time is triggered.

I've created a pop-up window that will show the accumulated value for alarms when they are active, but the customer wants to capture the alarm's total active time on the history table.

Well if you want to refresh the table you can use some form of message handler to force a props.refresh on your table component though an event script or a button perhaps

Found the solution. For my alarm's "TotalTime" associated data, if I use {activeDuration} instead of the {datediff(x,x,x)} and use version 8.1.27 or greater, it will update and give the alarm active time.

There were issues identified with some alarm properties returning null that were fixed in 8.1.27.

Seems like there is still an issue with "calculation" type expressions, but the built in properties seem to work.

1 Like