OPC Alarm and Event Data
OPC alarm event categories are made available to subscribing alarm clients (in AlarmWorX64 Viewer, GraphWorX64 displays, and other runtime access tools). The information provided in this topic is helpful when working with Alarm Categories.
Below in this topic are:
Events and Their Attributes
This table shows the different event types, their names, and their attributes.
Alarm Event Attributes
Event Name |
Deviation |
Digital |
Limit |
Rate of Change |
Type |
Comment |
ACK COMMENT |
|
|
|
|
VT_BSTR |
Comment entered when alarm was last acknowledged. |
ALARM COUNT |
|
|
|
|
VT_I4 |
Number of alarm transitions before acknowledge. |
AREA |
|
|
|
|
VT_ARRAY | VT_BSTR |
Array of areas. |
CV |
|
|
|
|
VT_R8 |
Current Value (OPC Input 1 or 2). |
DEADBAND |
|
|
|
VT_BOOL |
Deadband buffer amount that the alarm value must pass before leaving an alarm state. |
|
DEFAULT DISPLAY |
|
|
|
|
VT_R8 |
A text string, usually a file name, that when launched provides related information. |
HELP TEXT |
|
|
|
|
VT_BSTR |
Help information. |
LIMIT VALUE EXCEEDED |
|
|
|
VT_BSTR |
The Current Value at the time the limit was exceeded. |
|
LOOP DESC |
|
|
|
|
VT_R8 |
A description of the Source (tag). |
NEXT_LIM |
|
|
|
VT_BSTR |
The value of the next limit. |
|
NORMAL STATE |
|
VT_R8 |
Value of the normal state (TRUE or FALSE). |
|||
PREV LIM |
|
|
VT_BOOL |
Value of the previous limit reached. |
||
RELATED VALUE 01-10 |
|
|
|
|
VT_R8 |
Associates up to 10 OPC tags or expressions with each alarm tag as ”r;supplemental” information to the alarm. |
SP |
|
VT_SP |
Setpoint (OPC Input 2) |
OPC Data Access Interface
The AlarmWorX64 Server exposes much of its real-time and configuration data via the OPC Data Access specification. This allows OPC Data Access client applications, such as GraphWorX64, to make use of alarm-related data without using the OPC Alarm & Events interface. Some typical uses would include:
-
Changing the color of a graphic symbol to correspond to alarm state.
-
Displaying alarm limits.
-
Allowing alarm limits to be changed by the operator.
The following table lists the OPC item names that are available from the server.
OPC Data Access Items
Item Name |
Type |
Read/Write |
Comment |
Active |
VT_BOOL |
R |
Tag's Global Alarm Active Bit. |
Name |
VT_BSTR |
R |
Tag Name (Source). |
Input1 |
VT_BSTR |
R |
|
BaseText |
VT_BSTR |
R |
|
Enabled |
VT_BOOL |
R |
Enabled state of the Source (tag). |
HelpText |
VT_BSTR |
R |
|
LIM_RTNText |
VT_BSTR |
R |
|
LIM_Input2 |
VT_R8 |
R |
|
LIM_Deadband |
VT_R8 |
R |
|
LIM_Active |
VT_BOOL |
R |
|
LIM_Acked |
VT_BOOL |
R/W |
|
LIM_HIHI_Active |
VT_BOOL |
R |
|
LIM_HIHI_Enabled |
VT_BOOL |
R/W |
|
LIM_HIHI_RequiresAck |
VT_BOOL |
R/W |
|
LIM_HIHI_Severity |
VT_R8 |
R/W |
|
LIM_HIHI_Limit |
VT_R8 |
R/W |
|
LIM_HIHI_MsgText |
VT_BSTR |
R/W |
|
LIM_HI_Active |
VT_BOOL |
R |
|
LIM_HI_Enabled |
VT_BOOL |
R/W |
|
LIM_HI_RequiresAck |
VT_BOOL |
R/W |
|
LIM_HI_Severity |
VT_R8 |
R/W |
|
LIM_HI_Limit |
VT_R8 |
R/W |
|
LIM_HI_MsgText |
VT_BSTR |
R/W |
|
LIM_LOLO_Active |
VT_BOOL |
R |
|
LIM_LOLO_Enabled |
VT_BOOL |
R/W |
|
LIM_LOLO_RequiresAck |
VT_BOOL |
R/W |
|
LIM_LOLO_Severity |
VT_R8 |
R/W |
|
LIM_LOLO_Limit |
VT_R8 |
R/W |
|
LIM_LOLO_MsgText |
VT_BSTR |
R/W |
|
LIM_LO_Active |
VT_BOOL |
R |
|
LIM_LO_Enabled |
VT_BOOL |
R/W |
|
LIM_LO_RequiresAck |
VT_BOOL |
R/W |
|
LIM_LO_Severity |
VT_R8 |
R/W |
|
LIM_LO_Limit |
VT_R8 |
R/W |
|
LIM_LO_MsgText |
VT_BSTR |
R/W |
|
DEV_RTNText |
VT_BSTR |
R |
|
DEV_Input2 |
VT_R8 |
R |
|
DEV_Deadband |
VT_R8 |
R |
|
DEV_Active |
VT_BOOL |
R |
|
DEV_Acked |
VT_BOOL |
R/W |
|
DEV_HIHI_Enabled |
VT_BOOL |
R/W |
|
DEV_HIHI_RequiresAck |
VT_BOOL |
R/W |
|
DEV_HIHI_Severity |
VT_R8 |
R/W |
|
DEV_HIHI_Limit |
VT_R8 |
R/W |
|
DEV_HIHI_MsgText |
VT_BSTR |
R/W |
|
DEV_HI_Enabled |
VT_BOOL |
R/W |
|
DEV_HI_RequiresAck |
VT_BOOL |
R/W |
|
DEV_HI_Severity |
VT_R8 |
R/W |
|
DEV_HI_Limit |
VT_R8 |
R/W |
|
DEV_HI_MsgText |
VT_BSTR |
R/W |
|
DEV_LOLO_Enabled |
VT_BOOL |
R/W |
|
DEV_LOLO_RequiresAck |
VT_BOOL |
R/W |
|
DEV_LOLO_Severity |
VT_R8 |
R/W |
|
DEV_LOLO_Limit |
VT_R8 |
R/W |
|
DEV_LOLO_MsgText |
VT_BSTR |
R/W |
|
DEV_LO_Enabled |
VT_BOOL |
R/W |
|
DEV_LO_RequiresAck |
VT_BOOL |
R/W |
|
DEV_LO_Severity |
VT_R8 R/W |
R/W |
|
DEV_LO_Limit |
VT_R8 R/W |
R/W |
|
DEV_LO_MsgText |
VT_BSTR |
R/W |
|
DIG_RTNText |
VT_R8 R/W |
R |
|
DIG_Input2 |
VT_R8 |
R |
|
DIG_Active |
VT_BOOL |
R |
|
DIG_Acked |
VT_BOOL |
R/W |
|
DIG_Enabled |
VT_BOOL |
R/W |
|
DIG_RequiresAck |
VT_BOOL |
R/W |
|
DIG_Severity |
VT_R8 |
R/W |
|
DIG_Limit |
VT_R8 |
R/W |
|
DIG_MsgText |
VT_BSTR |
R/W |
|
ROC_RTNText |
VT_BSTR |
R |
|
ROC_Input2 |
VT_R8 |
R |
|
ROC_Active |
VT_BOOL |
R |
|
ROC_Acked |
VT_BOOL |
R/W |
|
ROC_Enabled |
VT_BOOL |
R/W |
|
ROC_RequiresAck |
VT_BOOL |
R/W |
|
ROC_Severity |
VT_R8 |
R/W |
|
ROC_Limit |
VT_R8 |
R/W |
|
ROC_MsgText |
VT_BSTR |
R/W |
|
LIM_HIHI_Active |
VT_BOOL |
R |
|
LIM_HI_Active |
VT_BOOL |
R |
|
LIM_LOLO_Active |
VT_BOOL |
R |
|
LIM_LO_Active |
VT_BOOL |
R |
|
DEV_HIHI_Active |
VT_BOOL |
||
DEV_HI_Active |
VT_BOOL |
||
DEV_LOLO_Active |
VT_BOOL |
||
DEV_LO_Active |
VT_BOOL |
Area Bits
Item Name |
Type |
Read/Write |
Comment |
Area_Active |
VT_BOOL |
R |
Notifies that one or more tags in the current area is in active state. |
Area_Unacked |
VT_BOOL |
R |
Notifies that one or more tags in the current area has not been acknowledged. |
Recursive_Active |
VT_BOOL |
R |
Notifies that one or more tags in the current area or any subdirectories is in active state. |
Recursive_Unacked |
VT_BOOL |
R |
Notifies that one or more tags in the current area or any subdirectories has not been acknowledged. |
Error Reporting
Internal errors encountered by the AlarmWorX64 Server are reported via the GENESIS64 Event Server, another OPC Alarm & Events compliant server. The GENESIS64 Event Server can optionally write selected events to the NT Event Log. The following simple events may be generated by the AlarmWorX64 Server : For the GENESIS64 Event Server, severity values of 600 and below are considered "normal," and severity values of 601 to 1000 are considered errors.
Server Errors
Severity |
Message |
500 |
"%1 %2 Started." |
500 |
"%1 %2 Stopped." |
700 |
"Alarm Tag: %1, Condition: %2, Input Item: %3, Error: Unknown" |
700 |
"Alarm Tag: %1, Condition: %2, Input Item: %3, Error: Tag does not exist." |
700 |
"Alarm Tag: %1, Condition: %2, Input Item: %3, Error: Rejected by Security Server ." |
700 |
"Alarm Tag: %1, Condition: %2, Input Item: %3, Error: Licensed I/O Point Count Exceeded. " |
700 |
"Alarm Tag: %1, Condition: %2, Input Item: %3, Error: Demo mode has timed out." |
700 |
"Alarm Tag: %1, Condition: %2, Input Item: %3, Error: Local I/O not allowed on Browser node." |
700 |
"Alarm Tag: %1, Condition: %2, Input Item: %3, Error: COM error registering with GenRegistrar." |
800 |
"%1 %2 Failed to Register with GenRegistrar. Reason: %3" |
800 |
"No configuration found for node and no ""Default"" configuration in Database Provider: %1 Connection: %2" |
800 |
"Database Error - Provider: %1 Connection: %2" |