The following table provides two process values and an example of their data associated with it. Note that for the DeviationAlarm, most of the optional Nodes are not shown, and for the LimitAlarm, also most of the mandatory nodes are hidden. They are set similar to the DeviationAlarm.
Table 29 – Examples for Process Values
Node |
Pressure |
Temperature |
SignalTag (M) |
“Sigxyz123” |
“T001” |
|
|
|
AnalogSignal (M) |
200 |
65 |
ValuePrecision (O) |
-2 (Rounded to next 100) |
- |
EURange (M) |
{-100.0, 250.0} |
{-20.0, 180.0} |
InstrumentRange (O) |
{-500.0, 350.0} |
{-200.0, 300.0} |
EngineeringUnits (M) |
Pa (Pascal) |
°C |
ActualValue (O) |
200 |
65 |
SimulationValue (O) |
100 |
20 |
SimulationState (O) |
FALSE |
FALSE |
Damping (O) |
- |
- |
PercentageValue (O) |
601 |
- |
EURange(M) |
{0.0,100.0} |
- |
EngineeringUnits(M) |
pct (Percent) |
- |
LowLowLimit (O) |
20 |
5 |
EngineeringUnits(M) |
Pa (Pascal) |
pct (Percent) |
LowLimit (O) |
50 |
10 |
EngineeringUnits(M) |
Pa (Pascal) |
pct (Percent) |
HighLimit (O) |
230 |
80 |
EngineeringUnits(M) |
Pa (Pascal) |
pct (Percent) |
HighHighLimit (O) |
250 |
90 |
EngineeringUnits(M) |
Pa (Pascal) |
pct (Percent) |
|
|
|
Status (O) |
6 (WITHIN_TOLERANCE) |
7 (ABOVE_HIGH_DEVIATION) |
EnumValues (M) |
As in Table 3 |
As in Table 3 |
|
|
|
AlarmSuppression (O) |
0 (No alarm suppression) |
- |
EnumValues (M) |
As in Table 3 |
- |
|
|
|
ProcessValueSetpoint (O) |
200 |
20 |
.SubstituteValue (O) |
210 |
- |
LowLowDeviation (O) |
-40 |
- |
EngineeringUnits (M) |
Pa (Pascal) |
- |
LowDeviation (O) |
-20 |
-5 |
EngineeringUnits (M) |
Pa (Pascal) |
pct (Percent) |
HighDeviation (O) |
20 |
5 |
EngineeringUnits (M) |
Pa (Pascal) |
pct (Percent) |
HighHighDeviation (O) |
40 |
- |
EngineeringUnits (M) |
Pa (Pascal) |
- |
.DeviationSensitivity (O) |
1 – Middle |
- |
EnumValues (M) |
As in Table 7 |
- |
.AutoDeviationAdjustment (O) |
FALSE |
- |
.EURange (M) |
{-100.0, 250.0} |
{-10.0, 70.0} |
.InstrumentRange (O) |
{-500.0, 350.0} |
- |
.EngineeringUnits (M) |
Pa (Pascal) |
°C |
|
|
|
DeviationAlarm (O) |
|
|
SetpointNode (M) |
NodeId of Setpoint |
NodeId of Setpoint |
LimitState (M) |
|
|
CurrentState (M) |
BAD status |
“High” |
CurrentState.Id (M) |
BAD status |
2 (StateNumber of High) |
LowLowLimit (O) |
-40 |
- |
LowLimit (O) |
-20 |
-10 (– 5 percent to °C based on EURange) 2 |
HighLimit (O) |
20 |
+10 (+5 percent to °C based on EURange) 2 |
HighHighLimit (O) |
40 |
- |
ActiveState (M) |
“Inactive” |
“Active” |
ActiveState.Id (M) |
FALSE |
TRUE |
InputNode (M) |
NodeId of SignalObject |
NodeId of SignalObject |
AckedState (M) |
“Acknowledged” |
“Acknowledged” |
AckedState.Id (M) |
TRUE (Auto-acknowledged) |
TRUE (Auto-acknowledged) |
SuppressedOrShelved (M) |
FALSE |
FALSE |
ConditionClassId (M) |
NodeId of ProcessConditionClassType (static) |
NodeId of ProcessConditionClassType (static) |
ConditionClassName (M) |
“ProcessConditionClassType” (static) |
“ProcessConditionClassType” (static) |
ConditionName (M) |
“DeviationAlarm” (static) |
“DeviationAlarm” (static) |
BranchId (M) |
NULL |
NULL |
Retain (M) |
FALSE |
TRUE |
EnabledState (M) |
“Enabled” |
“Enabled” |
EnabledState.Id (M) |
TRUE |
TRUE |
Quality (M) |
GOOD |
GOOD |
LastSeverity (M) |
600 |
10 |
Comment (M) |
“” (no comment set) |
“” (no comment set) |
ClientUserId (M) |
“” (no comment set) |
“” (no comment set) |
EventId (M) |
123435 (Unique in Server) |
123436 (Unique in Server) |
EventType (M) |
NodeId of ExclusiveDeviationAlarmType (Static) |
NodeId of ExclusiveDeviationAlarmType (Static) |
SourceNode (M) |
NodeId of SignalObject |
NodeId of SignalObject |
SourceName (M) |
Name of SignalObject |
Name of SignalObject |
Time (M) |
2022-06-02:10:00:00 |
2022-06-02:10:05:00 |
ReceiveTime (M) |
2022-06-02:10:00:00 |
2022-06-02:10:05:00 |
Message (M) |
“No Deviation” |
“No Deviation” |
Severity (M) |
10 |
600 |
|
|
|
LimitAlarm |
|
|
LimitState (M) |
|
|
CurrentState (M) |
BAD status |
BAD status |
CurrentState.Id (M) |
BAD status |
BAD status |
LowLowLimit (O) |
20 |
-10 (5 percent to °C based on EURange) 3 |
LowLimit (O) |
50 |
0 (10 percent to °C based on EURange) 3 |
HighLimit (O) |
230 |
140 (80 percent to °C based on EURange) 3 |
HighHighLimit (O) |
250 |
160 (90 percent to °C based on EURange) 3 |
ActiveState (M) |
“Inactive” |
“Inactive” |
ActiveState.Id (M) |
FALSE |
FALSE |
1 The PercentageValue in the example is not calculated based on EURange but by some internal logic, also considering other parameters.
2 The EURange is from -20 to 180°C, -20 is 0% and +180 is 100%. The absolute deviation value based on a percentage value is “absolute_deviation_value = percentage_value * (max_value – min_value)”. For example, for +5% it is: absolute_deviation_value = 5/100 * 180°C-(-20°C) = 5/100 * 200°C = 10°C.
3 When calculating the absolute limits, in addition to calculating the absolute_deviation_value, it needs to be set into the context of the range, i.e. absolute_value = min_value + absolute_deviation_value. For example, for +5% it is absolute_value = -20°C +10°C = -10°C.
___________