Deviation For Time Alarm Calculation
There are six variations of the Deviation for Time alarm calculation. These alarm calculation types can only be implemented with the CygNet Enhanced Point Scheme. See Understanding the CVS Metadata File for more information about the elements and attributes that define a CygNet Point Scheme.
These calculations can be used to meet the requirements of the PHMSA rule (192.635(a)) "Notification of potential rupture" — Unanticipated or unexplained pressure loss outside a pipeline’s normal operating pressures. They are different to the change rate alarm calculations and are only available for use with a customized point scheme, for example the CygNet Enhanced Point Scheme. Contact CygNet Support for assistance with these changes.
See the following subsections for details:
- Deviation Percent For Time
- Deviation Percent Positive For Time
- Deviation Percent Negative For Time
- Deviation Value For Time
- Deviation Value Positive For Time
- Deviation Value Negative For Time
For more information, see Alarm Calculation Types.
Example
The Deviation for Time alarm calculations require two parameters: an allowed deviation value, either as a percentage or as a raw value depending on the calculation type being used, and a time interval in seconds. The deviation value provided for all these calculation types should be expressed as a positive numeric value. For example, if DEVIATION_PCT_NEG_FOR_TIME is configured, the parameters could be the following.
- calcparm1 = 10 (%)
- calcparm2 = 120 (seconds)
In this example we would detect when there has been a pressure loss greater than or equal to 10% occurring within a time interval of 2 minutes or less. The alarm will be set if there is a deviation of the percent change for any values, regardless of where they occurred in the 2-minute-time interval. The last value that has been stored prior to or exactly on the start of the 2-minute time interval is interpreted as the first value in the interval and so is used in the calculation. The system will find the largest value, occurring anywhere within the 2-minute window, and then compare that value to the current value, and if the percent change is both negative and its absolute value is greater than or equal to a 10% drop, the alarm is set.
CvsMetadata
The number of entries stored for this calculation is specified by the histvaluecount attribute in the CvsMetadata file for a CygNet Enhanced Point Scheme.
The following excerpt from a sample CvsMetadata file for an Enhanced Point Scheme shows previously "Unused" configurable status bits now assigned to the calculation types "Pct.Deviation (time)" as CONFIG7, "Neg.Pct.Deviation (time)" as CONFIG8, and "Pos.Pct.Deviation (time)" as CONFIG9.
<StatusBitDefinition bitid="CONFIG7 desc="Pct. Deviation (time)" displayorder="607" calcorder="14" calctype="DEVIATION_PCT_FOR_TIME">
<CalcParameter1 desc="Maximum % difference allowed"/>
<CalcParameter2 desc="Time Interval (sec)"/>
</StatusBitDefinition>
<StatusBitDefinition bitid="CONFIG8 desc="Neg. Pct. Deviation (time)" displayorder="608" calcorder="15" calctype="DEVIATION_PCT_NEG_FOR_TIME">
<CalcParameter1 desc="Maximum % difference allowed (neg)"/>
<CalcParameter2 desc="Time Interval (sec)"/>
</StatusBitDefinition>
<StatusBitDefinition bitid="CONFIG9 desc="Pos. Pct. Deviation (time)" displayorder="609" calcorder="16" calctype="DEVIATION_PCT_POS_FOR_TIME">
<CalcParameter1 desc="Maximum % difference allowed (pos)"/>
<CalcParameter2 desc="Time Interval (sec)"/>
</StatusBitDefinition>
The following image shows the area of an Analog Alarm Settings page of a PNT Editor with an enabled Neg. Pct. Deviation (time) alarm using the "DEVIATION_PCT_NEG_FOR_TIME" calctype:
|
Alarm Calculation Configuration — Deviation Percent Negative For Time |
Deviation Percent For Time
One of the Deviation For Time alarms is the Deviation Percent For Time (DEVIATION_PCT_FOR_TIME) calculation. This is not a change rate calculation. On each update, the system finds both the maximum and minimum values that have been stored over the previous time interval specified in calcparm2, regardless of when in that time interval they occurred. The last value that has been stored prior to or exactly on the start of the time interval is interpreted as the first value in the interval and so is used in the calculation. Then, the percent changes are calculated based on the current value and both the maximum and minimum values. The greater of the absolute value of the two percent deviations is determined. If this percent deviation equals or exceeds the maximum percent deviation specified in calcparm1, the alarm is set.
Calculation Parameters
The calculation parameters for this alarm are user-provided:
- Allowed Percent Deviation (calcparm1) — allowed percent value change over the specified time interval before the alarm is set.
- Time Interval (sec) (calcparm2) — the time span over which the minimum and maximum historical values are retrieved to determine the absolute value of the EU deviation.
Preliminary Calculations
|
Maximum Value = maximum numeric value that has been stored over the previous specified time interval
Minimum Value = minimum numeric value that has been stored over the previous specified time interval |
Equation
|
Pos Pct Deviation = ABS(((Updated Value)/(Minimum Value) -1) X 100)
Neg Pct Deviation = ABS(((Updated Value)/(Maximum Value) -1) X 100)
Percent Deviation to use = Greater of the two, AbsPos or AbsNeg |
-
If the Percent Deviation ≥ the allowed deviation, the alarm is set.
-
If the Percent Deviation < the allowed deviation, the alarm is not set.
Deviation Percent Positive For Time
One of the Deviation For Time alarms is the Deviation Percent Positive For Time (DEVIATION_PCT_POS_FOR_TIME) calculation. This is not a change rate calculation. On each update, the system finds the minimum value that has been stored over the previous time interval specified in calcparm2, regardless of when in that time interval it occurred. The last value that has been stored prior to or exactly on the start of the time interval is interpreted as the first value in the interval and so is used in the calculation. Then, the percent deviation is calculated based on the current value and the minimum value. If the percent deviation equals or exceeds the maximum percent deviation specified in calcparm1, the alarm is set.
Calculation Parameters
The calculation parameters for this alarm are user-provided:
-
Allowed Percent Deviation (calcparm1) — allowed percent value change over the specified time interval before the alarm is set.
-
Time Interval (sec) (calcparm2) — the time span over which the minimum historical value is retrieved to determine the percent deviation.
Preliminary Calculations
|
Minimum Value = minimum numeric value that has been stored over the previous specified time interval |
Equation
|
Percent Deviation = ABS(((Updated Value)/(Minimum Value) -1) X 100) |
-
If the Percent Deviation ≥ the allowed deviation, the alarm is set.
-
If the Percent Deviation < the allowed deviation, the alarm is not set.
Deviation Percent Negative For Time
One of the Deviation For Time alarms is the Deviation Percent Negative For Time (DEVIATION_PCT_NEG_FOR_TIME) calculation. This is not a change rate calculation. On each update, the system finds the maximum value that has been stored over the previous time interval specified in calcparm2, regardless of when in that time interval it occurred. The last value that has been stored prior to or exactly on the start of the time interval is interpreted as the first value in the interval and so is used in the calculation. Then, the percent deviation is calculated based on the current value and the maximum value. If the calculated percent deviation is negative and its absolute value equals or exceeds the maximum percent deviation specified in calcparm1, the alarm is set.
Calculation Parameters
The calculation parameters for this alarm are user-provided:
-
Allowed Percent Deviation (calcparm1) — allowed percent value change over the specified time interval before the alarm is set.
-
Time Interval (sec) (calcparm2) — the time span over which the maximum historical value is retrieved to determine the percent deviation.
Preliminary Calculations
|
Maximum Value = maximum numeric value that has been stored over the previous specified time interval |
Equation
|
Percent Deviation = ((Updated Value)/(Maximum Value) -1) X 100
Abs Percent Deviation = ABS(Percent Deviation) |
-
If the Percent Deviation is negative and Abs Percent Deviation ≥ the allowed deviation, the alarm is set.
-
If the Percent Deviation is positive or Abs Percent Deviation < the allowed deviation, the alarm is not set.
Deviation Value For Time
One of the Deviation For Time alarm calculations is the Deviation Value For Time (DEVIATION_VAL_FOR_TIME) calculation. This is not a change rate calculation. On each update, the system finds both the maximum and minimum values that have been stored over the previous time interval specified in calcparm2, regardless of when in that time interval they occurred. The last value that has been stored prior to or exactly on the start of the time interval is interpreted as the first value in the interval and so is used in the calculation. Then, the current value is compared to each maximum and minimum value, the numeric differences (deviations) are calculated, and the greater of the two deviations in absolute value is determined. If the absolute value of this deviation equals or exceeds the maximum deviation value specified in calcparm1, the alarm is set.
Calculation Parameters
The calculation parameters for this alarm are user-provided:
- Allowed EU Deviation (calcparm1) — allowed value change over the specified time interval before the alarm is set.
- Time Interval (sec) (calcparm2) — the time span over which the minimum and maximum historical values are retrieved to determine the absolute value of the EU deviation.
Preliminary Calculations
|
Maximum Value = maximum numeric value that has been stored over the previous specified time interval
Minimum Value = minimum numeric value that has been stored over the previous specified time interval |
Equation
|
Max Deviation Value = ABS(Maximum Value – Current Value)
Min Deviation Value = ABS(Minimum Value – Current Value)
Deviation Value to use = Greater of the two, Min or Max |
- If the Deviation Value ≥ the allowed deviation, the alarm is set.
- If the Deviation Value < the allowed deviation, the alarm is not set.
Deviation Value Positive For Time
One of the Deviation For Time alarms is the Deviation Value Positive For Time (DEVIATION_VAL_POS_FOR_TIME) calculation. This is not a change rate calculation. On each update, the system finds the minimum value that has been stored over the previous time interval specified in calcparm2, regardless of when in that time interval it occurred. The last value that has been stored prior to or exactly on the start of the time interval is interpreted as the first value in the interval and so is used in the calculation. Then, the current value is compared to the minimum value and the numeric difference (deviation) is calculated. If the value of this deviation equals or exceeds the maximum deviation value specified in calcparm1, the alarm is set.
Calculation Parameters
The calculation parameters for this alarm are user-provided:
- Allowed EU Deviation (calcparm1) — allowed value change over the specified time interval before the alarm is set.
- Time Interval (sec) (calcparm2) — the time span over which the minimum historical value is retrieved to determine the EU deviation.
Preliminary Calculations
|
Minimum Value = minimum numeric value that has been stored over the previous specified time interval |
Equation
|
Deviation Value = Minimum Value – Current Value |
- If the Deviation Value ≥ the allowed deviation, the alarm is set.
- If the Deviation Value < the allowed deviation, the alarm is not set.
Deviation Value Negative For Time
One of the Deviation For Time alarms is the Deviation Value Negative For Time (DEVIATION_VAL_NEG_FOR_TIME) calculation. This is not a change rate calculation. On each update, the system finds the maximum value that has been stored over the previous time interval specified in calcparm2, regardless of when in that time interval it occurred. The last value that has been stored prior to or exactly on the start of the time interval is interpreted as the first value in the interval and so is used in the calculation. Then, the current value is compared to the maximum value and the numeric difference (deviation) is calculated. If the absolute value of this deviation equals or exceeds the maximum deviation value specified in calcparm1, the alarm is set.
Calculation Parameters
The calculation parameters for this alarm are user-provided:
- Allowed EU Deviation (calcparm1) — allowed value change over the specified time interval before the alarm is set.
- Time Interval (sec) (calcparm2) — the time span over which the maximum historical value is retrieved to determine the EU deviation.
Preliminary Calculations
|
Maximum Value = maximum numeric value that has been stored over the previous specified time interval |
Equation
|
Deviation Value = ABS(Maximum Value – Current Value) |
- If the Deviation Value ≥ the allowed deviation, the alarm is set.
- If the Deviation Value < the allowed deviation, the alarm is not set.
Revised November 15, 2024.


