Rate of Change Tags

Not counted towards your tag license limit.

Rate of Change tags are used to display how quickly another tag’s value is changing. They can be used to watch for system problems such as leaks and blockages.

The Rate of Change tag calculates the first derivative of another tag’s value. In general terms, this is defined as the change in value divided by the change in time. (For example, speed rather than position. This tag tells you how fast something is changing, not where it is. But, if the tag you monitor is the speed (or perhaps a rate of flow), and that speed or rate of flow remains constant, then even though the car is moving or the fluid is flowing, the rate of change of what you are monitoring is zero.)

The source tag's value must be logged in order for the Rate of Change tag to work properly.

The rate of change will be positive if the source is increasing in value, and negative if the source is decreasing. The tag can be configured to report the absolute rate instead, thus showing a positive number for any rate of change.

Note that in multi-server applications, the Rate of Change tag information is distributed from the server to workstations on a regular interval (default: 60 seconds) or when the value changes by a given percentage (default: 5%). These values are controlled by variables in your configuration file.

See variables: RateOfChangeTagRPCThreshold , and RateOfChangeTagRPCInterval  

Rate of Change properties Settings tab

The Settings tab is used to select which tag is to be watched and how often it is to be checked. Examples are provided at the end of this section.

Source

Use this option to select the tag to be monitored for changes in value.
If you would like to monitor the rate of change of some combination of tags or a calculated value, you should create a Calculation tag with the expression you need and use it as the source.

Source Time Scale

Sets the measurement rate for the change. Available options include: per Second, per Minute and per Hour. Use when your tag is measuring a rate so that this matches the configuration of the flow meter (gallons per minute or liters per second).

If you are monitoring a level rather than a rate, with readings taken from the tag on change, then set this to "per Second" and do all your calculations in units / second.

Positive Rate

When selected, the absolute value of the rate of change will be shown. Otherwise, a decreasing value in the source tag will be displayed as a negative rate of change.

Refresh Interval and Period

  • The Refresh Interval sets how often the rate of change is calculated. This value is always measured in seconds.
  • The Period defines the length of time over which the change is to be measured. It is also measured in seconds.

The rate of change is roughly defined as the amount by which the value has changed during a given period, divided by the length of time in the period. To state it more accurately, the rate of change is the calculated derivative (dy/dx) of the plotted value.

The rate of change calculation is affected by data noise and transient spikes. The period should always be set to a value larger than the frequency of data noise. To avoid alarms due to transient noise, set a delay on the alarm. (see: Rate of Change properties Alarms tab.)

Engineering Units

Used by various widgets. Set this field to display the units of the rate of change.

Questionable Data

Use this field to flag the tag’s data in the event that you suspect the values it is reporting might not be correct, or when this tag has initially been created and you wish to ensure that its data is marked for extra monitoring.

Manual Data

Sets a constant value that will be used instead of live data. Use when testing a new tag if you need to check behavior when a value is outside the normal operating range. Tags that have manual data are marked by a flashing exclamation mark within any linked widgets. Logged values are marked with an exclamation. Always reset this to blank after testing.

Examples

Adjust the settings according to the whether you are interested in the instantaneous rate or the rate over a longer time period. If the instantaneous rate of change is important then decrease the Period and the Refresh Interval: (at the extreme: "per Second", 1, and 1)

Example 1) You want to check every 10 minutes that over the last 6 hours the rate of change (ROC) has not dropped below -0.5ft/6hrs, (which is approximately -0.0833ft/hr or a very small -0.0000231/sec)

  • Set Source Time Scale to "per Hour" because you want to compare ROC to -0.0833ft/hr.
  • Set the Refresh Interval to 600 because you want to calculate the ROC every 10 minutes.
  • Set the Low Alarm Setpoint to -0.0833ft because this is minimum rate you want.

Example 2) You want to check every 10 minutes that over the last 1 hour the ROC has not dropped below 0.0833ft/hr (The same as the above example, but watching a smaller time span of one hour rather than six.)

  • Set Source Time Scale to per Hour because you want to compare ROC to -0.0833ft/hr.
  • Set the Period to 3600 because you want to check whether rate of change over a 1 hour period or 3600 seconds is -0.0833 or less.
  • Set the Refresh Interval to 600 because you want to calculate the ROC every 10 minutes.
  • The Low Alarm Setpoint will again be -0.0833

The second case gives more cautious results because if the ROC calculated in the last hour continues at -0.0833ft/hr, it will definitely cause the level to drop by at least 0.5 feet within the next 5 hrs.

Rate of Change properties: Display tab

The controls in the display tab are used only in connection with the Historical Data Viewer (HDV). The Displayed Value Minimum and Maximum set the initial limits of the y-axis for this tag when it is viewed in the HDV.

These fields do not scale the data.

Rate of Change properties Alarms tab

You can set alarms to notify operators when the rate of change is either too slow or too fast.

High alarms are triggered when the rate matches or exceeds a set point. Depending on whether the Positive Rate option is selected on the Settings tab, the Low Alarm can be used either to warn on large negative changes, or to warn when the rate of change falls below a desired minimum.

Low and High Alarm Priority

The Low and High Alarm Priority drop-down lists are used to select the priority of the alarms that will be triggered for this tag. The default priority is None, indicating that neither alarm has been configured. The available priorities are:

  • None
  • 0 - Event
  • 1 - Critical Alarm
  • 2 - High Alarm
  • 3 - Warning Alarm
  • 4 - Notice Alarm

If you have defined your own Alarm Priority tags, those will also be available for selection.

Low and High Alarm Setpoints

Use the Low Alarm Setpoint field to enter the lowest value that this rate of change value will be permitted to attain, after which a low alarm will be triggered. Correspondingly, the High Alarm Setpoint is used to set a value at which the high alarm should be triggered.

If the Positive Rate option is selected on the Settings tab, all rates of change will be positive. In this situation, the high alarm is used to warn of excessively high rates of change (whether the changing value is rising or falling). The low alarm could be used to warn of change rates that are too slow.

If the Positive Rate option is not selected, the high alarm will warn only of excessive change rates for values that are rising. The low alarm set point should be set to a negative value to warn of excessive change rates for values that are falling.

The source for these fields may be either a constant, the result of an expression, or the value of a tag. Please see the topic: Constant, Expression or Tag for more information on selecting between these three choices.

Low and High Alarm Deadbands

If noise in the system causes a value to fluctuate above and below the set point, the alarm will repeatedly switch between active and inactive status. By using the deadband, you can dampen out these fluctuations by setting an amount by which the tag’s value must retreat back past the set point before the alarm state is considered to no longer be active.

For the low alarm, this means that the value must rise <deadband> units above the set point. For the high alarm, the value must fall by <deadband> units below the set point.

The deadband is used only for changing a current alarm’s active status. It does not affect the set point.

Low and High Alarm Delays

Noise in the value being monitored may cause transient spikes or drops in the reported rate of change. To avoid having alarms triggered by system noise, you can set a delay in seconds. The value must meet or exceed the alarm set point for the length of the delay time before an alarm will be activated.

Disable Low or High Alarm

The Disable … Alarm field is used to specify whether either the low alarm or high alarm for this tag is enabled. Disabling of alarms is typically used in situations where you wish to avoid false alarms. For example, in the event that routine maintenance is being performed on the equipment represented by this tag, the alarm can be disabled until the maintenance is complete and communications are re-established.

The value can be provided via any of a constant, an expression, or a tag, where 0 means "not disabled" and 1 means "disabled.
Please see the topic: Constant, Expression or Tag for help selecting which to use.

Low Alarm Pop-up Enable & High Alarm Pop-up Enable

If the configuration variable AlarmPopupsEnable is set to 1, then setting either the Low Alarm Pop-up Enable or the High Alarm Pop-up Enable, will result in a pop-up dialog being displayed whenever the respective alarm is triggered. It is strongly suggested that this feature be used sparingly.

Sound

The Sound fields can be used to set the sound that will be played when either the low alarm or the high alarm is triggered. These fields can be set to blank, 0, 1, or to the name of a .WAV sound file to be played.

If a Sound field is set to 0, no sound will be played when this alarm is triggered.

If a Sound field is set to blank or 1, an alarm sound whose properties are configured on the associated Alarm Priority tag will be played.

If a Sound field contains the name of a .WAV sound file, it will override any alarm sound configured for the associated Alarm Priority tag. When specifying a sound file, you must enter its name and extension (e.g. MySound.wav). The specified sound file must be a .WAV file, and must be stored in the application directory. If the specified sound file is not found, the alarm will revert to using tones as specified in the associated Alarm Priority tag.

Rate of Change Error Dialogs

The period must be set to a value that is larger than the refresh interval for the Rate of Change tag to work properly. Attempting to set either value such that this is no longer the case will result in the following error dialog:

Acknowledge the dialog by clicking on the Close button, then adjust the complementary value (either a larger period or a smaller refresh interval) before continuing to set the value you were first attempting to set.