Management Station Alarms
To define management station alarms, the following can be specified:
Alarms Configuration – Management Station | ||
Data | Use | Description |
Type | Mandatory | MANAGEMENTSTATION |
Activated | Optional | True, to activate the alarm configuration. If not specified, the value false is assumed. |
AlarmsDefinition | Mandatory | Management station alarms definition, which can be one of the following:
|
Discrete Alarms
Discrete alarms can be configured only for simple properties, no array, of the following GMS and PVSS types:
- GMSBOOL
- GMSREAL
- GMSENUM
- GMSINT (only if based on INT data)
- GMSUINT (only if based on UINT data type)
- GMSINT64
- GMSUIN64
- GMSBITSTRING (only if based on BIT data type)
- GMSBITSTRING64 (only if based on BIT64 data type)
- BOOL
- FLOAT
- INT
- UINT
- LONG
- ULONG
- BIT
- BIT64
To define discrete alarms the following can be specified:
Data | Use | Description |
Kind | Mandatory | DISCRETE |
Flags | Optional | String representing the type of user control to be used by the user interface. Acceptable values are:
If not specified or the string is empty, the value None is assumed as default. |
AlarmsTable | Mandatory | List of alarm conditions, which must meet the following rules:
For details about the definition of discrete alarm conditions, see Table Discrete Alarm Condition, below. In case of re-import, all the required alarm conditions must be specified. Any other alarm conditions already existing and not specified in the file will be removed. For details about alarm conditions re-import, see Guid in Table Discrete Alarm Condition, below. |
Discrete Alarms – Condition
For each alarm condition it is necessary to specify the following:
Data | Use | Description |
AlarmClass | Mandatory | String representing the alarm class. The name specified must correspond to the name of a data point of type “_GMS_ALARM_TYPE” already present in the project. The empty string (“AlarmClass”: “”) defines the normal condition. |
AlarmProperty | Optional | Specifies the operand and the value of the alarm condition (Value Range). In case of normal condition, this data is ignored and can be omitted. In all the other alarm conditions it is necessary to specify it. For details about the configuration, see Discrete Alarms – AlarmProperty. |
OffNormalText | Optional | List of values used as alarm text for incoming events. Each value must contain the following data:
|
NormalText | Optional | List of values used as alarm text for outgoing events. Each value must contain the following data:
|
Guid | Optional | String representing the alarm condition. NOTE:
In case a previously created alarm condition must be removed, it is necessary to remove the alarm condition from the alarm conditions list. |
Discrete Alarms – AlarmProperty
To configure the AlarmProperty it is possible to specify the following:
Data | Use | Description |
Operation | Optional | The condition operand for reporting an event. The valid operands vary according to the data type of the property. For details, see Table Discrete Alarms – Operation, below. If not specified or the string is empty, the value NOOP is assumed as default. |
Value1 | Optional | First value of the condition. The value must comply with the property data type. In case of PvssBit32, PvssBit64, GmsBitString and GmsBitString64 the values can be expressed as uint (or ulong) or as string representing the binary value (for example, 255 or “00000000000000000000000011111111” or “11111111”). In case of GmsEnum the value can be expressed as uint representing the index of a text in the text group associated to the property or as string representing a text of the text group. The string must be written in the Desigo CC default language (en-US). The operation NoOpNoValue is converted to NoOp. In case of NoOp operation, the value is ignored. Depending on the specified operation, the value can be configured in different ways. For more details, see Table Discrete Alarms – Value, below. |
Value2 | Optional | Second value of the condition. For this value the same rules as Value1 apply. In case of GmsBitString and GmsBitString64, this value represents the bit mask defining the bits to be considered. If this value is not specified, the bit mask is evaluated according the configured first bit and the last bit. In case also the first bit and last bit are not configured, the bit mask is set to 0. In case of PvssBit32, PvssBit64, this value is ignored, and the bit mask is automatically set to UInt32.MaxValue and UInt64.MaxValue. |
Discrete Alarms – Operation
Operation String | Description | Property Types |
NoOp | No Operator | All types |
= | Equal |
|
!= | Not Equal |
|
| | Or |
|
!| | Nor |
|
.. | In range |
|
!.. | Not in range |
|
Discrete Alarms – Value
Operation String | Operation Description | Value1 | Value2 | Value Format |
No Op | No Operator | Ignored | Ignored | - |
= | Equal | Yes | No
Yes
| A single value consistent with the data type of the property. Examples: "Value1": true "Value1": 255 |
!= | Not equal | |||
| | Or | Yes | No | A single value consistent with the data type of the property. An array of values, where each value must be consistent with the data type of the property. Examples: "Value1": 90 "Value1": [7, 8, 10] |
!| | Nor | |||
.. | In range | Yes | Yes | Two single values, each one must be consistent with the data type of the property. The first value must be less than the second value. Examples: "Value1": 10, "Value2": 20 |
!.. | Not in range |
Example of Descrete Alarms
{
"Name": "Enum_Value",
"PvssType": { "PvssType": "UINT" },
"VL": true,
"AL": true,
"Stat": true,
"Persist": true,
"GroupId": "CONFIG",
"Description": [ { "Culture": "en-US", "Text": "Enum Value" } ],
"Display": {
"Valid": true,
"Icon": { "Library": "Global_Base_HQ_1", "Name": "Op_DP_Generic_None_001.png" }
},
"GmsType": {
"GmsType": "GMSENUM",
"Attributes": {
"Valid": true,
"Properties": { "Min": 0, "Max": 5 },
"TextGroup": "TxG_DriverStatus"
}
},
"Alarms": {
"Valid": true,
"AlarmsConfiguration": {
"Type": "MANAGEMENTSTATION",
"Activated": true,
"AlarmsDefinition": {
"Kind": "DISCRETE",
"Flags": "None",
"AlarmsTable": [
{ "AlarmClass": "" },
{
"AlarmClass": "Anomaly",
"AlarmProperty": { "Operation": "|", "Value1": [0, 3, 5] },
"OffNormalText": [ { "Culture": "en-US", "Text": "Off Normal Text" } ],
"NormalText": [ { "Culture": "en-US", "Text": "Normal Text" } ]
}
]
}
}
}
}
The following image shows the corresponding settings in the Models & Functions tab:
Continuous Alarms
Continuous alarms can be configured only for simple properties, no array, of the following GMS and PVSS types:
- GMSBOOL
- GMSREAL
- GMSENUM
- GMSINT (only if based on INT data type)
- GMSUINT (only if based on UINT data type)
- GMSINT64
- GMSUIN64
- BOOL
- FLOAT
- INT
- UINT
- LONG
- ULONG
To define continuous alarms the following can be specified:
Data | Use | Description |
Kind | Mandatory | CONTINUOUS |
AlarmsTable | Mandatory | List of alarm conditions. This list must comply with the following rules:
For details about the definition of an alarm condition, see Table Continuous Alarms Condition, below. In case of re-import, all the required alarm conditions must be specified. Any other alarm conditions already existing and not specified in the file will be removed. For details about the alarm conditions reimport, see Guid in Continuous Alarms Condition, below. |
Continuous Alarms – Condition
For each alarm condition it is necessary to specify the following:
Data | Use | Description |
AlarmClass | Mandatory | String representing the alarm class. The name specified must correspond to the name of a data point of type “_GMS_ALARM_TYPE” already present in the project. The empty string (“AlarmClass”: “”) defines the normal condition. |
AlarmProperty | Optional | Specifies the operand and the value of the alarm condition (Value Range). In case of normal condition, this data is ignored and can be omitted. In all the other alarm conditions it is necessary to specify it. For details about the configuration, see Continuous Alarms – AlarmProperty, below. |
UpperHysteresis | Optional | Specifies the operand and the upper hysteresis value for this alarm condition. In case of normal condition, this data is ignored. For details about the configuration, see Continuous Alarms – UpperHysteresis and LowerHysteresis, below. |
LowerHysteresis | Optional | Specifies the operand and the lower hysteresis value for this alarm condition. In case of normal condition, this data is ignored. For details about the configuration, see Continuous Alarms – UpperHysteresis and LowerHysteresis, below. |
OffNormalText | Optional | List of values used as alarm text for incoming events. Each value must contain the following data:
|
NormalText | Optional | List of values used as alarm text for outgoing events. Each value must contain the following data:
|
Guid | Optional | String representing the alarm condition. NOTE:
In case a previously created alarm condition must be removed, it is necessary to remove the alarm condition from the alarm conditions list. |
Continuous Alarms – AlarmProperty
To configure the AlarmProperty it is possible to specify the following:
Data | Use | Description |
Operation | Optional | The condition operand for reporting an event. The valid operands vary according to the data type of the property. For details, see Continuous Alarms – Operation, below. If not specified or the string is empty, the value NOOP is assumed as default. |
Value1 | Optional | Value of the condition. The value must comply with the property data type: In case of GmsEnum the value can be expressed as uint representing the index of a text in the text group associated to the property or as a string representing a text of the text group. The string must be written in the Desigo CC default language (en-US). In case of NoOp operation, the value is ignored. Depending on the specified operation, the value can be configured in different ways. For more details, see Continuous Alarms – Value, below. |
Continuous Alarms – Operation
Operation String | Description | Property Types |
NoOp | No Operator | All types |
= | Equal to |
|
> | Greater than |
|
>= | Greater than or equal to | |
< | Less than | |
<= | Less than or equal to |
Continuous Alarms – Value
Operation String | Operation Description | Value1 | Value Format |
No Op | No Operator | Ignored | - |
= | Equal to | Yes | A single Boolean value. Examples: "Value1": true |
> | Greater than | Yes | A single value consistent with the data type of the property. Examples: "Value1": 90 "Value1": "Failed" |
>= | Greater than or equal to | ||
< | Less than | ||
<= | Less than or equal to |
Continuous Alarms – UpperHysteresis and LowerHysteresis
To configure UpperHysteresis or LowerHysteresis it is possible to specify the following:
Data | Use | Description |
Operation | Optional | The operand for the hysteresis value. The valid operands vary according to the data type of the property. For details, see Continuous Alarms – Hysteresis Operation, below. If not specified or the string is empty, the value NoOpNoValue is assumed as default. |
Value1 | Optional | Value of the hysteresis. The value must comply with the property data type:
In case of NoOpNoValue operation, the value is ignored. Depending on the specified operation, the value can be configured in different ways. For more details, see Continuous Alarms – Hysteresis Value, below. |
Continuous Alarms – Hysteresis Operation
Operation String | Description | Property Types |
NoOpNoValue | No Operator |
|
= | Equal |
|
Continuous Alarms – Hysteresis Value
Operation String | Operation Description | Value1 | Value Format |
NoOpNoValue | No Operator | Ignored | - |
= | Equal | Yes | A single value consistent with the data type of the property. Examples: "Value1": 90 |
Example of Continuous Alarms
{
"Name": "Int_Value",
"PvssType": {
"PvssType": "INT",
"Status": { "Stat": true, "DisplOffNormal": true, "NormalValue": 0 }
},
"VL": true,
"AL": true,
"DL0": true,
"DL1": true,
"DL2": true,
"DL3": true,
"DL4": true,
"Persist": true,
"GroupId": "CONFIG",
"Description": [ { "Culture": "en-US", "Text": "Integer Value" } ],
"Display": {
"Valid": true,
"Icon": { "Library": "Global_Base_HQ_1", "Name": "Op_DP_Generic_None_001.png" }
},
"GmsType": {
"GmsType": "GMSINT",
"Attributes": {
"Valid": true,
"UnitText": { "TextGroup": "TxG_EngineeringUnits ", "Unit": "°C" },
"Properties":{ "Min": -100, "Max": 100 }
}
},
"Alarms": {
"Valid": true,
"AlarmsConfiguration": {
"Type": "MANAGEMENTSTATION",
"Activated": true,
"AlarmsDefinition": {
"Kind": "CONTINUOUS",
"Flags": "None",
"AlarmsTable": [
{ "AlarmClass": "" },
{
"AlarmClass": "Alarm",
"AlarmProperty": { "Operation": "<", "Value1": 10 },
"UpperHysteresis": { "Operation": "=", "Value1": 4 },
"LowerHysteresis": { "Operation": "=", "Value1": -2 },
"OffNormalText": [ { "Culture": "en-US", "Text": "Low value" } ],
"NormalText": [ { "Culture": "en-US", "Text": "Low value returned to normal" } ]
},
{
"AlarmClass": "Alarm",
"AlarmProperty": { "Operation": ">=", "Value1": 50 },
"UpperHysteresis": { "Operation": "=", "Value1": 5 },
"OffNormalText": [ { "Culture": "en-US", "Text": "High value" } ],
"NormalText": [ { "Culture": "en-US", "Text": "High value returned to normal" } ]
}
]
}
}
}
}
The following image shows the corresponding settings in the Models & Functions tab: