×
Skip to main content Link Search Menu Expand Document (external link) Right Arrow

Contents

Alarm Editor

This interface is only accessible to users with project administrator privileges; contact EnergyMachines support for details.

Alarm editor is the interface for configuring and/or editing Alarms and is accessible for the Alarms section of the Project Profile. While it has similarities to the tag watcher configurator, the difference between tag watchers and alarms is covered in the parent article.

An alarm has the following parameters:

Alarm main settings

Configures alarm metadata.

  • Title
    Name of the alarm, with a color-coded status indicator.
  • Priority
    Priority level referenced in the Related Interfaces; three priority levels are available: Low (default), Medium, and High.
  • Category
    Selects alarm category from the dropdown list of preconfigured Categories; see linked article for intended use.
  • Message
    Localizable text visible in the alarm SAP.
  • HMI Link
    Selects a page to be linked beside the alarm's name on the SAP.
    • Click on  Select to open the page selection dialog, which lists all pages under the project, with a Filter field atop for convenience.
    • Click on  Clear to clear the selection.
  • Enabled
    Checked by default; if unchecked, prevents the alarm from activating even when tested positive for its condition(s).

Condition settings

Configures the alarm activation conditions. Alarm becomes if testing the observed tag(s) for the configured condition(s) returns a positive.

For simplicity, this article assumes that no alarm is acknowledged. For this reason, alarms that test negative are labeled . For other statuses and their labeling, see alarm statuses.

Conditions are determined by the following parameters:

Condition type

The principal method for testing the observed tag(s). Condition types along with their specific parameters are discussed in the next section.

Tag

Selects a tag to observe, which will activate the alarm when the tag tests positive for the configured conditions. Not available for Ping and 2D Range conditions.

Note that unlike a Tag Watchers, an alarm is strictly project-specific and cannot test tags from outside its project.

Delay-On

Interval between the time points $C_{on}$ and $S_{on}$, where:

  • \(C_{on}\) is the time status check for the observed tag(s) returns a positive, and
  • \(S_{on}\) is the time the alarm becomes

in Hours, Minutes, and Seconds.

Delay can be configured to avoid unnecessary activation of the alarm where the observed tag(s) may occasionally go outside the desired value range for a brief period, which can be safely ignored.

By default, there is no delay.

Delay-Off

Interval between the time points $C_{off}$ and $S_{off}$, where:

  • \(C_{off}\) is when status check for the observed tag(s) returns a negative, and
  • \(S_{off}\) is when the alarm becomes

in Hours, Minutes, and Seconds.

Delay can be configured to avoid unnecessary deactivation of the alarm where the observed tag(s) may occasionally return to the desired value range for a brief period, which cannot be safely ignored.

By default, there is no delay.

Condition types

An alarm can test the selected tag(s) using the following methods:

Value control

Tests the relation of the selected tag’s value to the setpoint (non-boolean tags only).

  • Operator
    Relational operator that compares the observed tag to the reference; the result determines the state:
    • if true, the alarm becomes ;
    • if false, the alarm becomes .
  • Set point
    Selects the reference that the observed tag is compared to:
    • Const
      Compares the tag against a preset value, entered under Value
    • Tag
      Unlocks a tag selector to pick up the reference tagTag whose value is used for comparison.
  • Deadband
    Creates a range $[R_{min};R_{max}], R_{min} = T - O; R_{max} = T + O$, where $T$ is the setpoint's value, $O$ is the deadband value. Default value is `0`. If non-zero deadband is used, the operator behavior changes as follows:
    • Less, Less or equal test against the lower limit ($R_{min}$);
    • More, More or equal test against the upper limit ($R_{max}$);
+Example 1
Value control Activates the alarm if the value of EMHW01/EMHW_CW_HM1_OutletTemp exceeds the value of 25 by 3 or more.

Discreet

Tests the ed tag’s value for equality to the setpoint (boolean tags only).

  • Operator
    Relational operator that compares the observed tag to the reference; the result determines the state:
    • if true, the alarm becomes ;
    • if false, the alarm becomes .
  • Set point
    Selects the reference that the observed tag is compared to:
    • Const
      Set point is `True` if Value is checked (the default), and vice-a-versa.
    • Tag
      Unlocks a tag selector to pick up the reference tagTag whose value is used for comparison.
+Example 2
Discete Activates the alarm if the value of the Boolean tag is not True.

Deviation

Tests the selected tag’s value for deviation from the setpoint (non-boolean tags only).

  • Max deviation
    Maximum permissible absolute differential value $\Delta_{max}, \Delta = T - S$, where $T$ is the observed tag's value, $S$ is the setpoint:
    • the alarm becomes if $|\Delta| > |\Delta_{max}$|; OR
    • the alarm becomes if $|\Delta| ≤ |\Delta_{max}$|.
  • Set point
    Selects the reference that the observed tag is compared to:
    • Const
      Compares the tag against a preset value, entered under Value
    • Tag
      Unlocks a tag selector to pick up the reference tag.Tag whose value is used for comparison.
  • Deadband
    Creates a range $[R_{min};R_{max}], R_{min} = T - O; R_{max} = T + O$, where $T$ is the setpoint's value, $O$ is the deadband value. Default value is 0. If non-zero deadband is used, the alarm will not change its status to as long as its value is within the range $[R_{min};R_{max}]$.
+Example 3
Deviation alarm Compares the tag docs-mqtt-EMQX/temperature (temperature) against docs-mqtt-EMQX/setpoint (setpoint); activates the alarm at temperatures lower than 5˚ below the setpoint or higher than 5˚ above the setpoint.

Rate of change

Tracks the time between changes in the observed tag’s value. The alarm becomes if two consecutive changes occur with a time gap shorter than the target duration. The target duration Max rate of change and is measured in Time unit(s).

If a subsequent change occurs with a longer time gap, the alarm becomes .

+Example 4
Rate-of-change example Observes the tag docs-mqtt-EMQX/temperature. If the tag's value changes within 15 Minutes since the previous change, activates the alarm.

2D Range

Compares the values of two selected tags as coordinates on a 2D plane (non-boolean values only).

  • Source tag X
    Selects a tag to source the X-axis value from.
  • Source tag Y
    Selects a tag to source the Y-axis value from.

The two observed tags continuously generate a point with coordinates $(X,Y)$.

The 2D range method tests the tag-coordinated point against a polygon formed by tracing the set of user-provided points, listed under Points. The checkbox determines when the tag watcher will be activated:

  • Safe zone inside
    • if checked, the alarm is ; OR
    • if unchecked, the alarm is
    while the point $(X,Y)$ is outside the boundaries of the polygon.

Points for the polygon can be defined and/or edited by either of the two methods below:

  • Draw Points
    Opens 2D plane editor. Three corners of the canvas show values that delimit the size of the plane. The default values are, top-bottom, left-right: 100; -100; -100; 100`, producing a plane sized 200×200. The size of the plane can therefore be changed by editing these values.

    A newly created condition will not have any points; thus, the plane will be empty. Click anywhere on the canvas to create the first point at the cursor's coordinates. Continue clicking elsewhere on the plane to add more points. Each subsequently added point will connect to the previously created one.

    To complete the process, click again on the first created point, which will close the curve onto itself, forming a polygon. Once a complete polygon has been made (or if a preexisting set of points is opened in the editor), points can be dragged around to change their coordinates.

    Fig. 1. 2D plane editor with a complete polygon.

    The created polygon is clickable, toggling the Safe zone inside checkbox. Note two restrictions:

    • Once the polygon is complete, no more new points can be added on the canvas.
    • Individual points cannot be removed; clicking on resets the canvas to an empty state.
    These restrictions do not apply to the alternative method described below.

    Click on OK to save the edits; if the canvas has no complete polygon at this point, the editor will auto-complete it by connecting the starting point to the last created point. Click CANCEL to close the editor without saving the polygon.

  • Set Points
    Opens the list of points in tabular format. The list is empty for a newly created condition.

    Click + ADD NEW to create a point with the coordinates $(0,0)$. All coordinate fields are editable.

    Enter the desired coordinates for each point. The polygon will be generated by connecting each point to its two nearest neighbors as determined by the Euclidean distance.

    Plane size cannot be changed here; auto-resize is applied to provide sufficient area for the entered coordinates.

    Select one or more points, or select all points by checking the box in the table header, and click on Delete to delete the selection (does not require confirmation).

    Fig. 2. Points for the same polygon as in Fig. 2.

    Click on OK to save the edits; alternatively, click CANCEL to close the list without saving the changes.

Regardless of the method, at least three points must be added to make a polygon. Changes cannot be saved if there is less than three points.

+Example 5
2D range example Defines an area delimited by a quadrangle with vertices at the specified Points. If the point with the coordinates $(X,Y)$, where:
  • $X$ is the value of the tag EMHW01_DEV/regulator-points/x1; and
  • $Y$ is the value of the tag EMHW01_DEV/regulator-points/y1 under Project X
is outside the area, activates the watcher.

Ping

Tests network connection to the specified node; does not use tag data.

  • Host
    IP-address to ping; 192.168.0.10 by default.
  • Attempts
    Number of consecutively failed ping attempts, after which the alarm becomes ; 2 by default.
  • Ping interval
    Time interval between attempts; 5 seconds by default.
+Example 6
Ping alarm example Default configuration; pings the host at 192.168.0.10 every 5 seconds; if the host does not respond, or no connection to the host is established on two consecutive attempts, activates the alarm.

Bit

Tests the specific bit of the observed tag.

  • Bit index (0 to 63)
    Index of the tested bit in the binary representation of the tag's value.
    • If the observed tag returns an array, tests the first value in the array.
    • Defaults to False or 0 for bit indices outside the tag's maximum bit length. For example, if the tag's data type is int32, indices 32 to 63 default to False.
  • Bit value
    Tested bit's value at which the alarm becomes .
+Example 7
Bit index condition Observes the tag bacnet-docs/Writable Tag; if the bit at index 39 is True, activates the alarm.

Outlier counter

Monitors the tag for the number of outliersOutlier
Value significantly different from the expectation.
over a period of time.

  • Threshold value
    Minimum or maximum difference to initiate an outlier counter.
  • Threshold number
    Minimum number of outliers to activate the alarm.
  • Threshold interval (integer) and Time unit
    Outlier counter duration, in Milliseconds, Seconds, Minutes, Hours (default), and Days.
  • Inverted mode
    If checked, an outlier is registered when the difference does not exceed the Threshold value.
Consider the delta $\delta = \left|X_2 - X_1\right|$, where $X_1$ and $X_2$ are two consecutive values of the observed tag, in that order. If:
  • $\delta > V$ with Inverted mode unchecked (default), OR
  • $\delta ≤ V$ with Inverted mode checked
where $V$ is Value, $X_2$ registers as an outlier. The alarm becomes if the number of outliers registered within any time period $P$ reaches the Threshold number, where $P$ equals the Threshold interval in Time units.

Should no new outliers be registered within the time $P$ since the activation, the alarm becomes .

+Example 8
Outlier counter Observes the tag test_folder/Temp_delta; if within any 15 minutes, its value goes up or down by 3 or more at least twice, activate the alarm.

Complex condition

Configures a multiconditional test for the selected tag, with two possible options:

  • ALL — All of the configured subconditions must check to set the state to ; reverts to as soon as any subcondition tests negative.
  • ANY — One or more of the configured subconditions must check to set the state to ; reverts to only when every subcondition tests negative.
No subconditions will be present by default. To create one, click on + ADD CONDITION. In case one or more subconditions already exist, the newly created one will copy the last one on the list. To delete a condition, click on Delete in the condition pane.

Subcondition configurator is slightly different from the regular condition editor:

  • Tag is labeled as Source tag.
  • Set point for Value control, Discreet, or Deviation is labeled as Type; the type is selected from a dropdown menu rather than as a checkbox.
  • Ping cannot be used as a subcondition; thus, all subconditions bar 2D Range must be provided with a source tag.

Note that the order of subconditions does not affect how the complex condition operates.

+Example 9
Complex condition setup Activates the alarm if
  • docs-mqtt-EMQX/temperature returns a value below 15, AND
  • test_folder/Temp_delta changes by 3 or more at least twice within any 15 minutes.