Alarm Display Alarm Display

advertisement
Ground floor
Block D
Gillooly’s View Office Park
1 Osborne Road
Bedfordview
Tel: 0861-WONDER
Fax: (011) 607-8478
Alarm Display
Tips & Tricks
DIANA SMIT
Table of Contents
1. Introduction ............................................................................................................................ 3
2. Creating customised Alarm Displays.................................................................................... 4
2.1.
Creating the Alarm Page and Alarm Display ...................................................................... 4
2.1.1.
2.1.2.
2.1.3.
2.1.4.
2.1.5.
2.2.
Configuring the AlarmViewCtrl ActiveX............................................................................................4
Linking the designed Alarm Display ....................................................................................................6
Querying the Alarm ActiveX................................................................................................................6
Displaying the respective graphic page ................................................................................................8
Acknowledge the Selected Alarm ........................................................................................................9
Creating the other 6 Alarm Displays .................................................................................. 10
2.2.1.
2.2.2.
Generate a SmartSymbol ....................................................................................................................10
Querying the Alarm ActiveX..............................................................................................................10
3. Filters and Queries using the Alarm Viewer Controllers ................................................. 12
3.1.
Displaying Critical Alarms .................................................................................................. 12
3.1.1.
3.1.2.
3.2.
Displaying the Critical Alarms ...........................................................................................................12
Displaying the Default Query - all Alarms.........................................................................................13
Filter on Device Level ........................................................................................................... 15
2
1. Introduction
This document will describe in detail how to do the following:
•
•
Create you own customised Alarm Displays
•
Displaying the latest seven Alarms in a fixed Window
•
Only show the Date, Tagname and Description of each Alarm
•
Create an action on each Alarm, so that when selected it will display the
respective graphic page
•
With creating an action, when selecting an Alarm, the selected Alarm will
be acknowledged.
Create Filters on the Wonderware Alarm Display
•
By creating an action, the Alarm display must only show the critical
Alarms
•
By creating Filters, the Alarm display will be able to filter up to device
level.
3
2. Creating customised Alarm Displays
2.1. Creating the Alarm Page and Alarm Display
Inside the InTouch Application create a window.
Design the Layout of the first Alarm Display:
2.1.1.
Configuring the AlarmViewCtrl ActiveX
Because the Alarm Object will be referenced, place an AlarmViewCtrl ActiveX on you
window as well.
•
Place the ActiveX anywhere on the window
•
Double click on the ActiveX to open up the Property Dialog Box:
•
Replace the default ControlName, with a more descriptive and appropriate name:
4
•
Un-tick the “Visible” tick box, so that the ActiveX will not be visible in Runtime.
•
Select the Query Tab
•
Assign the following properties:
Priority
Select from priority 1 to priority 999
Alarm State
Select Unack. We only want to see the latest alarms, and
that will be unacknowledged alarms.
Query Type
Select Summary, so that the ActiveX automatically updates
with new alarms and alarm statuses.
Alarm Query
If you are using InTouch Alarms; the query will be
\InTouch!$System
If you are using ArchestrA Alarms; the query will be
\Galaxy!”Main Area Name”
Sort Column
This is the Primary Sort Column; you can either hardcode it
in the object or by scripting. Select Time to sort your Alarms
according to Time.
Secondary Sort
Column
This is the Secondary Sort Column; you can either hardcode
it in the object or by scripting. Select State to sort your
Alarms according to the state of your Alarm.
Sort Direction
Select Ascending so that the latest time will be displayed at
the top of the list and then the Alarm State will be sorted
according in alphabetical order (A-Z)
5
•
2.1.2.
Select OK at the bottom of the Property Dialog Box to Save and Close the
changes you have made.
Linking the designed Alarm Display
The object will only be linked to Memory Tags.
•
Animate your designed object (link on the # symbols):
Object
2.1.3.
Animation
Expression
Tag Type
String Value Display
Line1_Time
Message Memory
Discrete Text Colour
Line1_Return == "UNACK_RTN"
Message Memory
String Value Display
Line1_Tag
Message Memory
Discrete Text Colour
Line1_Return == "UNACK_RTN"
Message Memory
String Value Display
Line1_Desc
Message Memory
Discrete Text Colour
Line1_Return == "UNACK_RTN"
Message Memory
Querying the Alarm ActiveX
By getting (reading) data from the ActiveX, the result will be assigned to the Memory Tags
that was created. The only way of getting data from the ActiveX is by using the ActiveX
Methods and Properties through scripting and to prevent from getting Errors when there is
no data in the Controller to query, you will need to see if there is an alarm in the specific
row, before querying the row.
To see how many Alarms are displayed in the Controller, use the TotalAlarms()
Method/Property. And to get data from an Controller, use the GetItem( "Long", "String")
Method/Property.
•
Create a While Showing Window Script (1000 ms)
•
Get the Total of Alarms showing in the Controller and return the answer to a
Memory Integer Tag (total):
•
Assign the Memory Tags to the following ActiveX Method/Property using the
button located in the Menu Bar. Use the correct ActiveX (remember the
ControlName you changed) to select the TotalAlarms() and GetItem()
method/property:
6
•
Select the
•
Define Line1_Row as a Memory Integer Tag.
•
Create an On Show Window Script
•
Assign a row number to the Line1_Row Tag that was created:
Note:
Button, to check if the script is correct.
The first line (row) in an Alarm ActiveX is always row 0. The second line (row) will be row 1 etc.
Save all Windows and Test the results in InTouch View:
InTouch Maker
InTouch Viewer
7
In Maker, the Alarm ActiveX and Alarm Object must be visible, but in View, only the Alarm
Object that was created must show.
And if there are no entries in the Alarm Controller, your object will look similar to:
2.1.4.
Displaying the respective graphic page
Assign every Alarm Group (area) to a specific graphic page. In the example each Alarm
Group/Area is assigned to an Area Overview.
Alarm Group/Area
InTouch Window
Area_001
Overview - Area1
Area_002
Overview – Area2
Area_003
Overview – Area3
Area_004
Overview – Area4
Area_005
Overview – Area5
Area_006
Overview – Area6
Draw ‘n Rectangle around the Alarm Object. This will be used the open up the correct
window as well as to Acknowledge the Tag.
Alarm Group/Area
Animate the Rectangle:
Animation
Touch Pushbutton
Action
Expression
IF Line1_Group == "Area_001" THEN
Tag Type
Memory Message
8
InTouch Window
(On Left Click Down)
Show "Overview - Area1";
ENDIF;
Memory Message
Tag
Duplicate above script for rest of the
Area’s!
Save all Windows and test if the correct Window opens, when selected in InTouch View.
2.1.5.
Acknowledge the Selected Alarm
To acknowledge a selected alarm, use the Method/Properties of the Alarm ActiveX.
When Acknowledging a Selected Alarm, the alarm must be first selected and then
Acknowledged; so
1. The first Method that will be used to select the Alarm:
a. SelectItem( "Long"); - where “Long” is the Row Number.
2. The second Method that will be used to acknowledge the selected Alarms:
a. AckSelected( "String"); - where “String” is the result of the SelectItem
Method.
Use the same Rectangle as what was used to open the respective page.
Add the following Animation:
Animation
Expression
Touch Pushbutton Action
Line1_Tag = #TestMe.SelectItem(Line1_Row);
(On Right Click Down)
#testme.AckSelected(Line1_Tag);
Save all Windows and test the Right Click Action in View.
9
2.2. Creating the other 6 Alarm Displays
2.2.1.
Generate a SmartSymbol
After everything is tested, and working properly:
Group the Alarm Object into a cell.
Generate the Alarm Object into a SmartSymbol.
Place the other six Alarm SmartSymbols on the Window:
Link the SmartSymbols to the appropriate Line, thus creating the necessary tags in the
process of linking:
2.2.2.
Querying the Alarm ActiveX
On the “While Showing” Window Script, duplicate the 5 Methods for the other six lines, so
that the necessary information can be displayed through the SmartSymbols:
10
On the “On Show” Window Script, assign a row number to the other 6 Row-Memory Tags:
11
3. Filters and Queries using the Alarm Viewer Controllers
It is up to the user to decide how the Filters and Queries are going to be triggered:
1. Buttons on a window
2. Key Scripts
With both cases, the Filtering and Queries will work exactly the same.
3.1. Displaying Critical Alarms
There are different ways of displaying only the critical alarms in the Alarm View Controller
and / or in the Alarm Database View Controller.
For the example:
3.1.1.
•
There’s a Window called Alarm – Summary (displays the AlarmViewCtrl) and
another Window called Alarm – History (displays the AlarmDBCtrl).
•
By using one Key Script, depending on what Window is open, the ActiveX must
only show the Critical Alarms (Priority 1 to 100).
•
By using another Key Script, depending on what Window is open, the ActiveX will
show the Default Query – no filtering.
Displaying the Critical Alarms
Create a new Key Script:
12
Returns the Window
Status of the specified
Window
Performs the query as specified
by its parameters Alarm Query,
From and To Priorities, State of
alarms to query for, and the
type of alarms to retrieve.
Name of the Query Filter
created in the AlarmDBCtrl.
When a Window is open, the state of that Window is one (1), and only for that window,
must the Query change to specified above.
3.1.2.
Displaying the Default Query - all Alarms
Create a new Key Script:
13
Applies the Default Query
specified in the AlarmViewCtrl.
Name of the Query Filter created
in the AlarmDBCtrl to display
all alarms.
When a Window is open, the state of that Window is one (1), and only for that window,
must the Query change back to Default.
14
3.2. Filter on Device Level
In the Alarm Viewer Controller, instead of Querying an Area, with InTouch 9.5, you will be
able to Query up to a device level.
The Query will look similar to the following:
\Galaxy!AreaName!DeviceName
A Wildcard (*) can be used to expand the Device Levels, but only at the end of a “Partial
Tagname”, for example:
\Galaxy!Area!My_Valve*
All Tags that start with My_Valve will be displayed in the Controller.
15
Download