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

Contents

Tag Watchers

This interface partially overlaps with Alarms.

A tag watcher observes the selected tag(s) and returns a boolean state based on the user-defined tag status conditions. This interface lists the user’s tag watchers and shows the following data for each:

  • Time
    Last time the tag watcher was set to an Active state.
  • Metadata
    Name and message, see below.
  • State
    Status icon:
    •  Active — Status check is positive for the observed tag(s).
    •  Inactive — Status check is negative for the observed tag(s), or the tag watcher is disabled.

While similar in setup and functionality to Alarms, tag watchers are different in that they are:

  • personal and cannot be accessed by other users;
  • limited to two states and do not have any available actions;
  • not linked to any particular project and can even be configured to perform cross-project tag value tests;
  • not visible in HMI.

Click on a tag watcher in the list to open it in view mode, which summarizes the tag watcher’s configuration.

In view mode:

  • Status icon is displayed beside the name.
  • Click on Delete to delete the tag watcher (confirmation required).
  • Click on Edit to enter edit mode.
Initially, the tag watcher list will be empty. Click on Add new Tag Watcher to set up a new tag watcher in edit mode, which has three sets of parameters:

Metadata

Title

Name of the tag watcher. When editing an already existing tag watcher, status icon is displayed beside the name.

This property is labeled Name on the list of tag watchers.

Message

Localizable message text.

Settings

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 tag watcher becomes  Active

in Hours, Minutes, and Seconds.

Delay can be configured to avoid unnecessary activation of the tag watcher 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 tag watcher becomes  Inactive

in Hours, Minutes, and Seconds.

Delay can be configured to avoid unnecessary deactivation of the tag watcher 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.

Enabled

Check to enable the tag watcher. While enabled, the watcher will also notify the user by email each time its status changes to  Active or  Inactive.

Conditions

Conditions the tag watcher tests the observed tags for. Two configuration types are available:

  • ALL — All of the configured conditions must check to set the state to  Active; reverts to  Inactive as soon as any condition test returns a negative.
  • ANY — One or more of the configured conditions must check to set the state to  Active; reverts to  Inactive only when all condition tests return a negative.

No conditions will be present in a newly created tag watcher. To create a condition, click on + ADD CONDITION. In case one or more conditions already exist, the newly created condition will copy the last one on the list.

To delete a condition, click on Delete in the condition pane.

Condition configuration starts with the condition type, which determines how the tag watcher is toggled. Any condition type contains one or more instances of the tag selection interface, which is a set of two parameters:

  • Project
    Selects the project where to pick a tag. Click on to clear the selection.
  • Tag
    Once a project has been selected, unlocks the Tag Selector to pick up a tag. Click on to clear the selection.

The naming of these parameters in the interface may slightly differ depending on the purpose of tag selection. In condition type descriptions below, each instance of this bi-parametric set is summarized by referring to the role of the tag it selects (observable tag, reference tag, etc.).

Tag values are checked on each value update. Dual-tag watchers re-test whenever either tag updates.

Five condition types are available:

Value control

Tests the value of the selected tag against a preset value or another tag (numeric values only).

Project and Source tag
Selects a tag to observe. Does not allow boolean tags; use Discrete value for those.

Operator
Relational operator that compares the observed tag to the reference; the result determines the state:

  • if positive, the tag watcher becomes  Active;
  • if negative, the tag watcher becomes  Inactive.

Type
Selects the reference that the observed tag is compared to:

  • Value
    Tests the observed tag against a static value (integer or float) set under Set limit
  • Another tag
    Tests the observed tag against the value of another tag. Unlocks two more options:
  • Compare project and Compare tag
    Selects a tag to be used as reference.
    • Offset
      Creates a range $[R_{min};R_{max}], R_{min} = T - O; R_{max} = T + O$, where $T$ is the reference tag’s value, $O$ is the offset value. Default value is 0.

If non-zero offset 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}$);
  • Equal returns a positive for any value within the range;
  • Not equal returns a positive for any value outside the range.
+Example 1
Value control Activates the watcher if the value of test_folder/Temp_delta under Project X exceeds the value of delta-setpoint under Malmö Office by 1 or more.

Discrete value

Tests the value of the selected tag against a preset value or another tag (boolean values only).

Project and Source tag
Selects a tag to observe. Does not allow non-boolean tags; use Value control for those.

Operator
Relational operator that compares the observed tag to the reference; the result determines the state:

  • if positive, the tag watcher becomes  Active;
  • if negative, the tag watcher becomes  Inactive.

Since this condition type is used exclusively with boolean tags, it can only test for (in)equality.

Type
Selects the reference that the observed tag is compared to:

  • Value
    Tests whether the observed tag’s value is True or False, whichever is set under Set limit.
  • Another tag
    Tests the observed tag against the value of a reference tag. Unlocks the interface to select the latter (Compare project and Compare tag). The reference tag must also be set to boolean data type.

2D Range

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

  • Source tag X project and Source tag X
    Selects a tag to source the X-axis value from.
  • Source tag Y project and 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)$. Note that both tags must belong to the same project.

The condition 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 tag watcher is  Active; OR
    • if unchecked, the tag watcher is  Inactive
    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.1

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 2
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.

Bit

Tests the specific bit of the observed tag.

  • Project and Source tag
    Selects a tag to observe.
  • 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 tag watcher becomes  Active.
+Example 3
Bit index condition Observes the tag bacnet-docs/Writable Tag under Project X; if the bit at index 39 is True, activates the watcher.

Outlier counter

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

  • Project and Source tag
    Selects a tag to observe.
  • Value
    Minimum or maximum difference to initiate an outlier counter.
  • Number
    Minimum number of outliers to activate the watcher.
  • 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 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. Should a Number of outliers be registered over any time period equal to the Interval in Time units, the tag watcher becomes  Active.

Should no new outliers be registered for the same duration since the activation, the tag watcher becomes  Inactive.

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