Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Hyper Alarm Server – Quick Start

Application Note November 2021

Description: An introduction to the Hyper Alarm Server with Currently there is no method to convert an AlarmWorX64
examples and troubleshooting information. Server configuration to a Hyper Alarm Server configuration.
Users are encouraged to use the Hyper Alarm Server for new
General Requirement: Basic knowledge of AlarmWorX64
projects and continue using the AlarmWorX64 Server for
Viewer, alarms, and AssetWorX.
existing projects unless there is a feature of the Hyper Alarm
Server that warrants an upgrade.
Introduction ICONICS hopes that the Hyper Alarm Server will fit the needs of
new projects better than the AlarmWorX64 Server. If this is not
New in 10.97, the Hyper Alarm Server offers ISA 18.2-compliant
the case, please contact ICONICS technical support with the
and redundant alarming. The Hyper Alarm Server is built on
features of the AlarmWorX64 Server that cannot be replicated
new technology to provide better performance and more
in the Hyper Alarm Server to help us close gaps in functionality.
customization for the alarms generated.

Differences between Hyper Alarm Server Alarm Types


and AlarmWorX64 Server When creating alarms in the Hyper Alarm Server, the first step
is to create alarm types. These serve both as templates for your
The Hyper Alarm Server and the AlarmWorX64 Server both alarm tags and to define the logic behind an alarm. An alarm
create alarms based on input tags, but there are a few type defines the possible states or conditions, when the alarm
differences in their behavior. Some of the most notable should be enabled, specific types of related values, and more.
differences are below:
Alarm types are used in specific alarm tags, which are created
AlarmWorX64 Hyper Alarm in the Areas tree.
Feature Server Server
Hyper Alarm Server comes with several predefined alarm types
Alarms in multiple that should fit the majority of use cases. The ability to define

areas new alarm types or change the existing alarm types allows the
user to greatly customize their alarm behavior in ways that was
Multiple
not possible in the AlarmWorX64 Server without patches or
configurations in one ✓
version updates.
database
The following sections describe the tabs of an alarm type.
Templates ✓ ✓ (alarm types)

Customizable alarm
✓ General
logic
The General tab is used to create the expression for the
Real-time inputs ✓ ✓
processing of alarms. This is used with the Conditions tab to
Historical data inputs ✓ determine the logic behind the alarm states.

Runtime configuration The expression on the General tab is one of the most important

changes via DA points parts of an alarm type, which is why it has a prominent place
on the front page, but it should be configured last. It uses fields
Max related values per
20 Unlimited from the Inputs tab and conditions defined on the Condition
alarm
tab.
Integrated with When an alarm tag of this type is evaluated, this expression is

AssetWorX run. The expression should result in an integer. The integer is
ISA 18.2 compliance ✓ ✓ then matched to one of the conditions on the Conditions tab
to determine the condition of this alarm tag.

© 2021 ICONICS, Inc. Page 1 of 7 Hyper Alarm Server - Quick Start


Hyper Alarm Server – Quick Start

Application Note November 2021

Enable User Shelved Allows users to False


manually set
Shelved

Shelved Allows automatic Disabled


Shelved to be
triggered (Enable
User Shelved must
be disabled)

Alarm On-Delay Time alarm waits 0 seconds (no


before switching to delay)
alarm state

Alarm Off-Delay Time alarm waits 0 seconds (no


before switching to delay)
the normal state
Figure 1 - General Tab

Inputs
Settings
The Inputs tab defines the set of values needed to create a
The Settings tab is used to configure a number of optional specific alarm using this type. When an alarm tag is created
settings for each alarm type. If a setting is not configured it will using the alarm type, the user will be presented with a form
use a default value. The available setting and their default made up of the inputs defined on this tab.
values are described in the table below.
Each input has a number of properties that are used to create
Setting Description Default Value the form, including the category, display name, input type, and
default value.
Enable User Out of Allows users to False
Service manually set Out of
Service

Out of Service Allows automatic Disabled


Out of Service to be
triggered (Enable
User out of Service
must be disabled) Figure 2 – Input parameters on alarm source entry

Enable User Allows users to False


Suppressed by manually set User Some properties provide a list of preconfigured values. Select
Design Suppressed by the tag button next to a property to see its available values.
Design These values can be localized for the alarm tag form, which
means if these values are used for the input section, they will
Suppressed by Allows automatic Disabled change based on the language for GENESIS64. If a custom
Design Suppressed by string is entered here, they will not be translated.
Design to be
triggered (Enable
User Suppressed by Triggers
Design must be The Triggers tab is used to determine when the alarm should
disabled) be evaluated for possible condition changes. Triggers can be
based on either time or data change. Alarm types can have
multiple triggers.
© 2021 ICONICS, Inc. Page 2 of 7 Hyper Alarm Server - Quick Start
Hyper Alarm Server – Quick Start

Application Note November 2021

Fields The General tab of each alarm tag has basic options for the
display name and description. On the Inputs tab the user
The Fields tab is used to determine what fields from the alarm
chooses a type out of the defined alarm types, then the rest of
are sent to clients (such as the AlarmWorX64 Viewer). In
the Inputs tab is populated based on the defined inputs of that
addition to standard fields, such as Message and Severity, the
alarm type.
user can create their own custom fields. These act as related
values and can have customized names.
The default value for fields can use information defined on the
Inputs tab.

Conditions
The Conditions tab is used to create the different conditions for
alarms. The result of the expression on the General tab is
matched to the code of one of these conditions to determine
the condition or state of the alarm.

When creating the conditions, code 0 should always be used


for the normal state.

Figure 4 – Alarm Source Configuration

Hyper Alarm Server Examples

Use a sample alarm type


1. Right click on an area or right click on Areas and
Figure 3 - Conditions tab choose Add Tag.
2. Give this alarm a name and click on the Inputs tab.
Values 3. Select Digital in the Type dropdown list.
4. On the Input tab fill out the fields for the alarm. An
The Values tab shows the conditions and the fields in a table to example of the values is below. String parameters
allow specific conditions to provide different field values in need to be surrounded with double quotes.
runtime.

For example, if the user wants to create an alarm type that has
a severity of 500 when it is in the normal state but higher
severity when it is in the Hi or HiHi state they can set the
default severity to 500 on the Fields tab and set higher
severities for Hi or HiHi on the Values tab.
Values that come from the defaults defined on the Fields tab
are shown in blue. Edited values are showed in black.

Alarm Tags
Alarm tags are created under Hyper Alarm Server > Areas.
© 2021 ICONICS, Inc. Page 3 of 7 Hyper Alarm Server - Quick Start
Hyper Alarm Server – Quick Start

Application Note November 2021

condition a unique name. These will be used to


determine if the alarm should be in LoLo, Normal or
Section Property Value
HiHi state. For this example, LoLo is -1, Normal is 0,
and HiHi is 1.
General Data @sim64:Bool.Static("Static1").Val 3. Now go to the Inputs tab and create the following
Settings Source ue inputs. Some properties have dollar signs around
them because these are the predetermined names of
General Default C:\Program
the fields. These can be used to allow localization of
Settings Display Files\ICONICS\GENESIS64\WebSi
the fields. The user can put in their own strings, but
tes\PubDisplay\DataExplorer.gdfx
they will not be translated if the language of
General Base Text “Alarm 1 is “ GENESIS64 is changed.
Settings
Category Name DisplayName Input
General Help “Alarm Tag 1 is in the alarm Type
Settings Instructions state, see related values for other
$GeneralSettings$ DataSource $DataSource$ Dynamic
related properties on the alarm”
$LoLoConditions$ LoLoValue $Value$ Dynamic
Alarm State Value 1
$LoLoConditions$ LoLoText $MessageText$ Dynamic
Alarm State Message “in alarm”
Text $Normal$ NormalText $MessageText$ Dynamic
Alarm State Severity 800 $HiHiConditions$ HiHiValue $Value$ Dynamic
Alarm State Requires Checked $HiHiConditions$ HiHiText $MessageText$ Dynamic
Ack

Return to Message “is normal”


Normal Text 4. Go to the Fields tab and add in one field using the
Add button. On this field select Message from the
Return to Requires Unchecked Field Type list. Now repeat this for Severity and
Normal Ack Requires Ack. After this, there should be three items in
the list: Message, Severity, and RequiresAck.
Related 1 @sim64:Float.Static("Static1").Val
5. Now go back to the General tab and create the
Values ue
expression below. In the example below, 1 is the HiHi
Related 2 @sim64:Double.Static("Static1"). state, -1 is the LoLo state, and 0 is the Normal state.
Values Value

5. Click Apply after entering in the data for the alarm.


When the source tag is greater than 1, the alarm will
show as active in the AlarmWorX64 Viewer.

Figure 5 - Expression for HiHi and LoLo Alarm


Create and use your own Alarm Type
This example creates an alarm type that has both a HiHi 6. After doing this, click Apply.
condition and a LoLo condition for the alarm. 7. Go to the Triggers tab and add in a data trigger for
Data Change and set the input to DataSource.
1. Go to the Hyper Alarm Server and right click on Types
8. On the Values tab set the table up using the table
to add a Type.
below.
2. Go to the conditions tab and add three conditions
with three unique values for code and give each

© 2021 ICONICS, Inc. Page 4 of 7 Hyper Alarm Server - Quick Start


Hyper Alarm Server – Quick Start

Application Note November 2021

Condition Name Severity Message RequiresAck 1. Go to AssetWorX and find the AssetWorX Property
the alarm will be created on. For this example, the
LoLo 700 {{LoLoText}} 1
property used is Equipment → Company → Foxboro
Normal 700 {{NormalText}} 0 Bakery → North → Baking line → Ingredients mixing
tank → Ingredient charger → Heating control →
HiHi 700 {{HiHiText}} 1 CurrentTemperature
9. Give the Alarm Type a name and then click on Apply 2. After opening the AssetWorX property, go to the
to save changes. Alarm tab and check the box labeled “Hyper Alarm
10. After making this Alarm Type, go to the Areas section Server alarm”.
and add an alarm tag using this new alarm type. 3. Select the Type from the dropdown list. For this
11. Add in the properties for this new alarm type. The example, select Hi Limits.
string parameters (such as message) need to be 4. Fill in the information for the alarm and click Apply.
surrounded by double quotes. An example of a Section Property Value
configured alarm is below.
Return to Normal Message Text "Alarm is Normal"
Section Property Value
Hi Condition Value 50
General Data @sim64:Float.Static("Static1").Value
Settings Source Hi Condition Message Text "Alarm is Hi"

LoLo Value 20 Hi Condition Severity 800


Condition
Hi Condition Requires Ack Checked
LoLo Message “Tag is LoLo”
HiHi Condition Value 80
Condition Text
HiHi Condition Message Text "Alarm is HiHi"
Return To Message “Tag is Normal”
Normal Text HiHi Condition Severity 800

HiHi Value 50 HiHi Condition Requires Ack Unchecked


Condition

HiHi Message “Tag is HiHi”


5. After clicking Apply the alarm will show in the
Condition Text
AlarmWorX64 Viewer with the AssetWorX path as the
tag name.

12. Click Apply after entering in the data for the alarm.
When the tag is either higher than the HiHi limit or Subscribing to Hyper Alarm Server
lower than the LoLo limit, the alarm should show in
the AlarmWorX64 Viewer. The Hyper Alarm Server can be subscribed to via the
AlarmWorX64 Viewer and through other GENESIS64 clients as
either data points or Alarm and Event Subscriptions.
Create alarms in AssetWorX
The address space for the Hyper Alarm Server is separated out
The Hyper Alarm Server can also be integrated into AssetWorX into different sections. The first section is AssetWorX
to allow alarms to use the AssetWorX properties. The alarms integration, then the Redundancy information shown, and lastly
will use the AssetWorX path for the name and the point in the the area tree where the alarms are created.
AssetWorX Real-Time Data property as the input. This example
uses the sample configuration for the Hyper Alarm Server and
AssetWorX. Both of these configurations need to be in the
same database to use this feature.

© 2021 ICONICS, Inc. Page 5 of 7 Hyper Alarm Server - Quick Start


Hyper Alarm Server – Quick Start

Application Note November 2021

Counters
Counters are used to expose information about the number of
alarms active or max severity to clients or Windows
Performance Monitors to see the overall performance of the
Hyper Alarm Server.
In the default configuration some counters are already created
in the system and can be exposed as process points to clients.
Some examples are the count of active and acknowledged
alarms, the maximum severity of active and acknowledged
alarms, etc.
More counters can be created by going to Product
Configuration → Counters in the Hyper Alarm Server tree.
These would be created by adding a new counter and creating
a new expression that uses properties of the alarms.
Figure 6 - Sections of Data Browser

When subscribing to the entire Hyper Alarm Server via the


Point Tracing
AlarmWorX64 Viewer, the path would be: Point tracing is built into the Hyper Alarm Server to track the
alms: values of the inputs using TraceWorX. This is used to
troubleshoot the expressions made for the alarm types and to
see the process the expression followed when the alarm
Redundancy Support triggered.

Hyper Alarm Server has redundancy built into the product To enable Point Tracing go to the Product Configuration →
using FrameWorX redundancy as a base. The behavior for System Settings section of the Hyper Alarm Server tree and
Hyper Alarm Server redundancy is that the active server find the section called Point Tracing. In this section, check the
processes alarms and acknowledgements for the clients. For Enabled box and this will enable point tracing.
the standby server, it synchronizes the alarm states with the There are different fields that can be enabled for TraceWorX
active server. Both servers should have the same configuration and they are used for troubleshooting different sections of the
database with the same settings in them. alarms. A&E Point Names is used to choose which alarms to
The configuration settings for redundancy are in the Product trace. The A&E Field Names and A&E Type Setting Names are
Configuration → System Settings section of the Hyper Alarm the properties of those alarms to be traced.
Server tree. For the A&E Field Names, the default Field Types need to start
The settings for redundancy are the Primary Computer Name with the @ symbol (@Message, @Severity, @RequiresAck).
and the Secondary Computer Name. These are to set the two Custom field names are just the name of the field. For the A&E
servers being set for redundancy. The Primary Host and Type Setting Names, these match the list shown on the
Secondary Host are backup hostnames or IP addresses to Settings tab of the Alarm Type. To put these into TraceWorX,
connect to the server machines. This is used in case the original use the name without spaces (EnableUserOutOfService,
host name is inaccessible. OutOfService, EnableUserSuppressedByDesign,
SuppressedByDesign, EnableUserShelved, Shelved,
AlarmOnDelay, AlarmOffDelay).
Troubleshooting The input and output point names are used to track the values
The Hyper Alarm Server has built in features to assist in of the inputs to the Hyper Alarm Server (OPC points) and the
troubleshooting issues. outputs from the Hyper Alarm Server to other GENESIS64
clients. For multiple tags, separate with semicolons.

© 2021 ICONICS, Inc. Page 6 of 7 Hyper Alarm Server - Quick Start


Hyper Alarm Server – Quick Start

Application Note November 2021

Point Description Example


Tracing
Setting

A&E Point List of alarm .AlarmTag;/Area1.Source1


Figure 7 - Example TraceWorX Messages
Names tags in Hyper
Alarm Server
to trace, Clicking on one of the details links will show the expression
separated by evaluation trace which breaks down the expression for the
semicolons. alarm itself. This is useful for seeing the result of the
expressions for the alarms.
A&E Field List of Field @Message;DefaultDisplay
Names names from
the alarms
enabled in the
A&E Point
Names

A&E Type List of Type EnableUserOutOfService;


Setting Setting from OutOfService
Names the alarms
enabled in the
A&E Point
Names

Input Point List of points PathtoOPCTag1;


Figure 8 - Expression Evaluation trace
Names being
requested by @sim64:Long.Ramp(10,0.0,
the Hyper 100.0,0).Value
Alarm Server

Output List of Hyper alms:/Plant Area


Point Alarm Server A=ActiveAckedCount;
Names points being
alms:/Plant Area A.Ash
requested by
Content@ActorId
GENESIS64
clients.

Finally, open TraceWorX by navigating to Tools > TraceWorX in


the Workbench. Find the Hyper Alarm Server Point Manager
Service in the Modules list and set the Trace Level to Severe
Error (900). Click Save Changes. This will enable tracing at the
900 level, and we will have the Point Tracing messages in the
log as well. There is no need to restart the Hyper Alarm Server
service – it supports online changes.

After enabling these settings, messages like in Figure 7 will


appear in the TraceWorX log.

© 2021 ICONICS, Inc. Page 7 of 7 Hyper Alarm Server - Quick Start

You might also like