Alarm Gateway Object For Wonderware Application Server: User Guide Ver 1.x Rev 1.12 PR 00185
Alarm Gateway Object For Wonderware Application Server: User Guide Ver 1.x Rev 1.12 PR 00185
for Wonderware
Application Server
User Guide
Ver 1.x Rev 1.12
PR 00185
WONDERWARE FINLAND
P.O. Box 38
FIN-00371 Helsinki Finland
tel. int. + 358 9 5404940
fax int. + 358 9 5413541
www.wonderware.fi
i
Table of Contents
Introduction .................................................................................................................... 1
Installing the Alarm Gateway Object .............................................................................. 3
Hardware requirements .............................................................................................. 3
Software requirements................................................................................................ 3
Content of delivery package ....................................................................................... 3
Installing standalone object ........................................................................................ 4
Object import .............................................................................................................. 4
Object configuration .................................................................................................... 5
Licensing requirements............................................................................................... 10
Demo License installation ....................................................................................... 10
Software Key installation ......................................................................................... 11
Configuration .................................................................................................................. 12
General Configuration................................................................................................. 12
Consumer:............................................................................................................... 12
Provider: .................................................................................................................. 13
Run-Time Object Attributes ........................................................................................ 14
Custom Alarm/Event attributes ................................................................................... 15
Wonderware alarm system custom attributes ......................................................... 16
Troubleshooting Wonderware alarm system custom attributes ............................... 23
Exposed Alarm Fields ................................................................................................. 30
Configuration attributes ........................................................................................... 34
Exposed attributes .................................................................................................. 36
Custom Acked Alarm comment field ........................................................................... 38
Overview ................................................................................................................. 38
Configuration ........................................................................................................... 40
UReason gateway .......................................................................................................... 45
Alarm Gateway UReason Mimic functionality ............................................................. 46
Mimic functionality without UReason alarming system ................................................... 48
Multiple distributed Alarm Gateway configuration setup sample .................................... 50
Object configuration .................................................................................................... 50
Alarm client configuration ........................................................................................... 57
Redundant Alarm Gateway configuration setup sample................................................. 58
Troubleshooting ............................................................................................................. 60
Advanced Troubleshooting............................................................................................. 64
Log Flags for SMC Log Viewer ................................................................................... 64
Logging to Custom log file .......................................................................................... 67
Collecting log files for technical support ......................................................................... 68
Object upgrade procedure .............................................................................................. 69
Object clean uninstall procedure .................................................................................... 70
Alarm Gateway supports advanced alarm filtering, mimic and shelved alarms, possibilities
to use and modify the user defined fields and event priority fields. Avoids alarm loss and
duplicated alarms in high loaded systems. Supports functionality to send/receive alarms
to/from Wonderware alarming system from/to UReason Alarm Management system. The
Alarm Gateway Object is developed by using Wonderware Distributed Alarm Toolkit.
The Alarm Gateway can be used to solve, for example, the following tasks:
WAS Historical alarms and events are stored in a circular buffer, where the oldest entries
are discarded to make room for new ones, so in case there generated a lot of events then
important alarms can be lost.
By using the Alarm Gateway, it is possible to store all important alarms in separate Alarm
Gateway buffer - that can be done by querying alarms/events only with priorities from 1 to
998:
Note: Alarm Gateway alarm buffer can contain about 6000-7000 alarms. The total number
of stored alarms depends on size of alarms.
WAS alarming system does not provide possibility to configure event priority - all events
have built-in priority 999.
By using Alarm Gateway, it is possible to change the event priority by using the
setPriority custom attribute .For more information see the “Custom attributes” section
“setPriority” later in this User Guide.
Alarm Gateway can send alarms/events from Wonderware alarming system to UReason
alarming system. For more information see “UReason gateway” section later in this User
Guide.
Wonderware alarm
providers (WAS,
InTouch) Alarm Gateway UReason
alarming system
Software requirements
The Wonderware Application Server 3.1 version or later is supported.
Object import
1) Copy Alarm Gateway Object files to some folder, e.g. to C:/Install.
2) Start ArchestrA IDE and import the AlarmGatewayxx.aaPDF file (xx is the current
version of Alarm Gateway Object) to a new/existing galaxy (in the further explanation we
will assume the new galaxy grTest1 is used):
Note: If you are using existing galaxy and there is already deployed older Alarm Gateway
object version, then please follow the upgrade instructions from Object upgrade
procedure section at the end of this manual.
Object configuration
1) Create the WinPlatform object (if not already created) with “alarm provider” feature
enabled:
It is recommended to set the Engine scan period at least to 1 second and even
more (2-3 seconds) in case the Alarm Gateway Object is planned to be used in
highly loaded alarm systems (more than 50 often changing active alarms) and with
additional features enabled, like Custom Alarm/Event attributes and UReason
alarm system.
a) In Consumer tab:
Set Alarm Query: \Galaxy!Area_001
Set To Priority: 1
Set From Priority: 998
Enable Filter Alarm Types: set the Comm filter
The Area_001 is Area name what is the host of Alarm Gateway object, or other
Area can be specified that host objects with alarming enabled:
b) In Provider tab:
Change the Alarm Provider name in case that is needed by Alarm Clients:
c) In UReason tab:
If necessary, enable the diagnostic logging (for more details refer to Advanced
Troubleshooting section later in this manual):
8) Enable the Alarm Gateway Object licensing - see Licensing requirements section
for details.
\\WWNode\AlarmGatewayProvider!Area_001
or
\\192.168.75.209\AlarmGatewayProvider!Area_001
Licensing requirements
Alarm Gateway Object supports two types of licenses:
The Demo License is for free and provides an unlimited functionality, but it is valid
only for a limited time period (usually one month).
The Software Key enables the Alarm Gateway Object unlimited full time running
without any restrictions.
The Demo License is for free and provides an unlimited functionality, but it is valid only
for a limited time period. After Demo License expiration, the Alarm Gateway will stop to
provide the alarms. The Demo License can be obtained by sending inquiry to
[email protected].
To activate the received Demo License, you need to copy it to Alarm Gateway Object
License.DemoKey attribute:
If Demo License is valid (correct Demo Key string is installed), the License.IsLicensed
attribute is True and expiration date/time is logged to Wonderware SMC Log Viewer.
The Software Key enables the Alarm Gateway Object unlimited full time running without
any restrictions.
- get “Product ID” from object License.ProductID attribute (e.g. PR00185 100);
- get “Customer ID” from object License.CustomerID attribute;
- copy/paste it to e-mail (or text file or similar) and provide this “Customer ID” string when
ordering the Alarm Gateway Object;
- when product is purchased, copy the received “Software Key” to Alarm Gateway Object
License.SoftwareKey attribute:
If license key is valid (correct Software Key string is installed), the License.IsLicensed
attribute is set to True and product is ready for use:
Configuration
For general information about Wonderware Automation Objects (including
relationships, deployment and alarm distribution) - see the Wonderware Integrated
Development Environment (IDE) documentation.
General Configuration
Use the Consumer tab to configure and adjust the behavior of Alarm Gateway
Object Alarm Consumer:
Consumer:
Editor Option Associated Attribute(s) Description
Alarm Query Consumer.AlarmQuery Consumer Alarm Query
From Priority Consumer.FromPriority Enter the starting value of the
alarm priority range
To Priority Consumer.ToPriority Enter the ending value of the
alarm priority range
Query Type Consumer.QueryType Alarm query type
Use the Provider tab to configure and tune the behavior of Alarm Gateway Object Alarm
Provider:
Provider:
Editor Associated Attribute Description
Option
Name Provider.Name Alarm provider name
Alarm Provider.AlarmBufSize Alarm buffer size
Historical
Buffer Size
Alarm Provider.AlarmHierarch Path to WAS generated Alarm (Area) hierarchy
Group yFile file
Hierarchy Default value: c:\Program
XML Files\ArchestrA\Framework\Bin\GlobalDataCache
\AreaHierarchy.xml
Alarm Provider.AlarmBackup Location of Alarm Backup XML files
Backup Location
XML
Location
Exposed ExposedAlarmFields.Ar Exposed Alarm Fields array size (for more details
Alarm raysSize see then Exposed Alarm Fields section)
Fields
arrays size
Custom Enable/disable: For more details see the Custom Acked Alarm
Acked EnableCustomAckField comment field section
Alarm Field
CustomAckAlarmField
AlarmGateway - defines attributes for Alarm Gateway general configuration and status;
Provider - defines attributes for Alarm Provider configuration;
Consumer - defines attributes for Alarm Consumer configuration;
License - defines attributes for licensing;
Set - defines custom attributes, for more information see the “Custom attributes” section
The following table lists the run-time only attributes for the Alarm Gateway Object.
Note: Configurable run-time attributes are described in the configuration sections. For
more information, see Configuration section above.
Note: It is highly recommended to run any Alarm Gateway Object in separate Engine
since Alarm Gateway uses scan interval for reading the alarms. Recommended Engine
scan interval for Alarm Gateway is at least 1000 ms.
For Wonderware alarm custom attributes, the prefix setWW_ is used; for Ureason -
attribute prefix setUR_ is used:
Custom attributes can be set from WAS scripts with following command:
SetWW_Priority
Used to set Wonderware alarm system alarm and event Priority (valid range from 1
to 999).
Sample:
Following command sets Wonderware alarming system alarm priority to 10 for alarm
Generator_001.Analog_001.Lo:
SetWW_User1
Sample:
Following command sets Wonderware alarming system alarm User 1 field to 10.2 for
alarm Generator_001.Analog_001.Lo:
SetWW_User2
Sample:
Following command sets Wonderware alarming system alarm User 2 field to 23.3 for
alarm Generator_001.Analog_001.Lo:
SetWW_User3
Sample:
Following command sets Wonderware alarming system alarm User 3 field to ‘Test 1’
for alarm Generator_001.Analog_001.Lo:
SetWW_Operator
Sample:
Following command sets Wonderware alarming system alarm Operator field to ‘Test 1’
for alarm Generator_001.Analog_001.Lo:
SetWW_OperatorFullName
Sample:
Following command sets Wonderware alarming system alarm OperatorFullName field
to ‘Test 1’ for alarm Generator_001.Analog_001.Lo:
AlarmGateway_001.setWW_OperatorFullName = Me.Tagname +
".Analog_001.Lo=Test 1";
SetWW_OperatorDomain
Used to set Wonderware alarm system User-defined (OperatorDomain) string field.
Sample:
Following command sets Wonderware alarming system alarm Operator Domain
field to ‘Test 1’ for alarm Generator_001.Analog_001.Lo:
In case custom attribute is not set for alarm following steps can be performed to
troubleshoot the issue.
Enable general alarm flag:
After script is executed, check if appropriate message (Al379) is logged in logger that
indicates that custom attribute is set:
Rise alarm and check if Alarm name is the same as alarm name defined in set command:
Alarm Name mentioned in messages Al379 and NewAE54 must match for function to
work properly.
setUR_Source
Sample:
Following command sets UReason alarm parameter Source to ‘SP200’ for alarm
Generator_001.Analog_001.Lo:
setUR_Class
Note: Class is a critical parameter for UReason alarm system, all alarms/events
that are intended for use in UReason alarm system must have the defined valid class.
Sample:
Following command sets UReason alarm Class (Type) property to ‘THP Decrease’
for alarm Generator_001.Analog_001.Lo:
setUR_Priority
Sample:
Following command sets UReason alarm Severity property to 5 (Warning) for alarm
Generator_001.Discrete_001:
1 - Critical
2 – High Severity
3 – Medium Severity
4 - Low Severity
5 - Warning
6 – Information
setUR_Source
Sample:
Following command sets UReason alarm Source property to Me.Tagname
(Generator_001) value for alarm Generator_001.Analog_001.Lo:
setUR_MimicWindow
Sample:
Following command sets UReason alarm MimicWindow property:
XML structure:
Root: <AlarmConfiguration>
Element:
Name: Alarm
Attributes:
Name – Alarm name – alarm names are case sensitive.
Note: Also wildcards are supported, following samples are correct:
1) GenAlarm*
Adds to exposed list all Alarms that name starts with GenAlarm:
2) *HiHi - Adds to exposed list all Alarms that name ends with HiHi – all
HiHi priority alarms.
3) *Value1.Lo*
<AlarmConfiguration>
<Alarm Name="Alarm_300.Value1.Lolo" ID=”10”/>
<Alarm Name="Alarm1*" ID=”11”/>
</AlarmConfiguration>
Note: For testing proposes, in WAS following sample alarms are defined Analog_001
(LoLo,Lo,Hi,HiHi), Discreate_001, Discreate_002
g) Exposed Alarm Field arrays are filled with defined Alarm Fields that are
defined in XML.AlarmListConfiguration attribute:
Configuration attributes
XML.AlarmListConfiguration
XML sample:
<AlarmConfiguration>
<Alarm Name="*.HiHi" ID ="10"/>
</AlarmConfiguration>
AlarmGateway_001.XML.AlarmListConfiguration =
"<AlarmConfiguration>" +
"<Alarm Name=""*.HiHi"" ID =""10""/>"+
"</AlarmConfiguration>";
AlarmIDList
Description:
Array of Alarm Gateway generated exposed alarm unique ID that can be used to
identify each exposed alarm.
AlarmDeleteAlarmStringID
dataType: int
Description:
Deletes entry from Exposed Alarm Fields that matches specified alarm ID in
AlarmIDList array.
Alarm.UserID
Description:
Displays User defined ID from Alarm list configuration
(XML.AlarmListConfiguration attribute) file Alarm node attribute ID
<AlarmConfiguration>
<Alarm Name="*.HiHi" ID ="10"/>
</AlarmConfiguration>
Exposed attributes
Alarm.Name
Alarm.User1
dataType: string array
Array size: is defined in editor ExposedAlarmFields.ArraysSize attribute.
Alarm.User2
Alarm.User3
By using Alarm Gateway, it is possible to configure custom Acked alarm comment field
for Acked alarms - this is useful if alarm descriptions are used:
With Alarm Gateway it is possible to configure different Alarm field to store Ack comment
and preserve Alarm description.
Configuration
Editor
Custom alarm Ack comment field feature can be configured in Provider tab
Custom Acked Alarm Field section:
Runtime
Attributes
EnableCustomAckField
Datatype: Boolean
Description: enables/disables Custom alarm Ack comment field feature.
If True - Custom alarm Ack comment field feature is enabled and Acked
alarm comment is written in configured field in CustomAckAlramField attribute
If False - Custom alarm Ack comment field feature is disabled and default
Alarm system functionality is used - Ack comment overwrites AlarmComment field
CustomAckAlramField
Datatype: Enum
Description: Defines custom Alarm Ack field.
AckOprNode
Alarm Ack comment will be displayed in connected Alarm Gateway clients and
Alarm Gateway alarm source Provider (Consumer configured in Consumer tab). In
AckOprNode field:
User3
Alarm Ack comment will be displayed in connected Alarm Gateway clients only, in
User3 field:
Note: WAS alarm Provider will only Ack alarm without changing the
AlarmComment.
AckOprDomain
Alarm Ack comment will be displayed in connected Alarm Gateway clients only, in
OperatorDomain field:
Note: WAS alarm provider will only Ack alarm without changing AlarmComment.
AckOprName
Alarm Ack comment will be displayed in connected Alarm Gateway clients only, in
OperatorName field:
Note: WAS alarm provider will only Ack alarm without changing AlarmComment.
AckOprFullName
Alarm Ack comment will be displayed in connected Alarm Gateway clients only, in
OperatorFullName field:
Note: WAS alarm provider will only Ack alarm without changing AlarmComment.
UReason gateway
Alarm Gateway Object provides functionality to send/receive alarms to/from
Wonderware alarming system from/to UReason alarming system. The following
functionality is supported:
Please, refer to UReason documentation for more information about UReason alarming
system.
AlarmGateway_001.UReason.Mimic.Path.Console1
If user selects “Show Mimic On Console1” from UReason alarm menu, this attribute is
changed to UReason Source value (for Alarm Analog_001.Lo it is SP200, see picture
below).
AlarmGateway_001.UReason.Mimic.Path.Console2
If user selects “Show Mimic On Console2” from UReason alarm menu, this attribute is
changed to UReason Source value (for Alarm Analog_001.Lo it is SP200 see picture
below).
Mimic functionality can be used for opening specific InTouch windows that are tied to
UReason alarm by the Source value.
Show Galaxy:AlarmGateway_001.UReason.Mimic.Path.Console1;
Galaxy:AlarmGateway_001.UReason.Mimic.Path.Console1="";
Console="Console 1";
ENDIF;
Show Galaxy:AlarmGateway_001.UReason.Mimic.Path.Console2;
Galaxy:AlarmGateway_001.UReason.Mimic.Path.Console2="";
Console="Console 2";
ENDIF;
Sample script:
Show Galaxy:AlarmGateway_001.Mimic.InTouchWindow;
Galaxy:AlarmGateway_001.Mimic.InTouchWindow="";
Console="Console 2";
ENDIF;
Object configuration
1) Define the template/instance sets for each Alarm Gateway instance, let’s assume
we are planning to use two Alarm Gateway instances (AlarmGateway_001 and
AlarmGateway_002):
a) For AlarmGateway_001
Define templates: $Machine_AA and $Machine_BB
b) For AlarmGateway_002
Define templates: $Motor_AA and $ Motor_BB
4) Create Area object F1 area that will be used to all first set objects ($Machine_AA
and $Machine_BB)
5) Create Area object F2 area that will be used to all second set objects ($Motor_AA
and $ Motor_BB
7) Create separate engines and Areas for each Alarm Gateway Object instance:
Note: Separate engine for each Alarm Gateway is “must have” requirement since
each engine creates a separate process and that allows to distribute the load between
multiple CPU cores.
a. AlarmGateway_001
Alarm Query: \Galaxy!F1
Provider name: AlarmGatewayProvider1
a. AlarmGateway_002
Alarm Query: \Galaxy!F2
Provider name: AlarmGatewayProvider2
\\Hostname\AlarmGatewayProvider1!F1 \\Hostname\AlarmGatewayProvider2!F2
a. Primary – Redu_eAlarmGateway
b. Secondary (backup) – place on redundant partner Server.
3) Configure alarm query for alarm clients to point to Alarm Gateway on both
redundant servers:
\\PrimaryServerIPAddress\AlarmGatewayProvider!AlarmExtensionPack
\\SecondaryServerIPAddress\AlarmGatewayProvider!AlarmExtensionPack
Troubleshooting
Below are explained common issues that may occur while using Alarm Gateway Object
and its features.
a) check if valid Demo or full license is installed for Alarm Gateway – check if
License.IsLicensed = true in Object Viewer:
c) if alarms are checked and alarms are displayed in any Wonderware alarm
display from Platform directly, check Alarm Gateway consumer settings in Object Viewer,
2) Alarms are coming to Alarm Gateway, but no alarms are displayed in alarm
controls that are connected to Alarm Gateway.
a) check if Wonderware alarm controls are configured properly for use with
Alarm Gateway:
Is the Alarm provider name configured properly (“1 red” in picture below) in
Alarm control (AlarmGatewayProvider)
Are Alarm Areas configured properly in Alarm control - must be the same as
in property Consumer.AlarmQuery F1 (“2 blue” in picture below).
In this case it is necessary to restart the connection between Wonderware alarm system
and UReason alarm system - in UReason console, go to Data handling -> External Data
Sources and uncheck the Enable checkbox, then wait for ~3 seconds and check again.
Advanced Troubleshooting
2. In Diagnostic Log File Path set the folder where to store the log files.
4) Deploy Alarm Gateway object host platform to install the software update.
5) Deploy all Application Engine(s) that are hosting Alarm Gateway object(s) to load
the latest Alarm Gateway runtime libraries.
6) The Alarm Gateway Object current version installed can be find out in Log Viewer
in the message starting with “RV001”:
As well, the Alarm Gateway Object current version installed can be find out in
Object Viewer by examining the content of Alarm Gateway attribute
Version.Runtime:
Note: this procedure must be performed on all WAS nodes where Alarm
Gateway object was used/installed (IDE node, object nodes).
b. Open the context menu by clicking right mouse button and select the
Uninstall option:
WONDERWARE FINLAND
Alarm Gateway Object
Revision History