Overview
When one wishes to prepare a report or simply view the alarm history, certain features are of importance to highlight. Among these features is the duration of alarms that were triggered in the past and are recorded in the system. This document elucidates the procedure for configuring this aspect.
On this page:
Alarm Duration
The following model presents a step-by-step method on how to obtain the total duration of an alarm and occurrences per alarm.
Duration is defined only for alarms that require user ACK, measuring the time from trigger to ACK.
This method is based on how to display this information in the AlarmWindow or in a separate data grid, then is necessary some historical data.
To obtain the duration of an alarm and other related information, configure the AlarmWindow with your existing alarms in the project.
You can leave the Duration column visible in the AlarmWindow configuration to display the alarm duration at runtime, as shown in the image below.
In the context of optimizing a system's productive time, it's about reducing failures. This method can be used to display an example of the top 10 (or 20) historical failures in a system, once according to the duration and once according to frequency.
You can sort the Alarms using the Duration column, or you can filter in a button using the syntax: Duration > xxx.
As in the example below.
Number of Occurrences
To count how often an alarm occurs:
We have a solution for this by setting the AlarmWindow as shown below.
Then you go in Runtime and drag the "TagName" column to "Drag columns titles here to group data".
The result will be like this, and you can see the count:
To show the duration of all individual alarms as a sum:
An example would be sorting the TagNames by the number of items to find the alarms that occur most often, to see which generates more "beeps" or micro-stops.
It is possible to show the duration of all individual alarms through a query. Here is the code below:
// @Dataset.Query.Query1.SqlStatement = "SELECT COUNT(TagName) como AlarmCount, TagName, SUM(Duration/10000000) como DurationSum FROM Alarms GROUP BY TagName ORDER BY COUNT(TagName);"; @Tag.Table1 = @Dataset.Query.Query1.SelectCommand(); ?//
In this section: