15
DIANA SMIT Ground floor Block D Gillooly’s View Office Park 1 Osborne Road Bedfordview Tel: 0861-WONDER Fax: (011) 607-8478 Alarm Display Alarm Display Alarm Display Alarm Display Tips & Tricks

HMI

Embed Size (px)

DESCRIPTION

HMI

Citation preview

Page 1: HMI

DIANA SMIT

Ground floor Block D Gillooly’s View Office Park 1 Osborne Road Bedfordview

Tel: 0861-WONDER Fax: (011) 607-8478

Alarm DisplayAlarm DisplayAlarm DisplayAlarm Display

Tips & Tricks

Page 2: HMI

2

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. Configuring the AlarmViewCtrl ActiveX ............................................................................................ 4

2.1.2. Linking the designed Alarm Display .................................................................................................... 6

2.1.3. Querying the Alarm ActiveX ................................................................................................................ 6

2.1.4. Displaying the respective graphic page ................................................................................................ 8

2.1.5. Acknowledge the Selected Alarm ........................................................................................................ 9

2.2. Creating the other 6 Alarm Displays .................................................................................. 10

2.2.1. Generate a SmartSymbol .................................................................................................................... 10

2.2.2. Querying the Alarm ActiveX .............................................................................................................. 10

3. Filters and Queries using the Alarm Viewer Controllers ................................................. 12

3.1. Displaying Critical Alarms .................................................................................................. 12

3.1.1. Displaying the Critical Alarms ........................................................................................................... 12

3.1.2. Displaying the Default Query - all Alarms ......................................................................................... 13

3.2. Filter on Device Level ........................................................................................................... 15

Page 3: HMI

3

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.

Page 4: HMI

4

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:

Page 5: HMI

5

• 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)

Page 6: HMI

6

• Select OK at the bottom of the Property Dialog Box to Save and Close the

changes you have made.

2.1.2. Linking the designed Alarm Display

The object will only be linked to Memory Tags.

• Animate your designed object (link on the # symbols):

Object Animation Expression Tag Type

String Value Display

Discrete Text Colour

Line1_Time

Line1_Return == "UNACK_RTN"

Message Memory

Message Memory

String Value Display

Discrete Text Colour

Line1_Tag

Line1_Return == "UNACK_RTN"

Message Memory

Message Memory

String Value Display

Discrete Text Colour

Line1_Desc

Line1_Return == "UNACK_RTN"

Message Memory

Message Memory

2.1.3. 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:

Page 7: HMI

7

• Select the Button, to check if the script is correct.

• 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: 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

Page 8: HMI

8

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.

Animate the Rectangle:

Animation Expression Tag Type

Touch Pushbutton

Action

IF Line1_Group == "Area_001" THEN Memory Message

Alarm Group/Area

InTouch Window

Page 9: HMI

9

(On Left Click Down) Show "Overview - Area1";

ENDIF;

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

(On Right Click Down)

Line1_Tag = #TestMe.SelectItem(Line1_Row);

#testme.AckSelected(Line1_Tag);

Save all Windows and test the Right Click Action in View.

Memory Message Tag

Page 10: HMI

10

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:

Page 11: HMI

11

On the “On Show” Window Script, assign a row number to the other 6 Row-Memory Tags:

Page 12: HMI

12

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:

• 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.

3.1.1. Displaying the Critical Alarms

Create a new Key Script:

Page 13: HMI

13

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:

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.

Page 14: HMI

14

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.

Applies the Default Query

specified in the AlarmViewCtrl.

Name of the Query Filter created

in the AlarmDBCtrl to display

all alarms.

Page 15: HMI

15

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.