Clients access the Hyper Alarm Server through ICONICS FrameWorX interface. OPC DA, OPC AE, OPC UA or other standardized interfaces are not implemented by the Hyper Alarm Server specifically, but some (OPC DA for example) are implemented at the FrameWorX server level and encompass all Point Managers.
The following image illustrates all important points exposed by the Hyper Alarm Server Point Manager and the following sections describe them.
Exposed Points
When the Hyper Alarm Server configuration is installed into the same database as AssetWorX, then this Area will appear. Functionally, it is a regular Area as the other Areas defined directly in the Hyper Alarm Server configuration database, and the content mirrors the address space of AssetWorX. Each AssetWorX Equipment is represented by another Area, and each Equipment Property with an alarm configured will be visible as an Alarm source.
Areas are configured in the Hyper Alarm Server section of Workbench. The AlarmWorX64 Viewer can subscribe to an individual Area instead to the whole Hyper Alarm Server root to receive alarm notifications for that Area and any nested Areas only.
Alarm counters appear under each Area and directly in the root. More detailed description of these counters can be found in the Configuring Counters topic.
Each Alarm source is represented by a point. The AlarmWorX64 Viewer can subscribe to an individual Alarm source to receive alarm notifications for that source only.
Field points appear under each Alarm source and the provide the current value for each individual alarm field. The Field points send a new value to the client every time the value changes, ignoring any scan rate requested by the client.
If the alarm is in the Inactive Acknowledged state, the value of the Field points will be empty. This alarm state is considered the default state and is the state where the alarm disappears from the alarm viewer.
There are two kind of fields exposed. The standard fields defined by the FrameWorX Server and by Hyper Alarm Server is the first kind. Their point names use the at character (@) in front of the field name, for example alms:/Plant Area A.Ash Content@Message. A list of these fields can be found in the section, "Standard fields processed by the Hyper Alarm Server".
The second kind are the user-defined fields. Their point names use the hash mark (#) in front of the field name, for example alms:/Plant Area A.Ash Content#Related Value1.
As an alternative to the context menu of the AlarmWorX64 Viewer, it is possible to acknowledge an alarm or to move an alarm in and out of the Suppressed states using the State operation methods. In order to move the alarm in and out of the Suppressed states through the methods here, this capability must be enabled through the ‘Enable User XXX’ setting. See the section "Settings Page" for details. By suppressed states, this documentation refers to any of the Out of Service, Shelved, or Suppressed by Design states.
Method Name + Parameters |
Description |
Acknowledge(String comment) |
Acknowledges the alarm. |
LatchReset(String comment) |
Resets the alarm from a latch state. |
OutOfServiceOn(String comment) |
Transfers the alarm in or out one of the suppressed states.
|
OutOfServiceOff(String comment) |
|
TimeSpan shelveTime) |
|
ShelveOff(String comment) |
|
SuppressedByDesignOn(String comment) |
|
SuppressedByDesignOff(String comment) |
All the methods have an optional comment parameter. The value will be included in the alarm update in the appropriate field.
User identification is not one of the parameters to any of the methods, the user information is extracted from FrameWorX Server security and included in the alarm update in the appropriate field also.
The shelveTime optional parameter on the ShelveOn method can contain a value in seconds after which the alarm will be automatically un-shelved. If this parameter is not specified or zero, the alarm will remain shelved until un-shelved manually.
The Redundancy folder exposes basic redundancy related information. When no Redundancy is configured, only information about the local server instance is provided, with Redundancy enabled, both the local and remote servers appear under the Redundancy folder, as seen in the following image.
Redundancy Folder
The Remote folder tunnels to the Local folder of the other computer in the pair. It can be used to verify that communication is functioning between the two computers in the pair.
The MakeActive method can be used to manually switch a server from the standby mode to active. Individual real-time data points have the following meaning (listed in the following chart).
Point Name |
Data Type |
Description |
Active |
Boolean |
True when the server is active in the redundant pair. ServerStateName is Active. |
CanMakeActive |
Boolean |
True when the MakeActive method may succeed. |
CurrentTime |
DateTime |
The current system time in UTC. |
MachineName |
String |
The computer NETBIOS name. |
Online |
Boolean |
True when server is ready to serve data. ServerStateName is Active or Standby. |
RedundancyEnabled |
Boolean |
True when redundancy is enabled. |
ServerStateName |
String |
The current state of redundancy, values are not localized. For possible values, see the following table. |
StartTime |
DateTime |
The system time in UTC when the Hyper Alarm Server started. |
Version |
String |
The Hyper Alarm Server DLL file version. |
Individual states of the ServerStateName point:
Value |
Description |
Offline |
Server doesn't have resources to run (license failure, logger severe error, etc.). |
Startup |
Server is pending for communication with peer server. |
Active |
Active server, main source of data. |
Standby |
Standby server, receives data from Active server. |
Each Area and Alarm source exposed by the Hyper Alarm Server can be used by the AlarmWorX64 Viewer to subscribe to.
The server exposes the following Alarms & Events type hierarchy.
Alarms & Events Type Hierarchy
The BaseEventType and BaseConditionType together with their fields are defined by the FrameWorX server, but a list of supported fields will be given in the next section anyway.
The AlmsBaseType contains all the fields statically defined by the Hyper Alarm Server. These are described in the next section as well.
The AlmsCommonType contains all the user defined custom fields from all the alarm Types defined in Workbench. Individual alarm Types are not exposed separately from the Alarms & Evens type hierarchically. User defined custom fields are merged using culture invariant case insensitive comparison.
The BaseEventType and BaseConditionType together with their fields are defined by the FrameWorX server, but a list of supported fields will be given in the next section anyway.
The AlmsBaseType contains all the fields statically defined by the Hyper Alarm Server. These are described in the next section as well.
The AlmsCommonType contains all the user defined custom fields from all the alarm Types defined in Workbench. Individual alarm Types are not exposed separately from the Alarms & Evens type hierarchically. User defined custom fields are merged using culture invariant case insensitive comparison.
Type |
Field Name |
Data Type |
Description |
BaseEventType |
EventId |
Byte array |
Uniquely identifies the event notification. |
EventTypeName |
String |
Always ‘AlmsCommonType’ |
|
EventClass |
UInt32 |
Always 2 |
|
SourceName |
String |
Identifies the Alam source. E.g. “/Area1.Source1” |
|
Time |
DateTime |
The time of the event notification. |
|
Message |
String |
Alarm message. |
|
Severity |
UInt16 |
Alarm severity. |
|
BaseConditionType |
AckRequired |
Boolean |
True, if the alarm will require acknowledging. |
ActiveTime |
DateTime |
The time when the alarm occurred. Any transitions between sub-states does not set a new time, as long as the alarm remains active. |
|
ActorId |
String |
The user that acknowledged the alarm. |
|
ConditionName |
String |
The name of the Alarm Type associated with the Alarm source. |
|
NewState |
UInt32 |
A bit field that describe the current alarm state. Basic fields: 0 - Enabled, 1 - Active, 2 - Acknowledged. Extra fields: 4 - Shelved, 5 - Suppressed by Design, 6 - Out of Service, 7 - Latched. |
|
StatusCode |
StatusCode |
Quality of the value that triggered the alarm. |
|
SubConditionName |
String |
The name of the condition, as configured on the Conditions tab of the alarm type. |
|
AlmsBaseType |
AckComment |
String |
Comment for the acknowledge operation. |
AckTime |
DateTime |
Time of the acknowledge operation. |
|
SupActorId |
String |
The user that suppressed or un-suppressed the alarm. |
|
SupComment |
String |
Comment for the suppress or un-suppress operation. |
|
SupTime |
DateTime |
Time of the suppress or un-suppress operation. |
|
SupOffTime |
DateTime |
Time of the automatic un-suppress operation, or empty. |
|
ResActorId |
String |
The user that reset the alarm from the latch state. |
|
ResComment |
String |
Comment for the latch reset operation. |
|
ResTime |
DateTime |
Time of the latch reset operation. |
See Also:
Comparison with AlarmWorX64 Server