AlarmScreenNg 0.9.8
Alarm properties

The alarms, stored in AS EWO, can be read by CTRL code, the alarms are returned as CTRL data type mapping, with keys of type string. Every key in alarm mapping corresponds to the property of alarm.

This sections describes the names of alarm properties in AS EWO, meaning and format of property values.

Basic properties

This set of alarm properties is provided by the 'basic' AS EWO, without any extension plugins. All basic properties fall into one of two major categories:

  • Alarm properties, containing the value of one of attributes of _alert_hdl config of DPE
  • Other properties

All names of basic alarm properties are declared as cosntants ALARM_PROP_xxx in CTRL library AlarmScreenNg.ctl.

Attributes of _alert_hdl config

These alarm properties are listed in table, together with corresponding attribute of _alert_hdl config and the 'native' data type for the value of this property. More information on every particular attribute can be found in WinCC OA help.

Property name Attribute of _alert_hdl Data type
Abbreviation _abbr string
AckOblig _ack_oblig bool
AckType _ack_type int
AckState _ack_state int
AckTime _ack_time time
Ackable _ackable bool
AlertColor _alert_color string
AlertFontStyle _alert_font_style string
AlertForeColor _alert_fore_color string
AlarmId _alert_id string
Comment _comment string
Destination _dest int
Direction _direction bool
Filtered _filtered bool
ForceFiltered _force_filtered bool
MultiInstance _multi_instance bool
Obsolete _obsolete bool
OldestAck _oldest_ack bool
Panel _panel string
PanelParam _panel_param dyn_string
PartnerTime _partner time
PartnerTimeIdx _partn_idx int
Priority _prior uint
Sum _sum bool
Text _text string
Value _value data type of DPE
Visible _visible bool

Other basic properties

Other basic properties of alarm can be sundivided into three categories.

First catogory includes properties whose values are calculated as a result of decomposition of atime, see WinCC OA help on this data type.

Property name Data type Description
SystemName string The name of system where DP of alarm is located
DataPointName string The name of DP where alarm came from, without DPE, config and attribute
ElementName string The name of DPE where alarm came from, without config and attribute
AlarmTime time Time when alarm occured
Index int Index for ordering alarms which occured within 1 msec time interval
FullAlarmDpe string Full name of DPE where alarm came from, including config and attribute
dpElement string Pure DPE name, without system name, config and attribute

Second category of 'other' alarm properties: properties, calculated from other properties, or even something hardcoded, used for special purposes.

Property name Data type Description
AckStateSummary int Calculated 'summary' of acknowldgement state for this alarm. This corresponds to famous strings "!!!", "xxx" etc. in table column "Ack.". The value is introduced for use in CTRL code (if needed): analysing integer (enumerated) value seems to be more convenient than analyzing strings, displayed in table column. Possible values of this property are declared as ALARM_ACK_STATE_SUMMARY_xxx constants in CTRL library AlarmScreenNg.ctl
nofCommentsint Number of comments for alarm, calculated by parsing the value of "Comment" property, corresponding to _alert_hdl._comment attribute.
ThisToAckbool This and next properties are calculated for very special purpose: acknowledgement of multiple alarms from table. It can happen that one alarm of pair is known to AS EWO, but partner alarm is not known (for example, because of filtering at low level of model).
If in such situation request to 'acknowledge all' arrives (and the method of AS EWO getForAcknowledgementAll() is called), then EWO doesn't know if partner shall be acknowledged or not.
In such case, AS EWO returns this alarm, where property NoPartnerData is set to true (see next line in this table). Then it is responsability of CTRL code, perfroming ackowledgement, to read details of partner alarm and decide if that partner shall be acknowledged or not.
ThisToAck property (if true) indicates that this alarm does not need acknowldgement, the alarm is only retuirned by EWO's method in order to allow for CTRL code to find partner alarm and make a decision on partner's acknowledgement.
See example of using this (and next) property in function AlarmScreenNg_checkForPartnersToAck(), defined in CTRL library AlarmScreenNg.ctl.
NoPartnerDatabool When true indicates that AS EWO doesn't know if partner of this alarm shall be acknowledged or not. See also description of ThisToAck property above.
Detailsstring

This property doesn't contain useful information, the content is always string "...". The property was introduced for special column in Alarm Table:

Special column

Clicking on cell in this column with left mouse button opens (by default) panel with alarm details. In fact, this property just provides some content for column where user can click with mouse.

Third category contains other properties, which do not fall to previous two categories. There is only one such property in the base implementation.

Property name Data type Description
liveDpeValue data type of DPE Live value of DPE, i.e. not the value of DPE that raised alarm (see Value property in first category), but rather current value of that DPE. In fact, this value is not 'really current' because it is obtained by periodic polling with dpGet() call. See configuration of Alarms Model for more details.

JCOP-specific properties

As descibed in configuration of Alarm Model, AS EWO supports using plugins, which can extend set of alarm properties. This section describes alarm properties, added by plugin for JCOP (corresponding DLL is named AlarmPropJCOP).

The names of alarm properties, added by this plugin, are declared as constants ALARM_PROP_JCOP_xxx in CTRL library AlarmScreenJCOP.ctl.

Note
When using these names of properties in CTRL code to access the values in mapping with alarm data, do not make an assumption that properties are always there: the name may be missing in mapping if corresponding value is empty.
Property name Data type Description
alias string Alias of DP where alarm came from
deviceDescriptionstring Description of DP where alarm came from: either comment for DP, or comment for DPE if comment for DP is empty
onlineValuestring The string with alarm value, formatted using format and units, specified in alarm DPE
cameTimetime The time of CAME alarm of alarms pair. If this alarm is CAME, then it is time of this alarm, otherwise this is time of partner alarm.
deviceTypestring The name of device type for DP where alarm came from. Device type is not contained directly in DP/DPE, but rather some indirect calculation is used:
  • The definition of device types, configured for JCOP, are stored in internal DPs of type _FwDeviceDefinition
  • Every DP of such type has (among others) DPes:
    • dpType: the name of DP type
    • type: the name of JCOP device type for this DP type
  • Thus, the calculation of device type is done in two steps: first find the name of DP type for DP where alarm came from; then find corresponding name of JCOP device type.
Note
For performance reasons, the mapping of DP types to JCOP device types is only read once by this plugin.
scopestring Simple string, calculated from alarm priority using relatively simple algorithm:
  • Local: alarms with prioritiy in ranges: [40...49], [60...69], [80...89]
  • Gloabl: alarms with priority in ranges: [50...69], [70...79], [90...255]
  • Local-Global: alarms with priority 1

UNICOS-specific properties

As descibed in configuration of Alarm Model, AS EWO supports using plugins, which can extend set of alarm properties. This section describes alarm properties, added by plugin for UNICOS (corresponding DLL is named AlarmPropUNICOS).

The names of alarm properties, added by this plugin, are declared as constants ALARM_PROP_UN_xxx in CTRL library AlarmScreenUNICOS.ctl.

Note
When using these names of properties in CTRL code to access the values in mapping with alarm data, do not make an assumption that properties are always there: the name may be missing in mapping if corresponding value is empty.
Property name Data type Description
alias string Alias of DP where alarm came from
timeUtctime Alarm time converted to UTC time
applicationstring The name of UNICOS application, extracted from DP name. DP name is supposed to be built of parts, separated by - character; the application name is part #2.
deviceTypestring The name of UNICOS device type, extracted from DP name. DP name is supposed to be built of parts, separated by - character; the device type name is part #3.
aliasstring Alias of DPE where alarm came from.
domainstring The domain of UNICOS device, extracted from DP comment. The comment is supposed to be built of parts separated by ~ character; the domain name if part #0.
naturestring The nature of UNICOS device, extracted from DP comment. The comment is supposed to be built of parts separated by ~ character; the nature if part #1.
descriptionstring The description of UNICOS device, extracted from DP comment. The comment is supposed to be built of parts separated by ~ character; the description if part #3.
alarmTypestring The 'official' name of alarm type. For DPs of types CPC_AnalogAlarm and CPC_DigitalAlarm, the value is calculated by parsing the value of DPE *.statusInformation.configuration.deviceConfiguration: in string like 'TYPE:TS:QRLIC_07L3_CV998' the alarm type is second part (TS in this example). For other DP types, the value extracted from DP comment. The comment is supposed to be built of parts separated by ~ character; the name if part #4.
masterstring The name of 'master' device, only used for DPs of type CPC_AnalogAlarm and CPC_DigitalAlarm. The value is calculated by parsing the value of DPE *.statusInformation.configuration.deviceConfiguration: in string like 'TYPE:TS:QRLIC_07L3_CV998' the alarm type is last part (QRLIC_07L3_CV998 in this example).
alarmLevelint/string The level of alarm, only used for DPs of type CPC_AnalogAlarm and CPC_DigitalAlarm. The value is calculated by parsing the value of DPE *.statusInformation.configuration.deviceConfiguration: in string like 'ALARM_LEVEL:2' the resulting alarm level is 2. The following meaning of levels is used:
  • 0 = Info
  • 1 = Warning
  • 2 = Alarm
  • 3 = Safety alarm
unPanelstring The name of panel, designed to display detailed information for this UNICOS device (faceplate). Panel name is xtracted from DP comment. The comment is supposed to be built of parts separated by ~ character; the panel name if part #5.
sstring property to provide visible indication (in table) for existence of faceplate for this device. The rule for calculating this property is: the value is string "S" if the value of unPanel property is not empty, otherwise the value of this property is empty. Column with this property is used in Alarm Table for opening device faceplate when left mouse button is clicked on cell with "S'. </td> </tr> </table> @note JCOP and UNICOS plugins use the name names ("alias" and "deviceType") with different meaning. If both plugins are used in the same @ref subsubsec_RefJsonBasicConfigAlarmModel "model configuration", then the last one wins.