You are on page 1of 516

August 2020AVEVA™ Training

A V E V A ™ T R A I N I N G

Training Manual
Revision A
August 2020
Part Number 11-GM-10102

y
op
C
ot
N

AVEVA™ InTouch for


o
D

System Platform 2020


© 2020 AVEVA Group plc and its subsidiaries. All rights reserved.

AVEVA and the AVEVA logo are a trademark or registered trademark of AVEVA Group plc in the U.S. and
other countries.

No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted by any means,
electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of AVEVA.
No liability is assumed with respect to the use of the information contained herein.

Although precaution has been taken in the preparation of this documentation, AVEVA assumes no
responsibility for errors or omissions. The information in this documentation is subject to change without
notice and does not represent a commitment on the part of AVEVA. The software described in this
documentation is furnished under a license agreement. This software may be used or copied only in

y
accordance with the terms of such license agreement.

op
ArchestrA, Aquis, Avantis, Citect, DYNSIM, eDNA, EYESIM, InBatch, InduSoft, InStep, IntelaTrac, InTouch,
OASyS, PIPEPHASE, PRiSM, PRO/II, PROVISION, ROMeo, SIM4ME, SimCentral, SimSci, Skelta,
SmartGlance, Spiral Software, Termis, WindowMaker, WindowViewer, and Wonderware are trademarks of
AVEVA and/or its subsidiaries. An extensive listing of AVEVA trademarks can be found at: https://
sw.aveva.com/legal. All other brands may be trademarks of their respective owners.
C
Contact Information

AVEVA Group plc


ot

High Cross
Madingley Road
Cambridge
CB3 OHB. UK
N

https://sw.aveva.com/

For information on how to contact sales, customer training, and technical support, see https://sw.aveva.com/
contact.
o
D
Table of Contents 1

Table of Contents
Module 1 Introduction .................................................................................1-1
Section 1 – Course Introduction......................................................................... 1-3
Section 2 – AVEVA™ System Platform Overview ............................................. 1-7
Lab 1 – Creating and Deploying the Galaxy .................................................... 1-11
Section 3 – Visualization Overview.................................................................. 1-25
Section 4 – Encrypted Communication............................................................ 1-27
Section 5 – System Requirements and Licensing ........................................... 1-31

Module 2 Getting Started ............................................................................2-1


Section 1 – Introduction ..................................................................................... 2-3
Lab 2 – Creating a Managed InTouch Application............................................. 2-7
Section 2 – Development Environment and InTouch Windows ....................... 2-13
Lab 3 – Building the Application Layout........................................................... 2-29
Section 3 – Runtime Environment and Application Design.............................. 2-45
Lab 4 – Deploying an InTouch Application ...................................................... 2-51

y
Module 3 Symbols .......................................................................................3-1

op
Section 1 – Symbol Overview ............................................................................ 3-3
Section 2 – Symbol Editor.................................................................................. 3-7
Lab 5 – Building a Process Overview .............................................................. 3-15
Section 3 – Symbols with Objects.................................................................... 3-43
Lab 6 – Creating the Mixer Components ......................................................... 3-45
C
Section 4 – Tools and Animations ................................................................... 3-63
Lab 7 – Creating the Mixer Display.................................................................. 3-75
Section 5 – The OwningObject Property.......................................................... 3-91
ot

Lab 8 – Switching Between Mixers .................................................................. 3-93


Section 6 – Custom Properties ...................................................................... 3-103
Lab 9 – Creating a Custom Symbol ............................................................... 3-107
Section 7 – Scripts in Symbols ...................................................................... 3-131
N

Lab 10 – Creating a Navigation Symbol ........................................................ 3-137


Section 8 – Galaxy Styles .............................................................................. 3-157

Module 4 Widgets ........................................................................................4-1


o

Section 1 – Widgets Overview ........................................................................... 4-3


Lab 11 – Creating a Carousel Dashboard ......................................................... 4-5
D

Module 5 Alarms and Events Visualization...............................................5-1


Section 1 – Alarming Overview.......................................................................... 5-3
Lab 12 – Applying Alarm Border Animation ..................................................... 5-17
Lab 13 – Building an Alarm Aggregation Overview ......................................... 5-23
Section 2 – Live Alarms Visualization .............................................................. 5-37
Lab 14 – Building a Live Alarm Display ........................................................... 5-47
Lab 15 – Creating an Alarm Popup Symbol..................................................... 5-59
Section 3 – Logged Alarms and Events Visualization...................................... 5-67
Lab 16 – Building a Historical Alarm Display ................................................... 5-73

Module 6 Trend Visualization .....................................................................6-1


Section 1 – Historization Overview .................................................................... 6-3
Section 2 – Real-Time Trending ........................................................................ 6-9
Lab 17 – Adding Trending to Graphics ............................................................ 6-11
Section 3 – Trend Client Control...................................................................... 6-25

AVEVA™ InTouch for System Platform 2020


2 AVEVA™ InTouch for System Platform 2020

Lab 18 – Creating a Trend Popup Symbol ....................................................... 6-31


Section 4 – Historian Client Trend Control ....................................................... 6-41
Lab 19 – Building a Historical Trend Display.................................................... 6-49

Module 7 Security ....................................................................................... 7-1


Section 1 – Security Overview ........................................................................... 7-3
Lab 20 – Using Security Features in Graphics ................................................... 7-9
Section 2 – Signed Writes ................................................................................ 7-25
Lab 21 – Signing Writes from InTouch ............................................................. 7-31
Section 3 – Customization of the Runtime Environment .................................. 7-51
Lab 22 – Locking Down Your Application......................................................... 7-59

Module 8 Web Client ................................................................................... 8-1


Section 1 – Web Client Overview ....................................................................... 8-3
Lab 23 – Using the Web Client......................................................................... 8-11

y
op
C
ot
N
o
D

AVEVA™ Training
y
op
Module 1 – Introduction
C
Section 1 – Course Introduction 1-3
ot

Section 2 – AVEVA™ System Platform Overview 1-7


Lab 1 – Creating and Deploying the Galaxy 1-11
N

Section 3 – Visualization Overview 1-25


Section 4 – Encrypted Communication 1-27
o

Section 5 – System Requirements and Licensing 1-31


D
1-2 Module 1 – Introduction

Module Objectives
 Review the course agenda
 Explain System Platform
 Describe visualization concepts
 Describe the system and licensing requirements for System Platform

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Course Introduction 1-3

Section 1 – Course Introduction


This section describes the objectives, prerequisites, intended audience, and agenda for the
course.

Course Description
The AVEVA™ InTouch for System Platform 2020 course is a 4-day, instructor-led class designed
to provide an overview of the features and functionalities released with AVEVA InTouch for
System Platform. It covers the components and capabilities of the software, as well as topics to
help you build and deploy an AVEVA InTouch for System Platform visualization application. It also
introduces tools for creating graphics, visualizing alarms and events, visualizing trends and
history, and implementing security in an AVEVA InTouch for System Platform application. Hands-
on labs are provided to reinforce the knowledge necessary to use the AVEVA InTouch for System
Platform software.

y
Objectives

op
Upon completion of this course, you will be able to:
 Describe AVEVA InTouch for System Platform visualization components
 Create and run visualization applications
Describe situational awareness concepts

C
 Create and use graphics
 Implement navigation for visualization applications
Implement alarm visualization
ot

 Implement real-time and historical trending


 Implement visualization application security
N

 View graphics in a browser

Audience
o

Individuals who need to configure or modify AVEVA InTouch for System Platform applications
D

AVEVA™ InTouch for System Platform 2020


1-4 Module 1 – Introduction

Prerequisites
Knowledge of the following tools, features, and technologies is required.
 Industrial automation software concepts
 From the AVEVA™ Application Server software product:
 ArchestrA IDE
 Automation Objects
 Alarms of attributes
 Historization of attributes
 Security
 Deployment model
 Plant model
 QuickScript .NET scripting language

Course Outline

y
op
Module 1 – Introduction
Section 1 – Course Introduction
This section describes the objectives, prerequisites, intended audience, and agenda for the
course.
C
Section 2 – AVEVA™ System Platform Overview
This section describes fundamental concepts about AVEVA System Platform, including its
ot

clients, components, and services. It also introduces the ArchestrA technology.


Section 3 – Visualization Overview
This section introduces visualization concepts and describes AVEVA InTouch for System
N

Platform as one of the visualization clients of AVEVA Application Server.


Section 4 – Encrypted Communication
This section describes the encrypted communication for end-to-end communication between
o

server and client software applications.


Section 5 – System Requirements and Licensing
D

This section describes system requirements for System Platform software and introduces the
licensing model.

Module 2 – Getting Started


Section 1 – Introduction
This section introduces the InTouchViewApp and ViewEngine objects.
Section 2 – Development Environment and InTouch Windows
This section provides a brief overview of the features of the WindowMaker environment and its
settings, and describes InTouch windows.
Section 3 – Runtime Environment and Application Design
This section provides a brief overview of the InTouch WindowViewer and the ViewEngine, and
describes some WindowViewer settings.

AVEVA™ Training
Section 1 – Course Introduction 1-5

Module 3 – Symbols
Section 1 – Symbol Overview
This section provides a brief overview of graphics and introduces the Graphic Toolbox. A
description of the situational awareness philosophy is also provided.
Section 2 – Symbol Editor
This section covers the creation and manipulation of graphic objects, lines and outlines, and
text objects using the Symbol Editor.
Section 3 – Symbols with Objects
This section provides a brief overview of using symbols in objects. It introduces how to
manage symbols in Automation objects and reviews containment relationships between
Automation objects. This section also introduces how to use symbols in a contained object
that is within a symbol in the container object.
Section 4 – Tools and Animations
This section provides an overview of the graphic tools in the Symbol Editor, visualization
animations, and interaction animations.

y
Section 5 – The OwningObject Property

op
This section introduces the OwningObject property.
Section 6 – Custom Properties
This section provides a brief overview of custom properties in a symbol and describes how to
C
link custom properties to external sources.
Section 7 – Scripts in Symbols
This section provides a brief overview of the scripting environment, explains execution types
ot

and triggers, and introduces ShowGraphic functions.


Section 8 – Galaxy Styles
This section explains the Galaxy Style Library and how to override element styles, how to
N

update element styles at runtime, and how to import and export element styles. A brief
overview of the Status element and its application in monitoring data status and quality in
runtime is also provided.
o

Module 4 – Widgets
D

Section 1 – Widgets Overview


This section will discuss AVEVA InTouch for System Platform support for the web technology
called HTML5 Widgets.

Module 5 – Alarms and Events Visualization


Section 1 – Alarming Overview
This section provides a brief overview of alarms and events and explains how System
Platform handles them. An introduction to Alarm Border animation, Alarms aggregation,
severity, and shelving is also provided.
Section 2 – Live Alarms Visualization
This section explains how to visualize live alarms and recent alarms and events by using the
Alarm client control available in the Symbol Editor.

AVEVA™ InTouch for System Platform 2020


1-6 Module 1 – Introduction

Section 3 – Logged Alarms and Events Visualization


This section explains how to visualize logged alarms and events in the alarm database and
explains how they are historized.

Module 6 – Trend Visualization


Section 1 – Historization Overview
This section provides a brief overview of the concepts of historization covered in the AVEVA
Application Server course.
Section 2 – Real-Time Trending
This section introduces the Trend pen and two situational awareness symbols for trending and
explains how to configure them.
Section 3 – Trend Client Control
This section provides a brief overview of the Trend Client control available from within the
Symbol Editor.

y
Section 4 – Historian Client Trend Control
This section provides a brief overview of the Historian Client .NET controls available for use in

op
symbols.

Module 7 – Security C
Section 1 – Security Overview
This section provides a brief review of security, authentication modes, general and operational
permissions, security classifications, the security audit trail, and InTouch security tags and
script functions.
ot

Section 2 – Signed Writes


This section provides a brief overview of the Secured Write and Verified Write security
classifications, the Can Verify Writes Operational permission, and the Secured Write and
N

Verified Write dialog boxes.


Section 3 – Customization of the Runtime Environment
This section explains how to customize the runtime environment to more fully secure and
o

protect the application. It also describes how to configure the InTouch runtime environment for
inactivity and introduces the EnableDisableKeys() script function.
D

Module 8 – Web Client


Section 1 – Web Client Overview
This section will describe the Web Client features and dependencies.

AVEVA™ Training
Section 2 – AVEVA™ System Platform Overview 1-7

Section 2 – AVEVA™ System Platform Overview


This section describes fundamental concepts about AVEVA System Platform, including its clients,
components, and services. It also introduces the ArchestrA technology.

Introduction
AVEVA System Platform, formerly Wonderware System Platform, is an industrial software platform
built on ArchestrA technology. It contains an integrated set of services and an extensible data
model to manage plant control and information management systems. System Platform supports
both the supervisory control layer and the manufacturing execution system layer, presenting them
as a single information source.
System Platform and its clients provide the framework and tools for developing, executing,
monitoring, and visualizing your applications. Services such as data acquisition, historization, and
alarming are provided by System Platform components. Services such as visualization and
trending are provided by System Platform clients.

y
The System Platform software is based on industry standards and Microsoft technologies, such as
Windows, .NET, SQL Server, IIS, and others. ArchestrA provides the fundamental technology and

op
services for the multi-user, object-oriented platform.

System Platform Components and Clients


C
System Platform components access and process external data from controllers, software
applications, and other data sources. System Platform clients access information from System
Platform.
ot
N
o
D

System Platform components are as follows:


 AVEVA™ Application Server is the heart of System Platform. It provides an object-
oriented framework with tools for developing and deploying applications.
 AVEVA™ Historian provides process data historization and alarm and event logging for
Application Server. Data is exposed through SQL Server and/or an Open Data Protocol
(oData) interface.
 AVEVA™ Communication Drivers provide the platform for communication with
controllers and other data sources. Besides controller-specific protocols, they support
open communication connectivity protocols such as MQTT, OPC DA, and OPC UA.

AVEVA™ InTouch for System Platform 2020


1-8 Module 1 – Introduction

 Formerly called OI Servers, they also include legacy DA Servers and IO Servers. System
Platform also communicates directly with third-party drivers, such as third-party OPC
Server.
System Platform clients include:
 Supervisory clients run the operator interface and provide real-time access to
Application Server data, alarms, and events. There are two supervisory client products,
based on different technologies. Both can coexist in the same System Platform solution.
 AVEVA™ Operations Management Interface has a rapid-design visualization
framework with tools, and provides out-of-the-box navigation to display content based
on the application’s data model.
 AVEVA™ InTouch for System Platform is based on traditional development tools to
create displays and the corresponding navigation framework from scratch.
Supervisory client applications can be accessed remotely through a web browser with the
use of AVEVA™ InTouch Access Anywhere. With InTouch Access Anywhere, you simply
enter a URL in a web browser running on a desktop computer or mobile device and log on,
without the necessity of having any separate client application installed on the portable

y
device or desktop computer.
 AVEVA™ Historian Client is a collection of tools for accessing and reporting on data

op
historized with Historian. This client includes a Trend application for plotting data on a
graphical display, a Query application for constructing SQL queries through a point-and-
click interface, and add-ins to Microsoft Excel and Word for generating reports.
 AVEVA™ Historian Client Web is a browser-based tool for quick data query, trending,
C
and analysis of data historized with Historian. It provides an intuitive interface for easy
access and use.
Together, System Platform and its clients provide the core services needed to develop, implement,
ot

and deploy industrial automation applications. Some of these services include:


 Real-time data acquisition from field devices
 Scaling, statistics, and manipulation of data
N

 Process control
 Alarm triggering, logging, acknowledgment, and management
 Historization, trending, and analysis of process data
o

 Visualization of real-time process data


 Reporting
D

Applications built on System Platform are extensible through the use of scripting within the product
itself or through several available toolkits. For example, an application can access a third-party
web service by means of a script.

AVEVA™ Training
Section 2 – AVEVA™ System Platform Overview 1-9

ArchestrA Technology
ArchestrA is a distributed architecture developed for supervisory control and manufacturing
information systems. It is an open and extensible technology based on a distributed, object-
oriented design. It leverages the Microsoft .NET Framework for the industrial automation world.
ArchestrA provides the following system services:
 Object management for creating object-oriented applications
 A component object framework for application modeling of plants, factories,
and equipment
 A common, global name space for all application types, from single-node to distributed
networked applications
 Inter-process advanced communications with system maintenance and diagnostic
information
 Centralized security services with support for multi-user environments for development
and runtime
 Version management for every object in the application, including logging of

y
development operations

op
Most of these services are exposed, configured, and managed by Application Server.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


1-10 Module 1 – Introduction

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-11

Lab 1 – Creating and Deploying the Galaxy


Introduction
In this lab, you will create a Galaxy and connect to it using the System Platform IDE. You will
import automation objects representing a Mixer application. You will configure the objects to run on
a multi-node configuration and deploy the Galaxy. The Galaxy created will be used during this
course to develop a visualization interface for the Mixer application imported in this lab.
The lab exercises in this course have been written to support a network where two computers are
assigned to each student. One will be used for project development (GRPlatform) and another is
used as a production server (PROD_Platform1) to host and run the objects. To support this
structure, all of the standard lab steps and imported files have been written based on a two-node
architecture. Notes are provided throughout this training manual to explain how to complete the
lab exercises, if this course is conducted in a classroom where each student is assigned one
computer instead of two.

y
Objectives

op
Upon completion of this lab, you will be able to:
 Create a Galaxy
 Import objects into a Galaxy
Deploy objects

C
 Verify data connections using Object Viewer
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


1-12 Module 1 – Introduction

Create the Galaxy


First, you will create the Galaxy and connect to it.
1. Open the System Platform IDE (ArchestrA IDE).
The Connect To Galaxy dialog box appears.

y
op
C
Your instructor will provide you with your node name. In this lab example, T00ENG will be
used for the node name.
2. Click the New Galaxy button to create a new Galaxy.
ot

The New Galaxy dialog box appears.


3. In the Galaxy name field, enter TrainingGalaxy.
N

4. In the Galaxy type drop-down list, select Default_EMPTY.cab.


o
D

5. Click Create.

AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-13

The Create Galaxy dialog box appears and displays the Galaxy creation progress.

This will take a few moments.

y
6. Check to make sure that no error messages are displayed.

op
When the progress completes, the Create Galaxy dialog box displays 100% completed.

C
ot
N
o
D

7. Click Close.

AVEVA™ InTouch for System Platform 2020


1-14 Module 1 – Introduction

In the Galaxy name drop-down list, the newly created TrainingGalaxy appears.

y
8. Click Connect.

op
The Connect To Galaxy dialog box closes and the ArchestrA IDE opens.

C
ot
N
o
D

AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-15

Import the Training Objects


Next, you will import the preconfigured objects for the mixer application you will use in the rest of
the lab. You will also use these objects throughout this course.
9. On the Galaxy menu, click Import | Object(s).

y
op
C
The Import Automation Object(s) dialog box appears.
ot

10. Navigate to C:\Training and select InTouch for System Platform 2020.aaPKG.
N
o
D

AVEVA™ InTouch for System Platform 2020


1-16 Module 1 – Introduction

11. Click Open to begin the import process.


The Import Preferences dialog box appears.

y
op
C
12. Leave all of the defaults and click OK.
ot

The Import Automation Object(s) dialog box appears and the import progress is displayed.
N
o
D

This will take a moment.

AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-17

When the progress completes, the Import Automation Object(s) dialog box displays
Import completed.

y
13. Click Close.

op
Configure the Platforms
You will now configure the node name for each platform.
C
14. In the Deployment view, expand TrainingGalaxy, and then double-click GRPlatform to open
its configuration editor.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


1-18 Module 1 – Introduction

15. On the General tab, in the Network address field, enter the local computer name.

16. In the top-right corner of the window, click the Save and Close button.
The Check In dialog box appears.
17. Enter a comment and click OK to check in the object.

y
18. In the Deployment view, double-click PROD_Platform1 to open its configuration editor.

op
Note: For single node configurations, you will need to move AppEngine1 and all the objects
it hosts under GRPlatform and delete PROD_Platform1.

C
ot
N

19. On the General tab, in the Network address field, enter your designated Production Server
computer name.
Your instructor will provide this information.
o
D

20. Save and close the PROD_Platform1 configuration editor, and then check in the object.

AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-19

Configure the Engine for Historian


Next, you will configure the Historian connection for the application engine.
21. In the Deployment view, double-click AppEngine1 to open its configuration editor.

22. On the General tab, History area, Historian field, enter the <HistorianNodeName>.

y
op
C
ot

23. Save and close the AppEngine1 configuration editor, and then check in the object.
N

Configure the Data Source


You will now configure the simulated data source for the mixers. This data source will be used
throughout this course.
o

24. Double-click ProdPLC1 to open its configuration editor.


D

AVEVA™ InTouch for System Platform 2020


1-20 Module 1 – Introduction

25. On the General tab, Server node field, enter the <PROD_Platform1NodeName> that will
provide data to the Galaxy.
Your instructor will provide this information.

26. Save and close the ProdPLC1 configuration editor, and then check in the object.

y
Deploy the Galaxy

op
Now, you will deploy the Galaxy.
27. In the Deployment view, right-click TrainingGalaxy and select Deploy.
C
ot
N
o
D

AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-21

The Deploy dialog box appears.

y
op
28. Leave all of the defaults to perform a Cascade Deploy and click OK.
The Deploy progress appears. This will take a few moments.
29. When the deployment is complete, click Close.
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


1-22 Module 1 – Introduction

Verify Data in Runtime


Finally, you will verify the data in runtime by viewing the object attributes in Object Viewer.
30. In the Deployment view, expand the Line1 area, and then right-click the Mixer100 instance
and select View in Object Viewer.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-23

31. In the bottom pane, right-click in the Watch List and select Open.

y
op
C
32. In the Open dialog box, navigate to C:\Training and open MyWatchList.xml.
In the bottom pane, attribute details are opened in multiple watch windows.
ot
N
o
D

33. In the Mixer100 and ProdPLC1 watch windows, verify that the quality is Good for every
attribute.
Notify your instructor if any of your attributes display any other quality status.
34. Minimize Object Viewer.
<End of Lab>

AVEVA™ InTouch for System Platform 2020


1-24 Module 1 – Introduction

y
op
C
ot
N
o
D

AVEVA™ Training
Section 3 – Visualization Overview 1-25

Section 3 – Visualization Overview


This section introduces visualization concepts and describes AVEVA InTouch for System Platform
as one of the visualization clients of AVEVA Application Server.

Introduction
Application Server provides tools for developing interactive and animated graphical displays. The
behavior of these displays, including animations and visual representations, can be associated
with properties of processes and equipment through real-time data provided by System Platform.
System Platform’s visualization clients provide multiple user interface capabilities, including
keyboard, mouse, tablet, and touch-screen inputs, as well as multi-screen outputs.

Visualization Clients
System Platform clients for visualization are Operations Management Interface and InTouch for

y
System Platform. Both run the operator interface and display data from objects defined in an
Application Server Galaxy. They can coexist in the same System Platform solution and share data

op
and graphics.
 InTouch for System Platform provides traditional development tools for creating displays
and corresponding navigation. For more details, refer to the documentation provided with
that product. Key features, capabilities, and components are described in this training
C
manual starting in Module 2, as well as in the documentation provided with the product.
 Operations Management Interface leverages both HMI and SCADA systems to deliver a
convergence platform for both Operational Technology (OT) and Information Technology
(IT). It provides a visualization engine for rich, modern user experiences across platforms.
ot

Visualization Content
N

Several types of content that can be used to build visualization client applications are described
below.
o

Industrial Graphics
D

Industrial graphics allow you to create customized graphical representations of processes and
integrate other visualization tools into your application. They can be embedded or associated with
automation objects in Application Server, so that alarms, history, logic, graphics, and so on can all
be defined with the same automation object. This allows greater flexibility of application
development, including:
 Object reuse: Objects can be derived from templates and preconfigured to work within
the environment in which they are embedded to reference applicable object attributes.
 Centralized development: Application development can be centralized, including
graphical representations of equipment.
Industrial graphics are also referred to as symbols in Application Server.

AVEVA™ InTouch for System Platform 2020


1-26 Module 1 – Introduction

Client Controls
Client controls provide functionality contained in .NET controls that you can use in symbols.
External .NET controls can be imported into a Galaxy and used in symbols by embedding them.
Symbols with embedded .NET controls are supported by InTouch for System Platform.
What is InTouch for System Platform?
InTouch for System Platform is configured and licensed to be used as a visualization client in
conjunction with the System Platform, displaying data from objects defined in a Application Server
Galaxy.
What is a Managed InTouch Application?
A Managed InTouch application is one that is created from within the ArchestrA IDE, and deployed
as an object in the Application Server application. Creating a managed application allows use of
symbols. A Managed InTouch application exhibits the same kind of behavior as other objects in the
IDE, such as the ability to check out and check in, but opens in an external development
environment called WindowMaker.
InTouch Components

y
InTouch consists of three main components:

op
 WindowMaker: The InTouch development environment, where object-oriented graphics
are used to create animated, click-sensitive display windows. Graphics are embedded in
InTouch windows.
 WindowViewer: The runtime environment used to display the graphic windows created in
WindowMaker.
C
 Application Manager: Organizes the applications that are created.
ot

HTML5 Widget Control


Application Server includes a Carousel control, which is an HTML5 widget control. It is currently
only supported in InTouch applications and the Web Client.
N

AVEVA Connect for Graphics


o

AVEVA Connect is a cloud-based repository that lets you share graphics between locations,
Galaxies, and nodes. You can sign in to AVEVA Connect within the System Platform IDE to add
D

AVEVA Connect to the Graphic Toolbox, which provides a centralized storage and access point for
reusable industrial graphics.
Graphics in AVEVA Connect are stored in stores, which can be global, tenant, or user specific.
Multiple drives can be configured within each store, and each drive can be configured with
different access levels for different users. An AVEVA Connect account is required to manage
graphics in the cloud.
AVEVA Connect users can have read-only or read/write access, depending on the access granted
by their administrator. Read-only users can view graphics in the cloud, but cannot upload or
download graphics. Multiple users can access the graphics in the same drive, but only one user at
a time can edit or save a graphic to the drive.
For more information, refer to "AVEVA Connect" in the Application Server User Guide.

AVEVA™ Training
Section 4 – Encrypted Communication 1-27

Section 4 – Encrypted Communication

This section describes the encrypted communication for end-to-end communication between
server and client software applications.

The end-to-end communication between software applications (server and client) can be
encrypted and secured to prevent eavesdropping and malicious tampering (also known as: Man-
in-the-Middle) attacks.
To enable encrypted network communication, one of the nodes in the network must be configured
to host and run the System Management Server (SMS). The role of the System Management
Server is to generate, manage, and distribute secure digital certificates used for establishing and
maintaining secure communications.
All other nodes need to be configured to connect to the SMS so they all become part of the same
community.
The SMS does not need to be available at runtime for secure communications to be established.

y
In fact, once joined to the SMS, a node will not need access to the SMS until it is time to renew the
certificates.

op
Protocols that Benefit From Encrypted Communication
With encrypted communication, all of the following protocols are secured:
 SuiteLink
C
 Message Exchange (MX)
 iData
ot

 iBrowse
 HCAL
N
o
D

AVEVA™ InTouch for System Platform 2020


1-28 Module 1 – Introduction

Software that Supports Secured Communication


The following software supports secured communication:
 Application Server 2017 Update 3 and later
 InTouch Operations Management Interface 2017 Update 3 and later
 InTouch for System Platform 2017 Update 3 and later
 *OI Server
 InTouch Web Client in 2017 Update 3 and later
 Historian 2017 Update 3 and later
 Sentinel System Monitor 1.1 for System Platform 2017 Update 3 and later
*Communications from the specific OI Server to any other products listed above can be encrypted.
This is generic and applies to all OI Server versions.

y
op
C
ot
N
o
D

AVEVA™ Training
Section 4 – Encrypted Communication 1-29

Node-to-Node Communication
Node-to-node communication is unsecured under certain scenarios, including the following:
 The version of the software installed on one or more nodes is earlier than 2017 Update 3
(Communication Driver version has no impact)
 One node points to a System Management Server, but there is no System Management
Server configured on the other node
 There is no System Management Server configured for both nodes
Please note that if one node points to one System Management Server and the other node points
to another System Management Server, there will be NO network connection between the nodes.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


1-30 Module 1 – Introduction

y
op
C
ot
N
o
D

AVEVA™ Training
Section 5 – System Requirements and Licensing 1-31

Section 5 – System Requirements and Licensing


This section describes system requirements for System Platform software and introduces the
licensing model.

Software and Hardware Requirements


The following topics describe software and hardware requirements for System Platform.

Note: Please refer to the readme file that came with your software for more details about
hardware and software requirements, compatibility information, key product notes, and additional
resources. Or, visit the Knowledge & Support Center at https://softwaresupport.aveva.com.

Software Requirements
The following table lists supported and preferred software requirements for various nodes in your

y
system:

op
Note: System Platform 2020 supports 64-bit operating systems only.

Development Galaxy Automation Supervisory


C
(System Platform IDE) Repository Object Server Client
Windows Server Preferred Preferred Preferred Supported
Windows Workstation Supported Supported Supported Preferred
SQL Server Required
ot

Not required Not required Not required


.NET Framework Required Required Required Required

Hardware Requirements
N

The following tables list minimum and recommended hardware requirements.


 For server nodes, such as Historian Server, the GR node, AppEngine host (Application
o

Objects Server), and the System Platform IDE (development environment):

CPU RAM Storage Display Network


D

(Cores) (GB) (GB) (Resolution) (Mbps)


Small Minimum 2 2 100 1024 x 768 100
1-25K I/O per node Recommended 4 4 200 1920 x 1080 1000
Medium Minimum 4 8 200 1024 x 768 1000
25-50K I/O per node Recommended 8 12 500 1920 x 1080 1000
Large Minimum 8 16 500 1024 x 768 1000
> 50K I/O per node Recommended 16 24 1000 1920 x 1080 Dual 1000

 For client nodes, such as nodes that run WindowViewer, an Operations Management
Interface application, Historian Client, and remote System Platform IDE:

CPU RAM Storage Display Network


(Cores) (GB) (GB) (Resolution) (Mbps)
Minimum 2 1 100 1024 x 768 100 Mbps
Recommended 4 4 200 1920 x 1080 1 Gbps

AVEVA™ InTouch for System Platform 2020


1-32 Module 1 – Introduction

 For all-in-one nodes with all products on a single node. An all-in-one node includes
Application Server, InTouch, Historian, Historian Client, and Licensing components.

CPU RAM Storage Display Network


(Cores) (GB) (GB) (Resolution) (Mbps)
Minimum 4 8 200 1280 x 1024 100 Mbps
Recommended 6 12 500 1920 x 1080 1 Gbps

Licensing
The following topics provide general information about System Platform licensing.

Note: Please contact your local distributor for details about licensing and pricing.

Licensing Models

y
Two licensing models are available:
 Perpetual licensing offers permanent licenses with no expiration date. A perpetual

op
license applies to a specific purchased software version.
 Flex licensing offers subscription-based licenses that are renewed for a specific term.
The license is for credits redeemable to access a wide range of software based on needs
at the time. Visit https://sw.aveva.com/flex-subscription for more information on the Flex
program.
C
Note: Subscription-based licenses are also available for development consignments (for
example, System Integrator consignments).
ot

Activated Licensing
N

AVEVA software is license-enforced using an activated licensing framework with an activation


code. Management and activation of licenses are performed with the following components, which
are installed as part of the installation of your purchased products:
o

 License Server: Acquires, stores, maintains, and serves licenses. It supports redundancy
and failover.
D

 License Manager: Web-based user interface to access and maintain licenses.


License activation can be performed online or offline. Activation requires Internet access in both
cases. Consult your sales representative for availability of email and phone activation.
 Online refers to Internet access on the License Server network.
 Offline refers to activation off-site.
Refer to the documentation provided with your software product for more information on using the
License Server and License Manager.

AVEVA™ Training
Section 5 – System Requirements and Licensing 1-33

System Platform Perpetual Licenses


System Platform perpetual licenses are available in different sizes. Each option is a combination of
a certain number of I/O points, Historian tags, and Communication Driver licenses.
Each System Platform license also includes:
 One AVEVA Historian Client Web license.
 Remote Response Objects, which are not available out-of-the-box. They must be
downloaded from the Support site.
 Available upon request, one AVEVA Recipe Management Standard Edition license with
two client connections. Please contact your sales representative for more information.
Note that:
 One System Platform license is required per Galaxy.
 System Platform licenses with 25K I/O points or less do not include a Microsoft SQL
Server Standard license.
 System Platform licenses are provided for the runtime environment. For development
purposes, a Development Studio license is required. Otherwise, tools such as the System

y
Platform IDE will not launch. Development Studio licenses are offered only with the
subscription model.

op
Supervisory Client Licenses
A Supervisory Client license enables the use of Operations Management Interface and InTouch for
C
System Platform. It can be used for thick clients (desktop), thin clients (remote access, such as
Remote Desktop Server), or web clients through InTouch Access Anywhere (which uses Remote
Desktop Server).
ot

Additionally, Supervisory Client licenses are available with or without a Historian Client license. A
read-only option is also available, which does not include capabilities to write back to the Galaxy or
acknowledge alarms.
N

Note that:
 Each node running a supervisory client or multiple supervisory client applications
consumes one Supervisory Client license.
o

 Supervisory Client licenses are provided for the runtime environment only. For
development purposes, a Development Studio license is required. Otherwise, tools such
D

as the System Platform IDE will not launch. Development Studio licenses are offered only
with the subscription model.

AVEVA™ InTouch for System Platform 2020


1-34 Module 1 – Introduction

y
op
C
ot
N
o
D

AVEVA™ Training
y
op
Module 2 – Getting Started
C
Section 1 – Introduction 2-3
ot

Lab 2 – Creating a Managed InTouch Application 2-7


Section 2 – Development Environment and InTouch Windows 2-13
N

Lab 3 – Building the Application Layout 2-29


Section 3 – Runtime Environment and Application Design 2-45
o

Lab 4 – Deploying an InTouch Application 2-51


D
2-2 Module 2 – Getting Started

Module Objectives
 Introduce the InTouchViewApp object
 Introduce the ViewEngine object
 Provide a brief overview of the features of the WindowMaker environment and its settings
 Describe InTouch windows
 Provide a brief overview of the InTouch WindowViewer
 Describe some WindowViewer settings

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Introduction 2-3

Section 1 – Introduction
This section introduces the InTouchViewApp and ViewEngine objects.

InTouchViewApp Object
The InTouchViewApp object represents an InTouch application in the Application Server
environment. The InTouchViewApp object manages the check-in, check-out, and deployment of
an InTouch application.
The InTouchViewApp object includes the capabilities of the Application Server InTouchProxy
object, so that InTouch tags can be referenced by Application Server Message Exchange clients
as InTouchViewApp attributes.
The InTouchViewApp object is used to incorporate InTouch applications into an overall system
defined by a Application Server Galaxy. The Application Server system manages:
 Check-in and check-out for multiple users

y
 Security restrictions on who can deploy the InTouch application and when the InTouch
application can be deployed

op
 Backup and restore
 Deployment and undeployment
The InTouchViewApp object allows application objects running on a ViewEngine object to access
C
InTouch tags as if they were Application Server attributes of the InTouchViewApp object itself. The
tags are browsed through the standard Application Server attribute browser.
Create an InTouch application by deriving an InTouchViewApp object from the standard template
$InTouchViewApp. Creation includes the choice of starting a new application from scratch or
ot

through the use of an application template. Application templates enable you to quickly create a
new application based on the standards specified in the template. You select which template you
want to base your application on using the Application Template Browser. The templates available
N

in the Application Templates Browser are exported .aaPKG files that are loaded from an
Application Templates folder in the InTouch installation directory. For example:
C:\Program Files(x86)\Wonderware\InTouch\ApplicationTemplates
o

You can also create an InTouch application using a copy of an existing application. Either way,
opening an InTouchViewApp object launches WindowMaker. There is no object editor for the
D

InTouchViewApp object.
In WindowMaker, in Special | Configure | WindowViewer, the Managed Application tab
contains settings similar to the InTouch Network Application Development (NAD) feature that can
be configured to change the deployment behavior.
Assign multiple InTouchViewApp objects to the same ViewEngine object to make multiple InTouch
applications available on a node.
To run an InTouch application on an Application Server Platform:
a. Create and assign a ViewEngine object to a Platform.
b. Create an instance of the InTouchViewApp object from the template that defines the InTouch
application.
c. Assign the InTouchViewApp object to the ViewEngine object.

AVEVA™ InTouch for System Platform 2020


2-4 Module 2 – Getting Started

d. Deploy the ViewEngine object and the InTouchViewApp objects assigned to the ViewEngine
object.
e. Run the InTouch Application Manager to select the application and run WindowViewer; this
only needs to be done the first time.

InTouchViewApp Object Rules


Some key aspects of an InTouchViewApp object include:
 InTouchViewApp instances cannot be created from the InTouchViewApp base template
 Only one level of the InTouchViewApp template can be derived from the base
InTouchViewApp template
 An instance of the InTouchViewApp cannot be derived from an existing instance of the
InTouchViewApp
 InTouchViewApp objects cannot host other objects
 Only ViewEngine objects can host and deploy InTouchViewApp objects
 In the Model view, an InTouchViewApp object can be assigned to an Area Object, if the

y
InTouchViewApp object’s alarms should to belong to that area
Undeployment of an InTouchViewApp object is not permitted, if it is currently loaded on a

op

target node
 When the file copying process at the end of an InTouchViewApp object deployment is still
underway, the only allowable operation is to undeploy the object; this will cancel the
deployment and remove any partially copied files
C
Existing InTouch Applications
When creating an InTouchViewApp object to handle an existing InTouch application, the InTouch
ot

application files are transferred to a file repository directory. The original InTouch application files
are not modified or deleted.
Do not access files in the file repository directly or make assumptions about the file repository
N

structure.
When making changes to the InTouchViewApp InTouch application using WindowMaker launched
from the IDE, the original InTouch application is not changed.
o

Once the InTouchViewApp object is created, deleting the original InTouch application does not
affect the InTouchViewApp object’s application.
D

If an InTouchViewApp object that represents an existing InTouch application is deleted, the


application files are removed from the file repository directory, but the existing application is not
affected.

New InTouch Applications


When creating an InTouchViewApp object for a new InTouch application, WindowMaker is started
by the IDE. Create the application the same way as if WindowMaker had been started from the
InTouch application manager.

ViewEngine Object
A ViewEngine object is a simplified version of an AppEngine object. A ViewEngine object hosts
only InTouchViewApp objects. The ViewEngine object supports common engine features, such as
deployment, undeployment, startup, and shutdown. The ViewEngine does not support
redundancy. One ViewEngine object can handle several InTouchViewApp objects.

AVEVA™ Training
Section 1 – Introduction 2-5

The ViewEngine object:


 Is assigned to and deployed to a WinPlatform object
 Hosts and executes InTouchViewApp objects; the scan rate of the ViewEngine object
determines the scan rate of all its hosted InTouchViewApp objects
 Contains the logic to set up and initialize InTouchViewApp objects when they are initially
deployed and started, so that they can communicate with other objects within the Galaxy
 Does not need to be running in order for WindowViewer to execute its scripts or access
process data
 Can host Application Server scripts and UDAs; these continue to run when WindowViewer
is shut down
 Provides a set of configuration and runtime attributes
 Contains its own set of runtime diagnostic attributes that can be monitored, alarmed, and
historized
 Can include the Historian as part of the ViewEngine object configuration; all
InTouchViewApp objects that the ViewEngine object hosts use this historian
Does not support redundancy

y

Historization and alarm options of the ViewEngine object may not need to be used.

op
Because a ViewEngine object only hosts InTouchViewApp objects, InTouchViewApp objects only
serve as a proxy for InTouch tags.
When referencing tags as InTouchViewApp attributes, a shorter ScanPeriod on the ViewEngine
C
object can minimize the latency of tag value updates.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-6 Module 2 – Getting Started

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 2 – Creating a Managed InTouch Application 2-7

Lab 2 – Creating a Managed InTouch


Application

Introduction
In this lab, you will complete the steps necessary to create a simple Managed InTouch application
for your Galaxy using the $InTouchViewApp template object. This application will be used
throughout the rest of the labs in this course.

Objectives
Upon completion of this lab, you will be able to:
 Create a new Managed InTouch application

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-8 Module 2 – Getting Started

Create a New Managed InTouch Application


In the following steps, you will create a Managed InTouch application.
1. In the IDE, Template Toolbox, expand TrainingGalaxy and the System template toolset.
2. Right-click the $InTouchViewApp template and select New | Derived Template.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 2 – Creating a Managed InTouch Application 2-9

3. Rename the new template $MixerView.


4. Drag the $MixerView template to the Training\Project template toolset.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-10 Module 2 – Getting Started

5. Double-click $MixerView.
The InTouchViewApp Initialization dialog box appears.

y
op
C
ot
N

6. Leave the default as Create new InTouch application, and click Next.
o
D

AVEVA™ Training
Lab 2 – Creating a Managed InTouch Application 2-11

7. Leave the default Application name as $MixerView.


8. Check the InTouchView application check box.
9. In the Description field, enter:
InTouchView application for the InTouch for System Platform course

y
op
C
10. Leave the other defaults and click Next.
After a few moments, InTouch WindowMaker opens.
ot
N
o
D

InTouch WindowMaker will be described and used in detail later.


<End of lab>

AVEVA™ InTouch for System Platform 2020


2-12 Module 2 – Getting Started

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-13

Section 2 – Development Environment and InTouch Windows


This section provides a brief overview of the features of the WindowMaker environment and its
settings, and describes InTouch windows.

The WindowMaker Interface


The WindowMaker user interface (UI) adheres to Windows standards. WindowMaker supports
features including, but not limited to, right-click mouse support, floating and docking toolbars, pull-
down menus, and context-sensitive help. Right-click menus provide quick access to frequently
used commands and a customizable color palette that provides 16.7 million color support, limited
only by your video display.
The WindowMaker development environment is configurable. When WindowMaker is initially
opened, most of the available elements are automatically displayed, including all toolbars, the
Project and Classic views, Industrial Graphic Toolbox, Properties, and the status bar. Show or hide
any or all of these elements. Move the toolbars and window panes to any location within the

y
WindowMaker window. The optional ruler can be displayed and the visible grid turned on and off.
The following figure shows the components of WindowMaker, which is the development

op
environment. When creating a new application and running WindowMaker for the first time, its
components will automatically appear in the default configuration as shown.

The main parts of the


C development environment
are:
Fast Switch buttons
that open different
ot

views

Industrial Graphic
N

Toolbox
Toolbars
o

Project View,
displays windows
and scripts in a
D

project format
Properties pane
Drawing Canvas,
where windows are
developed
Classic View, which
displays windows
and scripts
Status bar

The WindowMaker Classic and Project views provide a hierarchical graphical view of the windows
and items you have configured in your application and provides easy access to them. It also
provides quick access to many of WindowMaker's most commonly used commands and functions.

AVEVA™ InTouch for System Platform 2020


2-14 Module 2 – Getting Started

Additionally, the Tools area of the Classic View displays all installed add-on programs such as
SQL Access Manager, SPCPro, and Recipe Manager. It also provides a customizable application
launcher.
Windows and other InTouch elements can be created and configured from the Project and Classic
views.
Access to the Managed InTouch application files is available through File | Open Application
Folder. Add additional files to your managed InTouch application here so they are deployed and
available at runtime. Files such as sounds, libraries, pictures, databases, and documents, which
are referenced by the InTouch application or need to be available to the remote user, can be
placed here.
Configure the Tools area of the Classic View to launch a Windows program. This powerful feature
allows you to quickly switch between your HMI configuration, I/O Server configuration, and other
control configurations.

Important: Do not add WindowViewer (view.exe) to the Tools area. The proper way to launch
WindowViewer is by executing the WindowViewer command on the File menu, or by clicking the

y
RUNTIME fast switch in the WindowMaker menu bar.

op
The buttons on the WindowMaker toolbars are grouped by common functionality. For example, the
Arrange toolbar contains tools that you can use to quickly apply most of the commands found on
the Arrange menu.
When hovering the cursor over a button, a tool tip appears displaying the tool name.
C
ot
N
o
D

AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-15

General Toolbar
The General toolbar consists of buttons that execute most of the window commands found on the
File menu. The toolbar also includes the Microsoft Windows clipboard tools found in the Edit
menu.

Button Description
Carries out the New Window command on the File menu to open the Window Properties
dialog box to create a new window.
Carries out the Open Window command on the File menu to open the Windows to Open
dialog box listing the names of existing windows that you can select to open.
Carries out the Close Window command on the File menu to open the Windows to Close
dialog box listing the names of all currently open windows that you can select to close.
Carries out the Save Window command on the File menu to open the Windows to Save

y
dialog box listing the names of all currently open windows that have been modified since they
were last saved.

op
Carries out the Save All Windows command on the File menu to save all currently open
windows that have been modified since they were last saved. This tool does not ask for
confirmation on a per window basis. It saves all modified windows automatically.
Carries out the Duplicate command on the Edit menu to duplicate the currently selected
object(s) in the window.
C
Carries out the Cut command on the Edit menu to cut the currently selected object(s) from
the window and copies them to the Windows Clipboard.
Carries out the Copy command on the Edit menu to copy the currently selected object(s) and
ot

copies them to the Windows Clipboard. (Copied objects are not erased from the window.)
Carries out the Paste command on the Edit menu to paste any object(s) that has been cut or
copied to the Windows Clipboard. (The cursor changes to the paste mode. Click in the
window to paste the copied or cut object(s).)
N

Carries out the Undo command on the Edit menu to reverse (undo) the last action or
command applied to object(s).
Carries out the Redo command on the Edit menu to reverse (redo) the last undo action or
o

command applied to object(s).


Carries out the Print command on the File menu to open the WindowMaker Printout dialog
D

box, used to print database and window information and QuickScripts.

AVEVA™ InTouch for System Platform 2020


2-16 Module 2 – Getting Started

Wizards/ActiveX Toolbar
The Wizards toolbar contains the tools used to embed graphics, access the Wizard Selection
dialog box. Add any installed wizard or ActiveX control to the toolbar using the
Wizard Selection | Add to toolbar feature.

Button Description
Displays the Wizard Selection dialog box, used for selecting wizards to paste into your
application.
Carries out the Embed Industrial Graphic command on the Edit menu, used for selecting
symbols to place into your application.
SmartSymbols are superseded by graphics in Managed InTouch applications.

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-17

Format Toolbar
The Format toolbar is grouped with tools that execute most of the text object formatting
commands found on the Text menu. It also contains the tools used to access the color palette to
select line, fill, text, window background, and transparent object color.

Button Description
Carries out the Font command on the Text menu to open the Font dialog box, used to
select the font, style, and size.
Carries out the Bold command on the Text menu to apply bold styling to single or multiple
text string selections and numeric value fields.
Carries out the Italic command on the Text menu to apply italic styling to single or multiple
text string selections and numeric value fields.
Carries out the Underline command on the Text menu to apply underline styling to single

y
or multiple text string selections and numeric value fields.
Carries out the Reduce Font command on the Text menu to reduce the point size of a

op
sizable font. Apply this command by selecting the text string(s) and clicking on the tool.
Carries out the Enlarge Font command on the Text menu to enlarge point size of a sizable
font. Apply this command by selecting the text string(s) and clicking on the tool.
Carries out the Left Justified command on the Text menu to align the left edge of single or
C
multiple text string selections and numeric value fields.
Carries out the Centered command on the Text menu to center single or multiple text
string selections and numeric value fields.
Carries out the Right Justified command on the Text menu to align the right edge of
ot

single or multiple text string selections and numeric value fields.


Opens the color palette to select the color for a line object or an object's outline.
N

Opens the color palette to select an object's fill color.

Opens the color palette to select an object’s text color.


o

Opens the color palette to select a window's background color.


D

Opens the color palette to select a transparent color for a bitmap object.

AVEVA™ InTouch for System Platform 2020


2-18 Module 2 – Getting Started

Draw Object Toolbar


The Draw Object toolbar is grouped with all the tools used to draw both simple graphic objects,
such as rectangles, ellipses, lines, or text objects. It also contains complex objects, such as real-
time trends, historical trends, bitmaps, and 3-dimensional buttons with labels.

Button Description
Selector mode to select objects in a window.

Rectangle tool to draw rectangles or squares.

Rounded rectangle tool to draw rectangles or squares with rounded corners.

Ellipse tool to draw ellipses or circles.

y
Line tool to draw lines at any angle.

op
H/V Line tool to draw horizontal or vertical lines.

Polyline tool to draw polylines.


C
Polygon tool to draw polygons.
ot

Text tool to enter text on the canvas.

Bitmap tool to draw a bitmap container for pasting a bitmap directly from the Windows
Clipboard or one of the following file types: .bmp, .jpg, .jpeg, .pcx, or .tga.
N

Real-time Trend tool to draw real-time trend objects. (Not applicable to InTouch for System
Platform applications)
Historical Trend tool to draw historical trend objects. (Not applicable to InTouch for System
o

Platform applications)
Button tool used to draw a 3-dimensional button with a label.
D

AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-19

View Toolbar
The View toolbar is grouped with tools that carry out most of the window commands found in the
View menu. These commands are used to control the state of the WindowMaker window.

Button Description
Carries out the Classic View command from the View menu to show/hide the Classic View.

Carries out the Project View command from the View menu to show/hide the Project View.

Hide/Restore All tool to toggle the Hide All command from the View menu on and off to
hide/show all docked toolbars.
When the hide all mode is active, the overall size of WindowMaker remains the same. To
return to normal mode, click the Hide/Restore All tool on the floating View toolbar or click
the View | Hide All command.

y
In the hide all mode, all floating toolbars remain visible and the View toolbar automatically

op
floats on top of WindowMaker. If any of the floating toolbars are docked in the hide all
mode, the mode is automatically terminated.
Full Screen tool to toggle the Full Screen command from the View menu on and off to
switch the display mode from normal view to full screen.
C
To return to normal mode, click the Full Screen tool on the floating View toolbar or click the
View | Full Screen command.
In the full screen mode, all WindowMaker program elements are hidden except any open
windows and floating toolbars. The Restore toolbar automatically floats on top of
ot

WindowMaker.
In the full screen mode, the coordinates of the client area will remain the same. For
example, the top-left is 0,0. The full screen mode automatically sets the coordinates after it
N

maximizes the client area, hides the title and menu bars and adjusts the client area to
mimic WindowViewer's full screen mode.
Toggles the Snap to Grid command from the Arrange menu on and off to show/hide the
visible grid to align objects. It works the same as the Arrange | Snap to Grid command.
o

If the Snap to Grid option in the WindowMaker Properties dialog box is not selected, this
tool will have no effect.
D

Turns the Ruler command from the View menu on and off to show/hide the ruler.

The Show/Hide Industrial Graphic Anchor Points tool toggles the on/off displays of the
anchor that allows you to fasten a symbol to a specific position/location for the purposes of
animation.

AVEVA™ InTouch for System Platform 2020


2-20 Module 2 – Getting Started

Snap to Grid

On the View toolbar, click the Snap to Grid button to turn this feature on and off.
When arranging objects in your windows, turning on the grid will cause your graphic to snap at the
upper left pixel interval on the grid. If multiple objects are selected, the snapping will be applied to
the upper left corner of the first object selected in the group.
With Snap to Grid on, you may use the arrow keys to move an object the number of pixels
between grid coordinates (10 by default). Select an object and hold down the Shift key, press an
arrow key (up, down, right, or left) in order to move an object twice the number of pixels between
grid coordinates (20 by default), or the Ctrl key to move the object four times the number of pixels
between grid coordinates (40 by default).
If Snap to Grid is off, you may select an object and hold down the Shift or Ctrl key, press an arrow
key (up, down, right, or left) in order to move an object in 10-pixel increments (Shift) or 50-pixel
increments (Ctrl). Use the arrow keys alone to move an object 1 pixel at a time. These features
can be useful when making fine alignment and location adjustments.

y
Note: By default, the grid is set to 10 pixels and visible when WindowMaker is initially started.
Configure the pixel interval for the grid through the WindowMaker Properties dialog box,

op
described later in this section.

Ruler

The WindowMaker Ruler


C
button can be used to do precision alignment of the objects in your
windows, and when determining the movement of an object during an animation sequence.
The small tick marks are spaced 5 pixels apart. The medium tick marks are spaced 10 pixels apart.
ot

The numbered large tick marks are spaced 50 pixels apart.


N
o
D

AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-21

Pan and Zoom Toolbar


The Pan and Zoom toolbar allows quick movements around a window and the ability to enlarge or
reduce the magnification level.

Button Description
Zoom Out from the area where you click.

Zoom In on the area where you click.

Zoom Normal returns to the default magnification level (100%).

Rubber Band Zoom uses the mouse to select a specific area to zoom in on.

Show/Hide Thumbnail of your window on which you can drag a red box around to

y
pan or resize the red box to zoom in and out.
Pan moves the position of the viewing area.

op
Use the Zoom Entry Box to select or enter a magnification level. Note that not all
items can be zoomed. Zooming over 100% will display graphics placeholders in place
of graphics. For more information please see the product documentation.
C
Using a mouse with a scroll wheel, hold down the Ctrl key and scroll forward to zoom in and scroll
backward to zoom out.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-22 Module 2 – Getting Started

Arrange Toolbar
The Arrange toolbar is grouped with tools that carry out most of the object arranging commands
found on the Arrange menu. Most of the arrange toolbar element buttons are activated if more
than one object is selected.

Button Description
Carries out the Align Left command on the Arrange | Align sub-menu. Aligns the left edge
of all selected objects with the left edge of the left most selected object.
Carries out the Align Center command on the Arrange | Align sub-menu. Aligns the
vertical centerline of all selected objects with the centerline of the group of objects selected.
Carries out the Align Right command on the Arrange | Align sub-menu. Aligns the right
edge of all selected objects with the right edge of the right most selected object.
Carries out the Align Top command on the Arrange | Align sub-menu. Aligns the top edge
of all selected objects with the top edge of the top most selected object.

y
Carries out the Align Middle command on the Arrange | Align sub-menu. Aligns the

op
middle of all selected objects with the middle of the group of objects.
Carries out the Align Bottom command on the Arrange | Align sub-menu. Aligns the
bottom edge of all selected objects with the bottom edge of the lowest selected object.
Carries out the Align CenterPoints command on the Arrange | Align sub-menu. Aligns
the center-point of all the selected objects with the center-point of the group.
C
Carries out the Send to Back command on the Arrange menu to place all selected objects
behind all objects that are not selected.
Carries out the Bring to Front command on the Arrange menu to place all selected
ot

objects in front of all objects that are not selected.


Carries out the Space Horizontal command on the Arrange menu to evenly space all
selected objects horizontally between the left most and right most selected objects.
N

Carries out the Space Vertical command on the Arrange menu to evenly space all
selected objects vertically between the top most and bottom most selected objects.
Carries out the Make Symbol command on the Arrange menu to combine multiple objects
into a single unit called a symbol.
o

Carries out the Break Symbol command on the Arrange menu to break a symbol into its
individual components.
D

Carries out the Make Cell command on the Arrange menu to combine multiple selected
objects into a single unit called a cell. When combining cells, each cell will be retained.
When the combined cell is broken, the original cells are restored.
Carries out the Break Cell command on the Arrange menu to break a selected cell. When
combining cells, each cell will be retained. When the combined cell is broken, the original
cells are restored.
Carries out the Rotate Clockwise command on the Arrange menu to rotate selected
objects clockwise 90 degrees.
Carries out the Rotate CounterClockwise command on the Arrange menu to rotate
selected objects counterclockwise 90 degrees.
Carries out the Flip Horizontal command on the Arrange menu to flip selected objects
horizontally.
Carries out the Flip Vertical command on the Arrange menu to flip selected objects
vertically.
Carries out the Reshape Object command on the Edit menu to reshape a polygon or
polyline.

AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-23

WindowMaker Status Bar


When an object is selected in a window, the WindowMaker status bar displays the object's upper
left X and Y pixel coordinates and the object's pixel height and width. The X and Y pixel
coordinates displayed are relative to the window the object is in, rather than the overall
WindowMaker workspace.

When multiple objects are selected, the status bar displays the width and height for the entire
group.

When a blank area of a window is clicked, the status bar displays the X and Y coordinates for the
current location of the cursor in the window.

y
Manual Positioning and Sizing
In the WindowMaker status bar, there are controls for manually positioning and resizing objects.

op
Select on object on the window, and then click in the controls to enter exact X,Y coordinates and
W,H values. You can also select multiple objects and move or resize them as a group.
C
Press the Enter key to accept and apply manual positioning and sizing entries.
ot

Note: Hold the Shift key down while drawing rectangles, rounded rectangles, and ellipses to keep
the height and width the same, which create exact squares and circles.
N
o
D

AVEVA™ InTouch for System Platform 2020


2-24 Module 2 – Getting Started

WindowMaker Properties
Use the WindowMaker Properties dialog box to configure preferences and options affecting the
behavior of WindowMaker. The WindowMaker Properties dialog box can be accessed through
the Special | Configure | WindowMaker menu option or through the WindowMaker option found
in the Tools pane (Classic View) under Configure.

y
op
C
ot

In the WindowMaker Properties dialog box, the following can be accomplished:


 Change the title bar text
N

 Show the folder name of the open application in the title bar
 Display the grid or turn off the grid
 Change the spacing between the pixels on the grid
o

 Set an option to close WindowMaker when switching to WindowViewer


 Set an option to pick through hollow objects
D

 Enable fast switch from WindowMaker to WindowViewer


 Set the precision for line selection
 Set the number of undo levels
 Change the default fonts for text and buttons
 Lock window size

AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-25

The InTouch application is comprised of windows that can contain graphics, text objects,
animations, and action scripts. When first creating the window, define the properties of the window
itself, such as background color, title, and screen position. The General Toolbar contains buttons
for most of the commands in the File menu. To create a new window, on the General toolbar, click
the New Window button.

y
op
The basic window properties are described below:

Property/Field Action/Result
Name
C
Type a unique name that identifies the window.
Comment Type any comments to be associated with the window. The comments
must be 50 characters or fewer, and they are optional.
ot

Window Color Select the background color for the window.


Window Type Configure how the window opens at runtime.
Replace The window automatically closes any windows it intersects with, when it
appears on the screen.
N

Overlay The window appears on top of currently open windows. It can be larger
than the window(s) it is overlaying. When an overlay window closes, any
windows behind it reappear. Clicking on any visible portion of a window
o

behind an overlay window brings that window to the foreground as the


active window.
D

Popup The window always stays on top of all other windows. Popup windows
usually require a response from the user to be removed.
Frame Style Configure the border around the window.
Single A three-dimensional bordered window, which can have a title bar and size
controls. Select the Title Bar check box to include the title bar.
Double A three-dimensional bordered window with no title bar and cannot be
sized without size controls.
None A window with no border or title bar, which cannot be sized without size
controls.
Size Controls Allows users to resize the window in development.
Dimensions Creates the window location and dimensions in pixels.
X Location Enter the number of pixels between the left edge of the design area and
the left edge of the window being defined.
Y Location Enter the number of pixels between the top edge of the design area and
the top edge of the window being defined.
Window Width and Height Enter the window width and height in pixels.

AVEVA™ InTouch for System Platform 2020


2-26 Module 2 – Getting Started

Duplicating Windows
To create copy of an existing window, open the window to be duplicated and on the File menu,
select Save Window As and rename the new window.
Create a Button and Edit the Label

Click the Button tool found in the Drawing toolbar to draw a button in a WindowMaker
window. After clicking the tool, move the cursor over the window. The cursor changes to a cross
hair (+). Click and drag in the window to draw a button, and then release the mouse, when the size
is adequate. Right-click the new button and select Substitute | Substitute Strings to change the
button text. Double-click the button to add animation.

InTouch Windows
InTouch is comprised of windows that can contain graphics, text objects, animations, and action
scripts. When a window is first created, properties of the window itself such as title, background
color, and dimensions are defined.

y
When a new window is created, behaviors and aesthetic properties are defined in the Window
Properties dialog box. You can specify whether or not a window will automatically close other

op
windows that it intersects with, or position the window on top or behind open windows. Border
style, position and size, and background color can also be defined.
When a new window is created, the default settings are retained from the previously created
C
window, or of the currently active window. Window names can contain up to 32 characters and can
include any character on the keyboard except quotation marks.

Window Types
ot

Window Type options include the following:


 Replace – Automatically closes any windows it intersects when it appears on the screen,
N

including popup and replace type windows.


 Overlay – Appears on top of the currently displayed windows and can be larger than the
windows it is overlaying. Clicking on any visible portion of a window behind an overlay
window makes that window active.
o

 Popup – Is similar to an overlay window, yet always stays on top of all other open windows
even if another window is clicked.
D

 Frame – This window type is used to host a single graphic. Frame windows enable
panning and zooming at runtime.

Working with Frame Windows


You can create and develop frame windows in addition to or in place of application windows.
Frame windows enable you to host graphics that can support pan, zoom and touch capabilities.
Frame windows support most of the same properties as application windows. However, several
limitations apply.
Frame windows do not:
 support multiple graphics
 host native InTouch controls
 host ActiveX controls
 host SmartSymbols

AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-27

 support undo/redo actions for window components


 flip or rotate actions for an embedded symbol
 print window information
 support cut, copy, paste, or duplicate operations
 provide cross reference support for graphics embedded in frame windows
 support window conversion to symbols
 support creating new instances, editing instances or selecting alternate instances of embedded
automation object graphics

Template Windows
Template Windows are reusable application windows that act as a model, or starting point, for
creating new windows; which aid in establishing application design standards. Template windows
are different from other windows as the Template property is enabled, they are listed separately
from other windows in WindowMaker, they can be selected from the Template Window browser,
and they can be used as a template to create new windows.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-28 Module 2 – Getting Started

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 3 – Building the Application Layout 2-29

Lab 3 – Building the Application Layout

Introduction
In this lab, you will create windows for the Managed InTouch application created in the previous
lab. You will create a Navigation window, a Logon window, an AlarmDisplay window, an
OverviewDisplay window, and a ContentDisplay window.

Important: The steps and screen shots used in this lab are designed for a resolution of
1920 x 1080.

Objectives
Upon completion of this lab, you will be able to:
 Create and configure an InTouch window

y
 Configure InTouch WindowMaker properties

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-30 Module 2 – Getting Started

Create New Windows


In the following steps, you will create the windows you will use in your InTouch application.
1. In InTouch WindowMaker, on the File menu, select New Window.

y
op
The Window Properties dialog box appears.
You will now create the Navigation window. In later labs, you will place and configure buttons in
this window, used to open different views.
2. In the Name field, enter Navigation.
C
3. Check the Frame check box.
ot

4. In the Comment field, enter Display system navigation graphics.


N
o
D

AVEVA™ Training
Lab 3 – Building the Application Layout 2-31

5. In the Window Type area, select Overlay.

y
6. Uncheck the Title Bar and Size Controls check boxes.

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-32 Module 2 – Getting Started

7. Configure the Dimensions area as follows:

X Location: 0
Y Location: 0
Window Width: 1300
Window Height: 120

y
op
C
Note: You may need to adjust the Window Width and Window Height, based on your
screen resolution.
ot

8. Click OK to close the Window Properties dialog box.


The new window is listed in the Windows & Scripts pane, under the Windows folder, and is
open on the canvas.
N
o
D

AVEVA™ Training
Lab 3 – Building the Application Layout 2-33

Now, you will create the Logon window, on which you will place a clock later in this lab to display
the current time. In a later lab, you will add a symbol to this window that will allow users to log in to
the application.
9. On the File menu, select New Window.
The Window Properties dialog box appears with the settings from the Navigation window,
configured previously.

y
10. In the Name field, enter Logon.
op
C
11. In the Comment field, enter Display logon and clock graphics.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-34 Module 2 – Getting Started

12. Configure the Dimensions area as follows:

X Location: 1300
Y Location: 0 (default)
Window Width: 620
Window Height: 120 (default)

y
op
C
13. Click OK to close the Window Properties dialog box.
The Logon window is listed in the Windows & Scripts pane, under the Windows folder, and
is open on the canvas.
ot
N
o
D

AVEVA™ Training
Lab 3 – Building the Application Layout 2-35

Next, you will create the AlarmDisplay window, which will be used in a later lab to display current
alarms.
14. Create a third window named AlarmDisplay.
15. In the Comment field, enter Display live alarms.
16. Configure the Dimensions area as follows:

X Location: 0
Y Location: 120
Window Width: 1920
Window Height: 200

y
op
C
ot

17. Click OK.


N
o
D

AVEVA™ InTouch for System Platform 2020


2-36 Module 2 – Getting Started

You will now create the OverviewDisplay window, on which you will place a symbol to display
data for the Mixer application.
18. Create a fourth window named OverviewDisplay.
19. In the Comment field, enter Display system overview graphics.
20. Configure the Dimensions area as follows:

X Location: 0 (default)
Y Location: 320
Window Width: 420
Window Height: 680

y
op
C
ot

21. Click OK.


N
o
D

AVEVA™ Training
Lab 3 – Building the Application Layout 2-37

Next, you will create the ContentDisplay window, which will be used in later labs to display
different symbols.
22. Create a fifth window named ContentDisplay.
23. In the Comment field, enter Display system graphics.
24. In the Window Type area, select Replace.
25. Check the Title Bar check box.

y
op
C
Notice that Close Button is also enabled after checking Title Bar. Leave it checked.
26. Configure the Dimensions area as follows:
ot

X Location: 420
Y Location: 320 (default)
Window Width: 1500
N

Window Height: 680 (default)


o
D

27. Click OK.

AVEVA™ InTouch for System Platform 2020


2-38 Module 2 – Getting Started

The ContentDisplay window is open on the canvas. The dashes inside the window indicate
that the focus is currently on this window.

y
op
Embed a Symbol
You will next embed a clock in the Logon window to display the current time.
C
28. Click anywhere in the Logon window to switch the focus to the Logon window.
The dashes now appear in the Logon window.
ot
N
o
D

29. On the toolbar, click the Embed Industrial Graphic button.

AVEVA™ Training
Lab 3 – Building the Application Layout 2-39

The Galaxy Browser appears.


30. In the Graphic Toolbox pane, expand Industrial Graphic Library, and then click Clocks.
31. In the Clocks pane to the right, select the ClockAnalogWall symbol.

y
op
C
ot

32. Click OK to close the Galaxy Browser.


N

33. Scroll to the right to view the ClockAnalogWall symbol in the Logon window.
o
D

Notice the symbol is automatically centered in the window.

AVEVA™ InTouch for System Platform 2020


2-40 Module 2 – Getting Started

Test in Runtime
Now, you will check to see if everything you configured works as intended in the runtime
environment. InTouch uses a program named WindowViewer for its runtime environment. Clicking
on the RUNTIME fast switch button automatically opens InTouch WindowViewer.
34. In the top-right corner, click RUNTIME to display the windows in the runtime environment.

y
op
Note: WindowMaker automatically saves any open windows before displaying them in the
runtime environment.
C
After a moment, InTouch WindowViewer opens and all five windows appear. The windows
have been labeled, so you can identify them.
ot

Logon
Navigation
N

AlarmDisplay
o

OverviewDisplay
D

ContentDisplay

In the upper-right corner, the current time is displayed in the clock.

AVEVA™ Training
Lab 3 – Building the Application Layout 2-41

35. Click Development to return to WindowMaker.

Lock the Window Size


Finally, you will lock the size of the window, so it will not scale, if viewing the window with a
different resolution.

y
36. On the Special menu, click Configure | WindowMaker.

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-42 Module 2 – Getting Started

The WindowMaker Properties dialog box appears.


37. Check Lock Window Size.

y
op
C
38. Leave all of the other default settings and click OK.
A WindowMaker message appears.
ot
N
o

39. Click OK to acknowledge that you will need to close and restart WindowMaker before your
D

changes will take effect.

AVEVA™ Training
Lab 3 – Building the Application Layout 2-43

40. Close WindowMaker.


Notice that closing WindowMaker also closes WindowViewer.
After a moment, the Check In dialog box appears.

y
41. Click OK to check in the $MixerView template.

op
42. When the check in progress completes, click Close.
<End of Lab>
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-44 Module 2 – Getting Started

y
op
C
ot
N
o
D

AVEVA™ Training
Section 3 – Runtime Environment and Application Design 2-45

Section 3 – Runtime Environment and Application Design


This section provides a brief overview of the InTouch WindowViewer and the ViewEngine, and
describes some WindowViewer settings.

WindowViewer
WindowViewer provides the runtime environment for InTouch applications. When an application is
started in WindowViewer, the windows that are configured to open by default are started in
runtime, unless WindowViewer is called from WindowMaker for testing the application. In this
case, the windows opened in WindowMaker are opened in WindowViewer. Information displayed
in WindowViewer is real-time application data from the plant floor. Processes can then be
controlled by the operator by clicking items on the screen.

Deploy a Managed InTouch Application

y
Associating all Galaxy graphics with an InTouchViewApp template enables deployed and
published InTouch applications to run graphic requests made of any graphic in the Galaxy without

op
having to embed them in the application.
Before a Managed InTouch application can be used in a production environment, it must be
deployed to the target platform(s) from the IDE. An instance of the $InTouchViewApp template is
treated as any other object and must be deployed to the target node.
C
You can deploy a Managed InTouch application from the IDE to the local node or a remote node.
After you deploy the application, you can run it in WindowViewer on the remote nodes.
The $ViewEngine object must have a Platform on which to run. This object:
ot

 Hosts InTouchViewApp objects


 Contains the logic to set up and initialize objects when they are deployed
N

 Contains the logic to remove objects when they are undeployed


 Determines the scan time, which all objects within that particular engine run
The $InTouchViewApp object must have a ViewEngine on which to run. This object:
o

 Manages the synchronization and delivery of files required by the associated InTouch
application
D

 Provides runtime access to tags on the associated InTouch application


 Starts WindowMaker for the associated InTouch application

AVEVA™ InTouch for System Platform 2020


2-46 Module 2 – Getting Started

InTouch Application Manager and WindowViewer


When the Application Manager is first run, it searches the computer for any existing InTouch
applications. Application links are displayed by an icon containing the application's name. Other
information is displayed in columns. Notice the Application Type column indicates that an
application is Managed from the IDE.
When a managed application is selected, several toolbar buttons are grayed out: WindowMaker,
DBLoad, and DBDump. These functions are not available for Managed InTouch applications.
A Managed InTouch application can be run by selecting the name of the application in the
Application Manager and clicking the WindowViewer button.

y
op
C
Resolution at Runtime
ot

Access the Resolution tab in Node Properties to configure WindowViewer to dynamically


change resolution at runtime.
N
o
D

AVEVA™ Training
Section 3 – Runtime Environment and Application Design 2-47

WindowViewer Properties
Like WindowMaker, WindowViewer includes many options to customize the runtime environment.
Configure these options by configuring WindowViewer properties from WindowMaker.

WindowViewer Properties – Managed Application Tab


The WindowViewer Properties dialog box can be accessed through the
Special | Configure | WindowViewer menu option or through the WindowViewer option found in
the Tools pane (Classic View) under Configure.

y
op
C
ot
N

Deployed Updates Area


o

Local Working Directory: Where the InTouch application is deployed on the target node.
D

Reminder interval (sec): How often, in seconds, the user is reminded to load or restart the
changes into WindowViewer. This option is available when the applicable change mode has been
set. By default, reminders happen every 30 minutes. Set the interval to 0 to not remind the user.
Script timeout (msec): When running a Managed InTouch application in WindowViewer, any
scripts associated with symbols run as expected. However, some scripts contained in symbols can
run for a long time and prevent interaction with other InTouch elements. To prevent this, set a script
timeout that is applicable for all scripts in the Managed InTouch application. A script timeout stops
script execution and returns the control to the operator. By default, scripts time out after 5 seconds.
Change Mode Area
Ignore changes: WindowViewer will ignore any deployed changes. Manually configure the
RestartWindowViewer() and ReloadWindowViewer() script functions to accept the changes
depending on the $ApplicationChanged system tag.
Restart WindowViewer: WindowViewer will restart automatically, when changes are deployed.

AVEVA™ InTouch for System Platform 2020


2-48 Module 2 – Getting Started

Prompt user to restart WindowViewer: WindowViewer will prompt the user to restart
WindowViewer when changes are deployed.
Load changes into WindowViewer: WindowViewer will load any deployed changes
automatically, and then prompt the user to restart WindowViewer.
Prompt user to load changes into WindowViewer: WindowViewer will prompt the user to load
any deployed changes, and then prompt the user to restart WindowViewer.

Home Windows
Home windows are windows that appear in WindowViewer when the user starts WindowViewer
directly, either from an icon or a menu command.

y
op
Home windows do not appear if the RUNTIME fast switch is used to start WindowViewer.
C
Display home windows at any time during runtime by using the ShowHome() function in a script.
To set home windows, use the Special | Configure | WindowViewer menu, and then click the
Home Windows tab.
ot

Viewer Memory
Configure how WindowViewer uses memory for application windows to improve performance at
N

runtime.
Reopening closed windows that have been cached retrieves them from memory rather than
loading them from disk in certain conditions.
o

Designate certain windows to have a higher priority for memory usage and configure separate
D

memory settings just for those windows.


After any of the WindowViewer memory options are modified, restart WindowViewer to apply the
changes.

AVEVA™ Training
Section 3 – Runtime Environment and Application Design 2-49

To set the memory properties, use the Special | Configure | WindowViewer menu, and then click
the Viewer Memory tab.

y
op
C
The In-Memory Window Caching area has the following features:
 Select the Use In-Memory Cache check box to save all closed in-memory windows and
graphics in memory at runtime.
ot

 In the Memory Limit for in-Memory Graphics field, enter the limit for keeping closed
in-memory windows and graphics in cache memory at runtime. The default memory limit is
70% of process memory.
N

If the memory limit is exceeded, the system automatically removes the oldest, closed
in-memory window or graphic from the cache at runtime, unless it is marked as a high-
priority window.
o

The memory limit for in-memory windows and graphics will always be less than the
memory limit for high-priority windows.
D

 In the In-Memory Graphics Expiration Time field, enter the maximum duration for which
the closed in-memory windows and graphics will remain in cache memory at runtime.
Enter a value between 0 and 8760 hours. The default value is 0 hours, which designates
no time limit.
The memory limit or the expiration time limit is applied, depending on which limit is
reached first.
The High Priority Window Caching area has the following features:
 Check the Enable High Priority Window Caching check box to allow some windows to
be marked as high priority. These windows will always be kept in cached memory after
they are closed at runtime.
 In the Memory Limit for High Priority Windows field, enter the limit for keeping closed
high-priority windows in cache memory at runtime. The default memory limit is 90%. The
system removes the oldest in-memory window first, and then removes the oldest high-
priority window when the percentage of used memory exceeds this limit at runtime.
 In the High Priority Windows list, select the windows to mark as high priority.

AVEVA™ InTouch for System Platform 2020


2-50 Module 2 – Getting Started

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-51

Lab 4 – Deploying an InTouch Application

Introduction
In the previous lab, you created windows in a Managed InTouch application. In this lab, you will
deploy a Managed InTouch application, and then view the application in runtime.

Objectives
Upon completion of this lab, you will be able to:
 Create and configure a ViewEngine
 Configure InTouch WindowViewer properties
 Deploy a Managed InTouch application
 Open a deployed InTouch application in runtime

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-52 Module 2 – Getting Started

Create a ViewEngine
In the following steps, you will create a ViewEngine object.
1. In the IDE, Template Toolbox, System template toolset, right-click the $ViewEngine
template and select New | Derived Template.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-53

2. Rename the template $gViewEngine.

y
op
3. Drag the template to the Training\Global template toolset.
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-54 Module 2 – Getting Started

4. Create an instance of the $gViewEngine template and rename it ViewEngine1.

5. Host the ViewEngine1 instance under PROD_Platform1.

Note: For single-node configurations, host ViewEngine1 under the GRPlatform, rather than
PROD_Platform1.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-55

Create an Instance of the InTouch Application


You will now create a new instance of the $MixerView template.
6. In the IDE, Template Toolbox, Training\Project template toolset, create an instance of the
$MixerView template.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


2-56 Module 2 – Getting Started

7. Leave the default name, and then host the MixerView_001 instance under the ViewEngine1
instance created earlier.

y
op
8. In the Model view, assign MixerView_001 and ViewEngine1 to the Sys area.
C
ot

 
N
o
D

AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-57

Configure WindowViewer Properties


Next, you will configure InTouch WindowViewer properties to determine default viewing in runtime.
9. In the IDE, Template Toolbox, Training\Project template toolset, double-click $MixerView to
open InTouch WindowMaker.

y
op
C
ot

InTouch WindowMaker opens and the Windows to Open dialog box appears.
N
o
D

You will not open any windows at this time.


10. Click Cancel.

AVEVA™ InTouch for System Platform 2020


2-58 Module 2 – Getting Started

11. On the Special menu, click Configure | WindowViewer.

y
op
C
The WindowViewer Properties dialog box appears.
ot

12. On the Home Windows tab, check all check boxes.


N
o
D

13. Click OK to close the WindowViewer Properties dialog box.


14. Close WindowMaker and check in the $MixerView template.

AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-59

Deploy the Managed InTouch Application


In the following steps, you will deploy the ViewEngine and the Managed InTouch application you
created earlier.
15. In the IDE, Deployment view, right-click ViewEngine1 and select Deploy.

y
op
C
ot

The Deploy dialog box appears.


N
o
D

16. Leave all of the defaults and click OK.

AVEVA™ InTouch for System Platform 2020


2-60 Module 2 – Getting Started

The Deploy progress is displayed.

17. When the progress completes, click Close.

y
The MixerView_001 icon changes from synchronization to fully deployed.

op
View the Deployed Application in WindowViewer
You will now open the deployed $MixerView application in runtime.
C
18. Switch to the production virtual machine hosting the deployed Managed InTouch application.
19. Open the InTouch HMI Application Manager.
ot

20. In the MANAGED | $MixerView pane, click the WindowViewer button to open the application
in runtime.
N
o
D

AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-61

After a few moments, InTouch WindowViewer opens and the $MixerView application displays
in runtime.

y
Leave the application running.

op
C
21. Switch back to the engineering virtual machine.

Note: For single-node configurations, open the InTouch HMI Application Manager from the
GRPlatform node and start WindowViewer for the $MixerView application.
ot

<End of Lab>
N
o
D

AVEVA™ InTouch for System Platform 2020


2-62 Module 2 – Getting Started

y
op
C
ot
N
o
D

AVEVA™ Training
y
opModule 3 – Symbols
C
Section 1 – Symbol Overview 3-3
ot

Section 2 – Symbol Editor 3-7


Lab 5 – Building a Process Overview 3-15
N

Section 3 – Symbols with Objects 3-43


Lab 6 – Creating the Mixer Components 3-45
o

Section 4 – Tools and Animations 3-63


D

Lab 7 – Creating the Mixer Display 3-75


Section 5 – The OwningObject Property 3-91
Lab 8 – Switching Between Mixers 3-93
Section 6 – Custom Properties 3-103
Lab 9 – Creating a Custom Symbol 3-107
Section 7 – Scripts in Symbols 3-131
Lab 10 – Creating a Navigation Symbol 3-137
Section 8 – Galaxy Styles 3-157
3-2 Module 3 – Symbols

Module Objectives
 Provide a brief overview of graphics
 Introduce the Graphic Toolbox
 Describe situational awareness symbols
 Discuss Element Styles
 Review containment relationships between automation objects
 Introduce the graphic development environment
 Introduce the OwningObject property
 Introduce the graphic tools in the Symbol Editor
 Introduce various visualization animations and interaction animations
 Provide a brief overview of custom properties in symbols
 Provide a brief overview of the scripting environment
 Introduce ShowGraphic-related functions

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Symbol Overview 3-3

Section 1 – Symbol Overview


This section provides a brief overview of graphics and introduces the Graphic Toolbox. A
description of the situational awareness philosophy is also provided.

Introduction
Symbols are graphics that can be used to customize graphic representations of your processes in
a view application. They can be embedded in or linked to automation objects, providing an efficient
way to visualize object-specific information in your application, such as processing status, alarms,
history, and more.
Pre-built libraries of symbols are provided with System Platform, including the Industrial Symbol
Library and the Situational Awareness Library. You can use symbols from these libraries in your
application, or create your own symbols with the Symbol Editor in the IDE.
Symbols support the use of custom properties, relative references, scripts, and more.

y
Symbols can be added to Automation objects, templates or instances, through the Content area in
the configuration editor of the object. Symbols added to object templates are inherited by any

op
derived object, just like scripts and UDAs. Any changes made to a symbol included in an object
template will be propagated to all derived objects, as soon as the template is checked in.
Similar to adding scripts or extensions to an object, when a symbol is added to an
AutomationObject, all references within the symbol should use relative references (Me.PV) to
C
integrate the functionality of the symbol within the object, instead of using absolute references
(InletValve1.PV). This way, when working with object templates, all derived instances will have
their inherited symbols properly configured.
ot

When working in a containment relationship, all contained objects should have their own symbols
added to them (device-specific symbols) and the container object symbols (system-wide symbols)
will have the symbols from its contained objects embedded in them. This way, all relative
references will be handled properly by the software without any additional configuration.
N
o
D

AVEVA™ InTouch for System Platform 2020


3-4 Module 3 – Symbols

Graphic Toolbox
InTouch WindowMaker includes the Industrial Graphic Toolbox, which includes the entire set of
Industrial Symbol Library and Situational Awareness Library symbols. The Industrial Symbol and
Situational Awareness libraries provide different categories of symbols.
Rather than embedding Symbol Wizards from the IDE, Symbol Wizards can be placed directly into
an InTouch managed application window from WindowMaker.
The symbol can be part of:
 The Graphic Toolbox
 An AutomationObject template
 An AutomationObject instance
The symbols that can be embedded include symbols whose elements have Element Styles
applied to them and Symbol Wizards created using the Symbol Wizard Editor.
You access the Graphic Toolbox in WindowMaker on the Edit menu using the Embed Industrial
Graphic command. You can also access the Graphic Toolbox by clicking on the toolbar. The

y
Graphic Toolbox list appears on the left.

op
C
ot

Situational Awareness Introduction and Philosophy


The Graphic Toolbox includes Situational Awareness Library symbols in a set of folders separate
N

from other symbols in the Industrial Symbol Library. As their name suggests, Situational
Awareness Library symbols are designed to enhance an operator's situational awareness of
current process conditions, using a variety of visual techniques.
o

Situational Awareness Library symbols use a largely monochrome color palette to increase the
contrast between normal operating conditions and a vivid colored alarm state. Situational
D

Awareness Library symbols are not photo realistic and provide just enough visual detail to
recognize their functional purpose without showing extraneous information to operators.
Situational Awareness Library symbols include an extensive set of default custom properties.
These custom properties can be set to show or hide parts of the symbol itself, set the full array of
alarm conditions, and show reported values based on the symbol's configuration.

AVEVA™ Training
Section 1 – Symbol Overview 3-5

Situational Awareness Library symbols also support multiple visual and functional configurations.
Using the Symbol Wizard, a single Situational Awareness Library symbol can support multiple
configurations by showing or hiding functional elements as options that are part of the default
symbol set.
Situational Awareness Library symbols incorporate a variety of animations that enable operators to
quickly assess current process conditions. Animations particularly suited for Situational
Awareness Library symbols include:
 Point animation
 Alarm Border animation
 Polar star animation
 Sweep angle animation

Situational Awareness Library Symbols


The Symbol Editor includes a set of Situational Awareness Library symbols. These symbols
include multiple visual and functional configurations that are enabled by selecting values from a

y
set of Wizard Options associated with each symbol.

op
Configuring Symbol Wizards in WindowMaker
InTouch WindowMaker includes the Industrial Graphic Toolbox, which includes the entire set of
C
Industrial Symbol Library and Situational Awareness Library symbols. Rather than embedding
Symbol Wizards from the IDE, Symbol Wizards can be placed directly into an InTouch managed
application window from WindowMaker.
ot

Configuring a Symbol Wizard from WindowMaker is strictly the consumer workflow of setting
Wizard Options and Custom Properties to configure a symbol for an application. Designers must
still work from the IDE to create Choice Groups, Choices, Layers, and rules to design Symbol
Wizards.
N

The typical workflow to configure a Symbol Wizard from WindowMaker includes set a Wizard
Option values and Custom Properties associated with the Wizard Option.
o
D

AVEVA™ InTouch for System Platform 2020


3-6 Module 3 – Symbols

The Edit Symbol Properties dialog box contains Wizard Options and Custom Properties tabs. You
configure a Symbol Wizard from WindowMaker by setting values of the symbol's Wizard Options
and Custom Properties. If a symbol does not contain any Wizard Options, the Wizard Options tab
is hidden.

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Symbol Editor 3-7

Section 2 – Symbol Editor


This section covers the creation and manipulation of graphic objects, lines and outlines, and text
objects using the Symbol Editor.

Industrial Graphics
One of the most powerful features of InTouch for System Platform is the ability to graphically
represent processes using graphics. A quick way to do so is to embed preconfigured graphics
from the Industrial Symbol Library or the Situational Awareness Library, or both.

Organizing Symbols in the Toolbox


In the Graphic Toolbox, organize the symbols by creating a folder hierarchy as with files and
folders in Microsoft Windows Explorer. Move symbols around within the folder hierarchy. These
folders are called Graphic toolsets.

y
To create a toolset, in the Graphic Toolbox, right-click the Galaxy and select New | Graphic
Toolset. The toolset is created and a prompt to rename the toolset appears.

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-8 Module 3 – Symbols

The Symbol Editor

Menu Bar
Toolbars

Tools Pane
Properties
Tab

Elements
List Property
Categories

Drawing
Canvas

y
op Animations
Status Bar
C Summary

The Symbol Editor includes the following areas:


ot

 Toolbars: Includes the Embed Graphic button, used to embed preconfigured graphics
from the Graphic Toolbox
 Tools Pane: A collection of elements used to create a symbol
N

 Elements List: A list of named elements on the canvas in a hierarchical view


 Drawing Canvas: The area in which elements are placed and moved to create a symbol
 Status Bar: Includes information about the currently selected element
o

 Properties Tab: A list of properties belonging to the currently selected element(s), or the
symbol being edited on the canvas; the element can be configured here, or with buttons in
D

the toolbars
 Animation Summary: A list of animations belonging to the currently selected element; it
is only visible if an element is selected
Embed preconfigured graphics from the Graphic Toolbox or select basic graphical objects, called
Elements, from the Tools pane and draw them in the drawing area, called the canvas. Typical
elements are lines, rectangles, ellipses, or curves.
Change the appearance of elements by accessing their properties in the Properties tab or by
using the tools in the graphic toolbars.
Then, configure the elements or the symbol with Animations, Scripts, Custom Properties, and
more.

AVEVA™ Training
Section 2 – Symbol Editor 3-9

Graphics in the Graphic Toolbox


The graphics located in the Graphic Toolbox can be used as building blocks for custom symbols.
After adding elements, configuring them as desired, saving, and checking in the symbol, a
thumbnail image displays when the mouse hovers over it in the Graphic Toolbox.

y
op
Tools Pane
C
The Tools pane contains tools to draw symbol elements on the canvas.
ot
N
o

The Tools pane includes:


D

 Basic objects such as lines, rectangles, polygons, and arcs


 A pointer tool to select and move elements on the canvas
 Windows common controls such as combo boxes, calendar controls, radio button groups,
and others
 A Status tool to show quality and status of selected attributes

AVEVA™ InTouch for System Platform 2020


3-10 Module 3 – Symbols

Elements List
The Elements list is a list of all elements on the canvas.

y
The Elements list is particularly useful for selecting one or more elements that are visually hidden

op
by other elements on the canvas. Use the Elements list to:
 See a list of all elements, groups of elements, embedded symbols, and client controls on
the canvas
 Select elements or groups of elements to work with them

C
Rename an element or a group of elements

Important: If an element or a group is renamed, the animation references to it are not


automatically updated. Manually change all animation links referencing the old name.
ot

Properties Tab
N

Use the Properties tab to view and set properties for the selected element or group of elements.
Properties such as size, location, color and fill style, and runtime behavior can be configured from
this tab.
o
D

AVEVA™ Training
Section 2 – Symbol Editor 3-11

Animation Summary
Use the animation summary to review, select, and configure the animation behavior of an element
selected on the canvas.

Canvas

y
The canvas is the drawing area. It is similar to any other image editing software, as elements are
drawn on the canvas and adjusted as needed. The size of the canvas can be set to a certain size.

op
To fix the size of the canvas, with no elements selected, use the Properties tab. The Size property
is set to Auto by default, which automatically sizes symbols. Set Size to Fixed to create fixed size
symbols. When set to Fixed, the FixedWidth and FixedHeight properties appear, which show the
dimensions of the fixed area of a symbol in pixels. You can also change the width and height of the
C
symbol's fixed size area by moving the boundary with its grab handles.

Buttons
ot

You can draw a button on the canvas. To draw a button, click the Button tool in the Tools
pane, and then click the canvas and drag the shape of the button. When you release the mouse,
the button text appears in edit mode. Type a text label for the button and press Enter.
N

Text Tool
o

To add a Text element, click the Text tool in the Tools pane, and then click the canvas. The
text element has no border and no background fill. The text does not wrap. When you type the
D

text, the size of the Text element expands. Drag the handles of the Text element to resize it.

Text Box Tool

To add a Text Box element, click the Text Box tool in the Tools pane, and then draw the text
box on the canvas. Text boxes can have borders and background fill.

Objects with text: Substitute Strings


You can substitute the strings in an object by either using the Substitute Strings option on the
Special menu or right-clicking the text object and selecting Substitute | Substitute Strings.

AVEVA™ InTouch for System Platform 2020


3-12 Module 3 – Symbols

In the New column, enter the new text string or strings, or click Find & Replace to edit just a word
or phrase within the text strings. You can replace one occurrence or all occurrences.

y
op
Note: Use the Substitute Strings command on strings that are included in a symbol to change
the label on buttons drawn with the Button tool.
C
Editing Element Properties
ot

Control the appearance of an element, a group of elements, or multiple elements with functions on
the toolbar or properties in the Properties tab. The Properties tab shows the properties common
to all selected elements.
N

 Read-only properties appear in gray


 Non-default values appear in bold
o

Note: The Properties tab not only supports values, but also allows input of color, font, and file
information in the respective fields.
D

One of the element properties that can be assigned is an Element Style. An Element Style defines
a set of visual properties that determine the appearance of text, lines, graphic outlines, and interior
fill shown in symbols or graphics. An Element Style applied to a symbol sets preconfigured visual
property values that take precedence over a symbol’s native visual properties. For more
information on Element Styles, see Section 8, “Galaxy Styles.”

AVEVA™ Training
Section 2 – Symbol Editor 3-13

Properties are organized in categories so they can be easily located. The following table shows
the categories:

Property Category Purpose Properties Tab

Graphic Element name or other describing identifiers


Wizards Options Options to customize the visual and functional
properties of the element

y
Appearance Any parameters related to the appearance of
the element, including location, size,

op
orientation, and transparency

C
Runtime Behavior Element visibility, tab order, and any other
ot

element behavior at runtime


N
o

Custom Properties Additional user-defined properties you can


D

associate with any element

AVEVA™ InTouch for System Platform 2020


3-14 Module 3 – Symbols

Selecting Elements
Select one or more elements by:
 Selecting them in the Elements list
 Clicking on them with the mouse
 Dragging a lasso around them with the mouse
When an element is selected, it appears with handles that enable control over its size and
orientation.

When multiple elements are selected, the last selected element is the primary element. All other

y
previously selected elements are secondary elements. To select multiple elements, hold the Shift
key and click the individual elements. You can also drag a lasso around all of the elements.

op
To change the primary element, simply click the desired element.

Selected Element Description


Primary Element  Appears with color-filled handles

C
Behaves as an active selected element
 Is the point of reference for all operations, such as
aligning or spacing multiple selected elements
ot
N

Secondary Elements  Appear with white handles


 Behave as inactive selected elements
 Follow the edits made to the primary element
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-15

Lab 5 – Building a Process Overview

Introduction
In this lab, you will use the Symbol Editor to create a new symbol in the Graphic Toolbox. You will
embed Situational Awareness dashboard symbols to create a graphic overview of the mixer
application. This overview will display process information for consumed materials and produced
products for eight different mixers in the plant.
You will embed SA_StackedColumnChart to the symbol and configure it to display live data for
consumed materials. You will also embed and configure the SA_BarChart symbol to display data
from the produced products for the current batch.

y
op
C
ot
N
o
D

Objectives
Upon completion of this lab, you will be able to:
 Create a symbol in the Graphic Toolbox
 Create a process overview using Situational Awareness symbols
 Configure Wizard Options for Situational Awareness symbols
 Configure Custom Properties using the Galaxy Browser
 Add a symbol in a window

AVEVA™ InTouch for System Platform 2020


3-16 Module 3 – Symbols

Create New Graphic Toolsets and a Symbol


First, you will organize the default graphics into toolsets. Then, you will create a new
ProcessOverview symbol in the IDE Graphic Toolbox. You will embed two Situational
Awareness items in the symbol.
1. In the IDE, Graphic Toolbox, right-click TrainingGalaxy and select New | Graphic Toolset.

y
op
C
ot

2. Rename the new toolset Apps.


N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-17

3. Right-click TrainingGalaxy and select New | Graphic Toolset.


4. Rename the new toolset Client Controls.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-18 Module 3 – Symbols

5. Select the following apps and drag them to the Apps toolset:
 AlarmApp
 ContentPresenterApp
 DocViewerApp
 HamburgerApp
 HistoricalTrendApp
 ImageViewerApp
 InSightApp
 MapApp
 NavigationApp
 PDFViewerApp
 SpreadsheetViewerApp
 TitleBarApp
 WWWebAppControls

y
op
 
C
ot
N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-19

6. Select the following client controls and drag them to the Client Controls toolset:
 AlarmClient
 TrendClient

y
op
C
7. Collapse the Apps and Client Controls toolsets.
8. Right-click TrainingGalaxy and create a new toolset named Training.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-20 Module 3 – Symbols

9. Right-click the Training toolset and select New | Symbol.

y
10. Rename the new symbol ProcessOverview.

op
C
ot
N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-21

11. Double-click ProcessOverview.


The Symbol Editor opens.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-22 Module 3 – Symbols

Create the Overview for Consumed Materials


Next, you will place the situational awareness symbol named SA_StackedColumnChart in the
ProcessOverview symbol and configure the symbol to show consumed materials.
12. On the Edit menu, click Embed Graphic.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-23

The Galaxy Browser appears.


13. In the Graphic Toolbox pane, expand Situational Awareness Library, and then click
Dashboard Tools.
14. In the Dashboard Tools pane to the right, select the SA_StackedColumnChart symbol.

y
op
C
ot
N

15. Click OK to close the Galaxy Browser.


o
D

AVEVA™ InTouch for System Platform 2020


3-24 Module 3 – Symbols

16. Click the canvas to place the symbol.

y
op
C
ot

You will now configure the name, wizard options, custom properties, and strings of the symbol.
17. On the Properties tab to the right, in the Graphic area, Name field, rename the symbol
N

IngredientsConsumed.
18. In the Wizard Options area, configure the following option:
o

NumberofBars: Eight

Leave the remaining defaults.


D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-25

19. Right-click IngredientsConsumed and select Custom Properties.

y
op
The Edit Custom Properties dialog box appears.
C
20. In the Custom Properties pane, ensure Bar01A is selected, and then in the Bar01A pane to
the right, Default Value field, select 0.
ot
N
o
D

21. To the right of the Default Value field, click the Browse Galaxy button.
The Galaxy Browser appears.
22. Ensure the Namespace is TrainingGalaxy and click the Show Hierarchical Name button to
switch the view.

AVEVA™ InTouch for System Platform 2020


3-26 Module 3 – Symbols

23. In the Instances pane to the left, scroll down and click Mixer100.Totalizer1, and then in the
right pane, click PV.

y
24. Click OK.

op
The 0 placeholder is replaced with the new value.

C
ot
N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-27

25. Modify the other custom properties as follows:

Note: In the Default Value field, you can use copy and paste instead of using the Galaxy
Browser.

Name Default Value


Bar01B Mixer100.Totalizer2.PV
Bar02A Mixer200.Totalizer1.PV
Bar02B Mixer200.Totalizer2.PV
Bar03A Mixer300.Totalizer1.PV
Bar03B Mixer300.Totalizer2.PV
Bar04A Mixer400.Totalizer1.PV
Bar04B Mixer400.Totalizer2.PV
Bar05A Mixer500.Totalizer1.PV
Bar05B Mixer500.Totalizer2.PV
Bar06A Mixer600.Totalizer1.PV

y
Bar06B Mixer600.Totalizer2.PV

op
Bar07A Mixer700.Totalizer1.PV
Bar07B Mixer700.Totalizer2.PV
Bar08A Mixer800.Totalizer1.PV
Bar08B Mixer800.Totalizer2.PV
C
ot
N
o
D

26. Click OK to close the Edit Custom Properties dialog box.

AVEVA™ InTouch for System Platform 2020


3-28 Module 3 – Symbols

27. Right-click IngredientsConsumed and select Substitute | Substitute Strings to change the
static text labels.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-29

The Substitute Strings dialog box appears.


28. Substitute the strings as follows:
Current String New String
A Ingr1
B Ingr2
B1 Mixer100
B2 Mixer200
B3 Mixer300
B4 Mixer400
B5 Mixer500
B6 Mixer600
B7 Mixer700
B8 Mixer800
C N/A
Chart Heading Consumed Materials

y
D N/A

op
Horizontal Axis Description Mixers
Short Description Consumed materials quantity of current batch
Vertical Axis Description Materials Quantity
C
ot
N
o
D

29. Click OK to close the Substitute Strings dialog box.

AVEVA™ InTouch for System Platform 2020


3-30 Module 3 – Symbols

The symbol is updated with the new strings.

y
op
Now, you will resize the IngredientsConsumed symbol so the bottom labels are fully visible.
30. With IngredientsConsumed selected, use the right handle to stretch the symbol to the right
until the mixer labels are fully legible.C
ot
N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-31

Create the Overview for Produced Products


Next, you will place the situational awareness symbol named SA_BarChart in the
ProcessOverview symbol and configure it to show produced products.
31. Maximize the Symbol Editor.

32. On the toolbar, click Embed Graphic .

33. In the Galaxy Browser, click


Situational Awareness Library\Dashboard Tools\SA_BarChart.

y
op
C
ot
N
o
D

34. Click OK.

AVEVA™ InTouch for System Platform 2020


3-32 Module 3 – Symbols

35. Click the canvas below the IngredientsConsumed symbol to place the new symbol.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-33

36. On the Properties tab to the right, rename the symbol ProducedProducts.
37. In the Wizard Options area, configure the following options:

NumberofBars: Eight
SortOrder: None

Leave the remaining defaults.

y
38. Right-click ProducedProducts and select Custom Properties.

op
The Edit Custom Properties dialog box appears.
39. In the Custom Properties pane, ensure Bar01 is selected, and then in the Bar01 pane to the
right, Default Value field, select ---. C
ot
N
o
D

40. Click the Browse Galaxy button.

AVEVA™ InTouch for System Platform 2020


3-34 Module 3 – Symbols

41. In the Instances pane to the left, scroll down and click Mixer100.Totalizer3, and then in the
right pane, click PV.

y
op
42. Click OK.
The --- placeholder is replaced with the new value.
C
ot
N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-35

43. Modify the following custom properties:


Name Value
Bar02 Mixer200.Totalizer3.PV
Bar03 Mixer300.Totalizer3.PV
Bar04 Mixer400.Totalizer3.PV
Bar05 Mixer500.Totalizer3.PV
Bar06 Mixer600.Totalizer3.PV
Bar07 Mixer700.Totalizer3.PV
Bar08 Mixer800.Totalizer3.PV

y
op
C
ot
N

44. Click OK to close the Edit Custom Properties dialog box.


o
D

AVEVA™ InTouch for System Platform 2020


3-36 Module 3 – Symbols

45. Right-click ProducedProducts and select Substitute | Substitute Strings.


The Substitute Strings dialog box appears.
46. Substitute the following strings:

Current String New String


B1 Mixer100
B2 Mixer200
B3 Mixer300
B4 Mixer400
B5 Mixer500
B6 Mixer600
B7 Mixer700
B8 Mixer800
Chart Heading Produced Products
Short Description Produced products for current batch

y
op
C
ot
N
o
D

47. Click OK to close the Substitute Strings dialog box.

AVEVA™ Training
Lab 5 – Building a Process Overview 3-37

The symbol is updated with the new strings.

y
48. On the toolbar, click the Save and Close button.

op
C
ot

49. Check in the symbol.


N
o
D

AVEVA™ InTouch for System Platform 2020


3-38 Module 3 – Symbols

Embed the Symbol in a Window


You will now embed the ProcessOverview symbol in the OverviewDisplay window you created
in a previous lab.
50. In the IDE, Template Toolbox, Training\Project toolset, double-click $MixerView.

y
op
C
ot

WindowMaker opens and the Windows to Open dialog box appears.


N

51. Check all check boxes.

Note: You can also click the Select All button.


o
D

52. Click OK.

AVEVA™ Training
Lab 5 – Building a Process Overview 3-39

53. Click the OverviewDisplay window to ensure focus is on the OverviewDisplay window.

54. On the toolbar, click Embed Industrial Graphic .


55. In the Graphic Toolbox pane, click the Training toolset.
56. To the right, in the Training pane, double-click ProcessOverview.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-40 Module 3 – Symbols

The symbol is automatically placed and centered in the window.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 5 – Building a Process Overview 3-41

Test in Runtime
Finally, you will test the OverviewDisplay window in runtime.
57. Click RUNTIME.
58. Verify that the symbol is displaying live data.

y
op
C
ot
N
o
D

Note: For any given mixer, you will not see any produced products until a few seconds after
the consumed materials are at their highest level.

59. Click Development to return to WindowMaker.


<End of Lab>

AVEVA™ InTouch for System Platform 2020


3-42 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Section 3 – Symbols with Objects 3-43

Section 3 – Symbols with Objects


This section provides a brief overview of using symbols in objects. It introduces how to manage
symbols in Automation objects and reviews containment relationships between Automation
objects. This section also introduces how to use symbols in a contained object that is within a
symbol in the container object.

Managing Symbols Within Automation Objects


Use the Content area for the configuration editor of the AutomationObject to add a new symbol
using the Add or Link External Symbol button, give it a valid name, and enter an optional
description.
The names must be unique. Valid characters for symbol names include alphanumeric characters
such as $, #, and _ (underscore). Symbol names cannot include spaces and the symbol name
cannot begin with the $ character.
To edit a newly created symbol or to make changes to an existing one, select the symbol in the list

y
and click the Edit button to open the symbol in the Symbol Editor.

op
Inserting Symbols from an Automation Object
From the graphics perspective, symbols added to Automation objects are referenced like any
other attribute within that object using the symbol’s name.
C
When embedding a symbol, either into another symbol or in WindowMaker, select either the
Template Toolbox button to embed a symbol from a template, or the
ot

Instances button to embed a symbol from an instance. Either way, the Galaxy Browser will
only display the objects, templates, or instances that have symbols. Selecting an object will display
all the symbols that object includes.
N
o
D

When embedding a symbol in WindowMaker from an object template, you will be prompted for the
name to create a new instance of the selected template. The name needs to be unique since the
software will attempt to create a new instance in the Galaxy. If the intent is to add a symbol from an
existing instance, then select the instance instead.

AVEVA™ InTouch for System Platform 2020


3-44 Module 3 – Symbols

Selecting Alternate Symbols of the Same Instance


Automation objects can include more than one symbol. The Select Alternate Symbol feature
allows the replacement of an embedded symbol with another symbol belonging to the same
instance. This feature is available in both the Symbol Editor and WindowMaker.

Note: This function cannot be used with symbols that originate from the Graphic Toolbox, as
they are not part of any object.

To access this feature from the Symbol Editor do one of the following:
 Select the embedded symbol, go to the Edit menu and click
Embedded Symbol | Select Alternate Symbol
 Right-click the embedded symbol and select
Embedded Symbol | Select Alternate Symbol
To access this feature from WindowMaker you can do one of the following:
 Select the embedded symbol, go to the Edit menu and select
Industrial Graphic “<current graphic name>” | Select Alternate Symbol

y
 Right-click the embedded symbol and select

op
Industrial Graphic “<current graphic name>” | Select Alternate Symbol
The Galaxy Browser displays symbols belonging to the same instance. An alternate symbol can
be selected: C
ot
N
o
D

In a non-frame window, if the alternate symbol is a different size than the original symbol, a
message appears asking if the size of the currently inserted symbol should be retained. Yes will
keep the current size of the selected symbol, while No will update the size of the selected symbol
to the size of the new symbol.

AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-45

Lab 6 – Creating the Mixer Components

Introduction
In this lab, you will create the mixer components using predefined graphics from the Situational
Awareness Library. You will configure the graphics with relative references and test one of the
symbols in runtime.

y
op
C
ot
N

Objectives
Upon completion of this lab, you will be able to:
o

 Link symbols to template objects


 Duplicate symbols
D

 Search symbols in the Symbol Editor


 Configure symbols with relative references

AVEVA™ InTouch for System Platform 2020


3-46 Module 3 – Symbols

Create the Level Symbol


First, you will create and configure a Level_Detail symbol to show the mixer level.
1. In the IDE, Graphic Toolbox, right-click the Training toolset and select New | Symbol.

y
2. Rename the new symbol Level_Detail.
op
C
ot
N

3. Double-click Level_Detail to open the Symbol Editor.


o

4. Click Embed Graphic.


D

5. In the Galaxy Browser, Graphic Toolbox pane on the left, select Situational Awareness
Library\Meters, and then in the Meters pane to the right, double-click SA_Meters.

AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-47

6. Click the drawing canvas to place the SA_Meters symbol on the canvas.

y
op
7. On the Properties tab to the right, rename the symbol LevelMeter.
C
8. In the Wizard Options area, configure the following options:

Type: Level
ot

LabelType: ObjectTagname
EngUnitsType: CustomPropertyLabel
N

Leave the remaining defaults.


o
D

AVEVA™ InTouch for System Platform 2020


3-48 Module 3 – Symbols

The symbol is updated, based on the properties selected.

9. On the toolbar, click the Save and Close button, and then check in the symbol.

Create the Temperature Symbol

y
Next, you will duplicate a symbol to create a Temperature_Detail symbol to display the
temperature in the mixer.

op
10. In the Graphic Toolbox, right-click Level_Detail and select Duplicate.

C
ot
N
o
D

11. Rename the new symbol Temperature_Detail.

12. Double-click Temperature_Detail to open the Symbol Editor.

AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-49

13. Select the LevelMeter symbol on the drawing canvas.

14. On the Properties tab, rename the symbol TemperatureMeter.

y
15. In the Wizard Options area, change the Type to Temperature.

op
C
ot

The symbol is updated.


N
o
D

16. Save and close and check in the symbol.

AVEVA™ InTouch for System Platform 2020


3-50 Module 3 – Symbols

Create the Valve Symbol


You will now create and configure a Valve_Detail symbol to show the mixer valves.
17. Right-click the Training toolset and select New | Symbol.
18. Rename the symbol Valve_Detail, and then open it in the Symbol Editor.
19. Next to the Properties tab, click the Toolbox tab.
A Search field appears.
20. In the Search field, enter valve_a.

y
op
21. Drag SA_Valve_And_Damper to the canvas.
C
ot
N
o
D

AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-51

22. On the Properties tab, rename the symbol Valve.


23. Configure the following properties:

DiscreteCmdType: CmdOpenAndClose
Actuator: Control
LimitSwitches: Dual
LabelType: ObjectTagname
SymbolMode: Advanced
DirectionOfTravelIndicator: True

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-52 Module 3 – Symbols

24. Right-click Valve and select Custom Properties.


25. Configure the following custom properties:

CmdClose: not Me.Cmd


CmdOpen: Me.Cmd
LimitSwitchClosed: Me.CLS
LimitSwitchOpen: Me.OLS

y
op
C
ot

26. Click OK to close the Edit Custom Properties dialog box.


N

27. Save and close and check in the symbol.


o
D

AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-53

Create the Agitator Symbol


Next, you will create and configure an Agitator_Detail symbol to show the mixer agitator.
28. Create a new symbol in the Training toolset, rename the symbol Agitator_Detail, and then
open it in the Symbol Editor.
29. On the Toolbox tab, in the Search field, enter agitator.

y
op
C
30. Drag SA_Agitator_Settler to the canvas.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-54 Module 3 – Symbols

31. On the Properties tab, rename the symbol Agitator, and then configure the following
properties:

LabelType: ObjectTagname
PVNumericDisplay: True
EngUnits: True
EngUnitsType: CustomPropertyLabel
SymbolMode: Advanced
EquipmentStatusIndicator: True
SetPoint: True

y
op
C
ot
N

32. Right-click Agitator and select Substitute | Substitute References.


o
D

AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-55

The Substitute Reference dialog box appears.


33. Substitute the references as follows:
Old New
Me.PV Me.Speed.PV
Me.PV.EngUnits Me.Speed.PV.EngUnits
Me.PV.EngUnitsRangeMax Me.Speed.PV.EngUnitsMax
Me.PV.EngUnitsRangeMin Me.Speed.PV.EngUnitsMin
Me.SP Me.Speed.SP

y
op
C
ot
N

34. Click OK to close the Substitute Reference dialog box.


35. Right-click Agitator and select Custom Properties.
36. Configure the following custom properties:
o

EquipState: Me.PV
D

EquipStateActive: Me.PV
EquipStatePassive: not Me.PV

37. Click OK to close the Edit Custom Properties dialog box.


38. Save and close and check in the symbol.

AVEVA™ InTouch for System Platform 2020


3-56 Module 3 – Symbols

Create the Pump Symbol


Now, you will create and configure a Pump_Detail symbol to show the mixer pumps.
39. Create a new symbol in the Training toolset, rename the symbol Pump_Detail, and then
open the symbol.
40. On the Toolbox tab, search for sa_pump, and then drag SA_Pump_Blower_RotaryValve to
the drawing canvas.

y
op
C
41. On the Properties tab, rename the symbol Pump, and then configure the following property:
ot

LabelType: ObjectTagname
N
o
D

AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-57

42. Configure the following custom property:

EquipState: Me.PV

43. Save and close and check in the symbol.

Associate Symbols with Templates


You will now link the symbols you just created to their associated templates.

y
44. In the Template Toolbox, Training\Project toolset, double-click $Agitator to open its
configuration editor.

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-58 Module 3 – Symbols

45. In the Content pane, click Link Content.

y
46. In the Galaxy Browser, Training toolset, select Agitator_Detail.

op
C
ot
N
o
D

47. Click OK to close the Galaxy Browser.


Agitator_Detail appears in the Content pane.

48. Save and close and check in the object.

AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-59

49. In the Template Toolbox, Training\Project toolset, double-click $Level to open its
configuration editor.
50. In the Content pane, click Link Content.
51. In the Galaxy Browser, Training toolset, select Level_Detail, and then click OK.
52. Save and close and check in the object.
53. Repeat the previous steps, to associate the created symbols with the following templates:
Template Symbol
$Pump Pump_Detail
$Temperature Temperature_Detail
$Valve Valve_Detail

Test in Runtime
Finally, you will test the functionality of one of the symbols you created in runtime.

y
54. Ensure WindowMaker is open and switch to it.

op
Note: To open WindowMaker, in the Template Toolbox, double-click $MixerView.

55. Ensure all of the windows are open and the focus is on the ContentDisplay window, and then
C
click Embed Industrial Graphic .
56. In the Galaxy Browser, click the Instances button to change the view.
ot
N

57. In the Instances pane, scroll down and select Level_001, and then in the Level_001 pane to
the right, double-click Level_Detail.
o
D

AVEVA™ InTouch for System Platform 2020


3-60 Module 3 – Symbols

In the ContentDisplay window, Level_Detail is displayed.

y
op
C
58. Click RUNTIME.
ot

59. Verify the symbol is displaying live data.


N
o
D

AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-61

60. Hold down the Ctrl key and scroll the mouse wheel forward and back to zoom and pan the
symbol.

y
op
Note: Once you have panned or zoomed, in the bottom-left corner of the window, pan and
C
zoom tools appear.

61. Click Development to return to WindowMaker.


ot

<End of Lab>
N
o
D

AVEVA™ InTouch for System Platform 2020


3-62 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Section 4 – Tools and Animations 3-63

Section 4 – Tools and Animations


This section provides an overview of the graphic tools in the Symbol Editor, visualization
animations, and interaction animations.

Creating Custom Symbols


You can use the features of the Symbol Editor and its environment to create custom elements and
put them together to create custom symbols. You can then embed them within other symbols, if
desired.
Select basic graphical objects from the Tools pane and draw them on the canvas. Typical
elements are lines, rectangles, ellipses, or curves. Just like with preconfigured graphics, you can
change the appearance of elements by accessing their properties on the Properties tab or by
using the tools in the graphics toolbars.
You can then configure the elements with Animations, Scripts, or Custom Scripts, similar to
preconfigured graphics.

y
op
Tools Pane
Recall the Tools pane introduced earlier, which contains tools to draw symbol elements on the
drawing canvas. C
ot
N

The Tools pane includes:


Basic objects such as lines, rectangles, polygons, and arcs
o

 A pointer tool to select and move elements on the canvas


D

 Windows common controls such as combo boxes, calendar controls, radio button groups,
and others
 A Status tool to show quality and status of selected attributes

AVEVA™ InTouch for System Platform 2020


3-64 Module 3 – Symbols

Working with Graphic Elements


This section discusses some of the graphic elements.

Drawing Rectangles, Rounded Rectangles, Ellipses, and Lines


Draw rectangles, rounded rectangles, ellipses, and lines on the drawing canvas.

Drawing Polylines, Polygons, Curves, and Closed Curves


Draw polylines, polygons, curves, and closed curves on the drawing canvas. If a closed element is
being drawn, the element automatically closes when done drawing.

y
Drawing 2-Point Arcs, 2-Point Pies and 2-Point Chords
op
C
Draw 2-point arcs, 2-point pies, and 2-point chords on the drawing canvas. If a closed element is
being drawn, the element automatically closes when done drawing.
ot
N

Drawing 3-Point Arcs, 3-Point Pies, and 3-Point Chords


Draw 3-point arcs, 3-point pies, and 3-point chords on the drawing canvas. If a closed element is
being drawn, the element automatically closes when done drawing.
o
D

Placing and Importing Images


Place an image element on the drawing canvas and import an image into it.

AVEVA™ Training
Section 4 – Tools and Animations 3-65

Create a Group
Grouping lets you relate elements together as a unit. Groups can contain elements and other
groups. Groups are shown in the Elements list with a default name, such as Group1. Groups can
be renamed just as you rename elements.

Select the elements to be grouped and use the Group button to group them.

y
Editing Components Within a Group

op
Work with the elements of a group as one set of elements or, by selecting the elements in the
Elements list, work with the individual elements in the group without having to break the group.
This is called in-line editing. C
An advantage of in-line editing is that an individual element can be selected graphically without
having to know its element name. To accomplish this, in the Elements list, expand the group that
contains the element to edit. Then, select the element to edit in the Elements list. The element
appears selected in the group and the group is outlined with a diagonal pattern.
ot
N
o

Edit the element with the Properties tab, by using the mouse or the menu.
D

AVEVA™ InTouch for System Platform 2020


3-66 Module 3 – Symbols

Path Graphics
Path graphics are elements that combine selected open elements, such as lines, H/V lines,
polylines, curves, and arcs to a single closed graphic element.

y
op
The path graphic depends upon:
 The order in which the elements were drawn. Each element is linked to the next element
C
by z-order. The z-order of the elements is the order shown in the Elements list.
 The direction which the elements were drawn. The end point of one element is connected
to the start point of the next element.
ot

The properties of the elements contained within a path graphic are retained, so that when the path
graphic is broken, the elements which it consists of appear as they did before the path graphic is
created.
N

The path graphic has the same properties as a rectangle, ellipse, or polyline. These properties are
lost when the path is broken.

Any shape with 2 open points can be joined using the Path button or a path graphic can be
o

broken with the Path Break button.


D

Images
Images files such as .bmp, .gif, .mpg, .mpeg, .tif, .tiff, or .png, may be added to a symbol. To

accomplish this, click the Image tool. The cursor turns into a + symbol. Draw an image
container in the canvas (any size) and select the file to import as a bitmap. Graphic files can also
be copied directly from the Windows clipboard into a graphic. To change the image to its original
size, right-click the object and select Image – Original Size.

AVEVA™ Training
Section 4 – Tools and Animations 3-67

Select Image Transparent Color


An image can be defined with a transparent color so background objects or graphics behind it will
be visible. By defining a transparent color, the background of the graphic or any objects behind the
image will show through in the areas where the transparent color is used.
To accomplish this, change the image Fill Color to No Fill and Line Color to No Line. Right-click
the image and click Select Image Transparent Color. Click the Blotter over the color you wish to
be transparent.

y
op
The image changes to reflect the transparent color selection:

C
ot
N

Adjusting the Order of Elements or Z-Order


o

The order of elements or z-order specifies which element appears on top of other elements when
the elements overlap on the drawing canvas. The order also determines how the elements of a
D

path graphic connect.


Use the Elements list to see or change the order of the elements, or right-click the element to
select the desired order position:

Moving elements forward puts elements higher in the Elements list. Moving elements backward
puts elements lower in the Elements list.

AVEVA™ InTouch for System Platform 2020


3-68 Module 3 – Symbols

Rotating Elements
Rotate elements to any orientation (0 -359 degrees):

Graphically with the rotation handle .


 Numerically by typing the orientation angle in the Properties tab

 By rotating them by 90 degrees in a clockwise or counterclockwise direction


The element is rotated around its point of origin. By default, the point of origin is in the center of the
element. You can move the point of origin to any other location, even outside of the object itself.
To move the point of origin, display it by using the Properties tab and select one of the following
properties under the Appearance category: Angle, AbsoluteOrigin, or RelativeOrigin. Click and
drag the point of origin, or enter the new location in the AbsoluteOrigin or RelativeOrigin
properties, or both.

y
Element Styles

op
The Properties tab contains a list of Element Styles. Element Styles provide the means for
developers to establish consistent visual standards in their managed InTouch applications. For
more information of Element Styles, refer to Section 8, “Galaxy Styles.”
C
Visualization and Interaction Animations
There are two types of animations:
ot

 Visualization animations determine the appearance of the element, such as blinking, fill
style, percent fill horizontal, or value display
 Interaction animations determine the behavior of an element, such as horizontal sliders or
user input
N

There are visualization and interaction animations that are specific to certain elements. For
example, the DataStatus animation is specific to the Status element. Element-specific animations
also determine element behavior and appearance.
o
D

AVEVA™ Training
Section 4 – Tools and Animations 3-69

Show Symbol and Hide Symbol Animations


The Show and Hide Symbol animations allows the display of a symbol as a pop-up window
through symbol animation. A Show Symbol animation shows a specified symbol at a specified
position when the runtime user clicks on the element. You can configure a Hide Symbol animation
to close the current symbol or to close a symbol that is shown by a specified element.

Configure Show Symbol


A Show Symbol animation pops-up a specified symbol independent of any InTouch window at a
specified position when the runtime user clicks on the element.

y
op
In the Edit Animations dialog box for the element, add the Show Symbol animation and
configure the options:

C
Symbol that will appear in the new window when the element is clicked
 If the new window has a title bar and if so, show the window name
 In what type of window the symbol will display
ot

 In what position the window will display


 The window size (set width and height or a scale relative to the symbol or desktop)
Shortcut key identified to Show the symbol, if any
N


o
D

AVEVA™ InTouch for System Platform 2020


3-70 Module 3 – Symbols

Configure Hide Symbol


In the Edit Animations window for the element, add the Hide Symbol animation and configure
the options:
 Symbol that will close, either the one that was opened by the element or a symbol that
was opened by a specified element
 Shortcut key identified to close the symbol, if any

y
op
Other Animations

Disable Animation
C
You can enable or disable animations for an element. When you disable an animation, its
configuration is not lost. You are able to see, for example, each animation independently from
each other.
ot
N
o
D

You can also disable animations from the Animation Summary in the bottom-right corner of the
Symbol Editor.

AVEVA™ Training
Section 4 – Tools and Animations 3-71

Value Display Animation


Use the Value Display animation to specify a Discrete, Analog, String, Time, or Name expression
to display at runtime.

Element Style Animation


You can configure an element or a group of elements by adding an Element Style animation.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-72 Module 3 – Symbols

There are two types of Element Style animations:


 Boolean: Animation that applies Element Styles, based on a binary True/False condition

y
 Truth Table: Animation that applies Element Styles based on a range of possible values

op
C
ot
N
o
D

AVEVA™ Training
Section 4 – Tools and Animations 3-73

Pushbutton Animation
You can configure an element with a pushbutton animation. You can choose whether the
pushbutton will be Boolean, analog, or string.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-74 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-75

Lab 7 – Creating the Mixer Display

Introduction
In this lab, you will embed symbols in a containment relationship to create displays for an agitator,
level, pumps, temperature, and valves in the Mixer application. You will then build a master display
containing these displays.
You will also use text elements, add animations, and apply element styles. In addition, you will
rename the elements.

y
op
C
ot

Objectives
Upon completion of this lab, you will be able to:
N

 Create symbols within objects


 Embed symbols with relative references
 Configure and embed symbols in a containment relationship
o

 Use the Text element and configure its Value Display animation
 Apply element styles to elements
D

 Draw line elements


 Change element display orders
 Replace a symbol in a frame window

AVEVA™ InTouch for System Platform 2020


3-76 Module 3 – Symbols

Create the Mixer Symbol


First, you will create a master MixingProcess_Detail symbol for mixers in the $Mixer template.
This display will contain the displays you created in the previous lab for the agitator, level, pumps,
temperature, and valves.
1. In the IDE, Template Toolbox, in the Training\Project template toolset, double-click the
$Mixer template to open its configuration editor.
2. In the Content pane, click the Add button.

y
op
3. To the bottom right, rename the symbol MixingProcess_Detail.
4. In the Description field, enter Includes symbols from all contained objects.
C
ot
N

5. In the Content pane, click Edit Content to open the Symbol Editor.
o
D

Note: You can also double-click MixingProcess_Detail in the Content pane to open the
Symbol Editor.

AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-77

You will now embed symbols from contained objects through relative references.

6. Click Embed Graphic .

7. Click the Relative References button, and then embed Me.Pump1\Pump_Detail.

y
op
8. Place the symbol on the drawing canvas as shown below:

C
ot
N
o

Leave space at the top-left of the drawing canvas for text you will add later in this lab.
D

AVEVA™ InTouch for System Platform 2020


3-78 Module 3 – Symbols

9. Repeat Steps 6 and 7 to embed Me.Pump2\Pump_Detail on the drawing canvas as shown


below:

10. Repeat Steps 6 and 7 to embed the following symbols on the drawing canvas, arranging them

y
as shown below:

op
Relative Reference Symbol Name
Me.Inlet1 Valve_Detail
Me.Inlet2 Valve_Detail
Me.Outlet Valve_Detail
Me.Agitator Agitator_Detail
C
Me.Level Level_Detail
Me.Temperature Temperature_Detail
ot

Inlet1 Agitator
N
o
D

Outlet

Inlet2
Level Temperature

AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-79

11. On the Toolbox tab, search for tank, and then drag SA_Tank_Vessel to the drawing canvas.

y
op
C
12. Move and expand the symbol on the drawing canvas to surround the Agitator, Level, and
Temperature symbols.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-80 Module 3 – Symbols

13. On the Properties tab, configure the symbol as follows:

Name: SA_Tank
QualityStatusIndicator: False
Width: 230 (suggested)
Height: 400 (suggested)

Leave the remaining defaults.


14. Right-click SA_Tank and select Substitute | Substitute Strings.
15. Change the label to Mixer.

y
op
C
ot
N

16. Click OK to close the Substitute Strings dialog box.


o
D

AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-81

The label changes to Mixer.

y
op
C
17. With SA_Tank selected, right-click and select Order | Send To Back.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-82 Module 3 – Symbols

The order of the elements is updated and displayed in the Elements pane.

18. In the Tools pane, click H/V Line.

y
op
C
19. On the drawing canvas, use the H/V Line tool to draw three lines to connect the pumps and
valves to the tank.
ot
N
o
D

AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-83

20. Select all of the pumps and valves.

y
op
21. On the toolbar, click Bring To Front, so the lines will be behind the symbols.
C
ot
N
o
D

Next, you will add text elements to display mixer information.


22. In the Tools pane, click Text.

AVEVA™ InTouch for System Platform 2020


3-84 Module 3 – Symbols

23. At the top-left, click the drawing canvas, and then enter Object Name.

24. Press Enter, type Area Name, and then click anywhere on the drawing canvas away from the
text elements to cancel creating more text elements.

y
op
C
25. Select the Object Name text and configure the following properties:
ot

Name: ObjectName
ElementStyle: Title
N
o
D

26. Select the Area Name text and configure the following properties:

Name: AreaName
ElementStyle: Heading

AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-85

27. Move the Area Name text down a little.

28. Double-click ObjectName.


The Edit Animations dialog box appears.
29. Click the Add Animation button.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-86 Module 3 – Symbols

30. Select the Value Display animation.

y
31. Configure the animation as follows:

op
C
States: Name
Name to be displayed: Tag Name (default)
ot
N
o
D

32. Click OK to close the Edit Animations dialog box.


The text element is updated.

AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-87

33. Double-click AreaName.


34. Add a Value Display animation.

y
op
35. In the States area, click String.
C
36. In the Expression Or Reference area, String field, enter Me.Area.
ot
N
o

37. Click OK to close the Edit Animations dialog box.


D

AVEVA™ InTouch for System Platform 2020


3-88 Module 3 – Symbols

38. Adjust the positions of all elements as shown below.

y
39. Save and close the symbol.
op
C
40. Save and close and check in the $Mixer template.
41. In WindowMaker, click the ContentDisplay window, and then click Embed Industrial
ot

Graphic.
42. In the Galaxy Browser, click the Instances button, and then select
Mixer100\MixingProcess_Detail.
N
o
D

43. Click OK.

AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-89

A WindowMaker message appears.

44. Click Yes to replace the symbol.


The symbol is replaced with the new symbol.

y
op
C
ot
N

Note: This is because frame windows can only hold one embedded symbol.
o
D

AVEVA™ InTouch for System Platform 2020


3-90 Module 3 – Symbols

Test in Runtime
Finally, you will test the functionality of the symbols.
45. Switch to runtime.
46. Observe the activity of the symbols.

y
op
47. Click Development to return to WindowMaker.
<End of Lab>
C
ot
N
o
D

AVEVA™ Training
Section 5 – The OwningObject Property 3-91

Section 5 – The OwningObject Property


This section introduces the OwningObject property.

OwningObject
The OwningObject property of a symbol is a runtime property that is used to dynamically change
the references within a symbol from one instance to another. The OwningObject property can be
used as the object reference to replace all "Me." references in expressions and scripts. The object
name can be set, either using the tagname or hierarchical name of an AutomationObject.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-92 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 8 – Switching Between Mixers 3-93

Lab 8 – Switching Between Mixers


Introduction
In this lab, you will add a Combo Box to the Mixer application. The Combo Box will be used to
switch between mixers. You will add the OwningObject property to these mixers to enable the
Combo Box to change the display to any of the eight mixer instances.

Objectives
Upon completion of this lab, you will be able to:
 Use the OwningObject property in a symbol to dynamically change the references in a
symbol from one instance to another
 Use the Combo Box tool

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-94 Module 3 – Symbols

Create SwitchedMixingProcess
First, you will create a SwitchedMixingProcess symbol in the $Mixer template, which will be
used to switch between mixers.
1. In the IDE, Template Toolbox, in the Training\Project template toolset, double-click the
$Mixer template.
2. In the Content pane, click the Add button.

y
3. Rename the symbol SwitchedMixingProcess, and then click the Edit Content button to

op
open the Symbol Editor.

C
ot
N
o
D

AVEVA™ Training
Lab 8 – Switching Between Mixers 3-95

4. Click Embed Graphic, and then click the Relative References button.
5. In the Relative References pane, ensure Me is selected, and then in the Me pane, select
MixingProcess_Detail.

y
6. Click OK and place the MixingProcess_Detail symbol on the drawing canvas.

op
7. Rename the symbol MixingProcess.

C
ot
N
o
D

Add the Combo Box


Next, you will add a SelectMixer text element and a MixerDropDown element, using the Combo
Box tool from the Tools pane, to the symbol.
8. To the right of ObjectName, add a text element, and then enter Select Mixer.

AVEVA™ InTouch for System Platform 2020


3-96 Module 3 – Symbols

9. Click away from the text element, and then select the text element.

10. Configure the element as follows:

Name: SelectMixer
Element Style: Heading

11. Hold down the Shift key and select the MixingProcess element.

y
op
C
ot
N
o
D

12. On the toolbar, click the Align Top button.

AVEVA™ Training
Lab 8 – Switching Between Mixers 3-97

The text is now aligned at the top.

13. In the Tools pane, click Combo Box.

14. To the right of SelectMixer, draw a Combo Box.

y
15. Configure the Combo Box as follows:
op
C
Name: MixerDropDown
Width: 100
ot

16. Double-click MixerDropDown.


17. In the Edit Animations dialog box, Selected Item Value area, Reference field, enter
N

MixingProcess.OwningObject.
o
D

AVEVA™ InTouch for System Platform 2020


3-98 Module 3 – Symbols

18. In the Static Values and Captions area, check the Use Values as Captions check box.
19. Uncheck AllowDuplicates.

20. In the first Value field, enter Mixer100, and then press Enter.

y
The Caption field is automatically updated.

op
C
ot

21. In the second row, Value field, enter Mixer200, and then press Enter.
N

22. Repeat the previous step to enter Mixer300 in the third row.
o
D

23. Click the Add a row button to add a fourth row.

AVEVA™ Training
Lab 8 – Switching Between Mixers 3-99

24. In the Value field, enter Mixer400, and then press Enter.

25. Repeat the previous steps to add rows for Mixer500, Mixer600, Mixer700, and Mixer800.

y
op
C
26. In the Type drop-down list, select DropDown.
ot
N
o
D

27. Click OK to close the Edit Animations dialog box.


28. Save and close the symbol.
29. Save and close and check in the $Mixer template.

AVEVA™ InTouch for System Platform 2020


3-100 Module 3 – Symbols

Embed the New Symbol


Now, you will replace the symbol in WindowMaker with the new SwitchedMixingProcess symbol
you just created.
30. In WindowMaker, click ContentDisplay and Embed Industrial Graphic, and then click the
Instances button.
31. In the Instances pane, scroll down and select Mixer100, and then in the Mixer100 pane,
select SwitchedMixingProcess.

y
32. Click OK.

op
A WindowMaker message appears.
C
33. Click Yes to replace the symbol.
ot

The symbol is replaced.


N
o
D

AVEVA™ Training
Lab 8 – Switching Between Mixers 3-101

Test in Runtime
Finally, you will test the functionality of the drop-down list.
34. Switch to runtime.
35. Use the drop-down list to change to Mixer500 and observe the changes.

y
op
C
ot

36. Change to the other mixers and observe the changes.


37. Click Development to return to WindowMaker.
<End of Lab>
N
o
D

AVEVA™ InTouch for System Platform 2020


3-102 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Section 6 – Custom Properties 3-103

Section 6 – Custom Properties


This section provides a brief overview of custom properties in a symbol and describes how to link
custom properties to external sources.

Custom Properties
Use custom properties to customize symbols when they are embedded and extend the
functionality of a symbol. A custom property can contain:
 An expression that can be read
 An attribute that can be read and written to, if the attribute allows
 A property of an element or symbol
 A custom property of a symbol
Custom properties can be set to either be Private or Public:
 A Private property is not exposed when the symbol is embedded

y
 A Public property can be customized when the symbol is embedded

op
Custom properties can also have Absolute or Relative references:
 Absolute references to an attribute that is fully defined, such as Tank1.InletValve.PV
 Relative references up the hierarchy to parent objects, such as Me.InletValve.PV
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-104 Module 3 – Symbols

Manage custom properties of a symbol in the Edit Custom Properties dialog box.

Custom Properties Pane

Configuration Pane

y
op
Note: When the custom properties of a symbol embedded from the symbol or Situational
C
Awareness libraries are edited, each property listed has a default value data type, default value,
default visibility, and default description. The description is useful because it indicates what the
symbol can do and, to a degree, how to configure it.
ot

The name of the symbol and the custom property are displayed in the header of the right side of
the configuration pane.
N
o
D

AVEVA™ Training
Section 6 – Custom Properties 3-105

Data Type Symbols


The symbols for the data types of a custom property are:
Boolean

Double

Elapsed
Time

Float

Integer

y
op
String

Time
C
History
ot

Summary
N

Default Value
The default value of a property can be a literal value, reference, or expression. Click the Browse
Galaxy ellipsis button to browse for a reference.
o

If the selected data type is String, Time, or Elapsed Time, click the button to the left of the
Default Value field to indicate whether or not the default value is Static or Expression or
D

Reference.

Static
This icon indicates that the default value is a static value.

Expression or Reference
This icon indicates that the default value is an expression or reference to a value.
Expressions are true, false, or transitioning between true and false states and affect the property,
when data changes its value or its quality state changes value.

AVEVA™ InTouch for System Platform 2020


3-106 Module 3 – Symbols

Visibility
You can configure the visibility of a custom property as follows:
 Public: The custom property is visible and can be used in a source symbol, if the symbol
is embedded
 Private: The custom property is hidden and cannot be referenced outside the defining
symbol

Description
In the Description field, as a best practice, use a meaningful description of the custom property,
especially since the custom property name cannot contain spaces. This will be useful for anyone
else that needs to view or edit the custom property.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-107

Lab 9 – Creating a Custom Symbol

Introduction
In this lab, you will create custom symbols to be used as a command panel for opening and
closing valves, starting and stopping pumps and agitators, or changing the speed setpoint for an
agitator.
You will create and configure custom properties, as well as add button elements. You will configure
the button elements with Pushbutton and Value Display animations using custom properties.
You will also add Show Symbol animations for the Agitator_Detail, Pump_Detail, and
Valve_Detail symbols, to be able to show their command panels when they are clicked in runtime.

Objectives
Upon completion of this lab, you will be able to:

y
 Create and configure custom properties in a symbol

op
 Use the Button tool
 Use Pushbutton and Show Symbol animations
 Configure the TreatAsIcon property of embedded symbols
 Configure the drawing canvas to a fixed size
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-108 Module 3 – Symbols

Create a Command Panel Symbol


First, you will create a new CommandPanel symbol in the Graphic Toolbox. You will then add
two buttons to the symbol and add animations to change the look of the buttons, when they are
pressed. These buttons will be configured later to send a command to open or close valves.
1. In the IDE, Graphic Toolbox, Training toolset, create a new symbol named CommandPanel,
and then open the symbol.

y
Now, you will add custom properties to the symbol.

op
C
2. Right-click the canvas and select Custom Properties.
ot
N
o
D

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-109

The Edit Custom Properties dialog box appears.


3. Click the Add custom property button.

y
op
C
4. Name the new custom property Cmd and press Enter.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-110 Module 3 – Symbols

5. In the Cmd panel to the right, Default Value field, delete False and enter Me.Cmd.

Note: The relative reference used for the Default Value will be resolved later in runtime.

6. In the Description field, enter Command for button.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-111

7. Add another custom property and name it CmdOffMsg.


8. To the right, in the Data Type drop-down list, select String.
9. To the left of the Default Value field, click the icon to switch to Expression or Reference
mode.

10. In the Default Value field, enter Me.Cmd.OffMsg.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-112 Module 3 – Symbols

11. Add another custom property and name it CmdOnMsg.


12. In the Data Type drop-down list, select String.
13. In the Default Value field, switch to Expression or Reference mode and enter
Me.Cmd.OnMsg.

y
op
C
14. Click OK to close the Edit Custom Properties dialog box.
ot

You will now add a button to the drawing canvas and configure it.
15. In the Tools pane, click the Button tool.
N
o
D

16. Draw a button on the drawing canvas, and then enter Open and press Enter.

The name assigned to the button is Button1. You will leave the default name.

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-113

17. Configure the button properties as follows:

Width: 100
Height: 40

18. Double-click Button1, and then add a Pushbutton animation.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-114 Module 3 – Symbols

19. Configure the animation as follows:

States: Boolean
Reference: Cmd
Action: Set

Leave the remaining defaults.

y
op
C
ot
N

20. Add a Value Display animation.


21. Configure the animation as follows:
o

States: String
D

Expression Or Reference: CmdOnMsg

22. Click OK to close the Edit Animations dialog box.

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-115

Next, you will duplicate a button, configure its properties, and modify its animations.
23. Right-click Button1 and select Duplicate.

The duplicate is automatically assigned the name Button2. You will leave the default name.
24. Place the duplicate to the right of Button1.

y
op
25. On the Properties tab, modify the Text property to Close.
The button text is updated. C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-116 Module 3 – Symbols

26. Double-click Button2 to edit the animations.


27. For the Value Display animation, change Expression Or Reference, String field, to
CmdOffMsg.

y
op
C
ot

28. For the Pushbutton animation, change Action to Reset.


N
o
D

29. Click OK to close the Edit Animations dialog box.

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-117

Now, you will fix the size of the symbol, so that it will always display the same size.
30. Click the drawing canvas.
31. Configure the properties as follows:

Size: Fixed
FixedWidth: 320
FixedHeight: 230

y
The drawing canvas is now smaller.

op
C
ot
N

32. Save and check in the symbol.


o

Create a Display for Speed Setpoint


D

Next, you will duplicate CommandPanel and add a numerical symbol to the symbol, for displaying
and changing the speed setpoint.
33. In the IDE, Graphic Toolbox, Training toolset, duplicate CommandPanel and rename it
SetpointCommandPanel, and then open the symbol.

AVEVA™ InTouch for System Platform 2020


3-118 Module 3 – Symbols

34. On the Toolbox tab, search for numerical.


35. Drag SA_NumericalEntry to the drawing canvas and place it below the buttons.

The element is assigned the name SA_NumericalEntry1. You will leave the default name.
36. Configure the properties as follows:

LabelType: CustomPropertyLabel
EngUnitsType: CustomPropertyLabel

y
Outline: False

op
Leave the remaining defaults.

C
ot
N
o
D

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-119

37. Right-click SA_NumericalEntry1 and select Substitute | Substitute References.

y
op
The Substitute Reference dialog box appears.
C
38. Click Find & Replace.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-120 Module 3 – Symbols

39. In the Find What? field, enter Me.PV.


40. In the Replace with field, enter Me.Speed.SP.
41. Click Replace All.
The references are updated.

y
op
C
ot
N

42. Click OK to close the Substitute Reference dialog box.


o
D

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-121

43. Right-click SA_NumericalEntry1 and select Custom Properties.


44. In the Custom Properties pane, select the Label property.
45. In the Label pane, Default Value field, switch to Expression or Reference mode and replace
the text with Me.Speed.SP.Description.

y
op
C
46. Click OK to close the Edit Custom Properties dialog box.
ot

47. Save and check in the symbol.

Configure Show Symbol Animation


N

In the following steps, you will configure Show Symbol animation for the graphics you created in
an earlier lab. You will configure the animation for one symbol, and then duplicate the animation
configuration for the other two symbols.
o

48. In the Graphic Toolbox, Training toolset, double-click Agitator_Detail to edit it.
D

49. Select the Agitator symbol, and then on the Properties tab, scroll down to the Runtime
Behavior area and set the TreatAsIcon property to True.

AVEVA™ InTouch for System Platform 2020


3-122 Module 3 – Symbols

50. Double-click the Agitator symbol and add a Show Symbol animation.

51. To the right of the Reference field, click Browse Galaxy, and then from the Graphic Toolbox,
select Training and double-click SetpointCommandPanel.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-123

52. In the Title area, uncheck Use Symbol Name for Window Title.
53. Switch to Expression or Reference mode and enter OwningObject.
54. Change the Position area drop-down lists to Below and Parent Symbol.
Leave the remaining defaults.

y
op
C
55. Click OK to close the Edit Animations dialog box.
ot

56. Save and check in the symbol.


Next, you will configure the pumps and valves.
57. In the Graphic Toolbox, double-click Pump_Detail to edit it.
N

58. Select the Pump symbol, and for Runtime Behavior, set the TreatAsIcon property to True.
o
D

AVEVA™ InTouch for System Platform 2020


3-124 Module 3 – Symbols

59. Double-click the Pump symbol and add a Show Symbol animation.
60. To the right of the Reference field, click Browse Galaxy, and then from the Graphic Toolbox,
select Training and double-click CommandPanel.

61. In the Title area, uncheck Use Symbol Name for Window Title.
62. Switch to Expression or Reference mode and enter OwningObject.

y
63. Change the Position area drop-down lists to Below and Parent Symbol.

op
C
ot
N
o
D

64. Click OK to close the Edit Animations dialog box.

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-125

65. Right-click Pump and select Animations | Copy.

y
op
66. Save and check in the symbol.
67. In the Graphic Toolbox, double-click Valve_Detail to edit it.
C
68. Select the Valve symbol, and then change the TreatAsIcon property to True.
69. Right-click Valve and select Animations | Paste.
ot
N
o
D

70. Save and check in the symbol.

AVEVA™ InTouch for System Platform 2020


3-126 Module 3 – Symbols

Test in Runtime
Finally, you will test the valve, pump, and agitator controls.
71. In WindowMaker, ensure that the ContentDisplay window is open and switch to runtime.
72. Click Inlet1_001 to view its command panel.

y
op
C
ot

Notice that the title for the command panel is Inlet1_001, and the text on the buttons is Open
and Close.
73. Click Open and Close to operate and watch the valve transition.
N

74. At the top of the Inlet1_001 command panel, click the X to close it.

Note: If you do not click X, you will not be able to perform any other functions in
WindowViewer.
o
D

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-127

75. Click Pump1_001 to view its command panel.

y
op
Notice that the title of the command panel is Pump1_001, and the text on the buttons is Start
and Stop.
76. Click Start and Stop to operate the pump and watch the results.
C
77. Click X to close the command panel.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-128 Module 3 – Symbols

78. Click Agitator_001 to view its command panel.

y
op
C
ot
N

Notice the additional setpoint entry symbol on the command panel.


79. To the right of Speed setpoint, click the number and change the setpoint to a number
between 1 and 100, and then press Enter.
o
D

AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-129

80. When the agitator is running, verify the new agitator speed.

y
81. Close the Agitator_001 command panel.

op
82. Click Development to return to WindowMaker.
<End of Lab> C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-130 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Section 7 – Scripts in Symbols 3-131

Section 7 – Scripts in Symbols


This section provides a brief overview of the scripting environment, explains execution types and
triggers, and introduces ShowGraphic functions.

Overview of the Scripting Environment


You can write scripts to monitor and manage aspects of your InTouch applications. A script is a set
of programmatic instructions that directs an InTouch application to perform an action. You write
InTouch scripts with the QuickScript language. Using QuickScript, you can write scripts that
include conditional branching, code looping, and local variables.
Scripts can be classified by when they are run and whether they run independently of other
ongoing application processes. Scripts can generally be run in two different ways:
 Event-based scripts run once when an event occurs. For example, an event-based script
can run after an operator presses a key or a tag value changes.
Time-based scripts run periodically while a condition is fulfilled. For example, a time-based

y

script can run while a window is open or a button is kept pressed.

op
You can configure multiple event-based and time-based scripts to run with the same trigger. For
example, you can configure a script to run once when a key is pressed and another script to run
periodically every 5 seconds while the same key remains pressed.
For condition scripts, you can either run a script synchronously or asynchronously:

C
When a synchronous script runs, all InTouch animation and tag value updating stops.
Then, animation and tag value updating resumes after the script stops.
 When an asynchronous script runs, all InTouch animation and tag value updating
ot

continues during the period when the script runs.


You can write scripts to extend and customize your objects. You can write scripts that run
commands and logical operations, based on specified criteria being met. For example, a script
N

starts when a key is pressed, a window is opened, or the value of an attribute changes.
Using scripts, you can create a variety of customized and automated system functions. A script
adds behavior that runs when the object that contains the script is deployed and the object is
o

either:
 On scan in the runtime environment; or
D

 Changes scan or start/shutdown state


A script typically runs based on attributes of the object that contains it, but can be started by
another script based on changing values of attributes of more than one object.
When a script condition is true, the script runs at least once immediately. The maximum length of a
script trigger period is 49 days. A script never runs if the trigger period exceeds 49 days.
The following characteristics apply to the scripting environment:
 Script text has no length limitations.
 Selecting a script function from the Script Function Library dialog box adds it and its
syntax to the script text where you can edit it.
 You can save a script with syntax errors, but the object cannot be deployed until you
correct the script syntax errors.
 You can validate your scripts before using them. This helps you avoid syntactically correct
but semantically incorrect combinations, such as two statements declaring the same
variable. Variables can be declared only one time in a single block.

AVEVA™ InTouch for System Platform 2020


3-132 Module 3 – Symbols

 You can change the name of a script at any time by renaming it in the Object Editor.
 In the runtime environment, a script execution error stops the script’s current execution.
Script execution is retried on the next AppEngine scan.
You can use the InTouch scripting language, QuickScript, to build more robust applications. There
are seven types of scripts and many built-in script functions available. The seven types of scripts
are defined by what causes them to run. For example, application scripts run when an application
starts, stops, or continues running. Data change scripts run when a certain item of data changes.
Window scripts run when a window opens, closes, or remains open.
The built-in script functions include mathematical functions, trigonometric functions, string
functions, and others. Using these functions saves you time in developing your application.
InTouch scripts can include Object Linking and Embedding (OLE) objects and ActiveX controls.
You can use conditional statements, loops, and local variables in the scripting language to create
complex effects in your application. Before you start scripting, you should understand:
 A script is a set of instructions that direct an application to do something.
 QuickScript is the InTouch HMI scripting language.

y
 A function is a script that can be called by another script. The InTouch HMI comes with a
set of predefined functions for your use.

op
 QuickFunctions are reusable functions written in QuickScript and stored in the
QuickFunction library. To create a QuickFunction, you simply create a QuickScript and
name it. A QuickFunction can be called by another script or from animation link
expressions.
C
Types of Scripts
In InTouch, scripts are categorized based on what causes the script to run. For example, you
ot

would create a “key script” if you want a script to run when the operator presses a certain key on
the keyboard.
After you have chosen the script type, you can then further define the criteria, or conditions, that
N

make the script run. For example, you might want the script to run when the key is released, not
when the key is pressed.
The script types are:
o

 Application scripts, which run either continuously while WindowViewer is running or one
time when WindowViewer is started or shut down.
D

 Window scripts, which run periodically when an InTouch window is open or one time when
an InTouch window is opened or closed.
 Key scripts, which run one time or periodically when a certain key or key combination is
pressed or released.
 Condition scripts, which run one time or periodically when a certain condition is fulfilled or
not fulfilled.
 Data change scripts, which run one time when the value of a certain tag or expression
changes.
 Action scripts, which run one time or periodically when an operator clicks on an InTouch
HMI graphic object.
 ActiveX event scripts, which run one time when an ActiveX event occurs, such as clicking
an ActiveX control.

AVEVA™ Training
Section 7 – Scripts in Symbols 3-133

Associating Scripts with Symbols


You can associate scripts with the symbols placed in your InTouch applications. You can use
scripts to animate your symbols or modify their elements, while an InTouch application is running.
After selecting a symbol embedded in an InTouch window, you select the expression or reference
whose value triggers the script to run. You use the Symbol Editor to select the trigger that runs the
script.
Key points include:
 A symbol script can be either predefined or named. A predefined script runs based on the
status of the symbol in the running application. A named script runs when an expression
or references associated with the script changes state.
 Predefined scripts are similar to InTouch window scripts. Based upon how you configure
the script trigger, a predefined symbol script can run:
 Once, after the symbol opens or is shown.
 Periodically, while the symbol appears in the running application.
 Once, after the symbol closes or is hidden.

y
 Based upon how you configured the script, a named symbol script can run, when the
trigger values or expressions are true, false, or transitioning between true and false states.

op
Also, a named symbol script can run, when data associated with the trigger expression
changes value or its quality state changes value.

Execution Types and Triggers


C
The existence and execution order of scripts associated with an object are inherently locked at
each stage of development in the template, derived template, and instance. For example, a set of
ot

scripts associated with a template are treated as an ordered block in the Configure Execution
Order dialog box when configuring execution order in a next-generation derived template.
New scripts in the derived template can be ran in any order before and after the template’s block of
N

scripts. The derived template’s execution order is treated as a block in any downstream derived
templates or instances. Scripts cannot trigger any faster than the scan period of the AppEngine the
script is associated with or faster than the scan period of the AppEngine that hosts the object that
the script is associated with.
o

Scripts run in one of two modes:


D

 Synchronous scripting mode is the default for running scripts in the runtime environment.
This mode runs scripts in order while an object is running on scan.
 Asynchronous scripting mode is a group of scripts running on the same, lower priority
execution thread. These scripts only support Execute triggering and run independently
from each other. Set the maximum number of independent threads in the AppEngine
configuration editor. To use either scripting mode, you must select Execute as the
Execution Type in the Scripts area on the Scripts tab.
Execution Type triggers include: Startup, On Scan, Execute, Off Scan and Shutdown.

AVEVA™ InTouch for System Platform 2020


3-134 Module 3 – Symbols

ShowGraphic() Function
Associating all Galaxy graphics with an InTouchViewApp template enables deployed and
published InTouch applications to run show graphic requests made of any graphic in the Galaxy
without having to embed them in the application.
The ShowGraphic() function uses the graphic as a parameter. Associating all Galaxy graphics
ensures that:
 The graphic is deployed and available at runtime, whether or not it is referenced by an
InTouchViewApp
 Template symbols referenced by the ShowGraphic() function are deployed and available
at runtime

Note: The term graphic includes any symbol or client control present in the Graphic Toolbox,
and any symbols owned or inherited by templates and instances.

About the Show/Hide Graphic Functions

y
The Show/Hide Graphic script functions allow you to write graphic scripts to display a symbol as a

op
popup window and close the popup window.
The Show/Hide Graphic script functions are in addition to the Show/Hide Symbol animation
feature, which allows you to display a symbol as a popup window through symbol animation. The
Show/Hide Symbol animation feature remains unchanged. You can use Show/Hide Symbol
C
animation and the Show/Hide Graphic script functions together
Like the Show/Hide Symbol animation feature, you can control the properties of the symbol
through the Show Graphic script function.
ot

You can configure the script to specify:


 Which symbol will appear as the popup window
Whether the window will have a title bar
N

 The initial position of the popup window


 Whether the window can be resized
Whether the window will be modal or modeless
o

 The relative position of the popup window


D

 Passing the OwningObject to the symbol to display


 Values of the custom properties of the symbol

Configuring the Show/Hide Graphic Script Functions


When configuring this feature, include a script that contains the ShowGraphic script function to
display a symbol as a popup window at runtime. You can also include a script that contains the
HideGraphic script function.
The HideGraphic script function allows the closing of any symbol displayed through the
ShowGraphic script function.

Important: The ShowGraphic script function can be used in the action script of a symbol, named
script, and predefined script. Although the system allows the inclusion of it in a server script, such
as Start Up, On Scan, Off Scan, Shut Down, and Execute, the function cannot be ran at runtime.

AVEVA™ Training
Section 7 – Scripts in Symbols 3-135

The HideGraphic script function can be called from any graphic that is being used in the InTouch
application.

ShowGraphic() Syntax
Use the ShowGraphic() to display a graphic within a popup window.
Dim graphicInfo as aaGraphic.GraphicInfo;
graphicInfo.Identity = "<Identity>";
graphicInfo.GraphicName = "<SymbolName>";
ShowGraphic( graphicInfo );

HideGraphic() Syntax
Use the HideGraphic() script function to close any displayed graphic given its Identity.
HideGraphic(string identity);
The ShowGraphic() and HideGraphic() script functions are available in managed or published
InTouch applications only.

y
Scripting the OwningObject

op
The OwningObject in a ShowGraphic script function resolves only relative references. Any
absolute reference is not affected by the OwningObject. The OwningObject is independent of the
graphic definition. The relative reference is resolved by the object that hosts the script. For
C
example, where GraphicName = me.S1 or Obj1.S1, and OwningObject = Obj2, the OwningObject
resolves only the relative reference in the symbol S1.
An OwningObject can be a concatenation of constant strings and reference strings. It can be
ot

browsed to by using the Display Automation Object Browser, or by entering the name of the
OwningObject.

Example
N

graphicInfo.OwningObject = "Mixer_001";
o

Runtime Behavior of the Show/Hide Graphic Functions


The Show/Hide Graphic script functions exhibit the following behavior:
D

 The graphic, configured with the ShowGraphic script function, behaves like a
ShowSymbol animation popup window, rather than an InTouch popup window.
 You can configure a symbol with both the ShowSymbol animation and ShowGraphic
together. If you run both at runtime, two popup windows open, displaying the same or
different symbols. The two popup windows are independent of each other.
 You can open and close the graphic from across symbols and across InTouch windows.
You can manage the graphic across the entire InTouch application.
 Unlike ShowSymbol animation, there is no parent/child relationship between the window
that opened the graphic and the graphic opened by the ShowGraphic() script function.
 You cannot use the Close Window dialog box of InTouch WindowViewer to close the
popup windows displayed by the ShowGraphic script function.

AVEVA™ InTouch for System Platform 2020


3-136 Module 3 – Symbols

 Any graphic displayed by the ShowGraphic script function or ShowSymbol animation


always remains in front of InTouch windows, except InTouch popup windows. Even if you
click an InTouch window, the window remains behind these graphics.
 Enabling in-memory graphics caching in WindowViewer memory properties will keep
ShowGraphic and ShowSymbol animation popup symbols cached in memory. The system
tracks the order in which graphics are closed in order to determine their age. If a user-
defined in-memory limit is exceeded, the system automatically removes the oldest popup
symbols in the in-memory graphics cache, except those defined in high-priority windows.
If you display a symbol with the ShowGraphic script function or with ShowSymbol
animation, WindowViewer will perform a memory health check.

Behavior of ShowGraphic Windows with the Same Identity


ShowGraphic popup windows attempting to open a popup window with the same Identity exhibit
the following behavior with the predefined scripts OnHide, OnShow, and WhileShowing:
 A ShowGraphic script function within an OnShow script will be blocked, if a ShowGraphic
popup window with the same Identity is already displayed.

y
 A ShowGraphic script function within an WhileShowing script will be blocked, if a
ShowGraphic popup window with the same Identity is already displayed.

op
 A ShowGraphic script function within an OnHide script will be blocked, if a ShowGraphic
popup window with the same Identity is already displayed.
No error or warning messages will appear in the logger, when script execution is blocked as
described.
C
With the Graphic cache memory option enabled, calling ShowGraphic popup windows with the
same identity name, if the symbol is modal to the modal symbol behind it, calling the ShowGraphic
script function cannot change this symbol to be modeless to the current modal symbol.
ot

Closing a Symbol
N

You can close a symbol, displayed using the ShowGraphic script function, by running the
HideGraphic or HideSelf script functions, clicking the Close Window button of the graphic popup
window, if configured, or by closing WindowViewer. You cannot close the graphic by closing the
InTouch window or the symbol that opened the graphic.
o

Windows opened by the ShowGraphic script function or ShowSymbol animation are loaded
D

dynamically and are not exposed at runtime. You cannot close these windows using the
WindowViewer Close Window dialog box.

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-137

Lab 10 – Creating a Navigation Symbol

Introduction
In this lab, you will create a navigation symbol that will provide buttons you can click to display
different views in runtime. You will add animation using action scripts and use the ShowGraphic()
script function to show specific views.
Script files for labs in this course may be found in the C:\Training folder on your student machine.
You may copy and paste from these files when directed.

Objectives
Upon completion of this lab, you will be able to:
 Create a reusable button
 Add the Action Script animation to a symbol

y
 Use the ShowGraphic() script function

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-138 Module 3 – Symbols

Create the Production Line Graphics


First, you will create symbols that will display all four mixers in the lines of production. This will be
done using two different methods. In the first method, you will add borders around each of the
mixers to define each graphic in the shared symbol. In the second method, you will create a
graphic that will display the mixers using scripting.
1. In the IDE, Graphic Toolbox, Training toolset, create a new symbol named
Line1_MixingProcess, and then open the symbol.

y
2. Embed from Instances, Mixer100\MixingProcess_Detail.

op
C
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-139

3. Place it in the top-left corner of the drawing canvas.

y
op
4. Embed Mixer200\MixingProcess_Detail to the right of the first mixer.
C
Note: If the drawing canvas is not big enough, on the toolbar, you can change the display
percentage to 75% or smaller.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-140 Module 3 – Symbols

5. Embed Mixer300\MixingProcess_Detail and Mixer400\MixingProcess_Detail below the


first two mixers.
6. Use the alignment tools to align all four mixing process symbols accordingly.

y
op
C
7. Use the Rectangle tool to draw rectangles around each mixing process symbol, and then
select all rectangles and click Send To Back.
ot
N
o
D

8. Save and check in the symbol.

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-141

9. In the Graphic Toolbox, Training toolset, create a new symbol named


Line2_MixingProcess, and then open the symbol.

10. Add a rectangle to the canvas and configure it as follows:

Name: MixerDisplay
Width: 1520
Height: 660

y
op
C
ot
N
o

11. Right-click the canvas and select Custom Properties.


D

Note: You may have to move the rectangle to access the canvas.

12. Add a custom property named ShowTrigger, and then change the Data Type to String.

13. Click OK to close the Edit Custom Properties dialog box.

AVEVA™ InTouch for System Platform 2020


3-142 Module 3 – Symbols

14. Right-click the canvas and select Scripts.

The Edit Scripts dialog box appears.


15. In the Predefined Scripts pane, Trigger area, type drop-down list, select On Hide.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-143

16. In the script body, enter the following:

Note: You may use the applicable portion of the script in C:\Training\Lab 10 - Creating a
Navigation Symbol.txt.

'Hide all graphics before displaying new graphics.


dim i as integer;
for i = 5 to 8
'Hide all displayed graphics.
'Indentities: View1, View2, View3, View4.
HideGraphic( "View" + StringFromIntg(i, 1) );
next;

y
op
C
ot
N

17. Click the Add Script button to add a Named script.


o
D

AVEVA™ InTouch for System Platform 2020


3-144 Module 3 – Symbols

18. Name the script ShowMixer.


19. In the ShowMixer pane to the right, Expression field, enter ShowTrigger.
20. In the Trigger drop-down list, select DataChange.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-145

21. In the script body, enter the following:

Note: You may use the applicable portion of the script in C:\Training\Lab 10 - Creating a
Navigation Symbol.txt.

'Show 4 Mixer display using ShowGraphic() function.


dim i as integer;
dim graphicInfo as aagraphic.GraphicInfo;
for i = 5 to 8
'Indentities: View1, View2, View3, View4.
graphicInfo.Identity = "View" + StringFromIntg(i, 1);
graphicInfo.GraphicName = "Mixer" + StringFromIntg(i, 1) +
"00.MixingProcess_Detail";

'Customize the look and feel of the graphic.


graphicInfo.HasTitleBar = false;
graphicInfo.HasCloseButton = false;

y
'Customize the size of the graphic.
graphicInfo.RelativeTo = aaGraphic.RelativeTo.CustomizedWidthHeight;
graphicInfo.Width = (MixerDisplay.Width)/2;

op
graphicInfo.Height = (MixerDisplay.Height)/2;

'Customize the position of the graphic.


graphicInfo.WindowLocation = aaGraphic.WindowLocation.TopLeftCorner;
C
graphicInfo.WindowRelativePosition =
aaGraphic.WindowRelativePosition.ClientAreaXY;
if (i == 5) then
graphicInfo.X = MixerDisplay.X;
ot

graphicInfo.Y = MixerDisplay.Y;
elseif (i == 6) then
graphicInfo.X = MixerDisplay.X + (MixerDisplay.Width)/2;
graphicInfo.Y = MixerDisplay.Y;
N

elseif (i == 7) then
graphicInfo.X = MixerDisplay.X;
graphicInfo.Y = MixerDisplay.Y + (MixerDisplay.Height)/2;
elseif (i == 8) then
o

graphicInfo.X = MixerDisplay.X + (MixerDisplay.Width)/2;


graphicInfo.Y = MixerDisplay.Y + (MixerDisplay.Height)/2;
endif;
D

'Show graphic.
ShowGraphic( graphicInfo );
next;

AVEVA™ InTouch for System Platform 2020


3-146 Module 3 – Symbols

y
op
C
ot

22. Click OK to close the Edit Scripts dialog box.


N

23. Save and check in the symbol.


o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-147

Create a Navigation Button


Now, you will create a button that can be reused to display specific symbols.
24. In the Graphic Toolbox, Training toolset, create a new symbol named NavigationButton,
and then open the symbol.
25. Right-click the drawing canvas and select Custom Properties.
26. Add a custom property named GetButtonText and configure as follows:

Data Type: String


Default Value: ‘Expression or Reference’ mode:
---
Description: Use to get text from the button that is currently clicked

y
op
C
ot

27. Create four more custom properties and configure them as follows:

Note: For the String custom properties, you will leave the Default Value area Static Text
N

and the field blank for now, as you will be filling this in later in the lab.

Name Data Type


GraphicName String
o

WindowModal Boolean (default)


D

WindowName String
WindowResizable Boolean (default)

28. Click OK to close the Edit Custom Properties dialog box.

AVEVA™ InTouch for System Platform 2020


3-148 Module 3 – Symbols

29. On the drawing canvas, add a Button to the canvas and configure as follows:

Name: Mixer_Btn
Width: 100 (recommended)
Height: 50 (recommended)
Text: Label

30. Add an Action Scripts animation.

y
op
C
ot

31. In the Trigger area, type drop-down list, select On Left/Key/Touch Up.
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-149

32. In the script body, enter the following:

Note: You may use the applicable portion of the script in C:\Training\Lab 10 - Creating a
Navigation Symbol.txt.

dim graphicInfo as aaGraphic.GraphicInfo;


GetButtonText = Text;

' Identity is targeting an InTouch window.


if (WindowName <> "") then
' Targeting an InTouch window.
graphicInfo.Identity = "InTouch:" + WindowName;
else;
' Not targeting an InTouch window.
' Use the name of the graphic as the identity.
graphicInfo.Identity = GraphicName;
endif;

y
' The graphic name is ignored if calling a legacy InTouch window.
graphicInfo.GraphicName = GraphicName;

op
' Check if window should be modal.
if (WindowModal) then
graphicWindow.WindowType = aaGraphic.WindowType.Modal;
endif; C
' Check if window should be resizable.
graphicInfo.Resizable = WindowResizable;
ot

' Show graphic.


ShowGraphic( graphicInfo );
N
o
D

AVEVA™ InTouch for System Platform 2020


3-150 Module 3 – Symbols

33. Add a Disable animation.

34. Configure the animation as follows:

Expression Or Reference: GetButtonText == Text


Disabled When Expression is: True, 1, On (default)

y
op
C
35. Add an Element Style animation.
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-151

36. Configure the animation as follows:

States: Boolean
Expression Or Reference: GetButtonText == Text
True, 1, On: Element Style: checked (default)
Intensity2
False, 0, Off: Element Style: unchecked

y
op
37. Click OK to close the Edit Animations dialog box.
38. Save and check in the symbol.
C
Create the System Navigation Symbol
ot

Next, you will create a symbol that will provide buttons you can click to display different views in
runtime. You will add animation using actions scripts to call various windows, when the buttons are
clicked.
N

39. In the Graphic Toolbox, Training toolset, create a new symbol named SystemNavigation,
and then open the symbol.
o
D

AVEVA™ InTouch for System Platform 2020


3-152 Module 3 – Symbols

40. Right-click the drawing canvas and select Custom Properties.


41. Add a custom property named LastButton and change the Data Type to String.

42. Click OK to close the Edit Custom Properties dialog box.


43. Embed from Graphic Toolbox, the NavigationButton symbol you just created and name it
Mixer_Btn.
44. Right-click Mixer_Btn and use Substitute Strings to change Label to Mixers.

y
op
45. Right-click Mixer_Btn and select Custom Properties.
46. Ensure GetButtonText is selected and in the Default Value field, enter LastButton.
C
ot
N

47. Select the GraphicName custom property, and then in the Default Value field, enter
Mixer100.SwitchedMixingProcess.
o

Note: This must be entered manually, as this is a string text field and therefore, you cannot
use the Galaxy Browser.
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-153

48. Select the WindowName custom property, and then in the Default Value field, enter
ContentDisplay.

49. Click OK to close the Edit Custom Properties dialog box.


50. Duplicate Mixer_Btn and place the duplicate to the right of Mixer_Btn.

y
op
51. Change the name of the duplicate to Line1_Btn.
52. Right-click Line1_Btn and use Substitute Strings to change Mixers to Line 1.
C
ot

53. Right-click Line1_Btn and select Custom Properties.


54. Change the GraphicName custom property to Line1_MixingProcess.
N
o
D

55. Click OK to close the Edit Custom Properties dialog box.

AVEVA™ InTouch for System Platform 2020


3-154 Module 3 – Symbols

56. Repeat the previous steps to create a third button named Line2_Btn and then change the
label to Line 2.

57. Change the GraphicName custom property to Line2_MixingProcess.

y
58. Save and check in the symbol.

op
Test in Runtime
Finally, you will place the newly created SystemNavigation symbol in the Navigation window and
test the buttons created in the symbol.
C
59. In WindowMaker, ensure the Navigation window is open and click the window.
60. Embed from the Graphic Toolbox, Training\SystemNavigation.
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-155

The symbol appears in the Navigation window.

61. Switch to runtime.


62. Click the Line 1 button and verify the Line1 mixers are displayed.

y
op
C
63. Click the Line 2 button and watch the Line2 mixers display automatically, in the correct
ot

location, and fill the window.


N
o
D

64. Click Development to return to WindowMaker.


<End of Lab>

AVEVA™ InTouch for System Platform 2020


3-156 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Section 8 – Galaxy Styles 3-157

Section 8 – Galaxy Styles


This section explains the Galaxy Style Library and how to override element styles, how to update
element styles at runtime, and how to import and export element styles. A brief overview of the
Status element and its application in monitoring data status and quality in runtime is also
provided.

Introduction
An Element Style defines a set of visual properties that determine the appearance of text, lines,
graphic outlines, and interior fill shown in symbols or graphics. An Element Style applied to a
symbol sets preconfigured visual property values that take precedence over a symbol’s native
visual properties.
Element Styles provide the means for developers to establish consistent visual standards in their
managed InTouch applications. An Element Style can define the same visual properties of text,
lines, fill, and outlines for all symbols or graphics that belong to an application. Likewise, Element

y
Styles can show the current status of an object represented by a symbol. For example, an Element
Style animation can be applied to a symbol when an object transitions to an alarm state.

op
Galaxy Style Library
A set of Element Styles is provided in the predefined Galaxy Style Library. The predefined values
C
of the Element Styles in this library can be changed. However, existing Element Styles cannot be
renamed or deleted. Also, new Element Styles cannot be added to the library.
ot

Visual Properties Defined by Element Styles


The following table lists the visual properties of graphic elements defined in an Element Style.
N

Graphic Element Element Properties


Text  Font family
 Font size
Font style
o


 Font color
Blink On/Off
D

Fill  Fill color


 Fill gradient
 Fill pattern
 Fill texture
 Blink On/Off
Line  Line pattern
 Line weight
 Line color
 Blink On/Off
Outline  Outline Show/Hide
 Outline Pattern
 Outline Weight
 Outline Color
 Blink On/Off

AVEVA™ InTouch for System Platform 2020


3-158 Module 3 – Symbols

An Element Style may not define every visual property. If a property value is not defined in an
applied Element Style, the element’s native style is used and can be changed. However, if an
element’s property value is defined in an applied Element Style, the element’s native properties
are disabled and cannot be changed.

Element Styles in Animations


You can configure an element or a group of elements with Boolean or Truth Table animations that
determine whether Element Styles are applied based on evaluated conditions or expressions.

Property Style Order of Precedence


To understand the behavior of an element’s properties when an Element Style is applied, you
should understand the order of precedence for the levels at which property styles are applied.

Updating Element Styles at Application Runtime


You can update the Elements Styles applied to symbols or graphics included in a running

y
application. However, you can use the following methods:
Updating Element Styles from the IDE

op

When an application is deployed and updates were made to the applied Element Styles
from the IDE, those updates will be propagated to the graphic elements in a running
application, without requiring WindowViewer to be closed and reopened.
C
 Importing an updated Graphic Style Library
Importing an updated Graphic Style Library that includes different applied Element Styles
will propagate those changes to graphic elements in a running application, without
ot

requiring WindowViewer to be closed and reopened.


N
o
D

AVEVA™ Training
Section 8 – Galaxy Styles 3-159

Importing and Exporting Galaxy Style Libraries


At the Galaxy level, you can import and export Galaxy Style libraries containing custom Element
Styles to applications running on other Galaxies. This section describes the tasks to create a set of
custom Element Styles that can be used in other Galaxies.
To import a Galaxy Style Library, on the Galaxy menu, select Import | Galaxy Style Library.

y
op
C
ot

To export a Galaxy Style Library, on the Galaxy menu, select Export | Galaxy Style Library.
N
o
D

You can import a Galaxy Style Library to load its Element Styles in a Galaxy. You can also modify
Element Styles, and then export the Galaxy Style Library as custom user-defined Element Styles.
Optional Galaxy Style Library XML files are located in the
...\Program Files (x86)\ArchestrA\FrameWork\Bin\AdditionalElementStyles folder. The names of

AVEVA™ InTouch for System Platform 2020


3-160 Module 3 – Symbols

the XML files suggest the primary color schemes of the Element Styles within each optional
Galaxy Style Library.

The Status Element


Use a status element to monitor and indicate the status or quality of:
 All attributes used in one or more specified animated elements in the same hierarchical
level
 One or more specified attributes
The status element enables monitoring of the status and quality of any data point in the Galaxy
and adding graphical feedback to a symbol. The following Status Styles are monitored:
 Communication Error
 Configuration Error
 Pending
 Operational Error

y
 Software Error
 Security Error

op
 Warning
 Out of Service
 Device Failure
 Bad
C
 Uncertain
 Initializing
ot
N
o
D

AVEVA™ Training
Section 8 – Galaxy Styles 3-161

A Status Legend displays all icons and overrides that will display in runtime:

y
op
C
ot

The Status tool is used to add a status element to a symbol and can be found along with the
other tools in the Tools pane of the Symbol Editor. To add a status element to a symbol, select it
N

and draw it on the drawing canvas as it would be done with any other tool. More than one status
element can be added to a single symbol.
o
D

AVEVA™ InTouch for System Platform 2020


3-162 Module 3 – Symbols

Configuring Status Elements


Status elements are configured through the Edit Animations dialog box in a pre-built DataStatus
animation. Associate the status element using the following tabs:
 Graphics: References or expressions in other graphic elements in the symbol, or both. A
status element can only monitor graphic elements that are at the same hierarchical level. If
there is a need to monitor graphic elements in different hierarchical levels (groups or
paths), a dedicated status element must be added for that level (group or path).

y
 Expression: Specific references or expressions from the application, or both, including,

op
but not limited to, references to an attribute in the Galaxy, custom properties for the
symbol, properties of embedded symbols, and expressions.
C
ot
N

In this example, the status element animation indicates there is a Configuration Error:
o
D

AVEVA™ Training
Section 8 – Galaxy Styles 3-163

Displaying Overrides
Graphical feedback is provided for all the Status Styles. A configurable icon appears at runtime in
place of the design status element icon. The graphical feedback can be configured in the IDE
through the Galaxy menu, under Configure | Galaxy Style Library.

y
op
C
This opens the Configure Galaxy Style Library dialog box.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


3-164 Module 3 – Symbols

Overriding Quality and Status Displays


Configure any animated element to appear differently depending on the quality and status of its
associated attributes.
For animated elements:
 Override the appearance of the text font, style, and blinking
 Override the appearance of the fill style and blinking
 Override the appearance of the line style, weight, pattern, and blinking
 Preview all status appearances in one dialog box
 Reset the status appearances to their defaults
 Use an outline to indicate a specified status or quality

Note: Instead of overriding the appearance of elements on the drawing canvas, use a status
element. The status element shows an icon representing quality and status of monitored
attributes.

y
Configure the appearance overrides and status element overrides in the Configure Galaxy Style
Library dialog box, Quality and Status tab, which are accessed from the IDE Galaxy | Configure

op
menu.

C
ot
N
o
D

AVEVA™ Training
y
op Module 4 – Widgets
C
Section 1 – Widgets Overview 4-3
ot

Lab 11 – Creating a Carousel Dashboard 4-5


N
o
D
4-2 Module 4 – Widgets

Module Objectives
 Discuss AVEVA InTouch for System Platform support for HTML5 Widgets

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Widgets Overview 4-3

Section 1 – Widgets Overview

This section will discuss AVEVA InTouch for System Platform support for the web technology
called HTML5 Widgets.

Introduction
Widgets are small components that can extend the functionality of InTouch. HTML5 Widgets are a
self-contained code block based on website design that can be imported into InTouch without
changing any of its features. The power of this has been added to InTouch which now acts as a
container for HTML5 Widgets both in design time and runtime. Widgets are most frequently used
to provide on-screen user interface elements that ingrate with other platforms and data sources. A
widget can be run in WindowViewer with consistent placement and user interface. For example,
social media, weather, RSS or podcast widgets.

y
By default, the following widget is available under the Widgets folder in the Graphic Toolbox:
 Carousel

op
Importing HTML5 Widgets
You can import a widget for a STANDALONE + Symbols application. The file format is Custom
C
Widget Package (.cwp), which includes HTML5, CSS, and Javascript files. After the widget has
been imported, it can be viewed on WindowViewer. Additionally, design time properties determine
the behavior or the widget at runtime.
ot

Carousel Widget
A carousel widget allows you to cycle through Industrial Graphics like a carousel without any user
N

input. It also supports user selection of the previous or next step in the carousel. For examples,
this widget can be used to display dashboards, alerts or alarm information on large monitors on
the plant floor.
o

Properties
D

In addition to the standard graphics properties, you can also configure properties specific to the
widget, under Widget Properties in the Graphic Editor.

Name Description
Autoplay If the Autoplay property is set to true, the carousel widget will automatically start
on load. If it is set to false, the user must select the next item to start the carousel.
The default value is True.
GraphicNames A comma separated list of Industrial Graphics the carousel will display in runtime.
Interval The amount of time delay (in milliseconds) between automatically cycling an item.
Keyboard If the Keyboard property is set to true, the carousel will respond to keyboard
inputs. The default value is True.

AVEVA™ InTouch for System Platform 2020


4-4 Module 4 – Widgets

Name Description
Loop If the Loop property is set to true, the carousel will cycle through the graphics
continuously, else it will stop after a single cycle. The default value is True.
Pause If the Pause property is set to true, the carousel will pause the cycling of the
graphics, when it detects the mouse hovering or a touch down event. The
graphics will resume cycling when the mouse is moved away. The default value is
True.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-5

Lab 11 – Creating a Carousel Dashboard

Introduction
In this lab, you will create an HTML5 carousel widget to use as a dashboard that will display the
analog clock from the library and a symbol built in a previous lab.

Objectives
Upon completion of this lab, you will be able to:
 Use HTML5 widgets
 Display graphics in the Carousel widget

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


4-6 Module 4 – Widgets

Create the Dashboard Symbol


In the following steps, you will create a new Dashboard symbol that will contain the carousel
widget.
1. In the IDE, Training toolset, create a new symbol named Dashboard, and then open the
symbol.
2. Embed from the Graphic Toolbox, Widgets\Carousel.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-7

3. In the Properties pane, scroll down to the locate the Widget Properties.

y
op
C
ot
N

4. In the Widget Properties area, GraphicNames property, enter:


Line1_MixingProcess,ClockAnalogWall
o
D

The graphic names listed here will display in the widget in runtime.
5. Save and check in the symbol.

AVEVA™ InTouch for System Platform 2020


4-8 Module 4 – Widgets

Create a New Window


Next, you will create a new window to contain the carousel widget.
6. In WindowMaker, on the File menu, select New Window, and then name it Carousel.
7. Uncheck the Title Bar check box.

y
op
8. Click OK. C
Now, you will place the Dashboard symbol onto the Carousel window in WindowMaker.
9. From the Industrial Graphic Toolbox to the right, expand Training and drag the Dashboard
symbol onto the Carousel window.
ot
N
o
D

AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-9

10. In the Properties pane, Appearance area, change the MaintainAspectRatio property to
False.

Test in Runtime
Now, you will test the new window in WindowViewer.

y
11. Switch to runtime.

op
12. After a few moments, verify that the graphic names you listed earlier automatically start
scrolling when the Carousel window opens.

C
ot
N
o
D

13. Click Development to return to WindowMaker.

AVEVA™ InTouch for System Platform 2020


4-10 Module 4 – Widgets

Finally, you will close the Carousel window and reopen the ContentDisplay window.
14. In the Windows & Scripts pane, right-click Carousel and select Close.

y
op
15. Right-click ContentDisplay and select Open.
C
ot
N
o
D

<End of Lab>

AVEVA™ Training
y
op
Module 5 – Alarms and Events
C
Visualization
ot

Section 1 – Alarming Overview 5-3


Lab 12 – Applying Alarm Border Animation 5-17
N

Lab 13 – Building an Alarm Aggregation Overview 5-23


Section 2 – Live Alarms Visualization 5-37
o

Lab 14 – Building a Live Alarm Display 5-47


D

Lab 15 – Creating an Alarm Popup Symbol 5-59


Section 3 – Logged Alarms and Events Visualization 5-67
Lab 16 – Building a Historical Alarm Display 5-73
5-2 Module 5 – Alarms and Events Visualization

Module Objectives
 Provide a brief review of the concept of alarms and events
 Introduce how System Platform handles alarms and events
 Introduce Alarm Border animation and how to customize Alarm Border Styles
 Introduce Alarms aggregation and Alarm Severity
 Introduce Alarm Shelving features

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Alarming Overview 5-3

Section 1 – Alarming Overview


This section provides a brief overview of alarms and events and explains how System Platform
handles them. An introduction to Alarm Border animation, Alarms aggregation, severity, and
shelving is also provided.

What is an Alarm/Event?
System alarm and event capabilities allow users to automate the detection, notification,
historization, and viewing of the application (process) alarms and events, or system/software
alarms and events. Alarms and events occur in the runtime system. Events and alarms are
different and the system distinguishes between the two. Alarms represent the occurrence of a
condition that is considered abnormal in nature and requires immediate attention from a user. An
event is an occurrence of a condition at a certain point in time.
Examples of alarms include:
 A process measurement that has exceeded a predefined limit, such as a high temperature

y
limit
A process device that is not in the desired state, such as a stopped pump that should be

op

running
Examples of events include:
 The system engineer has changed the runtime system configuration, such as the
C
deployment of a new AutomationObject
 A Platform has come back online, after it had a failure or shutdown
The following items are not considered alarms or events:
ot

 Configuration actions within the Galaxy Repository, such as an import or a checkout


 A message sent to the system logger (SMCLogger)
N

Note: Sometimes certain software events may log a message, in addition to generating
an event. Logger messages are not events.
o

How Does System Platform Handle Alarms?


D

The Platform as an Alarm Provider


A Platform can act as a single Alarm Provider that provides alarms to the InTouch Distributed
Alarm subsystem. A Boolean check box is provided in the Platform AutomationObject indicating
whether or not it subscribes to Areas for alarm and event reporting.

AVEVA™ InTouch for System Platform 2020


5-4 Module 5 – Alarms and Events Visualization

The Platform is responsible for routing all alarms and events for all Areas, which have been
subscribed to by that Platform, to the distributed alarming infrastructure. An alarm generated by
Application Server contains fields that are generated by the alarm functions inside the
AutomationObject. Those fields are mapped to fields in InTouch as follows:

Alarms:
Field InTouch Distributed Alarms Mapping
Timestamp of alarm event Time
Tagname Name
Common message text string Comment
Area Alarm group
Common name for alarm primitive (for example, “PV.HiAlarm”) Alarm Type (string)
New alarm state (for example, ACK or RTN) State
Priority = 1-999 Priority
Value (mxValue) Value

y
Limit (mxValue) Limit
Category Class

op
Category SubClass

InTouch as an Alarm Consumer C


The InTouch Alarm Client can be configured to subscribe to alarms and events generated by
Alarm Providers. The Alarm Provider is specified by providing the node name and the name of the
provider. For System Platform, only one provider exists per Platform (node). In addition, the
InTouch Alarm client can be configured to subscribe to only selected Alarm Areas for the provider
ot

based on its query filters.

Alarm Acknowledgment from Distributed Alarming


N

The InTouch Alarm Client can acknowledge unacknowledged alarms that are reported by the
Platform. The Platform receives the acknowledge request and forwards it to the target, which is the
AutomationObject acknowledge attribute for the alarm. Security is used as part of this set (it is a
o

UserSetAttribute). An optional comment can be entered, when an acknowledgment is requested.


D

Alarm Enable/Disable
The InTouch Alarm Client can enable/disable alarming on any AutomationObject. The Platform
receives the enable request and forwards it to the target, the AutomationObject AlarmMode
attribute. Security is used as part of this set (it is a UserSetAttribute).

AVEVA™ Training
Section 1 – Alarming Overview 5-5

How Does System Platform Handle Events?


A Platform is an Event Provider that provides events to the InTouch Distributed Alarm subsystem.
This provider routes all events that are generated by Automation objects hosted by that Platform to
the Application Server. The following tables define how fields in those events are mapped to fields
in the Distributed Alarm subsystem.

System Events:
Field Distributed Alarm Subsystem Mapping
Type (or Category) = System Type = SYS
Timestamp Time
Tagname Name
Tag description Comment
Area Alarm group
System event description (“started”, “stopped”) Event Type – if string, or use Comment field

y
N/A State = none (preferred) or “UNACK_RTN”
N/A Priority = 1

op
N/A Provider = Galaxy
N/A Event Class = EVENT

Security Audit (includes User Data Change) Events:


C
Field Distributed Alarm Subsystem Mapping
Type = Operator Change Type = OPR
ot

Timestamp Time
Tag.primitive.attribute Name
Tag description Comment
N

Area Alarm group


View engine name N/A
Operator 1 name RequestingEngineName + Operator name
Operator 2 name N/A
o

Old value Limit


New value Value
D

N/A State = none (preferred) or “UNACK_RTN”


N/A Priority = 999
N/A Provider = Galaxy
N/A Event Class = EVENT

AVEVA™ InTouch for System Platform 2020


5-6 Module 5 – Alarms and Events Visualization

Application Change Events:


Field Distributed Alarm Subsystem Mapping
Type = Data Change Type = LGC
Timestamp Time
Tag.primitive.attribute Name? or name + comment?
Tag description Comment
Area Alarm group
View engine name Platform (the PC’s node name)
Old value Limit
New value Value
N/A State = none (preferred) or “UNACK_RTN”
N/A Priority = 999
N/A Provider = Galaxy

Alarm Queries

y
Alarm queries are used within Alarm Clients to retrieve real-time alarm information and event

op
reports from the Galaxy.
The fully qualified syntax of an alarm query to retrieve a single alarm within an object as reported
by a specific WinPlatform object is:
\\nodename\Galaxy!area!object.attribute
C
If the WinPlatform object that serves as an alarm provider is located in the local computer, the
following syntax of the alarm query is allowed:
\Galaxy!area!object.attribute
ot

The following table lists different variants of the alarm query and their return data:

Alarm Query Results


N

\\nodename\Galaxy!area All alarms and events from the area object itself.
All alarms and events from all the objects hosted in the area.
All alarms and events from all subareas contained in the area,
o

as configured in the Model view of the IDE.


All alarms and events from all the objects hosted in the
D

contained areas.
\\nodename\Galaxy!area!object All alarms and events from the object itself.
\\nodename\Galaxy!winplatform All alarms and events from the WinPlatform object itself.
\\nodename\Galaxy!engine All alarms and events from the engine object (AppEngine or
ViewEngine) itself.
\\nodename\Galaxy!dio All alarms and events from the device integration object itself.

AVEVA™ Training
Section 1 – Alarming Overview 5-7

Use of Wildcard
The asterisk (*) is a wildcard character that may be used to substitute any character or characters
in the object.attribute part of the alarm query.
The following table lists different examples on the use of the wildcard character on alarm queries
and their return data:

Alarm Query Results


\\nodename\Galaxy!area!object.* All alarms and events from a specific object within an
area.
\\nodename\Galaxy!area!*.attribute All alarms and events from all the objects in the area
for the specific attribute.
\\nodename\Galaxy!area!objectprefix* All alarms and events from objects whose name
begins with the specific prefix.

Only one wildcard character is allowed per alarm query.

y
Using Multiple Queries

op
Multiple queries can be submitted by an Alarm Client. For example, if Area1 and Area2 are two
mutually exclusive areas, the following two queries can be submitted at once:
\Galaxy!Area1 \Galaxy!Area2
By using multiple queries, it is possible to retrieve alarms from different nodes (WinPlatform
objects) at the same time, for example:
C
\\NodeNameA\Galaxy!Area1 \\NodeNameB\Galaxy!Area2
ot

The Alarm Extension


An alarm extension can be added to a template or instance Boolean attribute. If added to a
template attribute, the alarm extension is automatically locked in derived objects. Attribute arrays
N

cannot be extended.
In the Alarm message box, browse and select an existing attribute or type a text string as an
alarm message. This text string appears in the InTouch alarm view.
o

The Active alarms state list can show the customized items specified in the Boolean label
extension area. It allows the selection of the state that triggers the alarm. If a value is not
D

specified in the Boolean label extension area, True and False are displayed.

AVEVA™ InTouch for System Platform 2020


5-8 Module 5 – Alarms and Events Visualization

Alarm Border Animation


Alarm Border animation shows a highly visible border around a symbol or graphic element when
an alarm occurs. The color and fill pattern of the border indicates the severity and current state of
the alarm. Plant operators can quickly recognize alarm conditions when Alarm Border animation is
used.

Alarm Border animation also shows an indicator icon at the top-left corner of the border around a

y
closed graphic element. For open pie or arc graphic elements, the indicator icon is placed at the
top-left most location of the start and end points.

op
Alarm severity (1-4) or the current alarm mode (Shelved, Silenced, Disabled) appear as part of the
indicator icon. The indicator icon can be shown or hidden as a configurable option of Alarm Border
animation.
C
Alarm Border animation can be applied to all types of symbols, except embedded symbols and
nested groups. Alarm Border animation can also be applied to graphic elements and grouped
elements.
ot

Understanding the Behavior of Alarm Border Animations


Alarm Border animations appears around a graphic element based on the current state of the
N

object’s aggregated alarm attributes. The appearance of the alarm border itself reflects the current
alarm state and the user’s interaction with the alarm.
 A symbol’s process value transition into an alarm state: Alarm Border animation appears
around the symbol based on alarm severity with blinking
o

 The user acknowledges an alarm with the process value still in an alarm state: Alarm
D

Border animation appears around the symbol without blinking


 The alarm value returns to normal without the user acknowledging the alarm: Alarm
Border animation remains around the symbol in a defined Return to Normal visual style
without blinking
 The alarm value returns to normal and the user acknowledges the alarm: Alarm Border
animation no longer appears around a symbol
 The user suppresses an alarm: Alarm Border animation remains around the symbol in a
defined Suppressed visual style; however, an alarm indicator icon does not appear for a
Suppressed state

Note: Alarm Border animation is not used for alarms in an inhibited or a shelved state.

 If a new alarm condition occurs when Alarm Border animation appears around a symbol,
the animation updates to show the new alarm state
 In the case of aggregation alarms, Alarm Border animation shows the highest current
alarm state

AVEVA™ Training
Section 1 – Alarming Overview 5-9

Alarm Border animation can be configured by selecting Alarm Border from the list of
Visualization animations. The Alarm Border pane contains mutually exclusive fields to set the
referenced attributes for aggregate or individual alarms.

y
op
For aggregation alarms, users specify Alarm Border animation by entering an attribute or object
name in the Use Standard Alarm-Urgency References field of the Alarm Border pane. The
selected object attributes map to the following aggregation alarm attributes:

C
AlarmMostUrgentInAlarm: Indicates the InAlarm status (True/False) of the highest
priority current alarm
 AlarmMostUrgentAcked: Indicates the acknowledgment status (True/False) of the
highest priority current alarm
ot

 AlarmMostUrgentMode: Indicates the mode (Enabled/Silenced/Disabled) of the highest


priority current alarm
AlarmMostUrgentSeverity: Indicates the severity as an integer (1-4) of the highest
N


priority current alarm; if no alarms are in an InAlarm state or waiting to be acknowledged,
the value is 0
 AlarmMostUrgentShelved: Indicates the shelved status (True/False) of the highest
o

priority current alarm


To set Alarm Border animation for individual alarms, users specify references to the following
D

alarm attributes or tags:


 InAlarm attribute
 Acked attribute
 Mode attribute
 Severity attribute
 Shelved attribute
Alarm Border animation subscribes to these attributes. Based on the alarm state of these
attributes, Alarm Border animation is applied to the graphic element in runtime.

AVEVA™ InTouch for System Platform 2020


5-10 Module 5 – Alarms and Events Visualization

Configuring Optional Alarm Border Animation Characteristics


Users can complete a set of optional tasks to customize the appearance of an Alarm Border
animation.

Changing the Alarm Border Indicator Icon


Alarm border animation shows an indicator icon at the top-left corner of the border with alarm
severity as a number from 1 to 4. Other indicator images represent alarm suppressed, silenced
and shelved modes.
A default Alarm Border indicator image is assigned to each alarm mode and severity level. The
default images appear in the Image column of the Alarm and Events Configuration dialog box.
The images are saved in an XML file located in the global data cache.

y
op
C
ot
N
o
D

The default Alarm Border indicator images can be replaced by custom images. Supported image
file types include:
 .bmp
 .gif
 .jpg
 .jpeg
 .tif
 .tiff
 .png
 .ico
 .emf
At runtime, Alarm Border animation reads the XML file in the global data cache. If images are not
available in the XML file, an Alarm Indicator does not appear during Alarm Border animation.

AVEVA™ Training
Section 1 – Alarming Overview 5-11

Modify Alarm Border Animation Element Styles


The color and fill pattern of alarm borders are set by the Outline properties of a set of AlarmBorder
Element Styles. The following table shows the Element Styles applied to Alarm Border animations
by alarm severity and alarm state.
The assignment of these Element Styles to alarm conditions cannot be changed. Only the
assigned Element Style's Outline properties can be changed to modify the line pattern, line weight,
and line color of alarm borders.
Alarm
Alarm State Element Style
Severity
1 UnAcknowledged AlarmBorder_Critical_UNACK
1 Acknowledged AlarmBorder_Critical_ACK
1 Return To Normal AlarmBorder_Critical_RTN
2 UnAcknowledged AlarmBorder_High_UNACK
2 Acknowledged AlarmBorder_High_ACK
2 Return To Normal AlarmBorder_High_RTN

y
3 UnAcknowledged AlarmBorder_Medium_UNACK
3 Acknowledged AlarmBorder_Medium_ACK

op
3 Return To Normal AlarmBorder_Medium_RTN
4 UnAcknowledged AlarmBorder_Low_UNACK
4 Acknowledged AlarmBorder_Low_ACK
4 Return To Normal AlarmBorder_Low_RTN
C
All Inhibited AlarmBorder_Inhibited
All Shelved AlarmBorder_Shelved
All Suppressed AlarmBorder_Suppressed
ot

All Silenced AlarmBorder_Silenced

Aggregating Alarm State Information


N

Alarm aggregation provides an efficient way to identify whether any alarms on an object are
currently in the InAlarm state, the overall status of the most important of those alarms, and how
many alarms are active at each level of alarm severity and at each level of containment. This
o

makes it possible to follow a trail from one level to the next to find the underlying cause of a
complex object’s alarms.
D

You can view alarm aggregation statuses in runtime clients, such as Object Viewer. You can model
alarm aggregation in Managed InTouch applications by using animations, such as the Alarm
Border animation with Situational Awareness Library symbols or with symbols.
Alarm aggregation functionality can be described for an:
 Object
 Area
 Attribute
Alarms are aggregated if they are in one of three states:
 UNACK_ALM
 ACK_ALM
 UNACK_RTN
Alarms in the ACK_RTN state are not aggregated. Alarms in silenced mode are aggregated, even
though they do not appear in the runtime client.

AVEVA™ InTouch for System Platform 2020


5-12 Module 5 – Alarms and Events Visualization

Alarm Aggregation Attributes


A set of five attributes provide runtime aggregated alarm status information. These attributes are
available for all objects. If alarm aggregation is enabled on the area, the following attributes
aggregate their respective alarm status values for the area, for all sub-areas, contained objects,
and their descendants assigned to the area. If alarm aggregation is disabled, these attributes
remain at their default values. Alarm aggregation attributes on objects behave similarly to alarm
aggregation attributes specific to Analog Field attributes.

Runtime
Attribute Description
Access
<Attribute>.AlarmCntsBySeverity Array of counts of all alarms that are in UNACK_ALM, Read-Only
ACK_ALM, or UNACK_RTN states on the object,
aggregated by severity levels 1-4.
<Attribute>.AlarmMostUrgentAcked TRUE (default) indicates that no alarms are in the Read-Only
InAlarm state or waiting to be Acked.
A value of TRUE also indicates that the most urgent

y
alarm(s) on the object and its descendants in the
InAlarm state have been acknowledged, whether or
not they are currently InAlarm.

op
<Attribute>.AlarmMostUrgentInAlarm FALSE (default) indicates that no alarms are in the Read-Only
InAlarm state or waiting to be Acked.
A value of FALSE indicates whether the most urgent
alarm(s) on the object and its descendants are in the
C
InAlarm state, whether or not they have been
acknowledged.
<Attribute>.AlarmMostUrgentMode The AlarmMode of the most urgent alarm(s) on this Read-Only
ot

object and its descendants. If no alarms are in the


InAlarm state or waiting to be Acked, the value is the
same as the AlarmMode for the object.
<Attribute>.AlarmMostUrgentSeverity Severity level expressed as an integer (1-4) of the Read-Only
N

most urgent alarm(s) on the object and its


descendants. If no alarm is in the InAlarm state or
waiting to be Acked, the value is 0 (zero).
o
D

AVEVA™ Training
Section 1 – Alarming Overview 5-13

Configuring Alarm State Aggregation


Configuring alarm state aggregation consists of normal alarm configuration procedures, plus an
added step of enabling the aggregation feature on each relevant Area object.
 Check the Aggregate Alarms check box in the Area object configuration editor to enable
alarm aggregation. This sets the value of the AlarmAggregationStateCmd attribute to
True.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-14 Module 5 – Alarms and Events Visualization

Monitoring Alarm State Information at Runtime


You can obtain runtime alarm state information using clients, such as Object Viewer or InTouch
Tag Viewer.
For example, you have configured a Galaxy with ProcessArea1 and ProcessArea2 contained in
Plant1. You have two tanks in each process area, with alarms configured on each tank. You can
watch the aggregated alarm severity counts at each containment level in Object Viewer.

y
op
C
ot

Shelving Alarms
N

You can shelve alarms to temporarily hide them from displays for a fixed period. Alarms continue
to be historized, even when they are shelved.
Shelving typically is used to reduce alarm noise, or to temporarily suppress alarms that might be
o

triggered during system modifications or repairs, allowing you to focus on correcting other more
urgent alarms.
D

Shelving is similar to silencing an alarm, but shelved alarms differ from silenced alarms in the
following ways:
 Shelved alarms have a built-in associated timeout. Shelved alarms are automatically
unshelved when the configured shelving period expires. You can also manually unshelve
alarms and return them to an active, displayed state.
 Alarm shelving must be enabled at an area level, but shelving applies only to individual
alarms. You cannot shelve a hierarchy of alarms for an entire area or for an entire object.
You cannot propagate alarm shelving through the Model view hierarchy.
 The system enforces role-based limitations on permission to shelve alarms, alarm severity
levels that can be shelved, and the total number of alarms a user can shelve.
The system tracks who shelved the alarm, from what workstation, the reason for shelving the
alarm, when shelving began, and when shelving will expire. Shelved alarms aggregate in similar
fashion to silenced alarms.

AVEVA™ Training
Section 1 – Alarming Overview 5-15

Enabling Alarm Shelving


Alarm shelving is configured from the IDE Configuration menu, and is enabled on the Area
object.

Shelving Alarms at Runtime


Use a runtime client to shelve and unshelve alarms. From Application Server, you can use Object
Viewer to monitor and control shelved alarm attributes. From a Managed InTouch application, you
can use an embedded Alarm Control and at least one animation to write to the AlarmShelveCmd
attribute.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-16 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 12 – Applying Alarm Border Animation 5-17

Lab 12 – Applying Alarm Border Animation

Introduction
In this lab, you will enable the Alarm Border wizard option for the LevelMeter.

Objectives
Upon completion of this lab, you will be able to:
 Enable the Alarm Border wizard option for a symbol

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-18 Module 5 – Alarms and Events Visualization

Enable the AlarmBorder Wizard Option


In the following steps, you will configure the AlarmBorder wizard option for the Level_Detail
symbol and view the impact on custom properties.
1. In the IDE, Graphic Toolbox, Training toolset, open Level_Detail.
2. In the Symbol Editor, right-click LevelMeter and select Custom Properties.
The list of Custom Properties is displayed.

y
op
None of the listed custom properties are related to alarming.
3. Click OK to close the Edit Custom Properties dialog box.
4. Configure the LevelMeter properties as follows:
C
SymbolMode: Advanced
AlarmBorder: True
ot
N
o
D

AVEVA™ Training
Lab 12 – Applying Alarm Border Animation 5-19

5. Open the Edit Custom Properties dialog box, and then verify that alarm-related custom
properties have been added to the Custom Properties list.

y
op
6. Select the AlarmMostUrgentShelved custom property.
7. To the right, in the Default Value field, replace the text with
Me.PV.AlarmMostUrgentShelved. C
ot
N
o
D

8. Click OK to close the Edit Custom Properties dialog box.


9. Save and check in the symbol.

AVEVA™ InTouch for System Platform 2020


5-20 Module 5 – Alarms and Events Visualization

Test in Runtime
Finally, you will test the animations in runtime to see the alarm border around the configured
symbols.
10. In WindowMaker, ensure the ContentDisplay window is open, and then switch to runtime.
11. In the ContentDisplay window, observe the Alarm Border animation.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 12 – Applying Alarm Border Animation 5-21

12. In the Navigation window, click the Line 1 button, and then in the ContentDisplay window,
observe the Alarm Border animations.

y
op
13. Click the Line 2 button and observe the Alarm Border animations.
14. Click Development to return to WindowMaker.
<End of Lab>
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-22 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-23

Lab 13 – Building an Alarm Aggregation


Overview
In this lab, you will build an alarm aggregation overview symbol that will display alarm information
for areas and mixers. You will add a navigation button to the SystemNavigation symbol you
created in an earlier lab, to show the alarm aggregation overview graphic.

Objectives
Upon completion of this lab, you will be able to:
 Use SA_AlarmSeverity to build an overview of alarm aggregation
 Configure the Alarm Severity symbol

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-24 Module 5 – Alarms and Events Visualization

Add Alarm Severity Symbols to Objects


First, you will create AlarmSeverityPanel and AlarmSeverityLabels symbols for the $gArea and
$Mixer objects using the SA_AlarmSeverity symbol from the Situational Awareness Library.
1. In the IDE, Template Toolbox, in the Training\Global toolset, double-click $gArea.

y
op
2. On the Attributes tab, Content area, add a new symbol named AlarmSeverityPanel, and
then open it.
C
3. Embed Situational Awareness Library\Alarms\SA_AlarmSeverity.
ot
N
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-25

4. Configure SA_AlarmSeverity1 as follows:



Type: AlarmPanel
LabelType: ObjectTagname
Background: True
AlarmBorder: True

y
The symbol is updated, based on the properties you changed.

op
C
ot
N

5. Save and close the symbol.


o
D

AVEVA™ InTouch for System Platform 2020


5-26 Module 5 – Alarms and Events Visualization

6. In the Content area, add a new symbol named AlarmSeverityLabels, and then open it.
7. Embed Situational Awareness Library\Alarms\SA_AlarmSeverity.
8. Configure SA_AlarmSeverity1 as follows:

Label: False

y
The symbol is updated.

9. Save and close the symbol.


op
C
10. Save and check in the $gArea template.
ot
N
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-27

11. In the Template Toolbox, in the Training\Project template toolset, open the $Mixer template.
12. In the Content area, add a new symbol named AlarmSeverityPanel, and then open it.
13. Embed Situational Awareness Library\Alarms\SA_AlarmSeverity.
14. Configure SA_AlarmSeverity1 as follows:

Type: AlarmPanel
IsAreaObject: False
LabelType: ObjectTagname
Background: True
AlarmBorder: True

y
The symbol is updated.

op
C
ot
N

15. Save and close the symbol.


16. Save and check in the $Mixer template.
o
D

AVEVA™ InTouch for System Platform 2020


5-28 Module 5 – Alarms and Events Visualization

Create Alarm Overview Object and Symbol


Next, you will create a symbol that will display Alarm Severity symbols from area and mixer
objects.
17. In the Graphic Toolbox, Training toolset, create a new symbol named
AlarmAggregationOverview, and then open it.

y
op
18. Draw a rectangle on the drawing canvas and configure as follows:

Name: Backplate
ElementStyle: Intensity3
C
Width: 1000
Height: 800
ot
N
o
D

19. With Backplate selected, on the toolbar, click Lock Position and Size of Selection.

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-29

Lock icons now appear around the rectangle.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-30 Module 5 – Alarms and Events Visualization

20. Embed from Instances, Production\AlarmSeverityPanel.

21. Place the symbol on the top-center portion of the backplate.


22. Embed the other AlarmSeverityPanel symbols from the following Instances:
 Line1
Line2

y

 Mixer100

op
 Mixer200
 Mixer300
 Mixer400 C
23. Use the alignment tools on the toolbar to arrange the symbols as shown below:

Production
ot
N

Line2
Line1
o
D

Mixer100 Mixer400
Mixer200 Mixer300

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-31

24. In the Tools pane, click Connector.

Note: You can double-click Connector to repeat the function, allowing you to create multiple
connector lines without having to click Connector for each connector line. Once you are done
with the tool, click a different tool to release the repeat mode.

25. To show the hierarchical structure, click and drag Connector elements from Production to

y
Line1 and Line2, and then from Line1 to each Mixer as shown below.

op
C
ot
N
o
D

26. Save and check in the symbol.

AVEVA™ InTouch for System Platform 2020


5-32 Module 5 – Alarms and Events Visualization

Duplicate and Modify a Navigation Button


Now, you will duplicate NavigationButton and modify the symbol so it can be reused to display
specific symbols in a popup window.
27. In the Graphic Toolbox, Training toolset, duplicate NavigationButton, rename the symbol
NavigationButton2, and then open the symbol.
28. Right-click the drawing canvas and select Custom Properties.
29. Change the WindowModal and WindowResizable custom properties to true.

y
30. Click OK to close the Edit Custom Properties dialog box.

op
31. Double-click Button1 to open the Edit Animations dialog box.
32. In the Animations pane, ensure Element Style is selected, and then click Remove
Animation. C
ot
N

The Animation Editor dialog box appears.


o
D

33. Click Yes to confirm the removal of the animation.


34. In the Animations pane, ensure Disable is selected, and then click Remove Animation.
35. In the Animation Editor dialog box, click Yes.

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-33

In the Animations pane, only the Action Scripts animation remains.

36. Click OK to close the Edit Animations dialog box.


37. Save and check in the symbol.

Add a Navigation Button to Display Alarm Overview


Now, you will add an Alarm Overview button to the navigation symbol. The button will open the
AlarmAggregationOverview symbol in a popup window.

y
38. In the Graphic Toolbox, open the SystemNavigation symbol.

op
39. Embed from the Graphic Toolbox, Training toolset, NavigationButton2 and place it to the
right of Line2_Btn.
40. Rename the button AlarmOverview_Btn. C
41. Use Substitute Strings to change Label to Alarm Overview.
ot
N

42. Change the GraphicName custom property to AlarmAggregationOverview.


o
D

Leaving the WindowName custom property blank will make the symbol appear in a popup
window.
43. Click OK to close the Edit Custom Properties dialog box.

AVEVA™ InTouch for System Platform 2020


5-34 Module 5 – Alarms and Events Visualization

Enhance the Navigation Buttons


Next, you will enhance two of the SystemNavigation buttons with alarm functions.
44. Embed Line1\AlarmSeverityLabels and place it at the top and center of Line1_Btn.
45. Adjust the size of the symbol to fit on the button.
46. Repeat the previous steps to embed Line2\AlarmSeverityLabels on Line2_Btn.

47. Save and check in the symbol.


48. In WindowMaker, view the updated symbol in the Navigation window.

Note: If you do not see the updated symbol, in the bottom-right corner, double-click the

y
Symbol Changed icon to refresh the symbol.

op
C
The symbol is automatically recentered in the window.

Test in Runtime
ot

Finally, you will test the results in runtime.


49. Switch to runtime.
N
o

Notice that on the buttons (Line1 and Line2) you can see alarm counts for each severity from
D

those areas.

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-35

50. Click the Alarm Overview button and observe the alarm information.

y
op
C
ot
N

Note: You will explore the functionality of SA_AlarmSeverity in a later lab, when security is
enabled.
o

51. Verify that you cannot click on anything behind the window.
D

This is because the window is modal and must be closed, before you can do anything else.
52. Close the AlarmAggregationOverview window.
53. Click Development to return to WindowMaker.
<End of Lab>

AVEVA™ InTouch for System Platform 2020


5-36 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Live Alarms Visualization 5-37

Section 2 – Live Alarms Visualization


This section explains how to visualize live alarms and recent alarms and events by using the
Alarm client control available in the Symbol Editor.

Introduction
The Alarm Client control is a graphic element that can be used in symbols to show current and
historical alarms and events.
The Alarm Client control replaces the Alarm Viewer control and Alarm DB View control in the
InTouch HMI and extends alarm visualization to the graphics environment.
The Alarm Client control is delivered as part of the Symbol Editor and can be used in symbols to
show current and historical alarms and events in a grid.
In the Symbol Editor, Tools pane, select the Alarm Client control and place it directly onto the
canvas. Customize the Alarm Client control by adding further graphics, interactions, and scripts.

y
Deploy a Managed InTouch application containing Alarm Client controls to a remote node to
visualize and interact with alarms at runtime with InTouch WindowViewer.

op
This control has properties, methods, and events that can be modified, while an application is
running.
Once the control format has been designed, a user can make the following adjustments to
C
manipulate the data they are viewing in runtime, such as:
 Refreshing the Alarm Client control grid to show the most current alarms
 Using the status bar to view various information about the alarm records
ot

 Acknowledging, hiding, filtering, or sorting alarms


 Freezing the Alarm Client control grid
 Switching between client modes
N

 Switching between languages


o
D

AVEVA™ InTouch for System Platform 2020


5-38 Module 5 – Alarms and Events Visualization

The Alarm Client Control supports five different client modes, which can be grouped depending on
their data source. Alarm Client Control supports the InTouch Database (WWALMDB), the
ArchestrA Database (A2ALMDB), and the Historian History Blocks.

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Live Alarms Visualization 5-39

The Alarm Client Control allows users to view and acknowledge all locally and remotely generated
alarms.

y
op
C
ot

Embedding the Alarm Client Control


N

To embed the Alarm Client control, open the Symbol Editor. In the Tools pane, select the Alarm
Client tool, and then click the canvas to place the object in the symbol.
o
D

Resize the control and double-click it to access the configuration options.

AVEVA™ InTouch for System Platform 2020


5-40 Module 5 – Alarms and Events Visualization

Configuration Options

Alarm Mode
Set the Alarm Client Control to show either:
 Current alarms
 Recent alarms and events
Use the ClientMode integer property in scripting to switch the Alarm Client control to show current
alarms or recent alarms and events at runtime. Comments can be configured for alarms that are
acknowledged at runtime. Use the AckComment.UseDefault Boolean property and
AckComment.DefaultValue String property in scripting to create a default acknowledgment
comment at runtime.
In the Client Mode drop-down list, select which alarms to display:
 Current Alarms
 Recent Alarms and Events

y
 Historical Alarms
 Historical Events

op
 Historical Alarms and Events

C
ot
N
o
D

The alarm query is configured in the Alarm Query field. To create a new line in the Alarm Query
field, press Ctrl + Enter. For more information on the valid syntax, see Alarm Queries in the
Alarm Control Guide.
If a default acknowledgment comment is needed, check the Use Default Ack Comment check
box and enter a comment in the text box.

AVEVA™ Training
Section 2 – Live Alarms Visualization 5-41

Colors
Different types of alarm records can be displayed in different colors so that the operator can more
easily identify certain types of alarms. The Alarm Client control can be configured with priority
breakpoints to show alarm records within the resulting priority ranges in different colors. The
control background color, the grid color, and the heading colors can also be customized.

y
op
C
ot

Column Details
Column headers can be renamed, resized, and reordered in the Alarm Client control. All changes
made in the Column Details list are shown in the grid preview. Use the grid preview to resize
N

columns or change their order with the pointer.


o
D

AVEVA™ InTouch for System Platform 2020


5-42 Module 5 – Alarms and Events Visualization

Queries and Filters


Current and historical alarms can be filtered by using Queries and Filters. A query filter is a
collection of filter criteria in a logical construct.
For example, alarms can be filtered by defining a query filter that only shows alarms with priorities
larger than 500 and smaller than 750.
Filter queries can be reused from historical alarms for current alarms, and vice versa. Filter queries
can also be reused and defined at design-time for runtime, and vice versa.

Note: Queries and Filters for current alarms and recent alarms and events require at least a
Provider and a Group as filter criteria. These must use the equals sign.

Ensure the TimeSelector.StartDate and TimeSelector.EndDate properties do not limit the query
when using TimeLCT, TimeOAT, or TimeLCTOAT as filter criteria for historical alarm modes,
otherwise the Alarm Client control may not return all alarm and event records.
Set the TimeSelector.StartDate property earlier than any time filtering requirement and the

y
TimeSelector.EndDate later than any time filtering requirement.

op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Live Alarms Visualization 5-43

Time Settings
Set the time zone in which the client shows the alarm and event records. By default, the time zone
is set to the client computer’s current time zone at design-time. Use the TimeZone.TimeZone,
Time.Type, and Time.Format properties in scripting to set the time zone, time type, and time
format at runtime.
Set the time format of the alarm and event records. Select between the following:
 Wonderware Time Format: Same as the Alarm Client control
 .NET Time Format: Defined by Microsoft .NET Framework time format conventions

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-44 Module 5 – Alarms and Events Visualization

Run-Time Behavior
The behavior and appearance of the Alarm Client control can be configured at runtime, for
example:
 Showing and Hiding parts of the Alarm Client control
 Specifying if the Alarm Client control queries the alarm database, when it starts up
 Scrolling to new alarms
 Hiding warnings, errors, and messages
 Restricting operator access to parts of the Alarm Client control
 Specifying Alarm Client control freeze behavior
 Customizing the no records message
 Customizing the runtime shortcut menu

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Live Alarms Visualization 5-45

Data Binding
Data Binding binds the properties of an embedded client control to attributes or element
references. This enables attributes and element references source and consume data for the
client control properties.
The Data Binding table contains the following information:
 Name: Name of the client control property
 Type: The .NET data type of the property
 Value: The default value of the client control property
 Direction: Indicates if the property is read/write or just read-only

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-46 Module 5 – Alarms and Events Visualization

Event
Use Event to configure scripts that are executed when a client control event occurs.
In the Event drop-down list, select the event to run a script. The Parameters list shows for the
selected event:
 Type: The data type of each parameter
 Name: The name of each parameter

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-47

Lab 14 – Building a Live Alarm Display


In this lab, you will use the Alarm Client control to create a symbol that displays live alarms. You
will then add it to the AlarmDisplay window. You will also configure the Alarm Client control with
alarm filters.

Objectives
Upon completion of this lab, you will be able to:
 Use and configure the Alarm Client control to visualize real-time alarms
 Create and configure the alarm filters of the Alarm Client control
 Select a filter in runtime

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-48 Module 5 – Alarms and Events Visualization

Create the Alarm Display Symbol


First, you will create a live alarm symbol using Alarm Client and create filters for fast queries to
get live alarms and events in runtime.
1. In the IDE, Graphic Toolbox, Training toolset, create a new symbol named
AlarmLiveDisplay, and then open it.

y
op
2. In the Tools pane, click Alarm Client and place it on the canvas.
C
ot
N
o
D

3. Rename the element AlarmClient.

AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-49

Now, you will configure AlarmClient to filter the alarms for the Line1, Line2, and Production
areas.
4. Double-click AlarmClient to open the Edit Animations dialog box.
5. In the Alarm Query field, replace the default alarm query with
\\<GRPlatformNodeName>\Galaxy!Production.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-50 Module 5 – Alarms and Events Visualization

6. In the Animations pane, select Queries and Filters.


7. In the Queries and Filters pane, Filters area, click the Add new filter button.

y
op
The Add Query or Filter dialog box appears.

C
ot
N
o
D

AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-51

8. In the Query or Filter Name field, enter Line1.

y
op
9. In the filter criteria list on the left, select Group, and then click the right arrow button.
The Group criteria is added to the construction area.
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-52 Module 5 – Alarms and Events Visualization

10. In the construction area, select Group, and then on the right side, Operator drop-down list,
ensure = is selected.

y
op
11. In the Value field, enter Line1.
C
ot
N
o
D

AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-53

12. Click Set.


The construction area is updated.

y
op
13. Click OK to close the Add Query or Filter dialog box.
In the Edit Animations dialog box, Filters area, the new filter is displayed.
C
ot
N
o
D

14. Click the Add new filter button.


15. In the Query or Filter Name field, enter Line2.

16. In the filter criteria list, select Group, and then click the right arrow button.

AVEVA™ InTouch for System Platform 2020


5-54 Module 5 – Alarms and Events Visualization

17. In the construction area, select Group, and then in the Value field, enter Line2.

18. Click Set.

y
19. Click OK to close the Add Query or Filter dialog box.

op
20. Repeat the previous steps to add a third filter for Production.

C
ot
N

21. Click OK to close the Edit Animations dialog box.


o

22. Click AlarmClient and configure as follows:


D

Width: 1920
Height: 200

23. Save and check in the symbol.

AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-55

Test in Runtime
Next, you will view the alarms in runtime.
24. In WindowMaker, verify that the AlarmDisplay window is open, and then click the window.
25. Embed from the Graphic Toolbox, Training\AlarmLiveDisplay.

26. Go to runtime, and verify the information displayed.

y
op
27. Select one of the unacknowledged alarms, and then right-click the selected alarm and click
Ack Selected.

C
ot
N
o
D

The Ack Comment dialog box appears.

28. Enter a comment and click OK.

AVEVA™ InTouch for System Platform 2020


5-56 Module 5 – Alarms and Events Visualization

The selected alarm no longer appears in the list.

Use the Customized Filters in Runtime


Finally, you will use the context menu to select a filter you created earlier. You will explore more of
the context menu items in a later lab, when security is enabled.
29. Right-click the AlarmLiveDisplay symbol and select Queries and Filters.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-57

The Query and Filter Favorites dialog box appears.


30. In the Filters area, check Line1.

y
op
C
31. Click OK and verify the Line1 alarm information.
ot
N

32. Repeat the previous steps to check the different filters and verify the results.
33. Click Development to return to WindowMaker.
o

<End of Lab>
D

AVEVA™ InTouch for System Platform 2020


5-58 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-59

Lab 15 – Creating an Alarm Popup Symbol

Introduction
In this lab, you will create an alarm display that is tied to the alarms from a specific mixer. You will
embed a new alarm display symbol in the object itself and use scripting to build the alarm queries
needed for the mixer's objects. You will also add a button in the mixer display to show the alarm
popup through Show Symbol animation.
This lab assumes that the WinPlatform hosting the alarmed objects is configured as the alarm
provider for such objects.

Objectives
Upon completion of this lab, you will be able to:
 Use and configure the Alarm Client control to visualize real-time alarms for a specific

y
object
 Customize Alarm Client query filters through scripting

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-60 Module 5 – Alarms and Events Visualization

Create an Alarm Display for the $Mixer Template


In the following steps, you will create an alarm display for the mixer, and then you will add a button
you can use to pop up the alarm display during runtime.
1. In the IDE, Template Toolbox, Training\Project template toolset, open the $Mixer template.
2. Add a new symbol named AlarmPopup, and then open it.

3. In the Tools pane, click Alarm Client and place it on the drawing canvas.
4. Configure as follows:

Name: AlarmClient
Width: 800
Height: 400

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-61

5. Right-click the drawing canvas and select Custom Properties.


6. Add a custom property named NodeName and configure as follows:

Data Type: String


Default Value: ‘Expression or Reference’ mode:
MyPlatform.NodeName
Visibility: Private

y
op
7. Click OK to close the Edit Custom Properties dialog box.
8. Right-click the drawing canvas and select Scripts.
C
9. In the Edit Scripts dialog box, click Add Script.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-62 Module 5 – Alarms and Events Visualization

10. Name the script UpdateQuery and configure as follows:


:
Expression: NodeName
Trigger: DataChange

11. In the script body, enter the following.

Note: You may use the script in C:\Training\Lab 15 - Creating an Alarm Popup Symbol.

'Build alarm query prefix.


dim prefix as string;
prefix = "\\" + NodeName + "\Galaxy!" + Me.Area + "!";

'Build alarm query.


dim almQry as string;
almQry = prefix + Me.Tagname + ".* ";
almQry = almQry + prefix + Me.Agitator.Tagname + ".* ";
almQry = almQry + prefix + Me.Inlet1.Tagname + ".* ";

y
almQry = almQry + prefix + Me.Inlet2.Tagname + ".* ";
almQry = almQry + prefix + Me.Outlet.Tagname + ".* ";

op
almQry = almQry + prefix + Me.Temperature.Tagname + ".* ";
almQry = almQry + prefix + Me.Level.Tagname + ".* ";

'Update alarm control with alarm query.


AlarmClient.AlarmQuery = almQry;
C
ot
N
o
D

12. Click OK to close the Edit Scripts dialog box.


13. Save and close the symbol.

AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-63

14. In the $Mixer template, open MixingProcess_Detail in the Symbol Editor.


15. On the drawing canvas, add a button and configure as follows:

Name: Alarms_Btn
Text: Alarms

y
16. Place the button in the top-right portion of the symbol, as shown below.

op
Leave some space to the right of Alarms_Btn for placing another button in a future lab.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-64 Module 5 – Alarms and Events Visualization

17. Double-click Alarms_Btn to open the Edit Animations dialog box.


18. Add a Show Symbol animation.

19. In the Show Symbol pane to the right, Reference field, enter Me.AlarmPopup.
Leave all other defaults.

y
op
C
ot
N

20. Click OK to close the Edit Animations dialog box.


21. Save and close the symbol.
o

22. Save and check in the $Mixer template.


D

AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-65

Test the Symbol in Runtime


Finally, you will test if the Alarms button pops up the alarm display.
23. In WindowMaker, ensure the ContentDisplay window is open, and then switch to runtime.
24. In the ContentDisplay window, click the Alarms button to pop up the alarm display.
25. Verify the alarm information displayed is only for Mixer100.

y
op
C
26. Close the popup alarm display.
ot

27. Switch to another mixer, and then click the Alarms button.
28. Verify the alarm information displayed is only for that mixer.
N

29. Close the popup alarm display.


30. Click Development to return to WindowMaker.
<End of Lab>
o
D

AVEVA™ InTouch for System Platform 2020


5-66 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Section 3 – Logged Alarms and Events Visualization 5-67

Section 3 – Logged Alarms and Events Visualization


This section explains how to visualize logged alarms and events in the alarm database and
explains how they are historized.

Introduction
Alarm and event data can be logged with Historian to history blocks or to the A2ALMDB database.
History blocks are files in a proprietary format that store plant data and alarm and event data.
A2ALMDB is a SQL Server database that stores alarm and event data generated by Application
Server. Alarm and event data can also be logged with the legacy Alarm DB Logger application,
which stores alarms and events in a SQL Server database, which is created with a default name of
WWALMDB.
To log alarm and event data from Automation objects, you need to enable the host AppEngine with
storage to historian and specify a Historian server. Additionally, in the Alarms and Events
Configuration dialog box, you can enable historizing alarms by alarm severity and historizing

y
events by type.

op
Historizing Alarms and Events Using Historian
Alarms, Events, and Process Data share the same Historian configuration such as Historian node,
Store and Forward path, and so on. Enable storage to historian must be enabled to historize
C
process data and events. Similar to process data, Alarm and Event historization also supports
Store and Forward, Application Engine fail-over, and dual Historians.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-68 Module 5 – Alarms and Events Visualization

Selecting Alarm and Event Categories to Historize


Choose the alarm and event categories that you would like to historize by using the Alarm and
Events Configuration dialog box. To open this dialog box, on the Galaxy menu, click
Configure | Alarms and Events Configuration.

y
op
C
ot

Checking the Historize check box against each category determines whether or not those
N

categories will be historized. Modifying the Historize option does not require a redeployment.

Setting Up the Engine


o

At the Engine level, check the Enable storage to historian and Enable Tag Hierarchy check
boxes. Then, in the Historian field, enter the Primary Historian node.
D

AVEVA™ Training
Section 3 – Logged Alarms and Events Visualization 5-69

Object Setup
At the Object level, events can be historized by checking the Log system events in addition to
user events check box in the Log change feature. Alarms can be historized by enabling the State
alarm feature.

y
op
C
ot
N

Configuring the Alarm Client Tool


The Alarm Client tool can be configured for historization by selecting one of the historical options
o

in the Client Mode drop-down list. Once selected, the following options can be configured:
 Authentication Mode
D

 Server Name
 Database Name

AVEVA™ InTouch for System Platform 2020


5-70 Module 5 – Alarms and Events Visualization

Alarm DB Logger Manager


The legacy Alarm DB Logger application can be used to start and stop logging operations. The
Alarm DB Logger Manager can start as a service or a normal application.
Use the Alarm DB Logger configuration wizard to configure alarm logging, which is started from
within the Alarm DB Logger Manager.
The Alarm DB Logger Manager shows the percentage fill of the Smart Cache with alarm records.
The alarms are cached when the SQL Server connection is down or when alarms occur faster
than Alarm DB Logger can log them to the alarm database.

Configuring Alarm Database Logging


To log Galaxy alarm and event data to the alarm database, do the following from within the Alarm
DB Logger Manager:
 Configure the connection to the alarm database
 Select which alarms to log to the alarm database

y
 Set the interval to log records to the alarm database
 Select which method to run the Alarm DB Logger

op
A connection between the Alarm DB Logger and the alarm database must also be established.
The Alarm DB Logger only works with SQL Server authentication and the SQL Server
authentication must be set to mixed mode. C
Configuring Which Alarms to Log
In the Alarm DB Logger Manager configuration wizard, define one or more queries to select alarms
from Galaxy alarm providers. Select a range of alarm priority values that are part of the database
ot

query.
Use the following query syntax for remote nodes:
\\NodeName\Provider!AlarmGroup
N

Use the following query syntax for the local node:


\Provider!AlarmGroup
Example:
o

\\ProdSvr\InTouch!$System
D

The following is an example of using a Galaxy alarm provider. This query provides all alarms from
a specific area.
\\Galaxy!Area

Alarm Database
The Alarm Database stores alarms and events from the Alarm Manager to a SQL Server
database. Use the Alarm DB Logger utility to continuously log alarms and events to the Alarm
Database.
Set the Alarm Control to show one of the following:
 Historical alarms from the Alarm Database
 Historical events from the Alarm Database
 Historical alarms and events from the Alarm Database

AVEVA™ Training
Section 3 – Logged Alarms and Events Visualization 5-71

Historical Alarms
When the Alarm Control is configured in the Historical Alarms mode, only alarms stored in the
Alarm Database are shown.

Historical Events
When the Alarm Control is configured in the Historical Events mode, only events stored in the
Alarm Database are shown.

Historical Alarms and Events


When the Alarm Control is configured in the Historical Alarms and Events mode, both alarms
and events stored in the Alarm Database are displayed.
Configure the Alarm Control to show historical alarms or events, or both, which includes the
following:
 Server name hosting the Alarm Database
Authentication information to connect to the Alarm Database

y

 Maximum number of records to retrieve from the Alarm Database

op
 Time range or duration to show in the Alarm Control
 If the Alarm Control should update to the current client time
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-72 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-73

Lab 16 – Building a Historical Alarm Display

Introduction
In a previous lab, you created an alarm display for visualization of real-time alarms and events. In
this lab, you will use the Alarm Client tool again to create an alarm display for visualization of
historical alarms and events logged in the alarm database. You will also use the ShowGraphic
script function again to display the historical alarms.

Objectives
Upon completion of this lab, you will be able to:
 Use and configure the Alarm Client tool to visualize historical alarms and events
 Create a filter in runtime

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


5-74 Module 5 – Alarms and Events Visualization

Create the Historical Alarm Symbol


First, you will create and configure an alarm display to retrieve historical information.
1. In the IDE, Graphic Toolbox, Training toolset, create a new symbol named
AlarmHistDisplay, and then open it.

y
op
2. In the Tools pane, click Alarm Client and place it on the canvas.
C
Note: Leave some room above the Alarm Client, where you will configure some text and
buttons later in this lab.
ot

3. Rename the element AlarmClient, and then expand AlarmClient so it fills more of the
drawing canvas.
N
o
D

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-75

4. Double-click AlarmClient to open the Edit Animations dialog box.


5. In the Configuration list, ensure Alarm Mode is selected.
6. In the Alarm Mode pane, Client Mode drop-down list, select Historical Alarms.
7. In the Database Connectivity area, ensure the Authentication Mode is Windows
Integrated, and then in the Server Name field, enter <HistorianNodeName>.

y
op
8. In the Database Name drop-down list, select History Blocks.
A Configuration Warning appears confirming you want to change the configuration.
C
ot
N

9. Click Yes to continue.


o
D

AVEVA™ InTouch for System Platform 2020


5-76 Module 5 – Alarms and Events Visualization

10. Click the Test Connection button.

An Info message that the connection was successful appears.

y
op
11. Click OK to close the message.
12. Click OK to close the Edit Animations dialog box.
Next, you will create and configure the buttons you will use to retrieve historical data.
C
13. Add a Text element at the top-left, above AlarmClient, and enter History Alarm Mode:.
14. Configure the properties as follows:
ot

Name: AlarmMode_Txt
ElementStyle: Title
N
o
D

15. Add a button to the right of AlarmMode_Txt and configure as follows:

Name: HistAlarm_Btn
Text: Historical Alarms

16. Resize the button to fit the text.

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-77

17. Double-click HistAlarm_Btn and add animations as follows:


Pushbutton

States: Analog
Reference: AlarmClient.ClientMode
Action: Set
Value1: 3

y
op
C
Element Style
ot

States: Boolean
Expression Or Reference: AlarmClient.ClientMode == 3
True, 1, On: Element Style: checked (default)
N

Active
False, 0, Off: Element Style: checked (default)
Passive
o
D

18. Click OK to close the Edit Animations dialog box.

AVEVA™ InTouch for System Platform 2020


5-78 Module 5 – Alarms and Events Visualization

19. Duplicate HistAlarm_Btn and configure as follows:

Name: HistEvent_Btn
Text: Historical Events

20. Place the duplicate to the right of HistAlarm_Btn.


21. Resize the button to fit the text, if necessary.

22. Double-click HistEvent_Btn and modify the animations as follows:


Element Style

Expression Or Reference: AlarmClient.ClientMode == 4

y
op
C
ot

Pushbutton

Value1: 4
N
o
D

23. Click OK to close the Edit Animations dialog box.

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-79

24. Duplicate HistEvent_Btn.


25. Rename the button HistAE_Btn and change Text to Historical Alarms & Events.
26. Resize the button to fit the text.

27. Double-click HistAE_Btn and modify the animations as follows:


Element Style

Expression Or Reference: AlarmClient.ClientMode == 5

y
op
Pushbutton
C
Value1: 5
ot
N
o
D

28. Click OK to close the Edit Animations dialog box.


29. Use the alignment tools to lay out the buttons with middle alignment and equal horizontal
spacing.

30. Save and check in the symbol.

AVEVA™ InTouch for System Platform 2020


5-80 Module 5 – Alarms and Events Visualization

Add a Navigation Button for the Historical Alarm Display


Now, you will add a button to the SystemNavigation symbol to display the alarm history.
31. In the Graphic Toolbox, open the SystemNavigation symbol.
32. Duplicate AlarmOverview_Btn and align the duplicate to the right of AlarmOverview_Btn.
33. Name the duplicate AlarmHist_Btn.
34. Use Substitute Strings to change the button text to Historical Alarms.
35. Change the GraphicName custom property to AlarmHistDisplay.
36. Change the WindowResizable custom property to true.

y
op
37. Click OK to close the Edit Custom Properties dialog box.
C
38. Save and check in the symbol.
ot
N
o
D

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-81

Test in Runtime
Finally, you will view the historical alarms and events and create a filter in runtime.
39. In WindowMaker, verify that the Navigation window is open and view the updated symbol.

Note: If you do not see the updated symbol, in the bottom-right corner, double-click the
Symbol Changed icon to refresh the symbol.

40. Switch to runtime, and then click the Historical Alarms button.
After a moment, the historical alarms appear.

y
41. Ensure the History Alarm Mode is set to Historical Alarms and verify the information
displayed.

op
C
ot
N
o
D

Note: If necessary, you can resize the window.

AVEVA™ InTouch for System Platform 2020


5-82 Module 5 – Alarms and Events Visualization

42. Right-click the AlarmHistDisplay symbol and select Queries and Filters.

43. In the Query and Filter Favorites dialog box, Filters area, click Add new filter.
44. In the Query or Filter Name field, enter Line1.
45. Construct a filter, where Group = 'Line1'.

y
op
C
ot
N

46. Click OK, and then check the Line1 filter.


o
D

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-83

47. Click OK and verify the historical alarm information is for Line1 only.

y
op
C
Note: If you attempt to view historical events, you may not see any at this point, due to the
fact that security has not yet been enabled and there may not have been any recent setpoint
ot

changes, both of which create events. This view only show events from the last hour.

48. Close AlarmHistDisplay.


N

Now, you will create some events to view in history.


49. Click the agitator and change the speed setpoint, and then start and stop the agitator.
50. Close the command panel and click the Mixers button, and then click Historical Alarms to
o

show the window again.


D

51. In the AlarmHistDisplay window, click Historical Events.


The previous actions have been recorded as events.

52. Click Development to return to WindowMaker.


<End of Lab>

AVEVA™ InTouch for System Platform 2020


5-84 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
y
op
Module 6 – Trend Visualization
C
Section 1 – Historization Overview 6-3
ot

Section 2 – Real-Time Trending 6-9


Lab 17 – Adding Trending to Graphics 6-11
N

Section 3 – Trend Client Control 6-25


Lab 18 – Creating a Trend Popup Symbol 6-31
o

Section 4 – Historian Client Trend Control 6-41


D

Lab 19 – Building a Historical Trend Display 6-49


6-2 Module 6 – Trend Visualization

Module Objectives
 Provide a brief overview of the concepts of Historization
 Introduce the Trend Pen element and animation configuration
 Provide a brief overview of the Trend control
 Provide a brief overview of the Historian Client .NET control

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Historization Overview 6-3

Section 1 – Historization Overview


This section provides a brief overview of the concepts of historization covered in the AVEVA
Application Server course.

Historization Background
The history system supports the historization of process data in a distributed history architecture.
One or more Historian products can be installed on the same network as the Application Server
Galaxy. The Galaxy can be configured to store history data into one or more of those Historians.
Since the Engines use push technology to historize, the Process Historian box does not have any
software requirements.
Each Engine in the Galaxy is configured with the location of the Process Historian storage node to
which its history data is to be sent. This configuration is stored in an attribute within the Engine.
Process Historian requires a Historian tag to be configured in its database for each attribute to be

y
historized by an AutomationObject. Thus, there is a one-to-one relationship between a historized
object and a tag in Process Historian.

op
When an AutomationObject starts up, it registers its configuration data with Process Historian
using a Process Historian supplied interface. If the Process Historian tag already exists, it means
this object has been previously registered. If the Process Historian tag does not exist, it is created
automatically. In either case, the object receives back a unique identifier (handle) for that tag. This
C
is a push-style configuration model, meaning the configuration data for each historized property of
an object is dynamically and automatically pushed to Process Historian.
When an object decides to store a new value, time, and quality (VTQ) to Process Historian, it
ot

pushes that storage update message, with the new VTQ, to Process Historian using a Process
Historian supplied interface. The history primitive uses the previously returned unique identifier for
the Process Historian tag that corresponds to the historized property to identify the tag being
stored.
N

History Configuration
o

Historizable Data Types for Attributes


D

Attributes of the following data types support historization:


 Float (numerical)
 Double (numerical)
 Integer (numerical)
 Boolean (nonnumerical)
 String – Unicode (nonnumerical)
 CustomEnum (nonnumerical) maps to Process Historian Integer
 ElapsedTime (numerical) maps to Process Historian Float, converted to seconds
Entire arrays or portions of arrays are not supported. All numerical attributes are sent to the
Process Historian in the engineering units form exposed by the attribute, and Process Historian
does not scale the value. Additionally, the historized object performs all change detection and
value deadbanding.

AVEVA™ InTouch for System Platform 2020


6-4 Module 6 – Trend Visualization

Configuration of a Nonnumerical Attribute for Historization


For an object that has nonnumerical historizable attributes, the IDE user can enable history for
each attribute. No other configuration data is provided by the user, since these attributes are
historized upon change of value. Also, a change in data Quality, regardless of whether the Value
changed too, always causes a new record to be historized.

Configuration of a Numerical Attribute for Historization


For an object that has numerical historizable attributes, the IDE user can enable history for each
attribute. Once enabled, certain configuration settings can be specified. These settings determine
how often data is historized.
The following configuration settings can then be specified:
 Value Deadband: The threshold value (measured in engineering units) that the absolute
value of the difference between the new and last-stored values must differ, before storing
the new value to history. A value of 0 is valid as the default, and means that some change
is required prior to storing the value. A change in Quality always causes a new record to
be stored, regardless of whether the Value has changed.

y
 Force Storage Period: This is the time interval, in seconds (floating point), at which the

op
value must be stored, regardless of the value deadband setting. In addition to the Value
Deadband setting, the Value will be stored continuously at this interval. A Value of 0
disables this feature.
 Trend Hi: Specifies the initial maximum trend value for clients.

C
Trend Lo: Specifies the initial minimum trend value for clients.

Dynamic, Automatic Configuration of Process Historian at Object Deploy Time


ot

When an AutomationObject is deployed that has been historized, the object causes a dynamic
reconfiguration of the Process Historian. Each historized property causes a new tag to be created
and configured automatically in Process Historian at deployment time. The Process Historian
storage system to be configured is created in the engine object itself.
N

If the link to Process Historian is down at deploy time, the attempt to dynamically reconfigure
Process Historian is achieved at the time the Process Historian link is recovered. In other words,
automatic retry is built in.
o

Reconfiguration of Process Historian at Object Redeploy Time


D

When an AutomationObject that has been historized is redeployed, the object causes a
reconfiguration of any changes that were caused by the redeploy to be changed in Process
Historian automatically. For example, if the engineering units string for the tag changes from Deg F
to Deg C upon a redeploy, the Process Historian configuration database must reflect this change.

Reconfiguration of Process Historian at Object Undeploy Time


When an AutomationObject is undeployed that has been historized, the object does not cause any
dynamic reconfiguration of Process Historian. In other words, the Process Historian tag and all its
history is left in the Process Historian. This means that the history data can still be examined in the
future, even if the AutomationObject is no longer deployed.

AVEVA™ Training
Section 1 – Historization Overview 6-5

Process Historian Installation and Deployment


Process Historian is installed and deployed using its standard mechanism. Process Historian can
be deployed on any PC in the Galaxy, or on a PC outside the Galaxy, but on the local network.
Process Historian requires a SQL Server Database for its configuration data. This SQL Server
Database can be the same or different one used by the Galaxy Repository. More than one Process
Historian can be utilized by a single Galaxy. However, a single engine sends its history to only one
Process Historian. A single Process Historian can receive historical data from a single Galaxy only.

NaN Handling
For Float and Double attributes, a potential value is the IEEE NaN encoding for the float or double
representation. NaN values can be generated for attributes that are to be historized. These NaNs
will be accompanied by a Bad OPC Data Quality. In any case, NaN is a valid value that can be
generated for floats and doubles. Unfortunately, Process Historian clients do not handle NaN
properly. Therefore, System Platform will convert the NaN value to a Null value representation just
prior to sending to Process Historian.

y
Historian Quality Mapping

op
The Application Server Data Quality is somewhat different than the Process Historian data quality.
The plan is for Process Historian to support the OPC Quality definition. Thus, the 16-bit value for
the OPC Data quality is sent to Process Historian. Within those 16-bits, the low-order byte is the
standard OPC part. Wonderware reserves the high-order byte. The Good, Bad, Initializing (which
C
is a form of Bad), and Uncertain states are in the low-order byte per the OPC standard.
Any change in the OPC Quality, regardless of whether the Value component has changed, will
cause storage of a new record to Process Historian. This means that a point that has an identical
ot

value over some period of time with varying qualities will have multiple records stored to Process
Historian. The quality stored in Process Historian is the actual quality of the attribute in Application
Server, with no modification. However, Process Historian may insert artificial quality (for example,
24) and null value in the database, when certain situations such as disconnects occur. It does this
N

in cooperation with the Process Historian clients to project the right information on the client.

Historian Timestamp Mapping


o

The timestamp to be sent to Process Historian for each attribute value/quality update is sent by the
object in the VTQ packet. Both Application Server and Process Historian use UTC time.
D

Configure an AppEngine Object to Store Historical Data


If an AppEngine is deployed before Process Historian is started, no history data is stored until the
objects successfully register with the Process Historian.

Note: Except for Late Data, the ViewEngine object contains the same historical attributes as the
AppEngine object.

AVEVA™ InTouch for System Platform 2020


6-6 Module 6 – Trend Visualization

Configuration
Use the following table to determine how to best configure the AppEngine:
If enabled, the values for attributes that have historization
Enable storage to historian
enabled will be stored to the specified historian.

If enabled, the Model view is automatically replicated to the


Enable Tag Hierarchy Process Historian node associated with the Galaxy. You can
control this behavior at runtime without undeploying and
redeploying the engine of any affected objects.
The string to use for the connection to the Process Historian.
For the Process Historian, this is the node name.
If two Process Historians are configured as partners, the node
Historian identified by this string becomes the primary historian for this
engine. The partner information is configured and maintained
on the Process Historian.
Click the ellipse button to browse for the Process Historian on
the network.
The TCP port on the Process Historian node to which history
TCP Port

y
data will be sent. The TCP port is configured when Process
Historian is installed. The default is 32568.

op
If enabled, history data is compressed before it is sent over
Enable compression the network to the Process Historian. This is used to reduce
network utilization, but enabling this setting will increase the
CPU load.
C
Specifies limit of bandwidth usage, in Kbps, for network
Throttling network bandwidth communication used by HCAL, when communicating with
Process Historian.
Specifies the maximum time, in milliseconds, for keeping a
ot

Wait to send incomplete packets partially-filled Historian Client Access Layer (HCAL) buffer,
before sending it to the Process Historian.
The total size, in MB, of all buffers used by Historian Client
Access Layer (HCAL). The default and minimum value is 8. If
N

you have very high data bursts, then you should increase this
Pre-processing buffer size
value. If this is too low, data loss occurs and error messages
related to buffer overflows appear in the ArchestrA Logger.
Increase this value in increments of 10 MB.
o

The size, in MB, of free space to reserve on the HCAL store-


Store forward threshold and-forward disk. The space designated will not be used
D

during store-and-forward. This value cannot be a negative


number.
The minimum duration, in seconds, for HCAL to function in
store-and-forward mode. HCAL will function in store-and-
Store forward minimum duration forward mode for this length of time even if the condition that
caused HCAL to function in store-and-forward mode no
longer exists.
Specifies how trends appear during communication
disconnects between Application Server and Process
Historian. It does not affect how trends of history data appear
after communications have been restored.
If TRUE, no gap will appear in client-side trends for the
Reconnect as soon as possible disconnect interval. While disconnected, the interval is filled in
& do not mark disconnects with the last-received value before the disconnect.
If FALSE, a gap will appear in client-side trends for the
disconnect interval. NULL values are injected on disconnect
to create the gap.
In both cases, after reconnect, the interval will be filled in with
store-and-forward data.

AVEVA™ Training
Section 1 – Historization Overview 6-7

The AppEngine is configured in the History area of the object. Historian storage attributes can be
set here. Use the table on the previous page to review the History area on the AppEngine
General tab.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-8 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Real-Time Trending 6-9

Section 2 – Real-Time Trending


This section introduces the Trend pen and two situational awareness symbols for trending and
explains how to configure them.

Trend Pen Symbols


The Trends toolset includes two symbols:
 SA_Trend_SinglePen
 SA_Trend_MultiPen

SA_Trend_SinglePen
The SA_Trend_SinglePen can be configured as either:
 Tail Trend: Simple floating pen with some very basic choices

y
 Simple Trend: One-pen trend with optional grid, timescale, and ability to display a meter
attached to the right vertical axis

op
C
ot
N

SA_Trend_MultiPen
The SA_Trend_MultiPen will be used to configure multiple pens to display different historical
o

data.
D

AVEVA™ InTouch for System Platform 2020


6-10 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-11

Lab 17 – Adding Trending to Graphics

Introduction
In this lab, you will use a Single Pen symbol to replace the Level and Temperature symbols. You
will create Level_Detail_Trend and Temperature_Detail_Trend symbols, and use these to
replace existing symbols in $Mixer.MixingProcess_Detail.

Objectives
Upon completion of this lab, you will be able to:
 Configure the Single Pen situational awareness symbol

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-12 Module 6 – Trend Visualization

Create the Level and Temperature Trends


First, you will create Level_Detail_Trend and Temperature_Detail_Trend symbols in the $Mixer
template. To do so, you will embed and configure SA_Trend_SinglePen from the Situational
Awareness Library.
1. In the IDE, Template Toolbox, Training\Project template toolset, open the $Mixer template.

y
op
C
ot

2. In the Content area, add a new symbol named Level_Detail_Trend, and then open it.
N

3. Embed from the Graphic Toolbox, Situational Awareness Library\Trends\


SA_Trend_SinglePen.
o
D

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-13

4. Place SA_Trend_SinglePen on the drawing canvas and configure as follows:

Name: Level_Trend
YAxisRangeType: ClipOutOfRangeValue
PlotType: Line
Label: True
SymbolMode: Advanced
AlarmBorder: True
Meter: True
MeterType: Level
EngUnitsType: CustomPropertyLabel
AlarmLimitIndicators: True
AlarmHiHiLimitIndicator: True
AlarmHiLimitIndicator: True

y
AlarmLoLimitIndicator: True
AlarmLoLoLimitIndicator: True

op
FloatingTooltip: True

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-14 Module 6 – Trend Visualization

5. Right-click Level_Trend and select Substitute | Substitute References.


6. Click Find & Replace.

y
7. In Find What?, enter Me.PV.
op
C
8. In Replace with, enter Me.Level.PV.
9. Click Replace All.
ot
N
o
D

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-15

All of the references are updated.

y
10. Change Me.Level.PV.EngUnitsRangeMax to Me.Level.PV.EngUnitsMax.

op
11. Change Me.Level.PV.EngUnitsRangeMin to Me.Level.PV.EngUnitsMin.

C
ot
N
o
D

12. Click OK to close the Substitute Reference dialog box.

AVEVA™ InTouch for System Platform 2020


6-16 Module 6 – Trend Visualization

13. Use Substitute Strings to change the text Label to Level.

y
op
14. Click OK to close the Substitute Strings dialog box.
15. On the Properties tab, scroll down to the Custom Properties area, and change the
EnableFill property to True, and then the FillColor property to Gray.
C
ot
N
o
D

16. Save and close the symbol.


Next, you will create a Temperature_Detail_Trend symbol in the $Mixer template. You will embed
and configure another SA_Trend_SinglePen symbol from the Situational Awareness Library.
17. In the Content area, add a new symbol named Temperature_Detail_Trend, and then open it.
18. Embed from the Graphic Toolbox, Situational Awareness Library\Trends\
SA_Trend_SinglePen.

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-17

19. Configure SA_Trend_SinglePen as follows:

Name: Temp_Trend
YAxisRangeType: ClipOutOfRangeValue
PlotType: Line
Label: True
SymbolMode: Advanced
AlarmBorder: True
Meter: True
MeterType: Temperature
EngUnitsType: CustomPropertyLabel
AlarmLimitIndicators: True
AlarmHiHiLimitIndicator: True
AlarmHiLimitIndicator: True

y
AlarmLoLimitIndicator: True
AlarmLoLoLimitIndicator: True

op
FloatingTooltip: True

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-18 Module 6 – Trend Visualization

20. Substitute references using the Find & Replace feature.


21. In Find What?, enter Me.PV., and then in Replace with, enter Me.Temperature.PV.

22. Click Replace All.

y
23. Change Me.Temperature.PV.EngUnitsRangeMax to Me.Temperature.PV.EngUnitsMax.
24. Change Me.Temperature.PV.EngUnitsRangeMin to Me.Temperature.PV.EngUnitsMin.

op
C
ot
N
o
D

25. Click OK to close the Substitute Reference dialog box.

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-19

26. Use Substitute Strings to change the text Label to Temperature.

y
op
27. Click OK to close the Substitute Strings dialog box.
28. On the Properties tab, scroll down to the Custom Properties area, and change the
C
EnableFill property to True, and then the FillColor property to Gray.
ot
N
o
D

29. Save and close the symbol.

AVEVA™ InTouch for System Platform 2020


6-20 Module 6 – Trend Visualization

30. In the Content area, open MixingProcess_Detail in the Symbol Editor.


31. Move SA_Agitator_Settler to the right of the Mixer tank, and then delete the level symbol.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-21

32. Embed from Relative References, Me\Level_Detail_Trend above the temperature symbol.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-22 Module 6 – Trend Visualization

33. Delete the temperature symbol and replace it with Me\Temperature_Detail_Trend.

y
op
C
34. Lay out the symbols as shown below, resizing if necessary.
ot
N
o
D

35. Save and close the symbol.


36. Save and check in the $Mixer template.

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-23

Test in Runtime
Finally, you will view the Single Pen symbols in runtime.
37. In WindowMaker, verify that the ContentDisplay window is open, and then switch to runtime.
38. In the ContentDisplay window, observe the Level and Temperature trends.

y
op
C
39. Place the mouse pointer on one of the trends and verify the tool tip appears.
ot
N
o
D

40. Click Development to return to WindowMaker.


<End of Lab>

AVEVA™ InTouch for System Platform 2020


6-24 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Section 3 – Trend Client Control 6-25

Section 3 – Trend Client Control


This section provides a brief overview of the Trend Client control available from within the Symbol
Editor.

Introduction
The Trend Client control is delivered as part of the Symbol Editor. This control can be used in
symbols to chart attribute current values from Application Server and to tag current values from the
InTouch HMI software. The Trend Client can use real-time data from Application Server and the
InTouch HMI software and historical data from the Historian or
InTouch .lgh files.
In the Symbol Editor, Tools pane, place the Trend Client control directly onto the canvas.
Customize the control by adding graphics, interactions, and scripts.
Deploy a managed InTouch application containing Trend Client controls to a remote node, and
then visualize and interact with alarms at runtime with InTouch WindowViewer.

y
This control has properties, methods, and events that can be modified while an application is

op
running to change the behavior of the control.
Once the control format has been designed, a user may be given the ability to make adjustments
to manipulate the data he/she is viewing during runtime.
C
Embed the Trend Client Control
ot

In the Symbol Editor, in the Tools pane, click the TrendClient tool and then click the canvas
to place the object in the symbol.
N
o
D

Resize the control, and double-click it to access configuration options detailed in the Guide to the
Trend Control.

AVEVA™ InTouch for System Platform 2020


6-26 Module 6 – Trend Visualization

Trend Client Configuration

Pens
When a Trend Client is first added to the canvas, no pens are defined. To show a trend, add at
least one pen and configure it so that the system can identify what trend information to chart. Each
pen must have an associated expression or reference.
Connect the pen to an Attribute through the Expression or Reference field. The Attribute provides
values at runtime that control the animation and appearance of the pen.
After the pen is added, configure the expression or reference for the pen(s), set the details and
options for how the pen shows information on the trend chart. Pen details include the description,
units, and minimum and maximum units for the pen. Pen options include color, width, style, plot
type, number of decimal places, format, and retrieval mode.

y
op
C
ot

Appearance
N

Set a number of general options for the trend appearance, including gradients, border and plot
area background color, highlights, and colors for the X and Y axes.
o
D

AVEVA™ Training
Section 3 – Trend Client Control 6-27

Options
Set a number of general chart options, including the trend background color, freeze options,
refresh interval, and retrieval options.

y
Historical Sources

op
C
To use a Trend Client to chart historical data, connect to a data source such as Process Historian
or an InTouch .lgh file. Use one of the following authentication modes when connecting to Process
Historian:
ot

 Windows Integrated: Uses the running process credentials


 Alternate Windows account (specifying the domain name, username, and password):
The alternate credentials are used to do a Windows impersonation, before connecting to
the database using Windows Integrated Security
N

 SQL Server Authentication: Specify the username and password of a SQL Server
account; these credentials are used to log in to the database
o

Note: Ask an administrator what type of user account must be used to access the server.
Server connections are specific to the instance of the client and must be redefined for
D

each instance.

AVEVA™ InTouch for System Platform 2020


6-28 Module 6 – Trend Visualization

When a Application Server application is started, it is not automatically logged on to every


previously configured server. A server is logged on to only when a pen is configured to use that
server.

y
op
Data Binding
C
Associate a reference to an attribute with the Data Binding pane, instead of using scripting.
Information can be passed in either direction or both directions as desired. Changes to the status
ot

of one can affect the other, depending on the Direction setting.


N
o
D

AVEVA™ Training
Section 3 – Trend Client Control 6-29

Event
Use the custom event editor to build scripts to handle trend events.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-30 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-31

Lab 18 – Creating a Trend Popup Symbol

Introduction
In this lab, you will create a live trend display using the TrendClient tool tied to the data points
from a specific mixer. You will embed a new trend display symbol in the object itself. You will also
add a button in the mixer display to show the trend popup display through Show Symbol
animation.

Objectives
Upon completion of this lab, you will be able to:
 Use and configure the TrendClient tool to visualize real-time data
 Use the Show Symbol animation to show a Trend within the automation object

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-32 Module 6 – Trend Visualization

Configure a Trend Display for the $Mixer Template


First, you will configure a trend display to show trends for the mixer.
1. In the IDE, Template Toolbox, in the Training\Project template toolset, open the $Mixer
template.
2. In the Content area, add a new symbol named TrendPopup, and then open it.
3. In the Tools pane, select TrendClient.

y
op
4. Place the TrendClient tool on the drawing canvas and name it TrendClient.
5. Double-click TrendClient to open the Edit Animations dialog box.
6. In the Configuration list, select Historical Sources.
C
7. In the Historical Sources pane, click the Add Row button to add a Historical Source.
ot
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-33

8. In the Historian area, Server Name field, enter the <HistorianNodeName>.


9. Ensure that the Authentication Mode is Windows Integrated.
10. Click the Test Connection button.

y
op
11. Click OK when the connection is successful.
12. In the Configuration list, click Pens. C
13. Click the Add Row button to add a Pen.
ot
N

14. In the Pen Name column, enter Level.


o

15. Click in the Expression or Reference field, and then click the Galaxy Browser button to the
D

right.
16. In the Galaxy Browser, from Relative References, click Me.Level.
17. In the Me.Level pane, click PV.

AVEVA™ InTouch for System Platform 2020


6-34 Module 6 – Trend Visualization

18. Click OK to close the Galaxy Browser.


The Pen Details are selected automatically based on the references selected. The Pen
Details will automatically populate only when you browse to obtain the reference.

y
19. In the Historical area, change Source and Tag to Expression or Reference mode.

op
C
20. In the Source field, enter MyEngine.Engine.Historian.Connection.
21. In the Tag field, enter me.Level.Tagname + ".PV".
ot
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-35

22. Repeat Steps 13 through 21 to add another pen named Temperature, and configure as
follows:

Expression or Reference: Me.Temperature.PV


Source: MyEngine.Engine.Historian.Connection
Tag: me.Temperature.Tagname + ".PV"

y
op
C
ot

23. Repeat Steps 13 through 21 to add another pen named Agitator, and configure as follows:

Expression or Reference: Me.Agitator.Speed.PV


N

Source: MyEngine.Engine.Historian.Connection
Tag: me.Agitator.Tagname + ".Speed.PV"
o
D

AVEVA™ InTouch for System Platform 2020


6-36 Module 6 – Trend Visualization

24. In the Pen Options area, Plot type drop-down list, select Step line.

25. Repeat Steps 13 through 21 to add another pen named Inlet1, and configure as follows:

Expression or Reference: Me.Inlet1.CLS


Source: MyEngine.Engine.Historian.Connection
Tag: me.Inlet1.Tagname + ".CLS"

26. In the Pen Details area, Units field, click the Expression or Reference mode button to
switch to Static Text mode .

y
27. Delete all characters in the Units field.

op
Valve objects (discrete devices) do not have an EngUnits attribute.
28. Continue to configure the Pen Details area as follows:

Min: Static Text mode C


-1
Max: Static Text mode
2
ot

29. In the Pen Options area, Plot type drop-down list, select Step line.
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-37

30. In the Configuration list, click Appearance.


31. In the X time axis area, check Show cursor.

Leave the remaining defaults.


32. In the Configuration list, click Options.

y
33. In the Chart Options area, configure as follows:

op
Show pen selector: checked
Allow freeze/unfreeze trend update: checked
C
ot
N

Leave the remaining defaults.


34. Click OK to close the Edit Animations dialog box.
o
D

AVEVA™ InTouch for System Platform 2020


6-38 Module 6 – Trend Visualization

35. Increase the size of TrendClient, so that the timestamps are legible.

y
op
C
ot

36. Save and close the symbol.


Next, you will configure a button to pop up the trend display during runtime.
N

37. In the Content area, open MixingProcess_Detail in the Symbol Editor.


38. Duplicate Alarms_Btn, and then place the duplicate to the right of the Alarms_Btn button.
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-39

39. Configure the duplicate as follows:

Name: Trends_Btn
Text: Trends

40. Double-click Trends_Btn to open the Edit Animations dialog box.


41. Configure the Show Symbol animation as follows:

Reference: Me.TrendPopup

Leave all other defaults.

y
42. Click OK to close the Edit Animations dialog box.

op
43. Save and close the symbol.
44. Save and check in the $Mixer template.
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-40 Module 6 – Trend Visualization

Test the Symbol in Runtime


Finally, you will test if the Trends button pops up the trend display.
45. In WindowMaker, ensure the ContentDisplay window is open, and then switch to runtime.
46. In the ContentDisplay window, click the Trends button and observe the trends.

y
op
C
ot
N

47. Close the popup window.


o

48. Switch to a different mixer and click Trends.


49. Verify the information displayed in the popup window is for the selected mixer.
D

50. Close the popup window, and then click Development to return to WindowMaker.
<End of Lab>

AVEVA™ Training
Section 4 – Historian Client Trend Control 6-41

Section 4 – Historian Client Trend Control


This section provides a brief overview of the Historian Client .NET controls available for use in
symbols.

Historian Client Controls


Historian Client provides some of its applications and functionality as .NET controls. Using the
Client Controls functionality of System Platform, Historian Client .NET controls can be imported
into the Galaxy as Client Controls that are embedded into symbols.
The installation of Historian Client will automatically install the .NET controls available. Using the
IDE, the .NET controls can be imported into the Galaxy from the following default location:
C:\Program Files (x86)\Common Files\ArchestrA.
The Historian Client controls can be categorized as application controls, building block controls, or
core functionality controls.

y
An application-level control runs within the container application, but functions as if it were a stand-
alone application. This type of control does not require extensive scripting to function. Application-

op
level controls include:
 aaHistClientTrend Control
 aaHistClientQuery Control C
A building block control provides specific functionality for use within an application. Scripting is
required to make these controls functional. Building block controls include:
 aaHistClientSingleValueEntry Control
aaHistClientTagPicker Control
ot

 aaHistClientTimeRangePicker Control
 aaHistClientActiveDataGrid Control
N
o
D

AVEVA™ InTouch for System Platform 2020


6-42 Module 6 – Trend Visualization

aaHistClientTrend Control
The aaHistClientTrend control runs the Historian Client Trend program (or a functional subset)
from within the InTouch HMI software or a .NET container like Visual Basic .NET or Internet
Explorer.
Trend is a client application that queries tags from a Process Historian database and plots them on
a graphical display. Trend supports two different chart types: a regular trend curve and an XY
scatter plot.
After adding tags to a trend chart, you can manipulate the display in a variety of ways, including
panning, zooming, and scaling. Customize any trend by configuring display options and set
general options for use with all trends.

y
op
C
ot
N
o
D

AVEVA™ Training
Section 4 – Historian Client Trend Control 6-43

aaHistClientQuery Control
The aaHistClientQuery control runs the Historian Client Query program (or a functional subset)
from within the InTouch HMI software or a .NET container like Visual Basic .NET or Internet
Explorer.
Query is a client application that retrieves data from a Process Historian database or any SQL
Server database and returns the results in a table format. If querying the Process Historian
database, choose from a number of predefined query types and easily select the options for each
type, eliminating the need to know SQL syntax.
Custom queries can also be written, if the SQL syntax and the schema of the database are known.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-44 Module 6 – Trend Visualization

aaHistClientTagPicker Control
The aaHistClientTagPicker control displays the hierarchy of objects in the Process Historian
database (for example, tags, InTouch nodes, events, and so on) in a hierarchical format.
Unlike the other Historian Client controls, the aaHistClientTagPicker control does not provide a
user interface to select and connect to a Historian. A programmatic interface needs to be added to
allow this functionality.
The following code can be used in a script to allow a user to log on to the Historian located in the
localhost:
aaTagPicker1.Servers.Add( "localhost" );

y
op
C
ot
N
o
D

AVEVA™ Training
Section 4 – Historian Client Trend Control 6-45

aaHistClientTimeRangePicker Control
The aaHistClientTimeRangePicker control allows date and time parameters to be selected.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-46 Module 6 – Trend Visualization

aaHistClientActiveDataGrid Control
The aaHistClientActiveDataGrid control can run any SQL query from any Process Historian or
Microsoft SQL Server database and return the results in a grid.

Note: The aaHistClientActiveDataGrid control does not support data definition or data
manipulation queries.

Unlike the other Historian Client controls, the aaHistClientActiveDataGrid control does not provide
a user interface to select and connect to a SQL Server or specify the query that will feed data to
the grid. A programmatic interface needs to be added to allow this functionality.
The following code can be used in a script to connect to the local Historian as aaUser and query
history data for the SysTimeSec tag:
aaTagPicker1.Servers.Add( "localhost" );
aaHistClientActiveDataGrid1.ServerName = "localhost";
aaHistClientActiveDataGrid1.UserName = "aaUser";
aaHistClientActiveDataGrid1.Password = "pwUser";
aaHistClientActiveDataGrid1.DatabaseName = "Runtime";

y
aaHistClientActiveDataGrid1.SQLString = "SELECT * FROM History
WHERE Tagname = 'SysTimeSec'";

op
aaHistClientActiveDataGrid1.Connected = 1;

C
ot
N
o
D

AVEVA™ Training
Section 4 – Historian Client Trend Control 6-47

aaHistClientSingleValueEntry Control
Use the aaHistClientSingleValueEntry control to manually add a tag value to the Process Historian
database.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-48 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 19 – Building a Historical Trend Display 6-49

Lab 19 – Building a Historical Trend Display


Introduction
In this lab, you will use the Historian Client Trend .NET control to create a display for history
production data visualization through a trend chart. The historical display will be created in a new
symbol. You will add a button to the SystemNavigation symbol to display the trend history.

Objectives
Upon completion of this lab, you will be able to:
 Use the Historian Client Trend .NET control as part of an HMI application

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


6-50 Module 6 – Trend Visualization

Import the Historian Client Trend .NET Control


First, you will import the Historian Client Trend .NET control into the IDE.
1. In the IDE, on the Galaxy menu, click Import | Client Control.

y
op
C
The Import Client Control(s) dialog box appears.
ot

2. Navigate to C:\Program Files (x86)\Common Files\ArchestrA, and then scroll down and
click aaHistClientTrendControl.dll.

Note: Depending on your operating system, this path may be different.


N
o
D

3. Click Open to begin the import process.

AVEVA™ Training
Lab 19 – Building a Historical Trend Display 6-51

The Import Preferences dialog box appears.

4. Leave the default settings and click OK to continue.


The Import Client Control(s) progress appears.

y
The import may take a few moments.

op
C
ot
N
o

5. When the import is complete, click Close.


D

AVEVA™ InTouch for System Platform 2020


6-52 Module 6 – Trend Visualization

6. In the Graphic Toolbox, drag the aaTrendControl you imported to the ClientControls
toolset.

y
op
C
ot

Create the TrendHistDisplay Symbol


Next, you will configure a symbol with the trend control.
N

7. In the Graphic Toolbox, Training toolset, create a new symbol named TrendHistDisplay,
and then open it.
o
D

AVEVA™ Training
Lab 19 – Building a Historical Trend Display 6-53

8. Embed from the Graphic Toolbox, Client Controls\aaTrendControl and place it on the
canvas.
9. Rename the symbol Trend.

y
op
10. Right-click the drawing canvas and select Custom Properties.
11. Add a custom property named HistServer.
C
12. In the HistServer pane, configure the options as follows:

Data Type: String


Default Value: <HistorianNodeName>
ot

Visibility: Private
N
o
D

13. Click OK to close the Edit Custom Properties dialog box.

AVEVA™ InTouch for System Platform 2020


6-54 Module 6 – Trend Visualization

14. Right-click the drawing canvas and select Scripts.


15. In the Edit Scripts dialog box, Predefined Scripts pane, Trigger type drop-down list, ensure
On Show is selected.
16. In the script body, enter the following:
'Add server using integrated security.
Trend.AddServerEx(HistServer, "", "", false);

y
op
17. Click OK to close the Edit Scripts dialog box.
18. Save and check in the symbol.
C
Add a Navigation Button for Displaying TrendHistDisplay
Now, you will add a button to the SystemNavigation symbol to display the trend history.
ot

19. In the Graphic Toolbox, open the SystemNavigation symbol.


20. Duplicate AlarmHist_Btn and place the duplicate to the right of AlarmHist_Btn.
N

21. Name the duplicate TrendHist_Btn.


22. Use Substitute Strings to change Historical Alarms to Historical Trend.
23. Change the GraphicName custom property to TrendHistDisplay.
o
D

24. Click OK to close the Edit Custom Properties dialog box.


25. Save and check in the symbol.

AVEVA™ Training
Lab 19 – Building a Historical Trend Display 6-55

Test in Runtime
Finally, you will view the historical trends in runtime.
26. In WindowMaker, verify that the Navigation window is open and switch to runtime.

Note: If you do not see the updated symbol, in the bottom-right corner, double-click the
Symbol Changed icon to refresh the symbol.

27. Click the Historical Trend button.


After a moment, TrendHistDisplay opens.
28. In the Tags pane, drag each of the following tags to the Trend chart:
 Agitator_001.Speed.PV
 Level_001.PV
 Temperature_001.PV

y
op
C
ot
N
o
D

29. Observe the trends.


30. Drag other tags to the trend chart and observe the trends.
31. Click Development to return to WindowMaker.
<End of Lab>

AVEVA™ InTouch for System Platform 2020


6-56 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
y
op Module 7 – Security
C
Section 1 – Security Overview 7-3
ot

Lab 20 – Using Security Features in Graphics 7-9


Section 2 – Signed Writes 7-25
N

Lab 21 – Signing Writes from InTouch 7-31


Section 3 – Customization of the Runtime Environment 7-51
o

Lab 22 – Locking Down Your Application 7-59


D
7-2 Module 7 – Security

Module Objectives
 Review security, authentication modes, and general and operational permissions
 Discuss security
 Provide a brief discussion on the Secured and Verified Write Security classifications
 Customize the runtime environment for better security
 Configure the InTouch runtime environment for inactivity functionality
 Introduce the EnableDisableKeys() script function

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Security Overview 7-3

Section 1 – Security Overview

This section provides a brief review of security, authentication modes, general and operational
permissions, security classifications, the security audit trail, and InTouch security tags and script
functions.

Introduction
The security system is a global function that applies to every object in the Galaxy database. It is a
relationship-based security system between users and the objects and functions of the Galaxy.
Security is designed to allow system administrators to easily define users and assign the
operations they are allowed to perform. The security permissions are defined in terms of the
operations the users can perform using Automation objects.

Configuring Security

y
Before the security editor for a Galaxy is opened, ensure that:

op
 No other user is connected to the Galaxy
 All objects in the Galaxy are checked in
 The user profile has configuration permissions to change Framework Configuration/Modify
Security Model, if security is previously configured
C
If the security editor is opened before these conditions are met, a warning message appears and
access is denied. Do not configure security settings of the IDE, while a Managed InTouch
application is open for editing in WindowMaker.
ot

Other users who try to open the Galaxy while security is being configured are denied access to the
Galaxy. Only change the System Administrator username or password using the Change Network
Account Utility. The administrator account information is cached, and the engines may need to be
N

redeployed after the account is changed, so that the engines run using the current information.

Key Points
o

Security is based on security roles (configuration, system administration, and runtime permissions)
and security groups, which determine the runtime permissions for a particular security role on an
D

object-level basis.
When configuring a node to use security, the InTouch HMI uses methods and dialog boxes from
Application Server for log on and log off operations. Users are configured in the System Platform
IDE.
Security includes advanced security mechanisms that also affect InTouch, such as:
 Secured Write: Writing data to a Galaxy attribute from InTouch that requires operators
with the right permission to reenter their passwords to complete the writeback
 Verified Write: Writing data to a Galaxy attribute from InTouch that requires operators with
the right permission to reenter their passwords and also authorization from a second
operator with the right permission to complete the writeback
For more information, see the InTouch HMI Application Management and Extension Guide.

AVEVA™ InTouch for System Platform 2020


7-4 Module 7 – Security

Authentication Modes
Select from three authentication modes to assign security:
 Galaxy: Uses local Galaxy configuration to authenticate users. All security for the Galaxy
is specified and contained at the specific Galaxy level. When the user logs on, security
credentials are checked and access to areas and activities is granted at the Galaxy level.
 OS User based: Uses the user authentication system of the operating system on an
individual user level. All security for the Galaxy is specified and contained in the operating
system (OS) on a user level basis. When the user logs on, security credentials are
checked and access to areas and activities are granted at the OS user level.
 OS Group based: Uses the user authentication system of the operating system on a
group basis. All security for the Galaxy is specified and contained in the user-to-roles
mapping created in the OS to assign security. When a user logs on, security credentials
are checked and verified at the OS group level. OS groups are mapped to security roles in
the Galaxy to allow access to areas and activities in the Galaxy.

Note: If using the OS user-based security or OS group-based security, and there are

y
permissions to use the IDE, the Log In dialog box does not appear.

op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Security Overview 7-5

General and Operational Permissions


Create and manage user roles that apply to processes of the organization and work-based
authorities. Two roles are defined by default: Administrator and Default.
You can specify General and Operational Permissions for each role:
 General permissions relate to application configuration and administration tasks
 Operational permissions relate to the security groups listed on the Security Groups page;
by default, the Administrator has all permissions

Note: The General permissions for the role of Administrator cannot be modified.

y
op
C
ot
N
o
D

The Operational permissions that can be associated with a role:


 Can Modify “Operate” Attributes: Allows users with operational permissions to do
certain normal day-to-day tasks like changing setpoint, output, and control mode for a PID
object, or commanding a Discrete Device object
 Can Modify “Tune” Attributes: Allows users to tune the attribute in the runtime
environment; examples of tuning are attributes that adjust alarm setpoints and PID
sensitivity
 Can Modify “Configure” Attributes: Allows users to configure the value of an attribute,
which requires that the user first put the object Off scan; writing to these attributes is
considered a significant configuration change, for example, a PLC register that defines a
Discrete Device input

AVEVA™ InTouch for System Platform 2020


7-6 Module 7 – Security

 Can Acknowledge Alarms: Allows users to manually acknowledge an alarm in the


runtime environment
 Can Verify Writes: Allows users to provide an authentication signature for attributes
configured with Verified Writes security classification; only users with this permission can
verify a task performed by users with the Can Modify “Operate” Attributes permission
 Can Shelve Alarms: Allows users to manually shelve and unshelve alarms
 Can Modify Alarm Modes: Allows users to modify the mode of an alarm
 Can Modify Plant States: Allows users to modify plant states, for state-based alarming

Important: For Galaxies that have security enabled, and are migrated to Application Server,
the Can Modify Operate Attributes Operational permission setting will be copied to the Can
Verify Writes attribute. Starting with Application Server, Galaxies have the Can Verify Writes
Operational permission setting disabled by default.

Setting Object Security

y
Operators interact with objects through the individual attributes of those objects. Each attribute on

op
the Object Editor can be modified by operators at runtime and can have an associated security
control, which is used to modify its runtime security classification.
If the security classification of an attribute is configurable, click the security control to select one of
seven possible states:
C
Security Icon Description
Change this value without restriction, even if there are no defined permissions on
the object.
ot

FreeAccess
Anyone can write to these attributes to perform safety or time critical tasks that can
be hampered by an untimely logon request. For example, halting a failing process.
Work with Operate permissions to do certain normal day-to-day tasks. These
N

include writing to attributes like Setpoint or Command for a Discrete Device object.
Operate This level of security requires Operate permission for the security group for the
object.
Requires authentication using user name and password each time the attribute is
o

written to. This security state also requires Operate permissions for the object.
SecuredWrite
D

Requires Operate permissions to log on again and a second, different user to also
log on as the verifier before writing to the attribute. The verifier needs to have Can
VerifiedWrite Verify Writes permission for the object.
Allows end users with Tune Operational permissions to tune the attribute in the
runtime environment. Examples of tuning are attributes that adjust alarm setpoints
Tune and PID sensitivity.
Allows end users with Configure Operational permissions to configure the value of
the attribute. Requires that the user first put the object Off scan. Writing to these
Configure attributes is considered a significant configuration change. For example, a PLC
register that defines a Discrete Device input.
Only allows users to read the value of the attribute in the runtime environment. This
attribute is never written to at runtime, regardless of the user's permissions.
ViewOnly

If the security of an attribute is shown in gray, its security classification is locked in its parent object
and cannot be changed or it requires the enabling of a group attribute.

AVEVA™ Training
Section 1 – Security Overview 7-7

Group Locking/Security
The lock and security controls associated with option groups set those conditions for all options in
the group.

The group control typically reflects the setting for all options in the group. But, if at least one
option in the group has a lock or security control that is different from the other options, the group
control shows an indeterminate icon.
In addition to the undefined controls, the group controls for locking and security are the same as
those for individual options.

Configuring Security for Symbols


Set security permissions, so that at design time, the user cannot:
 Import or export symbols
 Create, modify, or delete symbols in the Graphic Toolbox
 Create, modify, or delete symbols in any AutomationObject template

y
 Create, modify, or delete symbols in any AutomationObject instance

op
 Create, modify, or delete View Applications, such as the InTouch View Applications
 Deploy or undeploy View Applications, such as InTouch View Applications
 Edit the configuration of the Quality and Status Display
C
Security Audit Trail
Auditing is a primary function of any security system. Use a set of security system tags to identify
the users who logged on to an InTouch application, the domain from which the user logged on, and
ot

when the attempt was made.

System Tags in InTouch Related to Security


N

The following system tags are available to deal with security.

Tagname Type Valid Values Access


o

$AccessLevel System Integer 0-9999 Read Only


$ChangePassword System Discrete 1 or 0 Read Write
D

$InactivityTimeout System Discrete 1 or 0 Read Only


$InactivityWarning System Discrete 1 or 0 Read Only
$Operator System Message 16-characters max Read Only
$OperatorName System Message 131-characters max Read Only
$OperatorEntered System Message 16-characters max Write Only
$PasswordEntered System Message 16-characters max Write Only
$VerifiedUserName System Message 16-characters max Read Only

AVEVA™ InTouch for System Platform 2020


7-8 Module 7 – Security

InTouch Script Functions Related to Security


The following InTouch functions are available to work with security from an InTouch script:
 Logoff
 AttemptInvisibleLogon
 ChangePassword
 InvisibleVerifyCredentials
 LogonCurrentUser
 PostLogonDialog
Logoff() Function
Logs off the currently logged on user and sets the current user status to the default None operator.
This script function is also available in scripting.
AttemptInvisibleLogon() Function
The AttemptInvisibleLogon() function can be used in a script to log on a user to InTouch using the
supplied credentials. The user is not required to enter a password or user ID.

y
If the logon attempt succeeds, then True is returned and the $OperatorName, $AccessLevel, and

op
$Operator system tags are updated accordingly.
If the log on attempt fails, then FALSE is returned and the user currently logged on (if any)
continues to be the current user.
The Domain argument must be an empty string. If the security mode is using operating system-
C
based security, the UserId argument should contain the fully qualified user name with domain
name or computer name.
ChangePassword() Function
ot

Shows the Change Password dialog box, allowing the operator logged on to the system to change
his or her password.
N

InvisibleVerifyCredentials() Function
The InvisibleVerifyCredentials() function can be used in a synchronous QuickScript to verify the
credentials of the given user without logging the user on to the InTouch HMI. If the supplied
o

combination of user, password, and domain are valid, then the corresponding access level
associated with the user is returned as an integer. Otherwise, -1 is returned.
D

This function does not change the currently logged on user. The Domain argument must be an
empty string. If the security mode is using operating system-based security, the UserId argument
should contain the fully qualified user name with domain name or computer name.
LogonCurrentUser() Function
Logs on to InTouch with the user account that is currently logged on to the Windows operating
system. Use this function only for operating system-based security. Returns -1 and does not
change the values assigned to $Operator, $OperatorName and $AccessLevel, if the logon fails.
PostLogonDialog() Function
Shows the InTouch Logon dialog box and returns True. This script function is also available in
scripting.

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-9

Lab 20 – Using Security Features in Graphics


Introduction
In this lab, you will configure security and create a symbol to add built-in login and logout
capabilities, triggered from the symbol. The logon and logoff security functions within InTouch can
be directly called from a symbol.

Objectives
Upon completion of this lab, you will be able to:
 Create a symbol to log into and log off of an InTouch application

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-10 Module 7 – Security

Configure a New User in the IDE


You will first configure users and roles, and then assign the users to their appropriate role.
1. Close WindowMaker and check in the $MixerView template.

Note: You will also need to close any other open graphics or objects.

2. In the IDE, on the Galaxy menu, click Configure | Security.

y
op
C
ot
N

The Configure Security dialog box appears.


o

3. In the Authentication Mode area, select Galaxy.


D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-11

4. Click the Roles tab.


5. Click the Add new Role button.

6. Name the new role Training with an Access level of 1000.

y
op
C
7. Click the Users tab.
ot

8. Click the Add new User button.


9. Name the new user TUser with a Full name of Training User.
N
o
D

AVEVA™ InTouch for System Platform 2020


7-12 Module 7 – Security

10. In the Associated Roles for TUser list, check Training.

y
op
11. With TUser selected, click the Change Password button.
The Change Password dialog box appears.
C
12. Leave the Old Password field blank.
13. In the New Password field, enter ww.
ot

14. In the Confirm New Password field, enter ww.


N
o
D

15. Click OK to close the Change Password dialog box.


16. In the Authorized Users available list, Administrator user, Full name column, enter System
Administrator.

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-13

17. Click OK to close the Configure Security dialog box.


The Change User dialog box appears.
18. In the User name field, enter Administrator.
19. Leave the Password field blank.

20. Click OK to close the Change User dialog box.


The IDE will automatically close, restart, and log you in as the System Administrator.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-14 Module 7 – Security

Configure Security Settings in the Mixer Display


Next, you will configure the visibility of an element that is based on the user logged in.
21. In the IDE, Template Toolbox, Training\Project template toolset, open $Mixer.
22. In the Content area, open MixingProcess_Detail in the Symbol Editor.
23. Double-click AreaName.
24. Add a Visibility animation.

y
25. In the Expression Or Reference area, Boolean field, enter InTouch:$AccessLevel >= 5000.

op
26. In the Visible When Expression is area, ensure the True, 1, On setting is selected.

C
ot
N

27. Click OK to close the Edit Animations dialog box.


28. Save and close the symbol.
o

29. Save and check in the $Mixer template.


D

Disable CMD Control When User None is Logged On


Now, you will disable the equipment controls, when no one is logged in.
30. In the Graphic Toolbox, Training toolset, open Valve_Detail in the Symbol Editor.
31. Double-click Valve and add a Disable animation.

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-15

32. Configure the animation as follows:

Expression Or Reference: InTouch:$Operator == "None"

33. Click OK to close the Edit Animations dialog box.


34. Save and check in the symbol.
35. In the Graphic Toolbox, open Pump_Detail in the Symbol Editor.
55. Double-click Pump and add a Disable animation.
36. Configure the animation as follows:

y
Expression Or Reference: InTouch:$Operator == "None"

op
C
37. Click OK to close the Edit Animations dialog box.
38. Save and check in the symbol.
ot

39. In the Graphic Toolbox, open Agitator_Detail in the Symbol Editor.


40. Double-click Agitator and add a Disable animation.
N

41. Configure the animation as follows:

Expression Or Reference: InTouch:$Operator == "None"


o
D

42. Click OK to close the Edit Animations dialog box.


43. Save and check in the symbol.

AVEVA™ InTouch for System Platform 2020


7-16 Module 7 – Security

Create a Login Symbol


You will now create a symbol that users will use to log in and log out during runtime.
44. In the Graphic Toolbox, Training toolset, create a new symbol named SecurityDisplay, and
then open it.
45. Add a Text element on the drawing canvas and enter User:.

Note: Leave room to the left of the text element for some buttons that will be configured later
in this lab.

46. Configure as follows:

Name: UserName_Label
ElementStyle: Label
Alignment: MiddleRight

y
op
C
ot
N

47. Add another Text element below UserName_Label and enter User Name:.
48. Configure as follows:
o

Name: UserFullName_Label
D

ElementStyle: Label
Alignment: MiddleRight

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-17

49. Add a third Text element below UserFullName_Label and enter Access Level:.
50. Configure as follows:

Name: AccessLevel_Label
ElementStyle: Label
Alignment: MiddleRight

y
op
51. Select the three Text elements, and then use the toolbar to align them on the right and make
the vertical space the same.
The final result should look similar to the following:
C
ot
N

52. To the right of each label, add a related Text Box and configure as follows:
Name Width Height Text
o

UserName_Txt 100 30 NULL


UserFullName_Txt 100 40 NULL
D

AccessLevel_Txt 100 30 NULL

53. Lay out the Text Box elements as shown below:

AVEVA™ InTouch for System Platform 2020


7-18 Module 7 – Security

54. Select all three Text Box elements and configure as follows:

ElementStyle: Actual_Value
Alignment: MiddleLeft

55. Add a Value Display animation to each Text Box element and configure as follows, and then
click OK to close the Edit Animations dialog box after configuring each:

Name States Expression Or Reference


UserName_Txt String InTouch:$Operator
UserFullName_Txt String InTouch:$OperatorName

y
AccessLevel_Txt Analog InTouch:$AccessLevel

op
C
ot
N
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-19

56. Add a button element to the left of UserName_Label and configure the button as follows:

Name: Logon_Btn
Text: Logon

57. Double-click Logon_Btn and add a Action Scripts animation.

y
58. In the script body, enter PostLogonDialog();.

op
C
ot
N

59. Add an Element Style animation and configure the animation as follows:

States: Boolean
o

Expression Or Reference: InTouch:$Operator <> "None"


True, 1, On: Element Style: checked (default)
D

Intensity4
False, 0, Off: Element Style: unchecked

60. Click OK to close the Edit Animations dialog box.

AVEVA™ InTouch for System Platform 2020


7-20 Module 7 – Security

61. Duplicate Logon_Btn.


62. Rename the button Logoff_Btn and change Text to Logoff.
63. Double-click Logoff_Btn and modify the animations as follows:
Element Style

States: Boolean (default)


Expression Or Reference: InTouch:$Operator == "None"
True, 1, On: Element Style: checked (default)
Intensity4 (default)
False, 0, Off: Element Style: unchecked (default)

y
op
C
Action Scripts

Script Body: Logoff();


ot
N
o
D

64. Click OK to close the Edit Animations dialog box.


65. Resize and reposition the two buttons as shown below:

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-21

66. Embed from the Graphic Toolbox, Industrial Graphics Library\Clocks\ClockAnalogWall


to the right of the text boxes.
67. Resize the clock as shown below:

68. Save and check in the symbol.

Place the Login Symbol in WindowMaker


Next, you will replace the ClockAnalogWall symbol in the Logon window with the
SecurityDisplay symbol.

y
69. In the IDE, Template Toolbox, Training\Project template toolset, double-click $MixerView to
open WindowMaker.

op
70. In WindowMaker, open all windows, except Carousel.
71. Scroll to the right and click the Logon window.
72. Embed from the Graphic Toolbox, Training\SecurityDisplay.
C
73. In the WindowMaker dialog box, click Yes to replace the existing symbol.
The Logon window is updated.
ot
N
o

Test in Runtime
D

Finally, you will log in using different credentials and observe the visibility changes you configured
earlier.
74. Switch to runtime.
In the Logon window, notice that no user is logged in.

AVEVA™ InTouch for System Platform 2020


7-22 Module 7 – Security

75. In the Navigation window, click Mixers.


In the ContentDisplay window, notice that AreaName is not visible.

76. Click the valves, pumps, and agitator and verify the command popup function is not available.
77. Click the Logon button.
The Login to ArchestrA - Galaxy based dialog box appears.
78. In the User name field, enter TUser.
79. In the Password field, enter ww.

y
op
C
ot

80. Click OK to close the Login to ArchestrA - Galaxy based dialog box.
Notice that Training User is logged on.
N
o
D

The area is still not visible.

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-23

81. Click the valves, pumps, and the agitator to verify the command popups appear.

y
op
C
ot

82. Click the X to close the command controls.


N
o
D

AVEVA™ InTouch for System Platform 2020


7-24 Module 7 – Security

83. Click the Logon button.


84. In the Login to ArchestrA - Galaxy based dialog box, User name field, enter Administrator.
85. Leave the Password field blank and click OK.
Notice that the System Administrator is logged in.

The area is now visible.

y
86. Click the Logoff button.
op
C
Notice that no one is logged in again. The area is no longer visible.
87. Click Development to return to WindowMaker.
ot

<End of Lab>
N
o
D

AVEVA™ Training
Section 2 – Signed Writes 7-25

Section 2 – Signed Writes


This section provides a brief overview of the Secured Write and Verified Write security
classifications, the Can Verify Writes Operational permission, and the Secured Write and Verified
Write dialog boxes.

Assigning Users to Roles


After creating users and roles, assign users to roles. On the Users page, all users in the Galaxy
and the roles they are assigned are listed. By default, the new user is associated with the Default
role, but not the Administrator role. This cannot be changed as every user belongs to the Default
role. Double-click in a text box to change, if needed.

Note: All users are automatically assigned to the Default role in addition to any newly created
roles that are assigned to them. The best way to manage permissions is to limit the permissions of
the Default role to those permissions people should have. Then, add users to other roles with
permissions for other parts of Application Server.

y
op
The Administrator user can log on any authentication mode, except when security is disabled.
When logged on as Administrator on the Galaxy Repository node, change the password of any
Galaxy user without providing the old password:
 In Galaxy authentication mode, edit the User Name in the Change Password dialog box

C
In OS-based authentication modes, the User Name of the OS user is shown; user
information cannot be edited
Users can be assigned to more than one role.
ot

About OS Group-Based Security


If the OS Group-based Authentication Mode is used, understand the Windows operating system,
N

particularly its user permissions, groups, and security features. OS Group-based security uses
these Windows features. When using local OS Groups as Roles, each node within the Galaxy
must have the same OS Users, Groups, and user-group mappings to get the same level of access
to the user at each node.
o
D

Connecting to a Remote Node for the First Time


A newly-added user working on a computer with no access to the Galaxy Repository node cannot
write to an attribute on a remote node, if that user has never logged on to the remote node. This is
true, even if the user is given sufficient runtime operational permissions to do writes. To enable
remote writing capabilities, log on to the remote node at least one time.

Cached Data at Log In


If logged on to a workstation that belongs to Domain A and Domain Controller A fails, locally
cached login data is used on subsequent log on attempts. When the domain controller returns to
operation, the log on fails during the time period that trusts are being reestablished by the
controller.
If, during the controller outage, the username/password data changed, use the old log on data to
work locally.

AVEVA™ InTouch for System Platform 2020


7-26 Module 7 – Security

To perform remote operations, log on with the new log on data. If that fails, the trusts are being
reestablished by the controller; retry logging on at a later time.
The full name of the user is not available to any client (for example, an InTouch window), if the
domain controller is disconnected from the network when the user logs on for the first time.
If the user previously logged on when the domain controller was connected, the full name of the
user is still available to the client from data stored in cache, even if the domain controller is
disconnected, when the user subsequently logs on.

Mixed or Native Domains


The list of domains and user groups appears differently in the group browser, depending on
whether it is configured as a Mixed or Native domain.
The unique listing maps to the list of domains and user groups that are seen, when the Windows
tool is used for managing the domain. A domain group configured as Distribution, instead of
Security, cannot be used for security purposes.

y
Using InTouch Access Levels Security
The Roles page includes the Access Level column. The Access Level is an InTouch function.

op
In InTouch, access levels are a schema for prioritizing runtime functions. In the security model, it
only maps to InTouch values and has no prioritizing characteristics.
The maximum value is 9999 and the minimum is 0 (zero). If a user is assigned more than one role
C
with different access levels, the higher access value is passed to InTouch.

Using Secured and Verified Writes


ot

Assign Secured Write or Verified Write security classification to a configurable attribute. These
security classifications require authentication to perform runtime writes to the configured attribute.
With authentication, users can write to such attributes by:
N

 Any assignment in a script that sets the value of the attribute, such as A=B; where A
references an attribute that is configured for Secured Write or Verified Write security
classification
o

 Any action on an animation graphic that alters the value of an attribute that has Secured
Write or Verified Write security classification, such as a user input, a slider, an up/down
D

button on a counter, or any other such actions


 A script that uses the SignedWrite() function
Operators can write to attributes configured with Secured Write or Verified Write security
classification, even if another user is logged on. This does not affect the session of the logged on
user. To do this:
 The operator must have the Can Modify “Operate” Attributes Operational permission to
perform the Verified Write, and
 The verifier must have the Can Verify Writes Operational permission to confirm the
Verified Write

Note: The Secured and Verified Write features work only when security is enabled on both
the Galaxy and InTouch applications and do not work if either Galaxy or InTouch security is set
to None.

AVEVA™ Training
Section 2 – Signed Writes 7-27

Secured Write or Verified Write Dialog Boxes and Script Functions


At runtime, the Secured Write or Verified Write dialog boxes appear when the operator attempts to
write to an attribute configured with Secured Write or Verified Write. The dialogs enable
configurable user input that can be used to provide information about the Secured or Verified
Write.
Create a symbol and associate with an attribute configured with Secured or Verified Write. Add the
script function to the symbol. The source to be written is passed as a parameter to the function.

y
op
C
ot
N

Use the SignedWrite() script function to configure these inputs. The script function can only be
o

used for attributes configured with Secured Write or Verified Write and symbol scripts, not for
application object scripts.
D

Reason Description
The reason description is specific to an attribute. It explains the purpose of the attribute and the
impact of changing it. If a reason description is not configured, the reason description area is
blank.
It is possible to use a script to directly assign a value to an attribute that requires Secured or
Verified Write. When the script is ran, the Secured or Verified Write dialog box appears and the
reason description area displays a Field Attribute description, if there is one. If the attribute is not a
Field Attribute or does not have a description, then the reason description area displays the
description of the ApplicationObject to which the attribute belongs.
Predefined Comment List
The predefined Comment list enables the operator to comment on changing the attribute by
selecting from a predefined list of comments.

AVEVA™ InTouch for System Platform 2020


7-28 Module 7 – Security

Editable Comment Box


Enables the operator to enter a comment in the Comment field.

Note: The reason message and Comment field and list are displayed in the Secured Write or
Verified Write dialog box, only in InTouch WindowViewer and not in Object Viewer.

About Secured and Verified Writes Logged Information


Following a Secured or Verified Write, a security Event is written to the event log that includes the
following information:
 The signee name
 Verifier name, if any
 Type of write: Secured Write or Verified Write
 Comment, if any entered by user
 Reason Description, if any provided

y
 Field Attribute description, if any, or the Short Description of the ApplicationObject, if no
Field Attribute description exists

op
SignedWrite() Script Function
The SignedWrite function performs a write to an AutomationObject attribute that has a Secured
Write or Verified Write security classification.
C
At runtime, the Secured Write or Verified Write dialog boxes appear when the operator attempts to
write to an attribute configured for Secured Write or Verified Write. The dialogs enable configurable
user input that can be used to provide information about the Secured or Verified Write.
ot

Use the SignedWrite function to configure these inputs. The script function can only be used for
attributes configured with Secured Write or Verified Write. It can only be used for symbol scripts
and not for application object scripts.
N

Remarks
The SignedWrite function is supported only for client scripting and not for object scripting.
o

A return value of 0 does not indicate whether the attribute was updated, only that the function
D

placed an entry on the queue to write to the attribute. The operator may decide to cancel the
operation after the Secured Write or Verified Write dialog box is presented. In this case, the
attribute is not updated and a message is placed in the Logger indicating that the user canceled
the operation.
Even if the user enters valid credentials and clicks OK, the attribute still might not have been
updated because of inadequate permission or data coercion problems. The SignedWrite function
supports the custom property passed as the first parameter with opened and closed quotation
marks, “”. If the custom property (CP) is configured as shown in the following script, the function
attempts to resolve CP and determine if it has a reference. If it has a reference, then the reference
is retrieved and the write is performed on the reference.
SignedWrite(“CP”, value, reason, editable, enforcement, null);

AVEVA™ Training
Section 2 – Signed Writes 7-29

Examples
SignedWrite ("UserDefined_001.temp", 185, "This will change the oven
temperature", true, 1, null);
The following example shows the user an array of predefined comments:
Dim n as Integer;
n = SignedWrite("UserDefined_001.temp", 185, "This will change the oven
temperature", true, 1,
UserDefined_001.OvenCommentArray[ ]);
where UserDefined_001.OvenCommentArray is an attribute containing an array of strings.

Using Smart Cards for Authentication


The operator and verifier provide credentials for authentication by entering a valid security account
(domain name, user name, and password), or by using a Smart Card, if a Smart Card reader is
attached to the system.
At runtime, the graphics SignedAlarmAck() script function checks a set of alarms and conditions to

y
find out if any alarm from the list requires a signature in order to acknowledge it. If so, provide the
user name, password and domain or Smart Card details and PIN for authentication and

op
acknowledgment of the alarms. To be able to provide the Smart Card details, the computer must
be configured for Smart Card authentication.
If even one alarm in the list requires a signature, provide a signature to acknowledge the alarms.
The SignedAlarmAck function will acknowledge all the alarms in the list.
C
With the SignedAlarmAck function, credentials can be provided to acknowledge an alarm or group
of alarms, even when one is not logged on as the operator.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-30 Module 7 – Security

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-31

Lab 21 – Signing Writes from InTouch


Introduction
In this lab, you will test the InTouch Secured Write and Verified Write functions when writing to
attributes configured with Secured Write and Verified Write security classifications. To be able to
test this functionality, you will modify the mixer valves with new security classifications. You will
also create new security Roles and Users to represent the operator and supervisor accounts that
will access the system.

Objectives
Upon completion of this lab, you will be able to:
 Use the Secured Write and Verified Write functions in InTouch
 Grant the Can Verify Write permission

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-32 Module 7 – Security

Configure Secured Writes and Verified Writes in the Valve


Controls
First, you will configure Inlet1.Cmd and Inlet2.Cmd with SecuredWrite.
1. In the IDE, Template Toolbox, Training\Project\Mixer template, double-click Inlet1 to open
the configuration editor.

y
op
2. In the Attributes list, click Cmd.
3. In the right pane, to the right of the Initial value drop-down list, click the Security
C
Classification button, and then click SecuredWrite.
ot
N
o
D

4. Lock the Initial value field to propagate the changes down to the descendent objects.

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-33

5. Save and check in $Mixer.Inlet1.


Notice that checking in the object updates the 8 descendent objects.

y
6. Click Close.

op
Now that the security classification has been propagated to the instances, you need to unlock the
Inlet1.Cmd attribute to allow its value to be changed in runtime.
7. In the Template Toolbox, Training\Project\Mixer template, double-click Inlet1.
C
8. In the Attributes list, click Cmd, and then in the right pane, unlock the Initial value field.
ot
N

9. Save and check in $Mixer.Inlet1.


o

10. Repeat Steps 1 through 9 for $Mixer.Inlet2.


D

AVEVA™ InTouch for System Platform 2020


7-34 Module 7 – Security

Next, you will configure Outlet.Cmd with VerifiedWrite.


11. Repeat Steps 1 through 9 for $Mixer.Outlet, but for Security Classification, select
VerifiedWrite.

y
op
12. In Deployment view, expand
TrainingGalaxy\PROD_Platform1\AppEngine1\Line1\Mixer100 and notice that the valve
objects need to be redeployed.
C
ot
N
o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-35

The valve objects for all the mixers in Line1 and Line2 need to be redeployed.
13. To redeploy all of the valve objects at once, right-click AppEngine1 and select Deploy.

Note: For single-node configurations, expand TrainingGalaxy and GRPlatform.

y
14. In the Deploy dialog box, ensure Cascade Deploy is selected.

op
C
ot
N
o
D

15. Leave all other defaults and click OK, and then click Close when the deployment is finished.

AVEVA™ InTouch for System Platform 2020


7-36 Module 7 – Security

Create and Configure Roles and Users


Now, you will configure additional roles and users to simulate a plant environment. These users
will be used during runtime to test both secured and verified writes.
16. Close WindowMaker and check in the $MixerView template.
17. On the IDE Galaxy menu, click Configure | Security.
18. Click the Roles tab.
19. Click the Add new Role button.
20. Name the new role Operators with an Access level of 1000.

y
op
C
21. In the bottom-right, Operational permissions pane, expand Default, and then check
Can Modify “Operate” Attributes.
22. Expand Alarms, and then check Can Acknowledge Alarms.
ot
N
o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-37

23. Add a new role named Supervisors with an Access level of 5000.
24. In the Operational permissions pane, under Default, check Can Verify Writes.
25. Under Alarms, check Can Shelve Alarms, Can Modify Alarm Modes, and Can Modify
Plant States.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-38 Module 7 – Security

26. On the Users tab, add a new user named Operator1 with a Full name of Operator One.
27. In the Associated Roles for Operator1 pane, check Operators.

y
op
C
28. Click the Change Password button.
ot

The Change Password dialog box appears.


29. Leave the Old Password field blank, and then in the New Password and Confirm New
Password fields, enter ww.
N
o
D

30. Click OK to close the Change Password dialog box.

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-39

31. Repeat Steps 26 through 30 to add a user named Operator2 with a Full name of Operator
Two.

y
op
C
32. Add a new user named Supervisor1 with a Full name of Supervisor One.
33. In the Associated Roles for Supervisor1 pane, check Supervisors.
ot
N
o
D

34. Change the password to ww.

AVEVA™ InTouch for System Platform 2020


7-40 Module 7 – Security

Configure Default Operational Permissions


Next, you will modify role permissions to allow specified operational permissions during runtime.
35. On the Roles tab, in the Roles available list, click the Default role.
36. In the Operational permissions pane, remove all permissions except Can Acknowledge
Alarms.

y
op
C
ot
N
o
D

37. Click OK to close the Configure Security dialog box.

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-41

Test in Runtime
In the following steps, you will use the AlarmAggregationOverview and AlarmLiveDisplay
symbols to test that operators can only acknowledge alarms, and supervisors can shelve alarms
and modify the alarm mode.
38. In the Template Toolbox, Training\Project toolset, double-click $MixerView to open
WindowMaker.
39. Open all windows, except Carousel, and then switch to runtime.
40. In the Navigation window, click Alarm Overview.

41. For Line1, to the right of Mode, click Command Panel .


A drop-down list appears with Enable displayed.

y
op
C
ot

42. Click the drop-down list and select Disable.


N
o
D

AVEVA™ InTouch for System Platform 2020


7-42 Module 7 – Security

43. Click the Apply button.

Notice the Alarm Mode does not change, since no one is logged in.

y
op
44. Log in as TUser.
C
ot
N
o

45. Repeat Steps 41 through 43.


D

Notice the result is the same. This user does not have privileges to modify the Mode options.
46. Log off as TUser and log in as Operator1, and then try to disable the mode.
The result is the same. This user does not have privileges to modify the Mode options.
47. Close the AlarmAggregationOverview window.

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-43

48. With Operator1 logged in, in AlarmLiveDisplay, select a record.


49. Right-click the record and click Shelve Selected.

y
op
50. In the Shelve Comment dialog box, enter a reason.
C
ot
N

51. Click OK to close the Shelve Comment dialog box.


o

52. In the Navigation window, click Historical Alarms, and then in the AlarmHistDisplay
window, click Historical Events.
D

53. Sort by time to show the latest record at the top, and then expand the AlarmComment
column.
Events similar to those below appear.

The shelving is rejected because this user does not have privileges to shelve alarms.
54. Close the AlarmHistDisplay window.

AVEVA™ InTouch for System Platform 2020


7-44 Module 7 – Security

55. Log off as Operator1 and log in as Supervisor1.


56. Repeat Steps 40 through 43 to change the mode for Line1 to Disable.
Notice that the Mode changes to Disable.

y
op
This user has privileges to modify the Mode options.
57. For Line1, change the alarm Mode back to Enable.
C
58. Close the AlarmAggregationOverview window.
59. In AlarmLiveDisplay, with Supervisor1 logged in, select a record.
60. Right-click the record and select Shelve Selected.
ot

61. In the Shelve Comment dialog box, enter a reason.


62. Click OK to close the Shelve Comment dialog box.
N

63. Click Historical Alarms to open AlarmHistDisplay, and the ensure Historical Events is
selected.
Events similar to those below appear.
o
D

The shelving has been written successfully because supervisors have privileges to shelve
alarms.
64. Close AlarmHistDisplay.

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-45

Next, you will test the Signing Writes functions.


65. In the Navigation window, click Mixers.
66. Click Inlet1_001 to open the command control, and then when the valve is closed, click Open.

y
The Secured Write dialog box appears.

op
67. In the Comment field, enter Toggled valve.
68. In the Username field, change the user to TUser.
69. In the Password field, enter ww. C
ot
N
o
D

70. Click OK to close the Secured Write dialog box.


Notice the valve does not change state.
71. Close the Inlet1_001 command control.

AVEVA™ InTouch for System Platform 2020


7-46 Module 7 – Security

72. Open AlarmHistDisplay and ensure Historical Events is selected.


The record shows that the operation was denied, and the reason is displayed. You may need
to expand the column to see the full information.

73. Close AlarmHistDisplay.


74. Repeat Steps 65 through 71 for Operator1.
This user has privileges to change the inlet valve state. In AlarmHistDisplay, the Historical
Events will show the event details.

y
75. Click Outlet_001 to open the command control, and then when the valve is open, click Close.

op
C
ot
N
o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-47

The Verified Write dialog box appears.


76. In the Operator area, Username field, change the user to Operator2.
77. In the Password field, enter ww, and the click OK.
78. In the Verifier area, Username field, enter Supervisor1.
79. In the Password field, enter ww.

y
op
C
ot

80. Click OK to close the Verified Write dialog box.


N

Notice the valve changing as a result of the proper Verified Write authorization.

Note: You may have to move the command control to see the valve.
o
D

AVEVA™ InTouch for System Platform 2020


7-48 Module 7 – Security

Now, you will use the command buttons to change the state of the Outlet Valve and test the
Verified Write permission with another set of users.
81. In the command control, click the Open button to reopen the Verified Write dialog box.
82. In the Operator area, Username field, enter Operator1.
83. In the Password field, enter ww, and then click OK.
84. In the Verifier area, Username field, enter Operator2.
85. In the Password field, enter ww.

y
op
C
ot
N

86. Click OK.


87. Close the Outlet_001 command control.
o

Notice the valve does not change as a result of the improper Verified Write authorization. In
AlarmHistDisplay, Historical Events list, you should also see an access denied event.
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-49

Finally, you will again use the command buttons to change the state of the Outlet Valve and test
the Verified Write permission with another set of users.
88. Click Outlet_001 to open the command control.
89. Click the Open or Close button to reopen the Verified Write dialog box.
90. In the Operator area, Username field, enter Supervisor1, and then in the Password field,
enter ww and click OK.
91. In the Verifier area, Username field, enter Supervisor1, and then in the Password field,
enter ww.

y
op
C
ot
N

92. Click OK.


An Error message appears.
o
D

93. Click OK to close the Error message.

AVEVA™ InTouch for System Platform 2020


7-50 Module 7 – Security

The Verified Write dialog box reappears.


The valve does not change as a result of the improper Verified Write authorization.
94. In the Operator area, enter the credentials for Operator1, and then in the Verifier area, enter
the Supervisor1 credentials.
95. Close the Outlet_001 command control.
Notice the valve changing as a result of the proper Secured Write and Verified Write
authorization. In AlarmHistDisplay, Historical Events list, you should also see a successful
event.

96. Click Development to return to WindowMaker.


<End of Lab>

y
op
C
ot
N
o
D

AVEVA™ Training
Section 3 – Customization of the Runtime Environment 7-51

Section 3 – Customization of the Runtime Environment


This section explains how to customize the runtime environment to more fully secure and protect
the application. It also describes how to configure the InTouch runtime environment for inactivity
and introduces the EnableDisableKeys() script function.

InTouch WindowViewer Timeouts


Configure WindowViewer to automatically log off an inactive operator from an InTouch application.
An operator must log on again, after being logged off for inactivity. Setting an automatic inactivity
log off period prevents unauthorized access to the InTouch application, when operators leave their
workstations unattended.
A timer measures the period the operator has not interacted with the running InTouch application.
The timer resets each time the operator uses a mouse or any other input device to enter data.

Note: The inactivity timer does not reset for Active-X controls, OLE Automation controls, and SPC

y
wizards.

op
Automatically logging off an operator is a three-step process:
a. WindowViewer sets the $InactivityWarning system tag to 1, when the operator’s inactivity
period exceeds a specified warning period. Use the $InactivityWarning tag in a condition
QuickScript to show a window that warns the operator about the pending log off for inactivity.
C
The operator stays logged on by responding before the specified time-out period occurs.
When the operator takes some action, the $InactivityWarning tag and inactivity timer are
reset to zero.
ot

b. If the operator fails to respond after the inactivity warning, the $InactivityTimeout system tag
is set to 1, when the time-out period has been reached. When $InactivityTimeout is 1,
WindowViewer equates the logged on operator name to the reserved name None and sets the
N

$AccessLevel security tag to 0.


c. Write a script to automatically log off the operator if the $InactivityTimeout tag is set to 1.
Use the time-out feature independently of the warning feature.
o

Customizing the Runtime Environment


D

Like WindowMaker, WindowViewer includes many options to customize the runtime environment.
For example, set the blinking speed for blinking objects, the system inactivity timeout and warning
values, and the windows that are automatically opened when WindowViewer is started from its
icon or its menu command.
Access the WindowViewer Properties dialog box from the Special | Configure | WindowViewer
menu in WindowMaker.

Note: WindowViewer must be restarted to apply changes.

AVEVA™ InTouch for System Platform 2020


7-52 Module 7 – Security

General Tab

y
op
C
ot
N
o
D

WindowViewer Startup Area


 Start up as icon does not apply to InTouch for System Platform. Always leave this check
box unchecked.
Transfer to WindowMaker Area
 Close WindowViewer: Automatically closes WindowViewer, when WindowMaker is
started.
If memory is not an issue, and the fast switch is used to move between WindowViewer
and WindowMaker, this option should not be selected.
The fast switch option is selected in the WindowMaker Properties dialog box, General
tab.
When this option is selected, the Close on Transfer to WindowViewer option located on
the WindowMaker Properties, General tab is automatically selected also.
 Close all open windows: Automatically closes all open windows, when transferring from
WindowViewer to WindowMaker. Selecting this option will free up memory on the system.

AVEVA™ Training
Section 3 – Customization of the Runtime Environment 7-53

Inactivity Area
 Warning: Enter the number of seconds that can elapse with no operator activity (mouse
clicks or keystrokes) before the system discrete tag $InactivityWarning is set to 1 (True).
 Timeout: Enter the number of seconds that can elapse with no operator activity (mouse
clicks, or keystrokes) before the system discrete tag $InactivityTimeout is set to 1 (True).
Time/Timer Control Area
 Tick Interval: Enter the speed interval that InTouch will use to check its internal timers.
This setting controls how fast Application While Running, Window While Showing,
Condition While On True/On False, Key and Touch Pushbutton Action While Down
QuickScripts will be ran.
 Update for Time Variables: Enter the frequency (in milliseconds) WindowViewer will
update the time-based system tagnames $Msec, $Second, $Minute, and so on. It is
recommended that the default setting of 1000 milliseconds is used. However, a 0 (zero)
can be entered to prevent updating of all time variables.
Miscellaneous Area

y
 Beep when objects touched: For all touch-sensitive objects to beep, when selected in
WindowViewer.

op
 Update all trends “fast”: Does not apply to InTouch for System Platform applications.
 Debug Scripts: Writes a message to the Wonderware Logger program each time a
QuickScript is ran. C
If the Debug menu option is selected in the WindowViewer Properties dialog box,
Window Configuration tab, the command can be turned on and off in runtime from
Special menu in WindowViewer.
Use old SendKeys: Only used with an international application that was developed using
ot


InTouch Version 3.26 or earlier (this is a legacy option).
Blink Frequency Area
Slow, Medium, Fast: Enter the milliseconds to use for blink animations.
N

I/O Area
 These settings do not apply to InTouch for System Platform applications.
o

Hotlinks Area
 Configure Halo options.
D

Keyboard Area
 Select the type of keyboard to be used in runtime.

AVEVA™ InTouch for System Platform 2020


7-54 Module 7 – Security

Window Configuration Tab


Undesired Menu Bar entries, certain keystrokes, and other settings can be turned off to insure that
users do not change the application’s environment, close the application, or escape from the
application to other programs.
Enabling the desired options prevents users from performing potentially dangerous actions.

y
op
C
ot
N
o
D

Menus Area
The Menus area shows or hides different menu options within WindowViewer. Some of these
options include:
 Menu Bar: Prevents the menu bar from appearing
 WindowMaker: Prevents the operator from being able to switch to the WindowMaker
program (Selecting this option does not affect the fast switch to WindowMaker)

AVEVA™ Training
Section 3 – Customization of the Runtime Environment 7-55

 Logic: Prevents the operator from starting and stopping all QuickScript execution during
runtime.
Use the system tagname $LogicRunning to allow the operator to start and stop all
QuickScripts.

Note: If the Allow CTRL-Break to stop scripts option is selected in the Miscellaneous
area, the operator will be able to stop all QuickScripts from running, regardless of whether
or not the Logic menu is displayed.

 Debug: Only to debug the application.


Window Area
The Window area allows the configuration of the controls available in runtime.
Title Bar Area
 Title Bar Text: Enter the title to appear in the title bar of the application in runtime. For
example: ABC Company, Paint APP1.

y
Note: The title bar cannot be changed, when using a Promotional License.

op
 Show Application Directory in Title Bar: Include the path to the directory of the
application in the title bar. For example: ABC Company, Paint APP1 - C:\DEMOAPP1
 Hide Title Bar: Hide the application's title bar in runtime.
C
Miscellaneous Area
 Impossible to Close: Prevent the operator from closing WindowViewer.

Note: Clear the Control Menu option (also called the System menu) to hide the Close (X)
ot

button in the upper right hand corner of the application.

 Allow CTRL-Break to stop scripts: Allow the operator to press the CTRL + BREAK key
N

sequence and stop the running of all QuickScripts, whenever necessary, during runtime.
Asynchronous QuickFunctions that are currently running cannot be stopped. However,
new asynchronous QuickFunctions can be prevented from running.
o

 Enable Fast Switch: Toggle between WindowMaker and WindowViewer.


 Disable ALT key: Disable the ALT key and prevent the operator from running menu
D

commands by using the ALT + accelerator key. For example, ALT + FX to exit the
application.
 Hide Cursor: Prevent the cursor from being displayed during runtime (if a touch-screen
will be used).
 Disable ESC key: Prevent the operator from exiting the open window.
 Disable WIN key: Prevent the operator from accessing the Windows Start menu to close
or switch applications, or both.
 Always Maximize: Keep the WindowViewer program maximized at all times.

AVEVA™ InTouch for System Platform 2020


7-56 Module 7 – Security

Home Windows Tab


Home Windows are windows designated in the application to open, when WindowViewer first
starts.

y
op
Select the window(s) to automatically open, when WindowViewer is started.
C
Note: The home windows selections have no effect, when using the fast switch to start
WindowViewer. Home windows are automatically opened, when starting WindowViewer directly
ot

from either its icon or its menu command.

Locking System Keys


N

Restrict operator access to standard Windows functions by disabling system keys on the computer
running an InTouch application. For example, prevent an operator from using the
CTRL + ALT + DEL key combination to show the Task Manager dialog box. Disabling system keys
o

prevents operators from switching from the InTouch HMI to another Windows applications.
WindowViewer has key filter options that set the default state of system keys, when an InTouch
D

application starts. A key filter disables a system key, when it is active.


Disable system keys, based on what tasks various InTouch users are expected to complete. Most
function keys should be disabled for operators. Administrators still need function keys for their
InTouch tasks.
Scripts can be written to enable or disable system keys based on the access level of the person
logging on to WindowViewer. Use the EnableDisableKeys() script function in a script to selectively
enable or disable Windows function keys.
The script should include statements to dynamically lock or unlock keys, based on the access level
of the person who logged on to WindowViewer.
Include the EnableDisableKeys function within the script to enable/disable the ALT, ESC, and WIN
keys. The EnableDisableKeys function enables or disables system keys based on the discrete
values of its arguments:
EnableDisableKeys(AltKey,EscKey,WinKey);
An argument value of 1 enables the key filter to disable the key.

AVEVA™ Training
Section 3 – Customization of the Runtime Environment 7-57

Parameters
AltKey
Integer to enable or disable key filters for the Alternate key:
1 = enable filter (disable Alt key)
0 = disable filter (enable Alt key)
EscKey
Integer to enable or disable key filters for the Escape key:
1 = enable filter (disable Esc key)
0 = disable filter (enable Esc key)
WinKey
Integer to enable or disable key filters for the Windows key:
1 = enable filter (disable Win key)

y
0 = disable filter (enable Win key)

op
Remarks
Disabling the Alt key also disables the Win + L key combination (for locking the Windows desktop).
Win + L is the shortcut for another combination of keys that involves the Alt key. Thus, disabling
the Alt key also disables this particular shortcut.
C
Example(s)
EnableDisableKeys(0,0,0); (enables all three keys)
ot

EnableDisableKeys(1,1,1); (disables all three keys)


EnableDisableKeys(0,0,1); (enables the Alt and Escape keys and disables the Windows key)
N
o
D

AVEVA™ InTouch for System Platform 2020


7-58 Module 7 – Security

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-59

Lab 22 – Locking Down Your Application


Introduction
In this lab, you will configure your application for user inactivity by displaying a message to the
user. You will also implement a non-engineer mode that hides the InTouch WindowViewer menu
bar and blocks access to the Alt, Esc, and Win keys, based on the security access level of the
currently logged in user.

Objectives
Upon completion of this lab, you will be able to:
 Use InTouch WindowViewer inactivity warning and timeout settings
 Hide the InTouch WindowViewer menu bar with a window
 Use the EnableDisableKeys() script function

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-60 Module 7 – Security

Configure the Inactivity Settings


First, you will configure the Inactivity Warning and Inactivity Timeout periods for WindowViewer.
1. In WindowMaker, on the Special menu, click Configure | WindowViewer.

y
op
C
ot

2. In the WindowViewer Properties dialog box, on the General tab, configure the Inactivity
area as follows:

Warning: 30 secs
N

Timeout: 60 secs
o
D

3. Click OK.

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-61

A WindowMaker warning message appears.

4. Click OK.
You will now close WindowViewer. The changes will take effect the next time you start
WindowViewer, later in this lab.
5. Close WindowViewer.

Create the Inactivity Message Symbol

y
Next, you will create a symbol to display a blinking message to the user that the inactivity warning

op
has been triggered, as well as that the inactivity timeout period has expired.
6. In the IDE, Graphic Toolbox, Training toolset, create a new symbol named
InactivityMessage, and then open it. C
7. Add a Text element on the drawing canvas and enter Inactivity Message.
8. Rename the element Message1.
ot
N
o
D

9. Add a Text Box element on the drawing canvas under Message1 and enter Action Message.
10. Rename the element Message2.

AVEVA™ InTouch for System Platform 2020


7-62 Module 7 – Security

11. Right-click the drawing canvas and select Scripts.


12. Configure the Predefined Scripts pane as follows:

Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.

Trigger: On Show (default)


Data Timeout: 0 ms
Body: ‘Change displayed text when the inactivity warning period expires.
Message1.Text = "Inactivity Warning";
Message2.Text = "Click mouse or use keyboard to prevent system log off";

y
op
C
13. Add a Named Script and configure as follows:
ot

Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.
N

Name: TimeoutMessage
Expression: InTouch:$InactivityTimeout
o

Trigger: OnTrue
Body: ‘Change displayed text when the inactivity timeout period expires.
D

Message1.Text = "Inactivity Timeout";


Message2.Text = "You have been logged off!";

14. Click OK to close the Edit Scripts dialog box.

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-63

You will now change the style of the text elements, add animations, and arrange the symbol for
cosmetic purposes only.
15. Select both elements, and use the toolbar to align text to the Centers.

y
op
16. With both elements still selected, configure the Element Style as Title.
17. If necessary, make the text box bigger to accommodate a long message.
C
18. Use the toolbar to center align both elements.
The elements should now look similar to the following:
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-64 Module 7 – Security

19. Add a Blink animation to the Message2 element.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-65

20. Configure the Blink animation as follows:

Expression Or Reference
Boolean: true
Blink When Expression Is
True, 1, On: selected (default)
Blink Speed
Medium: selected
Blink Attributes
Blink Visible With These Attributes: selected (default)
Text Color: checked (default) and in the drop-down, select yellow
Line Color: unchecked
Fill Color: unchecked

y
op
C
ot
N
o
D

21. Click OK to close the Edit Animations dialog box.


22. Save and check in the symbol.

AVEVA™ InTouch for System Platform 2020


7-66 Module 7 – Security

Create the Inactivity Window


Next, you will create and configure a window in WindowMaker to host the InactivityMessage
symbol you just created.
23. In WindowMaker, on the File menu, click New Window.
24. Configure the Window Properties dialog box as follows:

Name: Inactivity
Frame: unchecked
Comment: Inactivity warning and timeout messages
Window Type: Popup
Title Bar: unchecked
Frame Style: Double
Size Controls: unchecked (default)
Window Color: Red

y
Dimensions

op
X Location: 560
Y Location: 340
Window Width: 800 C
Window Height: 400
ot
N
o
D

The dimensions will place the window at the center on a monitor with a resolution of
1920x1080.
25. Click OK to close the Window Properties dialog box.

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-67

26. Click the Inactivity window, and then embed from the Graphic Toolbox, Training toolset, the
InactivityMessage symbol in the center of the Inactivity window.

y
op
27. On the File menu, click Close Window.
28. In the Windows to Close dialog box, check Inactivity, and then click OK.
A WindowMaker dialog box appears. C
ot
N

29. Click Yes to save the window.


o
D

AVEVA™ InTouch for System Platform 2020


7-68 Module 7 – Security

Create Inactivity Trigger Scripts


Now, you will create two InTouch scripts. The first script will open the Inactivity window, when the
inactivity warning is triggered. The second script will close the Inactivity window, when the
inactivity warning is cleared.
30. On the Special menu, click Scripts | Condition Scripts.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-69

31. In the Condition Scripts dialog box, on the Script menu, click New and configure the script
as follows:

Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.

Condition: $InactivityWarning
Comment: Opens and closes the Inactivity window
Condition Type: On True (default)
Body: IF $Operator <> “None” THEN
Show "Inactivity";
ENDIF;

y
op
C
ot

32. In the Condition Type drop-down list, select On False.


N

33. In the script body, enter Hide “Inactivity”;.


o
D

34. Click OK to close the Condition Scripts dialog box.

Note: Clicking OK saves and closes the script editor.

AVEVA™ InTouch for System Platform 2020


7-70 Module 7 – Security

Test in Runtime
You will next switch to WindowViewer to test the implementation of the inactivity settings in
runtime.
35. In WindowMaker, verify all windows are open, except Carousel and Inactivity, and then
switch to runtime.
36. Log in to the application with one of the users created in the previous labs.
37. Wait 30 seconds for the Inactivity window to automatically open.

y
op
C
Notice that the user is still logged in.
ot

38. Click the mouse or press a key on the keyboard.


The inactivity warning trigger is reset and the Inactivity window is automatically closed.
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-71

39. Wait 30 seconds for the Inactivity window to automatically open, and then wait another 30
seconds for the system to log you off.
Notice that the user has been logged off and the message in the Inactivity window has
changed.

y
op
40. Click the mouse or press a key on the keyboard.
The inactivity timeout trigger is reset and the Inactivity window is automatically closed.
C
41. Click Development to return to WindowMaker.
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-72 Module 7 – Security

Create the Menu Bar Cover Window


Now, you will create a popup window that will cover the WindowViewer menu bar, preventing the
user from clicking the menu bar options.
42. In WindowMaker, on the File menu, click New Window.
43. Configure the Window Properties dialog box as follows:

Name: MenuBarCover
Frame: unchecked
Comment: Prevents clicking the menu options
Window Type: Popup
Title Bar: unchecked
Frame Style: None
Size Controls: unchecked (default)
Window Color: White (default)

y
Dimensions

op
X Location: 0
Y Location: -20
Window Width: 1920 C
Window Height: 20
ot
N
o
D

The dimensions will place the window on top of the menu bar on a monitor with a resolution of
1920x1080.
44. Click OK to close the Window Properties dialog box.

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-73

Create the $AccessLevel Data Change Script


Next, you will create a Data Change script for $AccessLevel to show and hide the Menu Bar
Cover window, depending on the user logged in. For this example, you will assume that an
Access Level of 7000 or greater is for an engineer-type user.
45. On the Special menu, click Scripts | Data Change Scripts.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-74 Module 7 – Security

The Data Change Scripts dialog box appears.


46. Configure the dialog box as follows:

Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.

Tagname[.field]: $AccessLevel
Body: { Engineer Access }
IF $AccessLevel >= 7000 THEN
{ Engineer user}
Hide "MenuBarCover";
ELSE
{ Non-Engineer user }

y
Show "MenuBarCover";
ENDIF;

op
C
ot
N
o

47. Click OK to save and close the Data Change Scripts dialog box.
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-75

Update the Home Windows


Now, you will configure the WindowViewer Home Windows to include the MenuBarCover
window. This configuration will ensure that the menu bar is covered, when WindowViewer is
started from the Application Manager.
48. On the Special menu, click Configure | WindowViewer.
49. On the Home Windows tab, check MenuBarCover.

y
op
50. Click OK.
A WindowMaker message appears. C
ot
N

51. Click OK to close the message.


You will now close WindowViewer. The changes will take effect the next time you start
WindowViewer.
o

52. Close WindowViewer.


D

AVEVA™ InTouch for System Platform 2020


7-76 Module 7 – Security

Test in Runtime
In the following steps, you will now switch to WindowViewer to test the implementation of the
covered menu bar in runtime.
53. In WindowMaker, switch to runtime.
The menu bar is covered by the new window.

54. Log in with one of the operator’s credentials.


The menu bar is still covered since the operators have an Access Level less than 7000.

y
op
C
55. Log in with the Administrator account.
ot

The menu bar is displayed since the Administrator has an Access Level greater than 7000.
N
o
D

56. Click Development to return to WindowMaker.

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-77

Configure Access to the Alt, Esc, and Win Keys


The covered menu bar implementation you just configured prevents access to the menu bar
through mouse clicks, but does not prevent access to the menu through the Alt key. The Alt key
also provides access to features, such as application switching (Alt+Tab); the Esc key plus the
Ctrl key (Ctrl+Esc) and the Win key provide access to the Windows Start menu. The Win key
also provides access to other Windows-based shortcuts such as the Run prompt (Win+R).
You will use the EnableDisableKeys() script function to enable and disable the Alt, Esc, and Win
keys, depending on which user is logged in to the system.
57. On the Special menu, click Scripts | Data Change Scripts.
58. In the Data Change Scripts dialog box, modify the Data Change script as follows:

Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.

Tagname[.field]:

y
$AccessLevel (default)
Body: { Engineer Access }

op
IF $AccessLevel >= 7000 THEN
{ Engineer user}
Hide "MenuBarCover";
C
EnableDisableKeys( 0, 0, 0);
ELSE
ot

{ Non-Engineer user }
Show "MenuBarCover";
EnableDisableKeys( 1, 1, 1);
N

ENDIF;
o
D

The EnableDisableKeys() script function receives three Boolean parameters to disable the
Alt, Esc, and Win keys, in that order: 0 (false) enables the key; 1 (true) disables the key.
59. Click OK to save and close the Data Change Scripts dialog box.

AVEVA™ InTouch for System Platform 2020


7-78 Module 7 – Security

Next, you will create an Application On Startup script to ensure that the Alt, Esc, and Win keys
are disabled when WindowViewer is started.
60. On the Special menu, click Scripts | Application Scripts.
61. Configure the Application Script dialog box as follows:

Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.

Condition Type: On Startup


Body: { Disable the Alt, Esc, Win keys }
EnableDisableKeys( 1, 1, 1);

y
op
C
62. Click OK to save and close the Application Script dialog box.
ot
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-79

Test in Runtime
Finally, you will switch to WindowViewer to test the implementation of the EnableDisableKeys()
script function in runtime. You will test access to the Alt, Esc, and Win Keys. First, you will close
WindowViewer to allow the Application On Startup script you just configured to run.
63. Close WindowViewer.
64. In WindowMaker, ensure all windows are open, except Carousel and Inactivity, and then
switch to runtime.
65. In WindowViewer, try the following key combinations:
 Alt+Tab
 Ctrl+Esc
 Win+R
Nothing happens, since the Application On Startup script disabled the Alt, Esc, and Win
keys.
66. Log in with one of the operator accounts and try the key combinations indicated above.

y
Note that nothing happens, since the operator accounts have an Access Level less than

op
7000.
67. Log in with the Administrator account and try the three key combinations.
This time, the keys are enabled since the Administrator account has an Access Level
greater than 7000.
C
68. Click Development to return to WindowMaker.
<End of Lab>
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


7-80 Module 7 – Security

y
op
C
ot
N
o
D

AVEVA™ Training
y
op
Module 8 – Web Client
C
Section 1 – Web Client Overview 8-3
ot

Lab 23 – Using the Web Client 8-11


N
o
D
8-2 Module 8 – Web Client

Module Objectives
 Describe the Web Client features and dependencies
 Explain how to enable the Web Client
 Explain how to navigate graphics in the Web Client
 Explain the use of the WEB CLIENT fast switch

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Web Client Overview 8-3

Section 1 – Web Client Overview

This section will describe the Web Client features and dependencies.

Overview
The InTouch Web Client feature (Web Client) allows you to view specific Industrial graphics used
within an InTouch for System Platform application on any HTML5-supported web browser. A built-
in web server enables web browsers access to application graphics, from any Microsoft Windows
client or server operating system without the use of Remote Desktop Protocol (RDP) or Internet
Information Services (IIS) for Microsoft Windows Server. You can view application Industrial
graphics in a web browser for Managed applications only.

y
op
C
ot
N

Enable Web Client


o

By default, the Web Client will be disabled to secure systems where no decision has been made to
enable a web server on the installation machine. You must have administrative privileges to enable
D

or disable the Web Client feature. The Web Client is enabled from the InTouch Application
Manager toolbar using the Click to start Web Server for InTouch HMI Web Client button. If Web
Client was not enabled from the InTouch Application Manager, in WindowMaker clicking the WEB
CLIENT fast switch will prompt to start the Web Server.
This tool in the InTouch Application Manager represents the Web Client disabled:

AVEVA™ InTouch for System Platform 2020


8-4 Module 8 – Web Client

When the Web Client is disabled the InTouch Web service indicates a Manual startup type:

This tool in the InTouch Application Manager represents the Web Client enabled:

When the Web Client is enabled, the InTouch Web service is in Automatic startup type with a

y
status of Running:

op
C
ot

Configure InTouch Application Graphics for Viewing in a Web Browser


Using the Industrial Graphic Toolbox you can configure the Graphic Toolset folder, containing the
application graphics that will be displayed on the web browser. Only graphics stored within the
N

folder, enabled with Set Web Client Root Folder, are displayed on the Web Client menu. By
default, all graphics in the WindowMaker Industrial Graphics Toolbox are converted, because the
Web Client Root folder is configured for the top node in the toolbox. The Root folder is marked in
the Industrial Graphic Toolbox with a Home icon.
o
D

AVEVA™ Training
Section 1 – Web Client Overview 8-5

A single symbol within the Web Client Root Folder may be configured by enabling Set Web Client
Home Symbol. The home symbol will be automatically selected and displayed when the InTouch
Web Client is accessed using a browser. Additionally, the Web Client interface provides a home
button which may be used to display the home symbol. The home symbol is marked in the
ArchestrA Graphic Toolbox with a home icon.

y
WEB CLIENT Fast Switch
op
C
When using the Web Client with InTouch for System Platform, WindowViewer must be running to
provide data for the Web Client. Initially, the WEB CLIENT fast switch in WindowMaker may be
disabled if the InTouch application path is not set to the current application path. This can occur
ot

after importing and starting a restored InTouch application or after switching InTouch applications.
For InTouch HMI, starting WindowViewer with the RUNTIME fast switch will do the following:
 Set the application path to the current application and builds the application's Web folder
N

 Enables the WEB CLIENT fast switch in WindowMaker (if disabled)


 Starts WindowViewer which provides data for Web Client animations
o
D

AVEVA™ InTouch for System Platform 2020


8-6 Module 8 – Web Client

Web Client Page


The InTouch Web Client page provides various options to inform and organize the user experience
using icons on the page. The following table describes these options.

y
Element Description

op
1
C
The Title bar displays the InTouch Application name, symbol name, home icon, share icon,
notifications icon, full screen icon and profile icon.
2 Click the hamburger to view the folder navigation overlay. All folders and symbols under the
selected Web Client root folder are displayed.
ot

3 The canvas area displays the symbol selected from the navigation overlay. The symbol will be
scaled to fit the browser viewport size, while maintaining the aspect ratio. The navigation and
notifications overlays do not consume any space on the canvas or affect the size of the
N

graphic.
4 Click the notifications icon to view the notifications related to connection and licensing issues.
o
D

AVEVA™ Training
Section 1 – Web Client Overview 8-7

Pan and Zoom Support


InTouch Web Client supports the Pan and Zoom gestures for all supported browsers and devices.
The pan and zoom capabilities are similar to Frame Window support on WindowViewer. When a
graphic in the web browser is zoomed in from a non-mobile device, the zoom percentage is
displayed in the lower left corner of the horizontal scrollbar. The zoom percentage is limited up to
500%.

y
op
C
ot
N
o

Behavior of the Web Client Home Button


D

Standalone applications can be viewed on the web client. Standalone application windows must be
converted to Industrial Graphics before they can be viewed on the Web Client.
For InTouch applications, in WindowMaker you can use the Home Windows tab to set up windows
that will appear by default in WindowViewer. Similarly, you can set a graphic to be the default
symbol that appears on the web client when it is launched.
These settings will impact, which window or graphic appears on the web client by default when it is
launched. For an InTouch HMI application; there are two possibilities:
 If Home Windows are configured
Even if the user has configured Home Symbols, on all occasions, only the Home Windows
are displayed by default. Clicking the Home icon will display the Home Windows.
 If Home Windows are not configured
And the Home Symbol is configured, by default the home symbol will be displayed.
If no Home windows and no Home symbol are configured then, by default, no symbol or Home
windows are displayed. Clicking on the Home symbol will not display any graphic or window.

AVEVA™ InTouch for System Platform 2020


8-8 Module 8 – Web Client

Symbol Changes Reflected Automatically


Graphic-related changes are made using the Symbol Editor, and those changes are automatically
refreshed in the browser. However, changes in Quality and Status Style, Element Style, and
Formatting Styles (for InTouch HMI) are propagated only after making the following graphic
changes or re-launching WindowViewer.
 Content of symbol is updated and saved
 Symbol is created, imported, or deleted
 Symbol is moved to different toolset folder
 Root folder or home symbol assignment is updated

Displaying Individual Symbols Via URL


To display an individual symbol in a browser you may use the following syntax:
http://<hostname>/InTouchWeb/api/symbol/<graphicname> or
http://<IPAddress>/InTouchWeb/api/symbol/<graphicname>

y
For example, http://production/InTouchWeb/api/symbol/tankfarm, might be used to display a mixer

op
symbol that represents a production vessel in a tank farm.

Known Limitations
A number of features common to InTouch for System Platform applications are not yet supported
C
by the Web Client. For example, no ActiveX or .NET controls, such as the Alarm Client, are
supported at this time. For a detailed list and description of known limitations with Web Client
consult the PDF file entitled Viewing InTouch Application Graphics in a Web Browser.
ot

Licensing for InTouch Application Graphics in a Browser


N

Without a license installed, Web Client permits a single session use. This will usually allow you to
connect a single browser to the InTouch Web Server, even permitting more than one tab to be
opened, which is considered part of the same session. Without a license, a second browser would
not be able to access the Web Server. For full unrestricted use of Web Client, you need a valid
o

Web Server license to login and view application graphics from a web browser. The Web Server
provides two types of licenses:
D

 The Web Server Unlimited Read-Only license will allow you to connect to unlimited
sessions for viewing application graphics in a web browser.
 The Web Server Unlimited ReadWrite license will allow you to connect to unlimited
sessions for viewing and interacting with application graphics in a web browser.

Acquiring a License
After the Web Server starts up, it will first Authenticate the user and then determine the user’s
Authorization. During authentication, the web server will validate if the user is part of either the
"aaInTouchUsers" or the "aaInTouchRWUsers" to be authenticated to use the Web Client. Both the
user groups will be created during installation. The login user at the time of Web Client installation
will be automatically added to both user groups. Additional users can be added later. After adding
the new user to the group, the new user must log off and then re-login for the change to take
effective.
Next, the web server determines authorization for Read-Only or ReadWrite capability. First, the
web server will attempt to acquire the ReadWrite license. If a ReadWrite license is not available,

AVEVA™ Training
Section 1 – Web Client Overview 8-9

then it will attempt to acquire the Read-Only license. If a ReadOnly license is not available, then
the web client will operate in a Single Session Mode.

Authorization for Read-Only and ReadWrite Modes


The Web Client supports two types of authorization modes: ReadWrite and Read-Only. In the
ReadWrite mode, the user can:
 Write to external references such as Application Server attributes or InTouch tags
 Acknowledge alarms with details of the operator.
You can access the Write and Alarm Ack capability if both the following conditions are met:
 The Web Server has acquired the Unlimited ReadWrite license
 The user logged in to Web Client session is part of the aaInTouchRWUsers user group
If ReadWrite mode is not available, then the Web Server attempts the Read-Only mode. The user
can access the Read-Only mode only if:
 The Web Server has acquired the Unlimited ReadWrite license, but the user logged in

y
does not belong to the Web Client aaInTouchRWUsers user group, or
 The Web Server has acquired the Unlimited ReadOnly license, or

op
 The Web Server does not acquire any license and this web client session is the first client
session
In the Read-Only mode, the client session cannot write to external references or acknowledge
alarms.
C
Single Session Mode
ot

If the Web Server does not acquire any license at startup, it will operate in the Single Web Session
mode, which is assigned on a first come first serve basis.
 If a valid license is unavailable and the first session license has been acquired, the Web
N

Client will notify the user that no licenses are available.


 The Web Server allows sessions a grace period if the Web Server has acquired an
unlimited license, but subsequently loses the license.
o

Web Client Application Windows


D

Web Client will convert all Frame Windows in your application and make them available from the
hamburger menu. Additionally, when you open Web Client, if Home windows are configured and
the Home windows are Frame Windows, your Home windows will be displayed. Any application
navigation configured, such as buttons to show windows or scripting using ShowGraphic(),
ShowHome, or Show script functions, these will behave normally as if they were in WindowViewer.
For example, Replace window functionality behaves normally in Web Client by closing any window
the Replace window touches. When using this with ShowGraphic(), the identity property using
InTouch:WindowName syntax, will properly identify the XY and width and height of the window for
replace purposes. However, if the identity property does not used the InTouch: syntax, which
causes it to create a brand new popup window in the Web Client, this window will act like a regular
popup window by displaying on top of the other windows.

AVEVA™ InTouch for System Platform 2020


8-10 Module 8 – Web Client

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 23 – Using the Web Client 8-11

Lab 23 – Using the Web Client

Introduction
In this lab, you will enable the Web Client server, which provides access to the Web Client feature.
In WindowMaker, you will use the WEB CLIENT fast switch to preview navigation and display
graphics in a browser.

Objectives
Upon completion of this lab, you will be able to:
 Use the WEB CLIENT fast switch to open the Web Client and view Application windows in
a default web browser
 Pan and zoom a graphic in a web browser using a mouse and keyboard
 Navigate Application windows using the Web Client

y
 Use Navigation Search
Visualize and acknowledge alarms in Web Client

op

 Create a Hyperlink animation in a symbol to point to another symbol


 Modify a graphic in WindowMaker and observe the automatic refresh in the Web Client
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


8-12 Module 8 – Web Client

Open and Navigate Web Client


First, you will turn off security, open WindowViewer, and use the WEB CLIENT fast switch to start
Web Client, and then navigate the Web Client features.
1. Close WindowMaker and check in the $MixerView template.
2. On the IDE Galaxy menu, click Configure | Security.
3. In the Authentication Mode area, select None.

y
op
C
4. Click OK to close the Configure Security dialog box.
An ArchestrA IDE message appears.
ot
N
o
D

5. Click OK to shutdown the IDE.


6. Open System Platform IDE and connect to TrainingGalaxy.
7. In the IDE, Template Toolbox, Training\Project template toolset, double-click $MixerView to
open WindowMaker.
8. Go to runtime and leave WindowViewer running.

Note: Leaving WindowViewer open enables the WEB CLIENT fast switch in WindowMaker,
and ensures WindowViewer is running so there will be data for the Web Client.

9. In WindowMaker, top-right corner, click the WEB CLIENT fast switch.

AVEVA™ Training
Lab 23 – Using the Web Client 8-13

After a few moments, the default web browser opens, and the windows that are open in
WindowViewer appear.

y
op
10. In the ContentDisplay window, switch to a different mixer and verify the components of the
selected mixer are displayed.
11. With the Ctrl button held down on the keyboard, and the cursor hovering over the middle of
the mixer, scroll the mouse wheel up to zoom in.
C
ot
N
o
D

12. With the Ctrl button held down on the keyboard, scroll the mouse wheel down to pan out.

AVEVA™ InTouch for System Platform 2020


8-14 Module 8 – Web Client

13. In the Navigation window, click Alarm Overview and observe the alarms.

y
op
C
ot
N

14. Close the ALARMAGGREGATIONOVERVIEW window.


o
D

AVEVA™ Training
Lab 23 – Using the Web Client 8-15

15. In the top-left corner, click the Web Client menu.

16. In the Web Client menu, expand Windows and select Carousel.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2020


8-16 Module 8 – Web Client

The Carousel appears in the ContentDisplay window.

y
op
C
ot
N

17. In the Web Client menu, Search field, enter clock, and then select ClockDigital12.
o
D

AVEVA™ Training
Lab 23 – Using the Web Client 8-17

The clock fills the web browser.

y
Notice the LABEL still uses the default string from the original library. The Web Client converts
every symbol in the Root Folder which by default is the InTouch Training Application’s top

op
node in the Graphic Toolbox to be used by Web Client without further configuration. The
majority of these symbols require further configuration to make them more usable.
18. In the top-right corner, click the Home button.
C
ot

The windows that are open in WindowViewer appear.


N
o
D

AVEVA™ InTouch for System Platform 2020


8-18 Module 8 – Web Client

19. In the AlarmDisplay window, click Ack All.

The Ack Comment: dialog box appears.


20. In the field, enter Ack all.

y
21. Click OK to acknowledge all alarms.
op
C
The alarms display as acknowledged.
ot
N
o
D

AVEVA™ Training
Lab 23 – Using the Web Client 8-19

Call an Individual Symbol


Next, you will update a symbol with a Hyperlink animation on a button to call the URL of another
symbol. You can also use a symbol’s URL to call a specific symbol directly.
22. In the IDE, Graphic Toolbox, open Training\Line1_MixingProcess for editing.
23. Create a button and place it to the right of the Area Name text.
24. On the Properties tab, name the button KPI_Btn and change the Text to KPI.

y
op
C
The button should now look similar to the following:
ot
N

25. Add a Hyperlink animation to the button.


o
D

AVEVA™ InTouch for System Platform 2020


8-20 Module 8 – Web Client

26. In the Hyperlink pane, Static String field, enter


http://localhost/InTouchWeb/api/symbol/ProcessOverview.

27. Click OK to close the Edit Animations dialog box.


28. Save and check in the Line1_MixingProcess symbol.
29. In the Web Client, Navigation window, click Line 1.
The KPI button now appears in the graphic.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 23 – Using the Web Client 8-21

30. In the Web Client, click the KPI button.


The ProcessOverview symbol appears in a new tab without the Web Client user interface
(menu and toolbar).

y
op
C
ot
N
o
D

Even without the Web Client interface, the graphic still supports pan and zoom.
<End of Lab>

AVEVA™ InTouch for System Platform 2020


8-22 Module 8 – Web Client

y
op
C
ot
N
o
D

AVEVA™ Training

You might also like