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
  • Continuous Alarms

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:

  • None
  • NoAlarmOnDriverInvalid
  • NoAlarmOnSourceTimeInvalid

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:

  • The list must contain at least an entry representing the normal condition and another entry representing an alarm condition.
  • It is possible to define only one entry representing the normal condition.
  • The list can contain a maximum of twenty alarm conditions.
  • In case of BOOL property, only two alarm conditions can be configured.

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:

  • Culture: culture of the text (for example, “en-US”).
  • Text: descriptive text.

NormalText

Optional

List of values used as alarm text for outgoing events. Each value must contain the following data:

  • Culture: culture of the text (for example, “en-US”).
  • Text: descriptive text.

Guid

Optional

String representing the alarm condition.

NOTE:

  • The value of this string is automatically assigned by the system when the alarm condition is created the first time. The value must not be set manually.
  • When an object model is imported the first time, all the alarm conditions specified for its properties do not have the Guid or the Guid must be declared but empty (“Guid”: “”). In this case, the importer creates a new alarm condition.
  • If an object model is exported, the Guid contains the value automatically assigned by the system. This value must not be changed otherwise the alarm condition can no longer be recognized in case of re-import.
  • In case of re-import:
    • If the Guid is not specified or it is empty (“Guid”: “”), the alarm condition is created or re-created.
    • If the Guid is specified and matches the one of an existing alarm condition, the existing alarm condition is updated.
    • If the Guid is specified but it does not match the one of an existing alarm condition, the alarm condition is ignored.
    • All the alarm conditions already existing that are not updated, using the matching Guid mechanism, will be removed.

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

  • eGmsDataType.PvssBool
  • eGmsDataType.PvssBit32
  • eGmsDataType.PvssBit64
  • eGmsDataType.GmsBool
  • eGmsDataType.GmsBitString
  • eGmsDataType.GmsBitString64

!=

Not Equal

  • eGmsDataType.PvssBit32
  • eGmsDataType.PvssBit64
  • eGmsDataType.GmsBitString
  • eGmsDataType.GmsBitString64

|

Or

  • eGmsDataType.PvssUint

!|

Nor

  • eGmsDataType.PvssUint64
  • eGmsDataType.PvssInt
  • eGmsDataType.PvssInt64
  • eGmsDataType.PvssFloat
  • eGmsDataType.GmsUint
  • eGmsDataType.GmsUint64
  • eGmsDataType.GmsInt
  • eGmsDataType.GmsInt64
  • eGmsDataType.GmsReal
  • eGmsDataType.GmsEnum

..

In range

  • eGmsDataType.PvssUint

!..

Not in range

  • eGmsDataType.PvssUint64
  • eGmsDataType.PvssInt
  • eGmsDataType.PvssInt64
  • eGmsDataType.PvssFloat
  • eGmsDataType.GmsUint
  • eGmsDataType.GmsUint64
  • eGmsDataType.GmsInt
  • eGmsDataType.GmsInt64
  • eGmsDataType.GmsReal

Discrete Alarms – Value

Operation String

Operation Description

Value1

Value2

Value Format

No Op

No Operator

Ignored

Ignored

-

=

Equal

Yes

No

  • eGmsDataType.PvssBool
  • eGmsDataType.PvssBit32
  • eGmsDataType.PvssBit64
  • eGmsDataType.GmsBool

 

Yes

  • eGmsDataType.GmsBitString
  • eGmsDataType.GmsBitString64

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:

  • The list must contain at least an entry representing the normal condition and another entry representing an alarm (off normal) condition.
  • It is possible to define only one entry representing the normal condition.
  • The list can contain a maximum of twenty alarm conditions.
  • In case of BOOL property, only two alarm conditions can be configured.
  • The order of the alarm conditions is important because alarm processing is carried out from bottom to top.

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:

  • Culture: culture of the text (for example, “en-US”).
  • Text: descriptive text.

NormalText

Optional

List of values used as alarm text for outgoing events. Each value must contain the following data:

  • Culture: culture of the text (for example, “en-US”).
  • Text: descriptive text.

Guid

Optional

String representing the alarm condition.

NOTE:

  • The value of this string is automatically assigned by the system when the alarm condition is created the first time. The value must not be set manually.
  • When an object model is imported the first time, all the alarm conditions specified for its properties do not have the Guid or the Guid must be declared but empty (“Guid”: “”). In this case, the importer creates a new alarm condition.
  • If an object model is exported, the Guid contains the value automatically assigned by the system. This value must not be changed otherwise the alarm condition can no longer be recognized in case of re-import.
  • In case of re-import:
    • If the Guid is not specified or it is empty (“Guid”: “”), the alarm condition is created or re-created.
    • If the Guid is specified and matches the one of an existing alarm condition, the existing alarm condition is updated.
    • If the Guid is specified but it does not match the one of an existing alarm condition, the alarm condition is ignored.
    • All the alarm conditions already existing that are not updated, using the matching Guid mechanism, will be removed.

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

  • eGmsDataType.PvssBool
  • eGmsDataType.GmsBool

>

Greater than

  • eGmsDataType.PvssUint
  • eGmsDataType.PvssUint64
  • eGmsDataType.PvssInt
  • eGmsDataType.PvssInt64
  • eGmsDataType.PvssFloat
  • eGmsDataType.GmsUint
  • eGmsDataType.GmsUint64
  • eGmsDataType.GmsInt
  • eGmsDataType.GmsInt64
  • eGmsDataType.GmsReal
  • eGmsDataType.GmsEnum

>=

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 PvssUInt, PvssInt, GmsUint, or GmsInt property, the hysteresis value must be of int type.
  • In case of PvssUInt64, PvssInt64, GmsUint64, or GmsInt64 property, the hysteresis value must be of long type.
  • In case of PvssFloat or GmsReal property, the hysteresis value must be of double 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

  • eGmsDataType.PvssUint
  • eGmsDataType.PvssUint64
  • eGmsDataType.PvssInt
  • eGmsDataType.PvssInt64
  • eGmsDataType.PvssFloat
  • eGmsDataType.GmsUint
  • eGmsDataType.GmsUint64
  • eGmsDataType.GmsInt
  • eGmsDataType.GmsInt64
  • eGmsDataType.GmsReal
  • eGmsDataType.GmsEnum

=

Equal

  • eGmsDataType.PvssBool
  • eGmsDataType.GmsBool
  • eGmsDataType.PvssUint
  • eGmsDataType.PvssUint64
  • eGmsDataType.PvssInt
  • eGmsDataType.PvssInt64
  • eGmsDataType.PvssFloat
  • eGmsDataType.GmsUint
  • eGmsDataType.GmsUint64
  • eGmsDataType.GmsInt
  • eGmsDataType.GmsInt64
  • eGmsDataType.GmsReal
  • eGmsDataType.GmsEnum

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: