0% found this document useful (0 votes)
676 views550 pages

c9j5yw2lt5ga-InTouchForSystemPlatform 2023 RevA Manual DoNot

Uploaded by

pain2905
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
676 views550 pages

c9j5yw2lt5ga-InTouchForSystemPlatform 2023 RevA Manual DoNot

Uploaded by

pain2905
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

August 2023AVEVA™ Training

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

Training Manual

y
Revision A

op
August 2023
Part Number 11-MO-8600-0032

C
ot
N

AVEVA™ InTouch for


System Platform 2023
o
D
© 2023 AVEVA Group Limited and its subsidiaries. All rights reserved.

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

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

op
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
accordance with the terms of such license agreement.

ArchestrA, Aquis, Avantis, Citect, DYNSIM, eDNA, EYESIM, InBatch, InduSoft, InStep, IntelaTrac, InTouch,
OASyS, PIPEPHASE, PRiSM, PRO/II, PROVISION, ROMeo, SIM4ME, SimCentral, SimSci, Skelta,

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

Contact Information

AVEVA Group Limited


ot
High Cross
Madingley Road
Cambridge
CB3 OHB. UK

https://sw.aveva.com/

For information on how to contact sales, customer training, and technical support, see https://sw.aveva.com/
N

contact.
o
D
Table of Contents 1

Table of Contents
Module 1 Introduction .................................................................................1-1
Section 1 – Course Introduction......................................................................... 1-3
Section 2 – System Platform Overview.............................................................. 1-7
Lab 1 – Creating and Deploying a Galaxy ....................................................... 1-11
Section 3 – Encrypted Communication............................................................ 1-29
Section 4 – System Requirements and Licensing ........................................... 1-33

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

y
Section 1 – Introduction to InTouch Visualization .............................................. 2-3
Section 2 – InTouch Automation Objects........................................................... 2-5
Lab 2 – Creating a Managed InTouch Application............................................. 2-7
Section 3 – Introduction to the InTouch Development Environment................ 2-15

op
Lab 3 – Building the Application Layout........................................................... 2-21
Section 4 – Runtime Environment and Application Design.............................. 2-41
Lab 4 – Deploying an InTouch Application ...................................................... 2-47

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


Section 1 – Symbol Overview ............................................................................ 3-3
Section 2 – Graphic Editor ................................................................................. 3-7

C
Lab 5 – Building a Process Overview .............................................................. 3-15
Section 3 – Graphics with Objects ................................................................... 3-45
Lab 6 – Creating the Mixer Components ......................................................... 3-49
Section 4 – Graphic Editor Tools and Animations ........................................... 3-73
Lab 7 – Creating the Mixer Display.................................................................. 3-81
Section 5 – The OwningObject Property........................................................ 3-105
Lab 8 – Switching Between Mixers ................................................................ 3-107
ot
Section 6 – Custom Properties ...................................................................... 3-117
Lab 9 – Creating a Custom Symbol ............................................................... 3-123
Section 7 – Scripts in Graphics...................................................................... 3-149
Lab 10 – Creating a Navigation Symbol ........................................................ 3-155
Section 8 – Galaxy Styles .............................................................................. 3-177
N

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


Section 1 – Widgets Overview ........................................................................... 4-3
Lab 11 – Creating a Carousel Dashboard ......................................................... 4-5

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


Section 1 – Alarming Overview.......................................................................... 5-3
o

Lab 12 – Adding Alarm Notifications to Graphics ............................................ 5-15


Lab 13 – Building an Alarm Aggregation Overview ......................................... 5-21
Section 2 – Live Alarms Visualization .............................................................. 5-41
Lab 14 – Building a Current Alarms Display .................................................... 5-51
D

Lab 15 – Creating an Alarm Popup Symbol..................................................... 5-63


Section 3 – Historical Alarms and Events Visualization................................... 5-69
Lab 16 – Building a Historical Alarm Display ................................................... 5-75

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


Section 1 – Historization Overview .................................................................... 6-3
Section 2 – Real-Time Trending ........................................................................ 6-5
Lab 17 – Adding Trending to Graphics .............................................................. 6-7
Section 3 – Multi Pens Trend........................................................................... 6-19

AVEVA™ InTouch for System Platform 2020 R2


2 AVEVA™ InTouch for System Platform 2020 R2

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


Section 4 – Historian Client Trend Control ....................................................... 6-41
Lab 19 – Building a Historian Client 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-35
Lab 21 – Signing Writes from InTouch ............................................................ 7-39
Section 3 – Customization of the Runtime Environment .................................. 7-59
Lab 22 – Locking Down Your Application......................................................... 7-61

y
Module 8 Web Client ................................................................................... 8-1
Section 1 – Web Client Overview....................................................................... 8-3

op
Lab 23 – Using the Web Client......................................................................... 8-11

C
ot
N
o
D

AVEVA™ Training
y
op
C
Section 1 – Course Introduction
Module 1 – Introduction
1-3
ot
Section 2 – System Platform Overview 1-7
Lab 1 – Creating and Deploying a Galaxy 1-11
Section 3 – Encrypted Communication 1-29
N

Section 4 – System Requirements and Licensing 1-33


o
D
1-2 Module 1 – Introduction

Module Objectives
 Review the course agenda
 Explain System Platform
 Describe encrypted communication
 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 2023 course is a 4-day, instructor-led class designed
to provide an overview of the features and functionalities released with AVEVA InTouch for

y
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-

op
on labs are provided to reinforce the knowledge necessary to use the AVEVA InTouch for System
Platform software.

Objectives
Upon completion of this course, you will be able to:
 Describe AVEVA InTouch for System Platform visualization components


Create and use graphics C
Create and run visualization applications
Describe situational awareness concepts

Implement navigation for visualization applications


Implement alarm visualization
ot
 Implement real-time and historical trending
 Implement visualization application security
 View graphics in a browser

Audience
N

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

Prerequisites
Knowledge of the following tools, features, and technologies is required.
Industrial automation software concepts
o

 From the AVEVA™ Application Server software product:


 System Platform IDE
AutomationObjects
D

 Alarms of attributes
 Historization of attributes
 Security
 Deployment model
 Plant model
 QuickScript.NET scripting language

AVEVA™ InTouch for System Platform 2023


1-4 Module 1 – Introduction

Course Outline

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

y
System Platform Enterprise. It also introduces ArchestrA technology.
Section 3 – Encrypted Communication
This section describes the encrypted communication for end-to-end communication between

op
server and client software applications.
Section 4 – System Requirements and Licensing
This section describes system requirements for System Platform software and introduces the
licensing model.

Module 2 – Getting Started

C
Section 1 – Introduction to InTouch Visualization
This section introduces visualization concepts and describes InTouch for System Platform as
one of the visualization clients of Application Server. It also introduces AVEVA Connect for
graphics.
Section 2 – InTouch Automation Objects
ot
This section introduces the InTouchViewApp and ViewEngine automation objects.
Section 3 – Introduction to the InTouch Development Environment
This section provides a brief overview of the features of the WindowMaker environment and its
settings and describes InTouch windows.
Section 4 – Runtime Environment and Application Design
N

This section provides a brief overview of InTouch WindowViewer and explains how to deploy
and run a Managed InTouch application.

Module 3 – Symbols
Section 1 – Symbol Overview
o

This section introduces industrial graphics, including managing them in the System Platform
IDE and the out-of-the-box symbol libraries provided with Application Server. It also provides
an overview of Situational Awareness concepts.
D

Section 2 – Graphic Editor


This section describes the Graphic Editor, including an overview of its interface and using it to
create graphics.
Section 3 – Graphics with Objects
This section provides a brief overview of using graphics in automation objects and referencing
them.

AVEVA™ Training
Section 1 – Course Introduction 1-5

Section 4 – Graphic Editor Tools and Animations


This section provides an overview of graphic tools available in the Graphic Editor, as well as
visualization and interaction animations. It also reviews containment relationships between
automation objects.
Section 5 – The OwningObject Property
This section introduces the OwningObject property and Windows common controls.
Section 6 – Custom Properties
This section provides a brief overview of custom properties for symbols. It also describes the
Button tool and explains how to use the PushButton and Show Symbol animations.

y
Additionally, it describes the TreatAsIcon property.
Section 7 – Scripts in Graphics
This section provides a brief overview of the scripting environment, explains execution types

op
and triggers, and introduces ShowGraphic functions.
Section 8 – Galaxy Styles
This section explains how to work with Galaxy Styles.

Module 4 – Widgets
Section 1 – Widgets Overview

C
This section describes using HTML5 widgets in your InTouch for System Platform application
and introduces the Carousel widget.

Module 5 – Alarms and Events Visualization


ot
Section 1 – Alarming Overview
This section provides a brief overview of alarms and events and explains how System
Platform handles them. An introduction to the Alarm Border animation, Alarms aggregation,
severity, and shelving is also provided.
Section 2 – Live Alarms Visualization
This section explains how to use the Alarm Client control in your InTouch for System Platform
N

application to visualize live alarms.


Section 3 – Historical Alarms and Events Visualization
This section explains how to use the Alarm Client control in your InTouch for System Platform
application to visualize historical alarms and events.
o

Module 6 – Trend Visualization


Section 1 – Historization Overview
This section provides a brief review of how Application Server handles the configuration and
D

logging of historical data.


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 – Multi Pens Trend
This section describes the Trend Client control as a real-time trend plot. It introduces Multi
Pens Trend as a real-time trend solution and explains backfilling data from Historian.

AVEVA™ InTouch for System Platform 2023


1-6 Module 1 – Introduction

Section 4 – Historian Client Trend Control


This section provides a brief overview of the Historian Client Trend control.

Module 7 – Security
Section 1 – Security Overview
This section provides an overview of security in Application Server, including authentication
modes, permissions, roles, and users. It also describes security classifications for attributes,
the security audit trail, InTouch security tags, and script functions.
Section 2 – Signed Writes

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

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

Module 8 – Web Client


Section 1 – Web Client Overview

C
This section describes the Web Client features and dependencies.
ot
N
o
D

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

Section 2 – System Platform Overview


This section describes fundamental concepts about AVEVA System Platform and AVEVA System
Platform Enterprise. It also introduces ArchestrA technology.

AVEVA™ System Platform Overview


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

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

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

System Platform components are as follows:


AVEVA™ Application Server is the heart of System Platform. It provides an object-
D


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 2023


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.

y
 AVEVA™ InTouch for System Platform is based on traditional development tools to
create displays and the corresponding navigation framework from scratch. It is not
included with AVEVA System Platform Enterprise.

op
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
device or desktop computer.
 AVEVA™ Historian Client is a collection of tools for accessing and reporting on data
historized with Historian. This client includes a Trend application for plotting data on a


C
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,
and analysis of data historized with Historian. It provides an intuitive interface for easy
access and use.
ot
Together, System Platform and its clients provide the core services needed to develop, implement,
and deploy industrial automation applications. Some of these services include:
 Real-time data acquisition from field devices
 Scaling, statistics, and manipulation of data
 Process control
N

 Alarm triggering, logging, acknowledgment, and management


 Historization, trending, and analysis of process data
 Visualization of real-time process data
 Reporting
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
o

web service by means of a script.


D

AVEVA™ Training
Section 2 – 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

y

networked applications
 Inter-process advanced communications with system maintenance and diagnostic
information

op
 Centralized security services with support for multi-user environments for development
and runtime
 Version management for every object in the application, including logging of development
operations
Most of these services are exposed, configured, and managed by Application Server.

C
AVEVA™ System Platform Enterprise Overview
AVEVA System Platform Enterprise builds upon the core technology of AVEVA System Platform to
bring enhanced user accessibility and exclusive visualization extensions, specifically for enterprise
users in assembling an AVEVA Unified Operations Center (UOC) solution. This includes the
AVEVA Operations Management Interface (OMI) Web Client, allowing applications to be viewed in
ot
a standard web browser. AVEVA System Platform Enterprise is an AVEVA Flex subscription
activated product.

System Platform Enterprise Features


Exclusive features of System Platform Enterprise include:
N

 A web client for Operations Management Interface (OMI)


 Additional web widgets
 ScatterChart widget
 Breadcrumb widget
 NavigationTree widget
o

 Hamburger widget
 TitleBar widget
 Graphic Repeater widget
D

 MapApp widget
 Additional OMI Apps
 Power BI OMI app
 PI Vision app
 Sankey app
 UOC documentation
System Platform Enterprise does not include InTouch HMI (WindowMaker and WindowViewer),
InTouch Web client, and InTouch Workspaces.

AVEVA™ InTouch for System Platform 2023


1-10 Module 1 – Introduction

y
op
C
ot
N
o
D

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

Lab 1 – Creating and Deploying a Galaxy

Introduction
In this lab, you will create a Galaxy and connect to it using the System Platform IDE. Then you will
import some prebuilt automation objects that represent a Mixer application and configure some of
them. For example, you will configure platforms to work in a multi-node environment and an
AppEngine to historize data to Historian.
Once the Galaxy is created and configured, you will deploy it and use Object Viewer to verify that

y
attributes are receiving data at runtime.
The Galaxy you create in this lab will be used for the other labs in this course.

op
Objectives
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 2023


1-12 Module 1 – Introduction

Create the Galaxy


First, you will create a Galaxy based on the Blank Galaxy template and connect to it.
1. Open the System Platform IDE.
The Galaxies dialog box appears.

y
op
C
ot
N
o
D

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

2. In the New area, select the Blank Galaxy template.

Note: Be sure to select the Blank Galaxy template. This will create a Galaxy that contains
only base template objects. In later steps, you will import some prebuilt objects into your
Galaxy.

The Create Galaxy dialog box appears.

y
op
C
ot
3. In Galaxy name, enter TrainingGalaxy.
The Connect to this Galaxy option is checked by default.
N
o
D

AVEVA™ InTouch for System Platform 2023


1-14 Module 1 – Introduction

4. Click Create.
The Create Galaxy dialog box shows the progress of the Galaxy creation process, as well as
informational message details. This will take a few moments.
It is important to review the messages shown in the Create Galaxy dialog box to make sure no
errors occurred.

y
op
C
When the Galaxy creation process indicates Successfully created TrainingGalaxy, the
Close button becomes enabled.
ot
N
o
D

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

5. Click Close.
After a few moments, the Galaxy opens in the System Platform IDE.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


1-16 Module 1 – Introduction

Import the Training Objects


Next, you will import the prebuilt objects for the mixer application. You will use these objects for the
rest of this lab and throughout this course.
6. On the ribbon, select the Galaxy menu, and then select Import | Objects | From package.
Selecting the Galaxy menu opens the System Platform IDE backstage.
The Import Objects from package dialog box appears.

y
op
C
ot
7. Navigate to C:\Training and select Lab 1 - InTouch for System Platform 2023.aaPKG.
N
o
D

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

8. Click Open to begin the import process.


The Import preferences dialog box appears.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


1-18 Module 1 – Introduction

9. Leave the default import preferences and click Import.


The Import Objects from package dialog box shows the progress of the import process, as
well as informational message details.
It is important to review the messages shown in the Import Objects from package dialog box
to make sure no errors occurred.
10. When the import progress indicates Imported completed, click Close.

y
op
C
ot
11. In the top-left corner of the backstage view, click the left arrow button to return to the main
page of the System Platform IDE.
N
o
D

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

Configure the Platforms


Next, you will configure the network address for each platform. The engineering node
(GRPlatform) will be used for project development and a production node (PROD_Platform1) will
be used as a runtime environment for object deployment and testing.
12. In the Deployment view, expand TrainingGalaxy, and then double-click GRPlatform to open
its configuration editor.

y
op
C
13. On the General tab, in the Network address field, enter the local computer name.
ot
Note: Your instructor will provide the node name of this computer.

In the example below, S01ENG is shown as the computer name.


N
o

14. In the top-right corner of the window, click the Save and Close button.
D

AVEVA™ InTouch for System Platform 2023


1-20 Module 1 – Introduction

The Check-in dialog box appears.


15. In Comment, enter a comment.

Note: Entering a comment in the Check-in dialog box is optional, but recommended.

y
op
C
ot
16. Click Check-in.
17. In the Deployment view, double-click PROD_Platform1 to open its configuration editor.
N
o
D

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

18. On the General tab, in Network address, enter your designated production server computer
name.

Note: Your instructor will provide the node name of this computer.

In the example below, S01PROD is shown as the computer name.

y
op
19. Save and close the PROD_Platform1 configuration editor, and then check in the object.

Configure the Engine for Historian

C
Next, you will configure the Historian connection for the application engine.
20. In the Deployment view, double-click AppEngine1 to open its configuration editor.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


1-22 Module 1 – Introduction

21. On the General tab, in Historian, enter the node name of the computer where Historian is
installed.

Note: Your instructor will provide the node name of this computer.

In the example below, S01ENG is shown as the Historian node name.

y
op
22. Save and close the AppEngine1 configuration editor, and then check in the object.

Configure the Data Source


C
Next, you will configure the simulated data source for the mixers. This data source will be used
throughout this course.
ot
23. In the Deployment view, ensure AppEngine1 is expanded.
24. Double-click ProdPLC1 to open its configuration editor.
N
o
D

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

25. On the General tab, in Server node, enter the node name of the computer that will provide
data to the Galaxy.

Note: Your instructor will provide this information.

In the example below, S01PROD is shown.

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

Deploy the Galaxy


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

AVEVA™ InTouch for System Platform 2023


1-24 Module 1 – Introduction

The Deploy dialog box appears.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 1 – Creating and Deploying a Galaxy 1-25

28. Leave the deployment default settings and click Deploy.


The Deploying Objects dialog box shows the progress of the deployment process, as well as
informational message details. This will take a few moments.
It is important to review the messages shown in the Deploying Objects dialog box to make
sure no errors occurred.
29. When the deployment progress shows Deploy complete, click Close.

y
op
Verify Data in Runtime
C
ot
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.

Note: You can right-click any object in the Deployment view to open Object Viewer.
N
o
D

AVEVA™ InTouch for System Platform 2023


1-26 Module 1 – Introduction

The Object Viewer window appears, showing the list of attributes for Mixer100.

y
op
C
31. At the bottom of the window, right-click in the Watch List 1 pane and select Open.
ot
N
o
D

The Open dialog box appears.

AVEVA™ Training
Lab 1 – Creating and Deploying a Galaxy 1-27

32. Navigate to C:\Training, select Lab 1 - WatchList, and then click Open.
The Mixer100 and ProdPLC1 watch windows appear with some attributes already added.
You can resize the watch window if needed to view the attributes.

y
op
33. In the Mixer100 and ProdPLC1 watch windows, verify that the quality is Good for every
attribute.

Note: Notify your instructor if any of your attributes display any other quality status.

C
34. When you are finished reviewing attribute data, close Object Viewer.

<End of Lab>
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


1-28 Module 1 – Introduction

y
op
C
ot
N
o
D

AVEVA™ Training
Section 3 – Encrypted Communication 1-29

Section 3 – 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

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

op
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.
In fact, once joined to the SMS, a node will not need access to the SMS until it is time to renew the
certificates.

Protocols that Benefit From Encrypted Communication


SuiteLink
Message Exchange (MX)
iData
iBrowse
C
With encrypted communication, all of the following protocols are secured:
ot

 HCAL
N
o
D

AVEVA™ InTouch for System Platform 2023


1-30 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

y
 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.

op
C
ot
N
o
D

AVEVA™ Training
Section 3 – Encrypted Communication 1-31

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 2023


1-32 Module 1 – Introduction

y
op
C
ot
N
o
D

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

Section 4 – 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.

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

op
Software Requirements
The following table lists supported and preferred software requirements for various nodes in your
system:
Development Galaxy Automation Supervisory
(System Platform IDE) Repository Object Server Client
Windows Server
Windows Workstation
SQL Server
.NET Framework
C
Preferred
Supported
Not required
Required
Preferred
Supported
Required
Required
Preferred
Supported
Not required
Required
Supported
Preferred
Not required
Required
ot
Hardware Requirements
The following tables list minimum and recommended hardware requirements.
 For server nodes, such as AppEngine host (Application Objects Server), and the System
Platform IDE (development environment):
Logical Display Network
N

Level RAM Storage


Processors (Resolution) Speed
Small Minimum 4 2 GB 100 GB 1024 x 768 100 Mbps
1-25K I/O per node Recommended 8 4 GB 200 GB 1920 x 1080 1 Gbps
Medium Minimum 8 8 GB 200 GB 1024 x 768 1 Gbps
25-50K I/O per node Recommended 16 12 GB 500 GB 1920 x 1080 1 Gbps
Large Minimum 16 16 GB 500 GB 1024 x 768 1 Gbps
o

> 50K I/O per node Recommended 32 24 GB 1 TB 1920 x 1080 Dual 1 Gbps

 For client nodes, such as nodes that run WindowViewer, an Operations Management
D

Interface application, Historian Client, and remote System Platform IDE:


Logical Display
Level RAM Storage Network
Processors (Resolution)
Minimum 4 1 GB 100 GB 1024 x 768 100 Mbps
Recommended 8 4 GB 200 GB 1920 x 1080 1 Gbps

AVEVA™ InTouch for System Platform 2023


1-34 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.
Logical
Level RAM Storage Network
Processors
Small Minimum 8 8 GB 200 GB 100 Mbps
1K I/O max Recommended 12 12 GB 500 GB 1 Gbps
Medium Minimum 12 16 GB 500 GB 1 Gbps
20K I/O max Recommended 16 32 GB 1 TB 1 Gbps
Large Minimum 20 32 GB 2 TB 1 Gbps

y
100K I/O max Recommended 24 64 GB 4 TB 1 Gbps

Licensing

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

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

Licensing Models
Two licensing models are available:


C
Perpetual licensing offers permanent licenses with no expiration date. A perpetual
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
ot
at the time. Visit https://sw.aveva.com/flex-subscription for more information on the Flex
program.

Note: Subscription-based licenses are also available for development consignments (for
example, System Integrator consignments).

For more information on licensing and licensing requirements, contact your local distributor.
N

Activated Licensing
AVEVA software is licensed-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.
 License Manager: Web-based user interface to access and maintain licenses.
D

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 activate 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 4 – System Requirements and Licensing 1-35

Azure Active Directory


Starting with System Platform 2023, user identity authentication and single sign-on via Azure
Active Directory (AD) is supported. After setting Galaxy security to use an external identity
provider, Azure AD can be used to authenticate users. System Platform users can then use their
Microsoft-managed identities to log into the System Platform IDE, Operations Control
Management Console, Operations Management Interface ViewApps, and to perform secured and
verified writes.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


1-36 Module 1 – Introduction

y
op
C
ot
N
o
D

AVEVA™ Training
y
op
C
Module 2 – Getting Started
Section 1 – Introduction to InTouch Visualization 2-3
ot
Section 2 – InTouch Automation Objects 2-5
Lab 2 – Creating a Managed InTouch Application 2-7
Section 3 – Introduction to the InTouch Development Environment 2-15
N

Lab 3 – Building the Application Layout 2-21


Section 4 – Runtime Environment and Application Design 2-41
Lab 4 – Deploying an InTouch Application 2-47
o
D
2-2 Module 2 – Getting Started

Module Objectives
 Describe visualization concepts
 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 and its settings

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Introduction to InTouch Visualization 2-3

Section 1 – Introduction to InTouch Visualization


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

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

y
with properties of processes and equipment through real-time data provided by System Platform.
System Platform visualization clients provide multiple user interface capabilities, including
keyboard, mouse, tablet, and touch-screen inputs, as well as multi-screen outputs.

op
Visualization Clients
System Platform clients for visualization are InTouch for System Platform and Operations
Management Interface. 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
and graphics.
 AVEVA™ InTouch for System Platform provides traditional development tools for


Platform Enterprise.

C
creating displays and corresponding navigation. It is not included with AVEVA System

AVEVA™ 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
What is InTouch for System Platform?
InTouch for System Platform is configured and licensed to be used as a visualization client in
conjunction with System Platform, displaying data from objects defined in an Application Server
Galaxy.
N

What is a Managed InTouch Application?


A Managed InTouch application is one that is created from within the System Platform 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
o

development environment called WindowMaker.

InTouch Components
D

InTouch consists of three main components:


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

AVEVA™ InTouch for System Platform 2023


2-4 Module 2 – Getting Started

Visualization Content
Several types of content that can be used to build visualization client applications.

Industrial Graphics
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:

y
 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

op

graphical representations of equipment.
Industrial graphics are also referred to as symbols in Application Server.

Client Controls
Client controls provide functionality contained in .NET controls that you can use in symbols.

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

Widget Controls
Application Server includes widget controls, which are HTML5 widget controls.
ot
AVEVA Connect for Graphics
AVEVA Connect provides 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
AVEVA Connect to the Graphics tab, which provides a centralized storage and access point for
N

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
o

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

AVEVA™ Training
Section 2 – InTouch Automation Objects 2-5

Section 2 – InTouch Automation Objects


This section introduces the InTouchViewApp and ViewEngine automation 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.

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

op
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
 Security restrictions on who can deploy the InTouch application and when the InTouch
application can be deployed
 Backup and restore
 Deployment and undeployment

C
The InTouchViewApp object allows application objects running on a ViewEngine object to access
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.

InTouchViewApp Object Rules


ot
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
N

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
InTouchViewApp object’s alarms should to belong to that area.
o

 Undeployment of an InTouchViewApp object is not permitted, if it is currently loaded on a


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
D

deployment and remove any partially copied files.

Existing InTouch Applications


When creating an InTouchViewApp object to handle an existing InTouch application, the InTouch
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
structure.

AVEVA™ InTouch for System Platform 2023


2-6 Module 2 – Getting Started

When making changes to the InTouchViewApp InTouch application using WindowMaker launched
from the IDE, the original InTouch application is not changed.
Once the InTouchViewApp object is created, deleting the original InTouch application does not
affect the InTouchViewApp object’s application.
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

y
When creating an InTouchViewApp object for a new InTouch application, WindowMaker is started
by the IDE.

op
ViewEngine Object
A ViewEngine object is a simplified version of an AppEngine object. A ViewEngine object hosts
InTouchViewApp objects, as well as ViewApp 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. However, only one InTouch application per node can run at a time.
The ViewEngine object:


C
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
ot
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
N

 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
o

Historization and alarm options of the ViewEngine object may not need to be used.
Because a ViewEngine object only hosts InTouchViewApp objects, InTouchViewApp objects only
serve as a proxy for InTouch tags. As such, when referencing tags as InTouchViewApp attributes,
D

a shorter ScanPeriod on the ViewEngine object can minimize the latency of tag value updates.

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

Lab 2 – Creating a Managed InTouch


Application

Introduction
In this lab, you will create a 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.

y
Objectives

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

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


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, on the Templates tab, expand TrainingGalaxy, and then the System template
toolset.
2. Right-click the $InTouchViewApp template and select New | Derived Template.

y
op
C
ot
The new derived template appears in the System toolset.
3. Name the new derived template as $MixerView.
N
o
D

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

Next, you will create a subtoolset for organizing your InTouchViewApp.


4. On the Templates tab, right-click the Training toolset and select New Template Toolset.

y
op
5. Name the new toolset as ViewApps.

C
The new ViewApps toolset appears at the bottom of the Templates tab.
6. Drag the $MixerView template to the Training\ViewApps toolset.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-10 Module 2 – Getting Started

7. Double-click $MixerView.
The first part of the InTouchViewApp initialization dialog box appears.
8. Leave the default as Create new InTouch application and click Next.

y
op
C
ot
N
o
D

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

The InTouchViewApp initialization continues.


9. Check the InTouchView application check box.

Note: This check box reflects which InTouch product was licensed. In this InTouch for
System Platform course, we check this box to have InTouch rely on built-in Application Server
features, such as I/O access, alarms, history, and security. Leaving the box unchecked relies
on InTouch HMI built-in features, including legacy InTouch AccessNames, InTouch alarms,
InTouch historical logging, and InTouch security.

10. In Description, enter:

y
InTouchView application for the InTouch for System Platform course

op
C
ot
N

Note: The Custom resolution feature allows the InTouch application designer to set the
resolution that will be used on the production node, even when their development resolution
may differ. The default Screen resolution takes the current development resolution and uses
o

that as the target resolution on the production node.

11. Click Next.


D

AVEVA™ InTouch for System Platform 2023


2-12 Module 2 – Getting Started

After a few moments, AVEVA InTouch HMI WindowMaker opens showing the New window
area of the backstage view.

y
op
exit the backstage view. C
In the next lab you will use the New window feature to create new windows, but for now, you will

12. In the top-left corner of the backstage view, click the left arrow button to move to the main view
of WindowMaker.
ot
N
o
D

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

The main view of WindowMaker appears.

y
op
<End of Lab>
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-14 Module 2 – Getting Started

y
op
C
ot
N
o
D

AVEVA™ Training
Section 3 – Introduction to the InTouch Development Environment 2-15

Section 3 – Introduction to the InTouch Development


Environment
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

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

op
The WindowMaker development environment is configurable. When WindowMaker is initially
opened, most of the available UI elements are automatically displayed, including all toolbars and
Industrial Graphics.
The following figure shows the components of WindowMaker, which is the development
environment. When creating a new application and running WindowMaker for the first time, its
components will automatically appear in the default configuration as shown.

C
ot
N

The WindowMaker views include:


o

 Windows: List of user-created Native and Frame windows


 Supertags: Template maker for constructing Supertags, which is a hierarchical tag
structure
D

 Tools: Quick access to major WindowMaker utilities


 Scripts: Access to the global script type editors in WindowMaker
 Canvas: WindowMaker workspace
 Industrial Graphics: List of items in the Graphics tab from the IDE
 Properties: List of Frame window properties

AVEVA™ InTouch for System Platform 2023


2-16 Module 2 – Getting Started

WindowMaker Ribbon
The WindowMaker ribbons (menus) contain all of the design features you can use to create an
InTouch application. These include both legacy features for supporting legacy InTouch applications
and modern features for supporting Managed InTouch applications. The ribbons are organized by
the tasks and workflows that an InTouch application designer would use to build and modify their
applications.

y
op
 File (Backstage): Contains options for New, Open, Save, Close, Delete, User, AVEVA
Connect, Import, Export, Configure, and Exit
Opens the backstage of WindowMaker. The primary uses for this menu include creating
and modifying windows, importing and exporting files, and configuring the behavior of
WindowMaker and WindowViewer.


Alarms, and Tags

C
Home: Contains options for Clipboard, Insert, Alignment, Arrange, Spacing, Graphic, Cell,

Opens primitive workflow tools, such as copy and paste, alignment, grouping, and major
WindowMaker utilities, such as Alarm groups and the Tag dictionary.
Draw (Legacy only): Contains options for Mode, Insert, Shapes, Format, Alignment,
ot
Arrange, Spacing, Trends, and SmartSymbol
Used to draw legacy visual elements, such as lines, ellipses, and rectangles, format fonts,
and to place original InTouch objects, such as SmartSymbols, Real-time, and Historical
trends.
 Animation: Contains options for Mode, Links, Graphic, Cell, Object, Bitmap, and
Substitute
N

Used to animate legacy visual elements with legacy InTouch animations. Additionally, this
menu allows you to substitute tags and substitute strings.
 Properties: Contains options for Graphic, Symbol Factory, and Clients
Supports hierarchical symbol and instance selection from Application Server’s model.
Additionally, this menu contains legacy features for Symbol Factory and NAD notification.
o

 View: Contains options for View, Cloud drive, Update, Application, and Theme
Used to show and hide WindowMaker views, to access AVEVA Connect, and to set the
Dark mode Theme.
D

 Help: Help
Help topics for System Platform products, such as InTouch for System Platform, are
available as Web help, which can be viewed and searched in your default browser.

AVEVA™ Training
Section 3 – Introduction to the InTouch Development Environment 2-17

WindowMaker Configuration Screen


Use the WindowMaker configuration screen to configure preferences and options affecting the
behavior of WindowMaker. You can access the configuration screen by clicking File | Configure |
WindowMaker.
Some configuration options include locking window size to protect graphic distortion when
resolution changes; showing tag count to display the number of tags that are used in the
application; and disabling script auto complete to prevent constant change under the cursor while
the script is being written.

y
op
C
ot
InTouch Windows
The InTouch application is comprised of windows that can contain graphics, text, animations, and
scripts.
In the upper left corner of WindowMaker, the + button is used to create new windows. When first
N

creating the window, you define its properties, such as Name and Window type. Window Type
options include the following:
 Replace: Automatically closes any windows it intersects when it appears on the screen,
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
o

window makes that window active.


 Popup: Is similar to an overlay window, yet always stays on top of all other open windows
even if another window is clicked.
Frame: This window type is used to host a single graphic. Frame windows enable panning
D


and zooming at runtime.

AVEVA™ InTouch for System Platform 2023


2-18 Module 2 – Getting Started

The following example shows window properties:

y
op
C
ot
Working with Frame Windows
Frame windows enable you to host graphics that can support pan, zoom, and touch capabilities.
Frame windows do not:
 Support multiple graphics
Host native InTouch controls
N

 Host ActiveX controls


 Host SmartSymbols
 Support undo/redo actions for window components
 Flip or rotate actions for an embedded symbol
 Print window information
o

 Support cut, copy, paste, or duplicate operations


 Provide cross reference support for graphics embedded in frame windows
 Support window conversion to symbols
D

 Support creating new instances, editing instances or selecting alternate instances of


embedded automation object graphics

AVEVA™ Training
Section 3 – Introduction to the InTouch Development Environment 2-19

Template Windows
Template windows are reusable application windows that serve as a mature starting point for
creating new windows. They also allow designers to create reusable standards. Windows marked
as templates are listed separately under the Templates Windows folder. Note that modifying the
original template window does not change the windows that were previously built from it.

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.

y
Create a Button and Edit the Label

op
Click the Button tool found in the Draw ribbon 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.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-20 Module 2 – Getting Started

y
op
C
ot
N
o
D

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

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.

y
op
C
The steps and screen shots used in this lab are designed for a resolution of 1920 x 1080.
ot
Objectives
Upon completion of this lab, you will be able to:
 Create InTouch windows
 Configure InTouch window properties
N
o
D

AVEVA™ InTouch for System Platform 2023


2-22 Module 2 – Getting Started

Create New Windows


In the following steps, you will create the windows you will use in your InTouch application.
First you will create the Navigation window. In later labs, you will add buttons to this window that
will allow operators to navigate to other windows at runtime.
1. In the top-left corner of WindowMaker, click the New (+) button.

y
op
C
The New area of the backstage view appears.
ot
N
o
D

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

2. In Available templates, select Frame window.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-24 Module 2 – Getting Started

3. In Name, enter Navigation.


4. In Comment, enter Display system navigation graphics.
5. In the Window type drop-down list, select Overlay.
6. Configure the Location and Size as follows:

X: 0
Y: 0
Width: 1300

y
Height: 120

7. Uncheck the Title bar and Size controls check boxes.

op
The properties should appear as follows:

C
ot
N
o
D

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

8. Click Create.
The backstage view closes and the Navigation window appears.

y
op
Next, you will create another window and name it Logon. Later in this lab, you will place a clock on
it to display the current time. Then, in a later lab, you will add a symbol to this window that will

C
allow users to log in to the application.
9. In the top-left corner of WindowMaker, click the New (+) button.
10. In Available templates, ensure Frame window is selected.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-26 Module 2 – Getting Started

11. In Name, enter Logon.


12. In Comment, enter Display logon and clock graphics.
13. In the Window type drop-down list, ensure Overlay is selected.
14. Configure the Location and Size as follows:

X: 1300
Y: 0 (default)
Width: 620

y
Height: 120 (default)

The properties should appear as follows:

op
C
ot
N

15. Click Create.


o
D

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

16. In Canvas, scroll to the right to view the Logon window.

y
op
17. In Canvas, scroll back to the left to reset the view.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-28 Module 2 – Getting Started

Next, you will create another window and name it AlarmDisplay. In a later lab, you will add the
Alarm Client symbol to this window to display current alarms.
18. In WindowMaker, click the New (+) button.
19. In Available templates, ensure Frame window is selected.
20. In Name, enter AlarmDisplay.
21. In Comment, enter Display live alarms.
22. In the Window type drop-down list, ensure Overlay is selected.
23. Configure the Location and Size as follows:

y
X: 0
Y: 120

op
Width: 1920
Height: 200

The properties should appear as follows:

C
ot
N
o
D

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

24. Click Create.


The AlarmDisplay window appears.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-30 Module 2 – Getting Started

Next, you will create another window and name it OverviewDisplay. In a later lab, you will add
dashboard graphics to this window to display data for the Mixer application.
25. In WindowMaker, click the New (+) button.
26. In Available templates, ensure Frame window is selected.
27. In Name, enter OverviewDisplay.
28. In Comment, enter Display system overview graphics.
29. In the Window type drop-down list, ensure Overlay is selected.
30. Configure the Location and Size as follows:

y
X: 0 (default)
Y: 320

op
Width: 420
Height: 680

31. In Window color, click the ellipsis button.

C
ot
N
o
D

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

Color Dialog appears.

y
op
32. Select the Web tab and scroll to the bottom of the color list.
33. Select Wheat.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-32 Module 2 – Getting Started

34. Click OK to close Color Dialog.


The properties should appear as follows:

y
op
C
ot
35. Click Create.
The OverviewDisplay window appears.
N
o
D

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

Next, you will create another window and name it ContentDisplay. In a later lab, you will add mixer
graphics to this window.
36. In WindowMaker, click the New (+) button.
37. In Available templates, ensure Frame window is selected.
38. In Name, enter ContentDisplay.
39. In Comment, enter Display system graphics.
40. In the Window type drop-down list, select Replace.
41. Configure the Location and Size as follows:

y
X: 420
Y: 320 (default)

op
Width: 1500
Height: 680 (default)

42. In Window color, click the ellipsis button to open Color Dialog.
43. On the Web tab, scroll to the bottom of the color list and select White.

C
ot
N

44. Click OK to close Color Dialog.


o
D

AVEVA™ InTouch for System Platform 2023


2-34 Module 2 – Getting Started

45. Check the Title bar check box.


The Create button is enabled after checking Title bar.
The properties should appear as follows:

y
op
46. Click Create.
C
ot
The ContentDisplay window appears.
N
o
D

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

Embed a Symbol
Now, you will embed a clock graphic in the Logon window to display the current time.
47. In Canvas, scroll to the right to show the Logon window.

y
op
C
48. In Industrial Graphics, expand Industrial Graphic Library \ Clocks.
ot
N
o

49. From Industrial Graphics, drag ClockAnalogWall to the Logon window.


D

AVEVA™ InTouch for System Platform 2023


2-36 Module 2 – Getting Started

The clock appears in the Logon window.


The graphic is positioned and resized to fit the window.

y
50. In Canvas, scroll back to the left to reset the view.

op
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
the Runtime fast switch opens WindowViewer.
51. In the top-right corner, click Runtime to display the windows in the runtime environment.

C
ot
N

Note: WindowMaker automatically saves any open windows before displaying them in the
runtime environment.
o
D

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

After a moment, WindowViewer opens and all five windows appear.


The windows are labeled below, so you can identify them.

Navigation Logon

AlarmDisplay

y
OverviewDisplay

op
ContentDisplay

C
In the upper-right corner, the current time is displayed in the clock.
52. Click Development! to return to WindowMaker.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-38 Module 2 – Getting Started

Lock the Window Size


Finally, you will enable Lock window size, to prevent windows from changing their scale when the
application is viewed at a different resolution.
53. In WindowMaker, click the New (+) button.
54. Select Configure | WindowMaker.
The WindowMaker configuration appears.

y
op
C
ot
55. Check Lock window size.
N
o
D

56. Click Save.

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

A WindowMaker notification appears, indicating it is necessary to restart WindowMaker.

57. Close WindowMaker.

y
Closing WindowMaker also closes WindowViewer.
After a moment, the Check-in dialog box appears.

op
58. In Comment, enter Created windows and configured Lock Window Size.

C
ot
N

59. Click Check-in to check in the $MixerView template.


60. When the check-in progress completes, click Close.
o

<End of Lab>
D

AVEVA™ InTouch for System Platform 2023


2-40 Module 2 – Getting Started

y
op
C
ot
N
o
D

AVEVA™ Training
Section 4 – Runtime Environment and Application Design 2-41

Section 4 – Runtime Environment and Application Design


This section provides a brief overview of InTouch WindowViewer and explains how to deploy and
run a Managed InTouch application.

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

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

op
WindowViewer Properties
WindowMaker includes many options for customizing the WindowViewer runtime environment. For
example, you can set the blink frequency for Blink animations, the system inactivity timeout and
warning values for automatic logoff, and the windows that are automatically opened when
WindowViewer is started. These customizations for runtime are found in WindowMaker by

The following tabs are available:



C
selecting File | Configure | WindowViewer.

Preferences: Contains miscellaneous WindowViewer runtime behavior options, such as


I/O, automatic logoff, and virtual keyboard access.
Application type: Contains options for licensing support.
ot
 Window: Contains options for hiding and showing runtime menu items, locking down
keyboard keys, and application resolution.
 Memory: Sets the minimums in RAM for storing and retrieving Industrial graphics.
 Startup: Contains the selection of windows to open on startup.
 Advanced format: Contains runtime data precision and numerical formatting options.
Managed application: Contains settings for the working directory of the deployed
N


application, script timeout period, and operator experience for deployed changes.
o
D

AVEVA™ InTouch for System Platform 2023


2-42 Module 2 – Getting Started

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

y
 Check-in and check-out for multiple users
 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
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.
You can create an InTouch application by deriving an InTouchViewApp object from the standard

C
template $InTouchViewApp. Creation includes the choice of starting a new application from
scratch or 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 in the Application Templates Browser are exported .aaPKG files that are
loaded from an Application Templates folder in the InTouch installation directory. For example:
ot
C:\Program Files(x86)\Wonderware\InTouch\ApplicationTemplates
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
InTouchViewApp object.
In WindowMaker, in File | Configure | WindowViewer, the Managed application tab contains
N

settings for managing the update and deployment behavior for InTouch.
You can assign multiple InTouchViewApp objects to the same ViewEngine object to make multiple
InTouch applications available on a node. However, only one InTouch application per node can run
at a time.
To run an InTouch application on an Application Server Platform:
o

 Create and assign a ViewEngine object to a Platform.


 Create an instance of the InTouchViewApp object from the template that defines the
InTouch application.
D

 Assign the InTouchViewApp instance object to the ViewEngine instance object.


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

AVEVA™ Training
Section 4 – Runtime Environment and Application Design 2-43

ViewEngine
A ViewEngine object is a simplified version of an AppEngine object. A ViewEngine object hosts
InTouchViewApp objects, as well as ViewApp 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. However, only one InTouch application per node can run at a time.
The ViewEngine object:
 Is assigned to and deployed to a WinPlatform object
Hosts and executes InTouchViewApp objects; the scan rate of the ViewEngine object

y

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

op
 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

C
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
Historization and alarm options of the ViewEngine object may not need to be used.
ot
Because a ViewEngine object only hosts InTouchViewApp objects, InTouchViewApp objects only
serve as a proxy for InTouch tags. As such, when referencing tags as InTouchViewApp attributes,
a shorter ScanPeriod on the ViewEngine object can minimize the latency of tag value updates.
N
o
D

AVEVA™ InTouch for System Platform 2023


2-44 Module 2 – Getting Started

Deploy a Managed InTouch Application


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

y
op
C
ot
N
o
D

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

AVEVA Application Manager


When the Application Manager is first run, it searches the computer for any existing InTouch
applications. Applications appear as tiles in the interface.
When a managed application tile is selected, several toolbar buttons are grayed out, such as
WindowMaker, DBLoad, and DBDump. These functions are not available for Managed InTouch
applications.
To run a Managed InTouch application, click the WindowViewer button on the tile for the
application.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-46 Module 2 – Getting Started

y
op
C
ot
N
o
D

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

Lab 4 – Deploying an InTouch Application

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

Objectives

y
Upon completion of this lab, you will be able to:
 Create and configure a ViewEngine
Select Home windows for InTouch application start up

op

 Deploy a Managed InTouch application


 Open a deployed InTouch application in runtime

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-48 Module 2 – Getting Started

Create a ViewEngine
First, you will create an instance of the $ViewEngine template.
1. In the IDE, on the Templates tab, in the System template toolset, right-click the $ViewEngine
template and select New | Derived Template.

y
op
C
ot
2. Name the derived template as $gViewEngine.
N
o
D

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

3. Drag $gViewEngine to the Training\Global template toolset.

y
op
C
4. In the Global template toolset, right-click $gViewEngine and select New | Instance.
ot
N
o
D

In the Deployment view, a new instance is created with the default name of
gViewEngine_001.

AVEVA™ InTouch for System Platform 2023


2-50 Module 2 – Getting Started

5. In the Deployment view, name gViewEngine_001 as ViewEngine1.

y
6. Assign ViewEngine1 to PROD_Platform1.

op
C
ot
N
o
D

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

Create an Instance of the InTouch Application


Now, you will create a new instance of the $MixerView template.
7. On the Templates tab, in the Training\ViewApps template toolset, create an instance of the
$MixerView template.

y
op
C
In the Deployment view, a new instance is created with the default name of MixerView_001.
8. Leave the default name, and then assign MixerView_001 to ViewEngine1.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-52 Module 2 – Getting Started

9. In the Model view, assign MixerView_001 and ViewEngine1 to the Sys area.

y
op
Configure WindowViewer Home Windows
Now, you will configure WindowViewer settings to set the home windows. At runtime, the home
windows will open automatically on startup in WindowViewer.
10. On the Templates tab, in the Training\ViewApps toolset, double-click $MixerView to open
WindowMaker.

C
WindowMaker opens and displays Select windows to open.
ot
N
o

You will not open any windows at this time.


D

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

11. On the backstage menu, select Configure | WindowViewer.


The WindowViewer settings appear.

y
op
C
12. In WindowViewer settings, select the Startup tab.
Home windows appears.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-54 Module 2 – Getting Started

13. In Home windows, select the following windows:


 AlarmDisplay
 ContentDisplay
 Logon
 Navigation
 OverviewDisplay

y
op
C
ot
14. Click Save.
A WindowMaker notification message appears, indicating WindowViewer configuration
successfully updated.
N
o
D

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

15. On the backstage menu, select Exit to close WindowMaker and then check in $MixerView.

y
op
C
Deploy the Managed InTouch Application
Now, you will deploy ViewEngine1 and MixerView_001 to the production node.
ot
16. In the IDE, in the Deployment view, right-click ViewEngine1 and select Deploy.
N
o
D

AVEVA™ InTouch for System Platform 2023


2-56 Module 2 – Getting Started

The Deploy dialog box appears.

y
op
C
ot
17. Leave all default settings and click Deploy.
The Deploying Objects dialog box shows progress of the deployment process.
N

18. When the progress shows Deploy complete, click Close.


o
D

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

As soon as the deployment completes, the icon for the MixerView instance displays an orange
synchronization icon, which indicates the final synchronization of the application on the
production node. Once this process completes, the icon changes to fully deployed.

View the Deployed Application in WindowViewer

y
Finally, you will navigate to the production node and open the deployed $MixerView application in
runtime.

op
19. Switch to the production node.

Note: Your instructor will provide the name of your production node.

20. From the Windows Start menu, open Application Manager.


The AVEVA Application Manager opens.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


2-58 Module 2 – Getting Started

21. On the InTouch tab, in the $MixerView tile, click the WindowViewer button to open the
application in runtime.

y
op
The Application Manager closes and after a few moments, InTouch WindowViewer opens and
the $MixerView application displays in runtime. Notice the home windows are opened and the

C
animated clock appears in the Logon window.
ot
N
o

22. Leave the application running on the production node and switch back to the engineering
node.
D

<End of Lab>

AVEVA™ Training
y
op
Section 1 – Symbol Overview
C Module 3 – Symbols
3-3
ot
Section 2 – Graphic Editor 3-7
Lab 5 – Building a Process Overview 3-15
Section 3 – Graphics with Objects 3-45
N

Lab 6 – Creating the Mixer Components 3-49


Section 4 – Graphic Editor Tools and Animations 3-73
Lab 7 – Creating the Mixer Display 3-81
Section 5 – The OwningObject Property 3-105
o

Lab 8 – Switching Between Mixers 3-107


Section 6 – Custom Properties 3-117
D

Lab 9 – Creating a Custom Symbol 3-123


Section 7 – Scripts in Graphics 3-149
Lab 10 – Creating a Navigation Symbol 3-155
Section 8 – Galaxy Styles 3-177
3-2 Module 3 – Symbols

Module Objectives
 Provide a brief overview of graphics
 Describe situational awareness concepts
 Introduce the Graphics tab in the IDE
 Explain using graphics with automation objects
 Review containment relationships between AutomationObjects
 Introduce the Graphic Editor
 Discuss Element Styles

y
 Introduce the OwningObject property
 Introduce various visualization animations and interaction animations
Provide a brief overview of custom properties in symbols

op

 Provide a brief overview of the scripting environment


 Introduce ShowGraphic-related functions
 Describe Galaxy Styles

C
ot
N
o
D

AVEVA™ Training
Section 1 – Symbol Overview 3-3

Section 1 – Symbol Overview


This section introduces industrial graphics, including managing them in the System Platform IDE
and the out-of-the-box symbol libraries provided with Application Server. It also provides an
overview of Situational Awareness concepts.

Introduction
Symbols are graphics that can be used to customize graphic representations of your processes in

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

op
Prebuilt libraries of symbols are provided with System Platform, including the Industrial Graphic
Library and the Situational Awareness Library. You can use symbols from these libraries in your
applications or create your own symbols with the Graphic Editor in the System Platform IDE.
Depending on your application development needs, you can create symbols on the Graphics tab
or create them directly in automation objects. Some guidelines include:
 Create symbols on the Graphics tab to use them as reusable, standard symbols.
 Create symbols in an object template to use them in objects derived from the template.

Graphics Tab C
Create symbols in an object instance to use them only in that object instance.

The Graphics tab in the System Platform IDE hosts libraries of symbols, controls, and other
ot
graphic-related content that can be used in the Galaxy. Items available on the Graphics tab by
default depend on which Galaxy template was used to create the Galaxy.
Items on the graphics tab can be organized into a hierarchy of toolsets. Some toolsets are
included on the Graphics tab by default, and you can create your own toolsets and sub-toolsets to
organize your graphic-related items as needed.
 To create a toolset on the Graphics tab: Right-click the Galaxy name or a toolset name
N

and select New | Graphic Toolset. The toolset is created and a prompt to name it appears.
 To create a symbol on Graphics tab: Right-click the Galaxy name or a toolset name on
the Graphics tab and select New | Symbol. The symbol is created with a default name, but
you can rename it. Once created, you can double-click the symbol to edit it in the Graphic
Editor.
o

Symbol Libraries
Two symbol libraries are provided with System Platform for all Galaxy types:
D

 Industrial Graphic Library contains pre-built, realistic-looking symbols of standard


industrial objects.
 Situational Awareness Library contains pre-built symbols with a simplified look and
minimum visual detail, designed to enhance an operator’s situational awareness of current
process conditions.

AVEVA™ InTouch for System Platform 2023


3-4 Module 3 – Symbols

Situational Awareness Visualization


Situational awareness visualization provides an operator with contextual information to allow them
to figure out what actions to take. In broad terms, it can be broken down into three levels: the
perception of new information, the comprehension of the information, and the projection of the
impact the information has on goals. Achieving proper situational awareness can help you make
effective decisions to deliver overall business success.

y
op
C
In an HMI/SCADA application, situational awareness is a visual design approach devoted to
providing operators with the most relevant and necessary information at the right time. The idea is
to present users with contextualized and easily interpreted information that is specific to the most
ot
important process issues, while filtering out visual noise to keep operators focused on what
matters most. Operators see the situation at hand in full context of what is happening in real time,
how the current situation links to previous events, and where the process might be headed. This
enables operators to more easily move from perception to comprehension and then to projection
for better and safer operating conditions.
The situational awareness approach also encourages standardization, which helps to eliminate
N

the confusion of an inconsistent use of color and other visual elements. Some of the benefits of
incorporating situational awareness principles into visualization applications include faster problem
identification, maximized uptime, accelerated alarm recognition, increased operational
consistency, safer conditions, and more.
System Platform includes features and tools that allow the creation of displays based on
situational awareness concepts.
o

Situational Awareness Library Symbols


The Situational Awareness Library provided with System Platform contains symbols created with
D

situational awareness in mind. The symbols have a simplified look and provide a minimum of
visual detail to efficiently convey their functional purpose and status, without showing extraneous
information that could be distracting to operators.
By default, symbols in the Situational Awareness Library use a color palette designed to increase
the contrast between normal and abnormal operating conditions. Normal operating conditions are
shown in largely monochromatic colors, while abnormal operating conditions are shown in more
vivid colors.

AVEVA™ Training
Section 1 – Symbol Overview 3-5

Most Situational Awareness Library symbols are designed as symbol wizards that incorporate
multiple visual and functional configurations in each symbol. Selecting a functional configuration of
a symbol is a simple matter of selecting options from the symbol’s Wizard Options. One example is
the SA_Meters symbol, which can be used as a flow meter, temperature meter, level meter, or
other meter types simply by configuring Wizard Options for the symbol.
Situational Awareness Library symbols are provided with an extensive set of default custom
properties. The properties can be set to show or hide parts of the symbol itself, set a full array of
alarm conditions, and show reported values based on the configuration.
Situational Awareness Library symbols incorporate a variety of animations that enable operators to
quickly assess current process conditions. Some of the animations particularly suited for

y
Situational Awareness Library symbols include Point, Alarm Border, Polar Star, and Sweep Angle
animations.

op
Element Styles
An element style defines a set of visual properties that determine the appearance of text, lines,
graphic outlines, and interior fill shown in graphics. An Element Style applied to a graphic sets
preconfigured visual property values that take precedence over a graphic’s native visual
properties. For more information, see Section 8 – Galaxy Styles.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-6 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Graphic Editor 3-7

Section 2 – Graphic Editor


This section describes the Graphic Editor, including an overview of its interface and using it to
create graphics.

Introduction
You can use the Graphic Editor to create, configure, and modify symbols. The editor provides a
drawing area called the canvas, on which you can build graphics. You can embed basic graphic

y
elements, such as lines, rectangles, curves, and more onto the canvas. Or you can embed
symbols from the Toolbox tab, Assets tab, and Templates tab onto the canvas and use the
symbols as-is or modify them.

op
The appearance of graphic elements and embedded symbols on the canvas can be changed
through their properties or tools available from toolbars and menus. Additionally, you can configure
elements and embedded symbols with animations, scripts, custom properties, and more.

C
ot
N

 (1) Toolbars and Menus: Buttons and menu commands for performing various functions,
such as saving the symbol, zooming the display, selecting line color, and more.
 (2) Drawing Canvas: Area where elements are placed and arranged to create a symbol.
 (3) Elements List: Hierarchical list of elements on the canvas.
o

 (4) Element Tools: Collection of elements that you can use to create symbols on the
canvas. Includes basic elements, such as lines, rectangles, and so on, as well as other
tools and controls.
 (5) Tabbed Area:
D

 Properties tab: Lists properties belonging to selected elements or the embedded


symbols on the canvas. When no element is selected on the canvas, this tab lists
properties belonging to the symbol itself.
 Assets tab: Provides access to graphics found in instances.
 Toolbox tab: Provides access to graphics found in the symbol libraries.
 Templates tab: Provides access to graphics found in templates.

AVEVA™ InTouch for System Platform 2023


3-8 Module 3 – Symbols

Canvas
The canvas is the drawing area, where elements are placed and configured as need.

Canvas Properties
When the canvas is selected in the Graphic Editor, the Properties tab updates to show properties
of the entire graphic. The properties are organized into categories, such as the following:
 Graphic: Includes a description of the graphic and canvas sizing properties.
 Appearance: Includes anchor properties and smoothing properties.

y
 Runtime Behavior: Includes content type, faceplate mode, scripts, and zoom percent
properties.
 Custom Properties: Lists custom properties defined for the symbol.

op
Canvas Size
By default, the Size property for the canvas is set to Auto, which automatically sizes the graphic by
cropping all white space outside of the graphics that appear at runtime. When set to Fixed, the
FixedWidth and FixedHeight properties determine the absolute size at runtime.

Elements List

C
The Elements list shows a hierarchical list of graphic elements and embedded symbols by name
on the canvas.
ot
N
o

When adding a new item to the canvas, by default, it is listed at the top of the Elements list. The
order (z-order) can be manually changed.
Elements and embedded symbols can be selected on the canvas or from the Elements list. Select
D

from the Elements list can be particularly useful for selecting one or more elements and embedded
symbols that are visually hidden by other elements on the canvas.
Elements and embedded symbols can be managed through the Elements list, such as duplicating
items, changing the order of selected items, renaming items, grouping items, and editing items
within a group.
Elements and embedded symbols can be used as references for animations and scripts within the
symbol. They are referenced in a format as <Element name>.<Property name>. If an element, a
group, or an embedded symbol is referenced in an animation or a script, then renaming the

AVEVA™ Training
Section 2 – Graphic Editor 3-9

element, group, or embedded symbol will not update the references automatically. Animations or
scripts referencing the old name will need to be updated manually.
You can use the 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
 Rename an element or group of elements. Note that if an element or a group is renamed,
any animation references to it are not automatically updated. You must manually change
all animation links referencing the old name.

y
Adjust the Z-Order of Elements
The z-order of items in the Elements list determines which element or embedded symbol appears

op
on top if they overlap on the canvas. The order also determines how elements of a path graphic
connect.
You can use the Elements list to see or change the order of the elements. To change the z-order of
an element, you can right-click the element, select Order, and then select the desired order
position. You can also access Order commands from the Arrange menu. Moving elements forward
moves them higher in the Elements list. Moving elements backward moves them lower in the
Elements list.

C
ot
N
o

Group Elements
You can group elements in the Elements list, which allows you to manage the elements as one
unit. To group elements, select the elements you want to group, right-click, and then use Grouping
D

commands. You can also access Grouping commands from the Arrange menu.
A group is assigned a default name when you create it, but you can rename it. Groups can have
properties that are different than the properties of the elements. To group elements, select the
elements you want to group, right-click, and use the Grouping command.

AVEVA™ InTouch for System Platform 2023


3-10 Module 3 – Symbols

Element Properties
You can control the appearance of an element, a group of elements, or multiple elements with
functions on the toolbar at the top of the Graphic Editor or with properties on the Properties tab.
The Properties tab shows properties common to all selected elements. Read-only properties
appear in gray and non-default values appear in bold.
Properties are organized in categories:
 Graphic: Includes element name or other identifiers.
 Wizard Options: Includes options for customizing the visual and function properties of the
element.

y
 Appearance: Includes parameters related to the appearance of the element, including
location, size, orientation, and transparency.
Runtime Behavior: Includes element visibility, tab order, and other element behaviors at

op

runtime.
 Custom Properties: Includes user-defined properties you can associate with elements.

Selecting Elements
You can select elements by:
Selecting them in the Elements list


Clicking on them with the mouse

C
Dragging a lasso around them with the mouse
When an element is selected, it appears on the canvas with handles that enable control over its
size and orientation.
ot
N

If multiple elements are selected, the last select element is the primary element. Other elements
within the selection are secondary elements. To select multiple elements, you can press and hold
o
D

AVEVA™ Training
Section 2 – Graphic Editor 3-11

the Shift key and then click the individual elements you want to select. You can also drag a lasso
around all of the elements.

Selected Element Description


Primary Element  Appears with color-filled handles
 Behaves as an active selected element
 Is the point of reference for all operations, such as
aligning or spacing multiple selected elements

y
Secondary Elements  Appear with white handles
 Behave as inactive selected elements

op
 Follow the edits made to the primary element

Embed Symbols
C
Embedding a symbol creates a linked copy of the original symbol. If the original symbol is
modified, the changes are propagated to all embedded locations. Existing symbols can be
embedded onto the canvas in the Graphic Editor and edited as needed. They can be embedded
ot
from the Industrial Graphic Library and the Situational Awareness Library, and from templates and
instances available in the Galaxy.
In the Graphic Editor, there are several ways of using the Galaxy Browser to select a source
symbol to embed onto the canvas. You can click the Embed Industrial Graphic button from the
toolbar, select Embed Industrial Graphic from the Edit menu, or right-click the canvas and select
Embed Industrial Graphic from a context menu. The Galaxy Browser opens, allowing you to select
N

a graphic.
Another way of embedding a graphic is by finding the graphic from the Toolbox, Assets, or
Templates tabs available on the right side of the Graphic Editor, and then dragging and dropping
the symbol from the preview area onto the canvas. For example, you can navigate to the
Situational Awareness Library from the Toolbox tab and select the Meters toolset. All the symbols
in that toolset appear in the preview area at the bottom of the Toolbox tab, and you can drag the
o

symbol you want to embed onto the canvas.


D

AVEVA™ InTouch for System Platform 2023


3-12 Module 3 – Symbols

Additionally, the Toolbox, Assets, and Templates tabs include a search feature, allowing you to
search for symbols. For example, on the Toolbox tab, you can enter the text meters in the search
box to search for items with names that include that search string.

y
op
Wizard Options
C
ot
When a graphic for which Wizard Options have been configured is selected on the drawing
canvas, its Wizard Options properties appear on the Properties tab. Many of the symbols from the
Situational Awareness Library have Wizard Options already configured.
N
o
D

AVEVA™ Training
Section 2 – Graphic Editor 3-13

Custom Properties
You can configure custom properties with the Edit Custom Properties dialog box. Right-click an
embedded symbol and select Custom Properties. If custom properties are available within the
embedded symbol, the Edit Custom Properties dialog box appears.
Each available custom property has a defined date type, default value, visibility setting, and a
description. The default value is the initial value as defined in the source symbol, which can be
overridden with a value, reference, or expression.

y
op
C
Available custom properties for a selected symbol and their default value configurations are also
ot
listed and editable on the Properties tab in the Graphic Editor.

Substitute Strings
You can search for and replace strings of any element on the canvas that has the Text property.
N

To substitute strings for an embedded symbol that has text graphics, select the embedded symbol
on the drawing canvas and select Special | Substitute Strings from the menu. Or, right-click the
embedded symbol on the canvas and select Substitute | Substitute Strings from the context menu.
The Substitute Strings dialog box appears.
o
D

AVEVA™ InTouch for System Platform 2023


3-14 Module 3 – Symbols

You can use the basic mode to replace strings in the list, or use Find & Replace functions such as
Find What and Replace with, Match Case, Use Wildcards, and others.

y
op
Substitute References

C
You can search for and replace references used by any element on the canvas.
To substitute references for an embedded symbol that has references configured, select the
embedded symbol on the canvas and select Special | Substitute References from the menu. Or,
right-click the embedded symbol on the canvas and select Substitute | Substitute References from
ot
the context menu. The Substitute Reference dialog box appears.
You can use the basic mode to replace references in a list or use Find & Replace functions, such
as Find What and Replace with, Match Case, Use Wildcards, and others
N
o
D

You can use the Galaxy Browser to select a new reference, but the auto-complete function is not
available in the Substitute Reference dialog box.

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

Lab 5 – Building a Process Overview

Introduction
In this lab, you will create graphic toolsets on the Graphics tab for organizing some out-of-the-box
items, as well as a toolset for organizing the graphic items created in this course.
You will use the Graphic Editor to create a new symbol on the Graphics tab. You will embed the
SA_StackedColumnChart and SA_BarChart graphics from the Situational Awareness dashboard
tools library in your symbol. This combination of dashboard graphics will represent consumed

y
materials and produced products for eight mixers in your plant.

op
C
ot
N

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

 Create a Graphics toolset


 Create a symbol to edit in the Graphic Editor
Embed a graphic using the Graphic Editor Toolbox tab
D

 Embed a graphic from the Galaxy Browser using the Embed Industrial Graphic menu
 Create a process overview using Situational Awareness Library
 Configure Wizard Options
 Configure Custom Properties
 Configure strings and references
 Configure the canvas to a fixed size

AVEVA™ InTouch for System Platform 2023


3-16 Module 3 – Symbols

Create Graphic Toolsets


First, you will organize some out-of-the-box items into toolsets. Then, you will create a toolset for
organizing the graphic items you will create in this course.
1. In the IDE, on the Graphics tab, right-click TrainingGalaxy and select New | Graphic
Toolset.

y
op
2. Name the new toolset as Apps.
C
ot
N

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


4. Name the new toolset as .NET Controls.
o
D

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

5. Select the following apps and drag them to the Apps toolset:
 AlarmApp
 ContentPresenterApp
 DocViewerApp
 GraphicRepeaterApp
 HamburgerApp
 HistoricalTrendApp
 ImageViewerApp
InSightApp

y

 MapApp
 NavigationApp

op
 PDFViewerApp
 SpreadsheetViewerApp
 TitleBarApp
 WWWebAppControls

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-18 Module 3 – Symbols

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

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

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

Create a Process Overview Symbol


Next, you will create a ProcessOverview symbol on the Graphics tab. You will embed two
Situational Awareness graphics in the symbol.
9. Right-click the Training toolset and select New | Symbol.

y
op
C
10. Name the new symbol as ProcessOverview.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-20 Module 3 – Symbols

11. Double-click ProcessOverview to open it for editing.


ProcessOverview is opened in the Graphic Editor.

y
op
C
ot
12. Maximize the Graphic Editor to accommodate both of the graphics you will embed.
N
o
D

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

Embed and Configure Graphics from the Library


Now, you will embed graphics from the Situational Awareness Library. From the dashboard tools
library, you will embed the SA_StackedColumnChart and SA_BarChart graphics to show
consumed materials and produced products. You will use a Toolbox tab workflow to embed the
graphic.
13. On the right-side of the Graphic Editor, select the Toolbox tab.
The toolsets from the Graphics tab in the IDE appear.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-22 Module 3 – Symbols

14. Expand Situational Awareness Library, scroll down, and then select Dashboard Tools.
The preview area at the bottom shows the available graphics.

y
op
C
ot
N
o
D

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

15. In the preview area, select SA_StackedColumnChart.

y
op
C
16. Drag SA_StackedColumnChart to the canvas.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-24 Module 3 – Symbols

You will now configure the name, wizard options, custom properties, and strings for the symbol.
17. On the right side of the Graphic Editor, select the Properties tab.
18. In Name, enter IngredientsConsumed.

y
op
19. In Wizard Options \ NumberofBars, click the field to view a drop-down list and select Eight.

C
20. On the canvas, right-click the IngredientsConsumed graphic and select Custom Properties.
ot
N
o
D

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

Edit Custom Properties appears with Bar01A selected in the Custom Properties list.
21. In Default Value, select 0.
22. To the right of the Default Value field, click the Browse Galaxy button.

y
op
The Galaxy Browser appears. C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-26 Module 3 – Symbols

23. Click the Show Hierarchical Name button to switch the view.

24. In the Instances list, select Mixer100.Totalizer1, and in the Attributes list, select PV.

y
op
25. Click OK.
C
ot
The default value of 0 is replaced with Mixer100.Totalizer1.PV.
N
o
D

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

In the next steps, you will enter the remaining custom properties. A convenient shortcut is to
double-click the Default Value field to open the Galaxy Browser. Double-clicking will select the
default value 0 and open the Galaxy Browser.
26. Modify other custom properties as follows:

Note: Observe the screen shot below the table. Notice only the A and B bars have values.
As you enter values for the custom properties list, you will skip the C and D entries. The table
below only shows the custom properties to modify.

y
Name Default Value
Bar01B Mixer100.Totalizer2.PV
Bar02A Mixer200.Totalizer1.PV

op
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
Bar06B
Bar07A
Bar07B
Bar08A
Mixer600.Totalizer1.PV
Mixer600.Totalizer2.PV
Mixer700.Totalizer1.PV
Mixer700.Totalizer2.PV
Mixer800.Totalizer1.PV
C
ot
Bar08B Mixer800.Totalizer2.PV
N
o
D

27. Click OK to close Edit Custom Properties.

AVEVA™ InTouch for System Platform 2023


3-28 Module 3 – Symbols

28. On the canvas, right-click IngredientsConsumed and select Substitute | Substitute Strings
to change the static text labels in the graphic.

y
op
Substitute Strings appears.
C
ot
N
o
D

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

In the following steps, you will enter unique strings that will appear as labels in the graphic. If you
enter multiple strings that match, subsequent openings of the Substitute Strings dialog box will
consolidate the duplicate entries. This will lead to a situation where you can never edit the
individual strings again, and you would need to delete the graphic and lose your wizard options,
custom properties, size, position, graphic name, and strings. To avoid this issue, a best practice is
to enter unique strings.
29. Substitute the strings as follows:
Current String New String
A Ingr1

y
B Ingr2
B1 M100
B2 M200

op
B3 M300
B4 M400
B5 M500
B6 M600
B7 M700
B8 M800
C N/A-C
Chart Heading
D
Horizontal Axis Description
Short Description
Vertical Axis Description
Mixers C
Consumed Materials
N/A-D

Consumed materials quantity of current batch


Materials Quantity
ot
N
o
D

30. Click OK to close Substitute Strings.

AVEVA™ InTouch for System Platform 2023


3-30 Module 3 – Symbols

The graphic is updated with the new strings.

y
op
C
Next, you will embed a dashboard tools graphic named SA_BarChart on the canvas and
configure it to show produced products. You will use a context menu workflow to embed the
graphic.
31. In a blank area on the canvas, right-click and select Embed Industrial Graphic.
ot
N
o
D

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

The Galaxy Browser appears.


32. In the Galaxy Browser, expand Situational Awareness Library and select Dashboard
Tools.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-32 Module 3 – Symbols

33. In the preview area, double-click SA_BarChart to select it and close Galaxy Browser.
34. Below the IngredientsConsumed graphic, click the canvas to embed the SA_BarChart
graphic.

y
op
C
ot
35. On the Properties tab, in Name, enter ProducedProducts.
36. In Wizard Options, configure the options as follows:
N

NumberofBars: Eight
SortOrder: None

Leave the remaining defaults.


o
D

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

37. On the canvas, right-click ProducedProducts and select Custom Properties.

y
op
C
ot
Edit Custom Properties appears.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-34 Module 3 – Symbols

38. In the Custom Properties list, verify Bar01 is selected, and then in the Default Value field,
double-click.
The Galaxy Browser appears.
39. On the left, in Instances, scroll down and select Mixer100.Totalizer3, and then on the right,
select PV.

y
op
C
ot
40. Click OK to accept the selection in the Galaxy Browser.
In Default Value, the --- placeholder is replaced with the new value.
N
o
D

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

41. In Edit Custom Properties, modify the custom properties as follows:


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
42. Click OK to close Edit Custom Properties.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-36 Module 3 – Symbols

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

y
op
C
ot
Substitute Strings appears.
N
o
D

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

44. Substitute the following strings:

Current String New String


B1 M100
B2 M200
B3 M300
B4 M400
B5 M500
B6 M600
B7 M700

y
B8 M800
Chart Heading Produced Products
Short Description Produced products for current batch

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-38 Module 3 – Symbols

45. Click OK to close Substitute Strings.


The graphic is updated with the new strings.

y
op
Set Canvas Size to a Fixed Resolution
C
ot
Now, you will use the canvas size to set the bounding box of the graphic. All white space outside
the bounding box is cropped at runtime. This feature allows you to determine the exact height and
width of the graphic shown on a window in InTouch.
46. Click the canvas to set focus on the canvas.
47. On the Properties tab, in Size, select Fixed.
N
o
D

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

Your canvas will look as shown below:

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-40 Module 3 – Symbols

48. Drag the bottom-right handle of the canvas to include both graphics with some white space
around them.

y
op
C
ot
N
o
D

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

49. On the toolbar at the top, click Save and Close.

y
op
50. Check in the graphic.

Embed the Symbol in a Window


Now, you will embed the ProcessOverview symbol in the OverviewDisplay window you created in
a previous lab.

C
51. In the IDE, on the Templates tab, in the Training\ViewApps toolset, double-click $MixerView
to open WindowMaker.
WindowMaker opens and displays Select windows to open.
52. In Select windows to open, select the following windows:
 AlarmDisplay
ot
 ContentDisplay
 Logon
 Navigation
 OverviewDisplay

Note: Alternatively, if your application has only the above windows, you can click the
N

Select all button.


o
D

53. Click Open.


The selected windows open.

AVEVA™ InTouch for System Platform 2023


3-42 Module 3 – Symbols

54. In Industrial Graphics, expand Training.

y
op
55. From Training, drag ProcessOverview to the OverviewDisplay window.

C
ot
N
o
D

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

ProcessOverview appears in the OverviewDisplay window.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-44 Module 3 – Symbols

Test in Runtime
Finally, you will test the OverviewDisplay window in runtime.
56. Click Runtime.
57. Verify that the graphic displays live data.

y
op
C
ot
N

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.

58. Click Development! to return to WindowMaker.


o

<End of Lab>
D

AVEVA™ Training
Section 3 – Graphics with Objects 3-45

Section 3 – Graphics with Objects


This section provides a brief overview of using graphics in automation objects and referencing
them.

Introduction
When adding symbols into an automation object, you can create symbols within the object and
then embed symbols from the Graphics tab into those symbols. Alternatively, you can use the

y
linked symbols feature, whereby you directly link external symbols from the Graphics tab to the
automation object.
When adding a symbol or linking an external symbol in a template object, the symbol in the

op
template will be propagated to all derived objects. The symbols inherited from the template object
cannot be removed.

Linked Symbols vs. Added Symbols


Linking an external symbol to an automation object creates an association between the object and
a symbol on the Graphics tab. The symbol on the Graphics tab can be linked to other automation

C
objects, which are not necessarily part of the derivation hierarchy. Changes to the symbol from the
Graphics tab will apply to all automation objects to which it is linked.
On the other hand, adding a symbol to an automation object is to create a symbol that is natively
hosted by the object. You can edit the symbol within the object, such as when you embed a symbol
from the Graphics tab and then customize it for the object. When the symbol in a template object
changes, the changes will propagate to its child objects and wherever they are referenced.
ot
Deleting automation objects with added symbols will delete those symbols, since the symbols only
exist within the automation objects. However, deleting automation objects with liked symbols will
not delete the symbols because the symbols still exist on the Graphics tab.
Note the following for linked symbols:
 Symbols on the Graphics tab can be linked to automation objects
N

 Linked symbols in automation objects can be embedded into other symbols


 Changes made to a linked or embedded symbol are propagated to automation objects to
which the symbol is linked and to the graphics in which the symbol is embedded
 Relative references used in a linked symbol will be resolved through the object to which it
is linked.
Some limitations of using linked symbols are:
o

 Custom properties in a linked symbol cannot be customized directly


 Only symbols from the Graphics tab can be linked to an object
D

Add or Link Symbols in Automation Objects


When adding symbols to an automation object, you can create the symbols in the object and then
develop the symbol as needed. These symbols become content in the automation object.
Alternatively, you can create symbols on the Graphics tab and then link the symbols from the
Graphics tab to the object. Linked symbols remain on the Graphics tab but are associated with the
automation object as content.

AVEVA™ InTouch for System Platform 2023


3-46 Module 3 – Symbols

When editing an object in the Object Editor, you can add a symbol or link an external symbol to an
object from the Content pane on the Attributes tab. Clicking the Add button creates a symbol and
clicking the Link Content button opens the Galaxy Browser, allowing you to browse for and select a
symbol from the Graphics tab to link.

y
op
You can select a symbol from the list and click the Edit Content button to edit the symbol in the
Graphic Editor.

C
ot
N

Relative References in Graphics


You can use relative references when configuring graphics. Relative References are references
that go up the object hierarchy to parent objects. Relative references such as “Me” and “MyArea”
are valid reference strings. The following relative references refer to the current object:
o

 Me
 MyArea
 MyContainer
D

 MyEngine
 MyHost
 MyPlatform
Relative references are resolved in runtime when the graphic is displayed in the running
application.

AVEVA™ Training
Section 3 – Graphics with Objects 3-47

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

y
op
C
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.

Selecting Alternate Symbols of the Same Instance


ot
AutomationObjects 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 Graphic Editor and WindowMaker.

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

To access this feature from the Graphic 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
o

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
D

 Right-click the embedded symbol and select


Industrial Graphic “<current graphic name>” | Select Alternate Symbol

AVEVA™ InTouch for System Platform 2023


3-48 Module 3 – Symbols

The Galaxy Browser displays symbols belonging to the same instance. An alternate symbol can
be selected:

y
op
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.

C
ot
N
o
D

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

Lab 6 – Creating the Mixer Components

Introduction
In this lab, you will create graphics to represent equipment modeled in the Galaxy, including
motors such as an agitator, valves, and pumps. Additionally, you will create meters for temperature
and level. You will also configure these to meet the requirements of the corresponding mixing
equipment and sensors.
Then you will configure the graphics with I/O links using relative references. This will allow the

y
single graphic in each template to be reused in all of its derived templates that represent the
corresponding mixing equipment and sensors.
Finally, you will associate the graphics with their corresponding template objects using the Link

op
Content feature.

Objectives
Upon completion of this lab, you will be able to:
 Link symbols to template objects


Duplicate symbols

C
Search for graphics in the Graphic Editor Toolbox
Configure graphics with relative references
Use Substitute References to modify references in embedded graphics
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-50 Module 3 – Symbols

Create the Level Graphic


First, you will create a Level_Detailed symbol. Then you will embed the SA_Meters graphic and
configure it to show the mixer level.
1. In the IDE, on the Graphics tab, right-click the Training toolset and select New | Symbol.

y
op
2. Name the new symbol as Level_Detailed.
C
ot
N
o
D

3. Double-click Level_Detailed to edit it.

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

4. On the right side of the Graphic Editor, select the Toolbox tab, and then in the Search field,
enter meters.

y
op
C
5. In the preview area, select SA_Meters.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-52 Module 3 – Symbols

6. Drag SA_Meters to the canvas.

y
op
The graphic appears on the canvas. C
ot
N
o
D

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

7. Select the Properties tab, and in Name, enter LevelMeter.

8. In Wizard Options, configure the following options:

y
Note: As you modify the wizard options, observe the changes to the graphic on the canvas.

Type: Level

op
LabelType: ObjectTagname
EngUnitsType: CustomPropertyLabel

The graphic is updated based on the properties selected.

C
ot
N

9. Click Save and Close and check in the graphic.


o
D

AVEVA™ InTouch for System Platform 2023


3-54 Module 3 – Symbols

Create the Temperature Symbol


Next, you will duplicate the Level_Detailed symbol to create the Temperature_Detailed symbol that
will be used to display the temperature in the mixer.
10. In the IDE, on the Graphics tab, right-click Level_Detailed and select Duplicate.

y
op
C
ot
11. Name the duplicate as Temperature_Detailed.
N

12. Double-click Temperature_Detailed to edit it.


o
D

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

13. Select the LevelMeter symbol on the canvas.


14. On the Properties tab, rename LevelMeter as TemperatureMeter.
15. In Wizard Options, change the Type to Temperature.
The graphic is updated on the canvas.

y
op
16. Save and close and check in the graphic.

Create the Valve Symbol

C
Now, you will create and configure a Valve_Detailed symbol to show the mixer valves.
17. On the Graphics tab, right-click the Training toolset and select New | Symbol.
18. Name the symbol as Valve_Detailed and open it for editing.
19. Select the Toolbox tab.
ot
20. In the Search field, enter valve_a.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-56 Module 3 – Symbols

21. Drag SA_Valve_And_Damper to the canvas.

y
op
22. Name the graphic as Valve.
23. Configure wizard options as follows:

DiscreteCmdType:
Actuator:
LimitSwitches:
LabelType:
SymbolMode:
Dual
C
CmdOpenAndClose
Control

ObjectTagname
Advanced
ot
DirectionOfTravelIndicator: True
N
o
D

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

24. On the canvas, right-click Valve and select Custom Properties.


25. Configure custom properties as follows:

Note: Use of relative references allows this graphic to be added once to the template object
and then reused in multiple instances. At runtime, the keyword Me in each of the instances
derived from the template will replace Me with the name of the instance. Additionally, use of
the keyword not reverses the Boolean value of .Cmd to support both valve states.

CmdClose: not Me.Cmd

y
CmdOpen: Me.Cmd

op
C
ot

26. Click OK to close Edit Custom Properties.


N

27. Save and close and check in the graphic.

Create the Agitator Symbol


Now, you will create and configure an Agitator_Detailed symbol to show the mixer agitator.
o

28. On the Graphics tab, right-click the Training toolset and select New | Symbol.
29. Rename the symbol Agitator_Detailed and open it for editing.
30. On the Toolbox tab, search for agitator.
D

AVEVA™ InTouch for System Platform 2023


3-58 Module 3 – Symbols

31. Drag SA_Agitator_Settler to the canvas.

y
op
32. Name the graphic as Agitator, and then configure the following wizard options:

LabelType:
PVNumericDisplay:
EngUnits:
EngUnitsType:
SymbolMode:
True
C
ObjectTagname
True

CustomPropertyLabel
Advanced
ot
EquipmentStatusIndicator: True
SetPoint: True
N
o
D

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

33. On the canvas, right-click Agitator and select Substitute | Substitute References.

y
op
Substitute Reference appears.

C
34. In the New column, rename Me.SP to Me.Speed.SP.
ot
N

35. Click Find & Replace.


Substitute Reference expands to show Find & Replace options.
o
D

AVEVA™ InTouch for System Platform 2023


3-60 Module 3 – Symbols

36. In Find What?, enter Me.PV.


37. In Replace with, enter Me.Speed.PV.

y
38. Click Replace All.

op
The status bar indicates 4 String(s) replaced and references in the New column appear as
follows:

C
ot
N
o

39. Click OK to close Substitute Reference.


D

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

40. On the canvas, right-click the Agitator and select Custom Properties.
41. Configure custom properties as follows:

EquipState: Me.PV
EquipStateActive: Me.PV
EquipStatePassive: not Me.PV

y
op
C
ot
42. Click OK to close Edit Custom Properties.
43. Save and close and check in the graphic.

Create the Pump Symbol


N

Now, you will create and configure a Pump_Detailed symbol to show the mixer pumps.
44. On the Graphics tab, right-click the Training toolset and select New | Symbol.
45. Name the symbol as Pump_Detailed and open it for editing.
o
D

AVEVA™ InTouch for System Platform 2023


3-62 Module 3 – Symbols

46. On the Toolbox tab, search for sa_pump, and then drag SA_Pump_Blower_RotaryValve to
the canvas.

y
op
47. Name the graphic as Pump, and then configure the following wizard option:

LabelType: ObjectTagname

C
ot
N

48. Configure the following custom property:

EquipState:
o

Me.PV
D

49. Save and close and check in the graphic.

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

Associate Symbols with Templates


Now, you will link the symbols you just created to their associated templates.
50. On the Templates tab, in the Training\Project toolset, double-click $Agitator to edit it.

y
op
The Object Editor appears.
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-64 Module 3 – Symbols

51. On the Attributes tab, click the Configure Wizard Options button to hide the Object Wizard.

y
op
The Attributes tab expands to show only Attributes and Content.

C
ot
N

52. In the Content pane, click the Link Content button.


o
D

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

The Galaxy Browser appears.


53. Select the Training toolset and then select Agitator_Detailed.

y
op
C
54. Click OK to close the Galaxy Browser.
ot
Agitator_Detailed appears in the Content pane.
55. Save and close the $Agitator object.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-66 Module 3 – Symbols

Check-in appears, with a warning that indicates the changes to the object will be propagated
to derived objects.

Note: In a real-world development environment, before accepting the check in, the warning
tells you that you need to notify any developers working on derivations that will be impacted by
this check in. The best way to proceed is to cancel the check in. When you cancel the check
in, the object remains checked out and your changes are not lost. Then, using the Derivation
view, you can identify objects in the hierarchy that must be checked in before you can
proceed. For the purposes of this lab, where only one developer is involved, you will check in
the object.

y
op
C
ot
N
o

56. Click Check-in and complete the check-in process.


D

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

57. On the Templates tab, in the Training\Project toolset, double-click $Level to open it for
editing.
58. In Content, click the Link Content button.
59. In the Galaxy Browser, in the Training toolset, double-click Level_Detailed to link it to the
$Level object.
60. Save and close and check in $Level.
Now you will add the remaining symbols to their template objects.
61. Link the following symbols to their respective templates:

y
Template Symbol
$Pump Pump_Detailed
$Temperature Temperature_Detailed

op
$Valve Valve_Detailed

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-68 Module 3 – Symbols

Test in Runtime
Finally, you will test the functionality of one of the symbols you created in runtime.
62. Switch to WindowMaker.
63. In the ContentDisplay window, right-click and select Embed Industrial Graphic.

y
op
C
The Galaxy Browser opens showing the template versions of the graphics configured with
ot
Me. references. These graphics will not work at runtime.
N
o
D

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

In the following steps, you will select a graphic from the instance where the Me. references are
replaced by actual I/O links.
64. In the Galaxy Browser, click the Instances button to change the view.
65. In Instances, scroll down and select Level_001.

y
op
C
ot
66. On the right, in the Level_001 graphic list, double-click Level_Detailed.
The instance graphic is embedded in the window.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-70 Module 3 – Symbols

67. Click Runtime.


68. Verify the graphic displays live data.
The lowercase l below the value display indicates the engineering units for liters.

y
op
C
69. Click the ContentDisplay window to set focus to it.
70. On your keyboard, press and hold the Ctrl key, and then with your mouse, scroll the mouse
wheel forward and backward to zoom the graphic in and out.
When zoomed in, the zoom control bar appears at the bottom of the window.
ot
Note: Alternatively, you can make the zoom and pan control bar always visible at runtime.
This is done by setting the Show zoom control property to Visible in WindowMaker. The Show
zoom control property appears in the properties list after you click inside the frame window.
N
o
D

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

71. In the zoom control bar, in the drop-down list, select 300.
The zoom percent is set to 300.

72. In the zoom control bar, click the Pan button.

y
op
Pan mode is enabled and the cursor becomes a hand cursor.
73. In the ContentDisplay window, click and hold the mouse and move left, right, up, and down to
pan the graphic.

Note: Alternatively, you can pan by clicking and holding down the mouse wheel and moving
the mouse.

C
74. In the zoom control bar, click the Normal button.
ot
The view is restored to 100 percent and the zoom control bar is hidden.
N
o
D

75. Click Development! to return to WindowMaker.

<End of Lab>

AVEVA™ InTouch for System Platform 2023


3-72 Module 3 – Symbols

y
op
C
ot
N
o
D

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

Section 4 – Graphic Editor Tools and Animations


This section provides an overview of graphic tools available in the Graphic Editor, as well as
visualization and interaction animations. It also reviews containment relationships between
automation objects.

Introduction
You can use features of the Graphic Editor and its environment to create custom graphics from

y
basic graphic elements. Graphic elements are basic shapes and controls you can use to create a
graphic to your specifications. You can then embed them in another graphic or HMI system
window and use them at runtime.

op
You can also use animations to change the appearance of graphic elements at runtime.
Animations can be driven by data that comes from attribute values and expressions, as well as
element properties.

Tools Pane
Tools for drawing elements on the canvas are provided in the Graphic Editor Tools pane.

C
ot
The Tools pane includes:
 Tools for drawing basic objects, such as lines, rectangles, polygons, and arcs
A pointer tool for selecting and moving elements on the canvas
N

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

Rectangle, Rounded Rectangle, Ellipses, and Line Tools


o

You can draw rectangles, rounded rectangles, ellipses, and lines on the canvas.
D

AVEVA™ InTouch for System Platform 2023


3-74 Module 3 – Symbols

Polyline, Polygon, Curve, and Closed Curve Tools


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

y
2-Point Arc, 2-Point Pie, and 2-Point Chord Tools
You can draw 2-point arcs, 2-point pies, and 2-point chords on the canvas. If a closed element is

op
being drawn, the element automatically closes when done drawing.

C
3-Point Arc, 3-Point Pie, and 3-Point Chord Tools
You can draw 3-point arcs, 3-point pies, and 3-point chords on the canvas. If a closed element is
being drawn, the element automatically closes when done drawing.
ot
N

Text Tools
You can place text and text boxes on the canvas.
o
D

A Text element has no border and no background fill, and the text does not wrap. A Text Box
element can have a border and background fill, and can be configured to wrap text.

AVEVA™ Training
Section 4 – Graphic Editor Tools and Animations 3-75

Connectors and Connection Points


A connector is a line drawn between graphic elements. It starts at a connection point on one
graphic element and ends at a connection point on another element. Connectors are particularly
useful for complex graphics like flow diagrams, industrial piping, or electrical wiring diagrams that
incorporate many lines between graphic elements.

y
op
Connectors change length or orientation in response to changes to the connected graphic
elements during design or runtime. Graphic elements can be moved, resized, or rotated and still
maintain the connector between elements.
Connection points are the locations on a graphic element to attach a connector. A default set of
connection points appear on the bounding rectangle around a graphic element or an embedded
graphic.

C
ot
You can also add custom connection points to graphic elements or embedded graphics if you want
to place a connector at a different position than on a bounding rectangle.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-76 Module 3 – Symbols

Draw a Connector
You can use the Connector tool to draw a connector between graphic elements.

y
To draw a single connector between two elements, move your mouse over the first element and
click a connection point. Then press and hold your left mouse button, drag the mouse to the

op
second graphic element, and release the mouse when you are over the selected connection point.
The connector appears as a line between the two elements.

C
ot
If you want to draw multiple connectors, you can double-click the Connector tool. Double-clicking a
tool saves time by not requiring you to reselect the tool when using it to draw multiple elements of
the same type on the canvas one after the other. Clicking another tool or pressing the Esc key will
cancel the operation.
N
o
D

AVEVA™ Training
Section 4 – Graphic Editor Tools and Animations 3-77

Add a Connection Point


You can use the Connection Point tool to place additional connection points on a graphic element.

y
To add a single connection point, move your mouse to a location on a graphic element where you
want to place a new connection point and click once. The new connection point appears as a

op
green rectangle at the location you selected.

C
ot
Connection points can be added within the bounding rectangle of the hosting element of the
embedded graphic.
If you want to add multiple connection points, you can double-click the Connect tool. Double-
clicking a tool saves time by not requiring you to reselect the tool when using it to draw multiple
elements of the same type on the canvas one after the other. Clicking another tool or pressing the
N

Esc key will cancel the operation.


o
D

AVEVA™ InTouch for System Platform 2023


3-78 Module 3 – Symbols

Animations
Animations can be used to change the appearance of graphic elements and allow users to interact
with the view application at runtime. Some animations can be driven by data from automation
objects, element properties, and other data sources. You configure animations with the Edit
Animations dialog box
You can use:
 Visualization animations such as Visibility, Fill Style, Line Style, Text Style, Element
Style, and more.
Interaction animations such as Disable, User Input, Slider Horizontal, Slider Vertical,

y

Pushbutton, Action Scripts, and more.

op
C
ot
Elements in your graphic can have one or more animations. You can disable and enable individual
animations. You can also cut, copy, and paste animations between elements. Only animations
supported by the target element are pasted. You can also substitute references and strings in
N

animations.
Not all animations are available for all element types. Some animations do not make logical sense,
such as line style with a text element. You cannot select or copy these invalid combinations.
o
D

AVEVA™ Training
Section 4 – Graphic Editor Tools and Animations 3-79

Value Display Animations


For text elements, you can add Value Display animations to specify values at runtime. You can
configure it to show:
 A Boolean value as a Message
 An Analog value
 A string value
 A time or date value
 The tag name, hierarchical name or contained name of the hosting object

y
 A value based on Truth Table conditions
 A value based on Bit State conditions

op
Disable Animation
C
You can enable or disable animations for an element. When you disable an animation, its
ot
configuration is not lost. You can see each animation independently from each other.
You can also disable animations from the Animation Summary pane in the bottom-right corner of
the Graphic Editor.

Element Style Animation


N

You can use Element Style animations to apply element styles to an element or group of elements.
 Boolean: Applies element styles based on a binary True, 1, On or False, 0, Off condition.
 Truth Table: Applies element styles based on a set of evaluated values or expressions.
 Bit State: Applies element styles based on bit state conditions.
o
D

AVEVA™ InTouch for System Platform 2023


3-80 Module 3 – Symbols

Containment Relationships
Application objects can be included in a containment relationship. When working in a containment
relationship, symbols in each object can be embedded in other objects within the same
containment by using relative references. In this way, the relative references within the embedded
symbols will be resolved without further configuration.
For example, if a contained object includes a symbol that is configured using relative references
(such as Me.PV), the symbol can be embedded in a symbol of the container object.
At the template level of containment, if the container template needs to include symbols from its
contain templates, then you must add a symbol in the container template and embed the symbols

y
from the contained templates through relative referencing.

Element Styles

op
Element Styles define a set of visual properties that determine the appearance of text, lines,
graphic outlines, and interior fills shown in Industrial Graphics. They provide a means for
developers to establish consistent visual standards in their applications. When applied to a
graphic, the Element Style sets preconfigured visual property values that take precedence over the
graphic’s native visual properties.
The ElementStyle property on the Properties tab provides a list of element styles that can be

C
applied to graphics. For more information of Element Styles, refer to Section 8, “Galaxy Styles.”
ot
N
o
D

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

Lab 7 – Creating the Mixer Display

Introduction
In this lab, you will embed graphics in a containment relationship to create a composite view of the
agitator, level, pumps, temperature, and valves in the Mixer application. You will add a symbol to
the $Mixer template that will combine the contained graphics organized to represent the entire
mixing process. To this symbol, you will also add text elements, animations, connection points,
connectors, and apply element styles.

y
op
C
ot

Objectives
N

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


 Add a symbol in an automation object
 Embed graphics from relative references
 Configure and embed graphics within a containment relationship
o

 Add Text elements and configure Value Display animations


 Apply element styles to elements
 Use connectors and connection points
D

 Change element display order


 Replace a graphic in a frame window

AVEVA™ InTouch for System Platform 2023


3-82 Module 3 – Symbols

Create the Mixer Symbol


First, you will create a MixingProcess_Detailed symbol in the $Mixer template. This symbol will
contain the graphics you created in the previous lab for the agitator, level, pumps, temperature,
and valves.
1. In the IDE, on the Templates tab, in the Training\Project template toolset, double-click the
$Mixer template to open it for editing.
2. In Content, click the Add button.

y
op
3. In Name, enter MixingProcess_Detailed.
C
ot
4. In Description, enter Includes symbols from all contained objects.
N
o
D

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

5. In Content, click the Edit Content button to open the Graphic Editor.

y
op
Note: You can also double-click MixingProcess_Detailed in the Content pane to open the
Graphic Editor.

C
You will now embed symbols from contained objects through relative references.
6. Right-click the canvas and select Embed Industrial Graphic.
7. In the Galaxy Browser, click the Relative References button, and then embed
Me.Pump1\Pump_Detailed.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-84 Module 3 – Symbols

8. Place the graphic on the canvas as shown below:


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

y
op
9. Use the Galaxy Browser to embed Me.Pump2\Pump_Detailed on the canvas below the first
pump as shown below:

C
ot
N
o
D

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

10. Embed the following symbols on the canvas, using the screen shot below as a guide.
Relative Reference Symbol Name
Me.Inlet1 Valve_Detailed
Me.Inlet2 Valve_Detailed
Me.Outlet Valve_Detailed
Me.Agitator Agitator_Detailed
Me.Level Level_Detailed
Me.Temperature Temperature_Detailed

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-86 Module 3 – Symbols

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

y
op
C
12. Move and resize SA_Tank_Vessel on the canvas to cover the Agitator, Level, and
Temperature graphics.
ot
N
o
D

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

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

Name: Tank
QualityStatusIndicator: False

14. Right-click Tank and select Substitute | Substitute Strings.


15. Change Label to Mixer.

y
op
C
ot
16. Click OK to close Substitute Strings.
The label changes to Mixer.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-88 Module 3 – Symbols

17. With Tank selected, right-click and select Order | Send To Back.

y
op
C
ot
The order of the elements is updated and displayed in Elements.
N
o
D

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

Add Connection Points and Draw Connectors Between Graphics


Next, you will add connection points to the Tank, and then draw connectors between the graphics
to represent piping. You will use the Connection Point element and the Connector element from
the Tools pane.
18. On the toolbar at the top, click the Canvas Zoom drop-down list, and select Fit.
19. Click Snap to Grid to turn off the snap to grid feature.

y
op
C
ot
20. In Tools, double-click Connection Point.
The cursor changes to a cross hair cursor.
N

Note: Double-clicking a tool saves time by not requiring you to reselect the tool when using it
to draw multiple elements of the same type on the canvas one after the other. Clicking another
tool or pressing the Esc key will cancel the operation.
o
D

AVEVA™ InTouch for System Platform 2023


3-90 Module 3 – Symbols

21. Move the cursor to the left-side border of the tank and align the cursor with the built-in
connection point on the right side of the Inlet1 graphic.
The tank border turns green when the connection point cursor hovers over it.

y
op
22. Click to place the Connection Point element on the border of the tank.

C
ot
N

23. Add a second Connection Point element to the left side border of the tank, aligned with the
built-in connection point on the right side of the Inlet2 graphic.
o
D

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

The second connection point is added to the left-side border of the tank.

y
op
Next, you will add connectors.
24. In Tools, double-click Connector.

C
ot
25. Hover over the bottom-center of the Tank until the connection point appears, then click and
drag the connector to the connection point on the left side of the Outlet valve.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-92 Module 3 – Symbols

26. Hover over the connection point on the right side of Pump1, and then drag the connector to
the connection point on the left side of Valve1.

y
op
27. Create a connector between Valve1 and the adjacent connection point on the Tank.

C
ot
N
o
D

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

28. Add connectors between Pump2, Inlet2, and Tank as shown below:

y
op
C
ot
29. In Tools, click Pointer.
N
o

Note: Clicking the Pointer cancels the connector drawing operation.


D

AVEVA™ InTouch for System Platform 2023


3-94 Module 3 – Symbols

30. In Elements, press the Ctrl key and select the following elements:
 Connector5
 Connector4
 Connector3
 Connector2

y
op
C
31. On the Properties tab, in the ConnectionType drop-down list, select Straight.
ot
The bends in the selected connectors are removed. However, the valves and pumps may not
be aligned. You will do this next.
N
o
D

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

32. On the canvas, select Pump1, press and hold the Shift key down, and then select Pump2 to
add it to the selection.
Both pumps are now selected.
33. With both pumps selected, use the up or down arrow keys on the keyboard to straighten the
connectors between pumps and valves.

y
op
C
ot
N

If necessary, make other adjustments to the valves to ensure all the connectors are straight.
o
D

AVEVA™ InTouch for System Platform 2023


3-96 Module 3 – Symbols

Add Text to Display Object Name and Area Name


Now, you will add text elements to display the mixer name and area information. Then you will
apply Element Styles and Value Display animations to these text elements.
34. In Tools, click Text.

y
op
35. Click at the top-left of the canvas.
36. Type Object Name and press Enter, and then type Area Name.

C
ot
N
o
D

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

37. Click the canvas to cancel creating more text elements.


The text elements should look similar to the following:

y
op
C
38. Select the Object Name text, and on the Properties tab, name the element ObjectName.
39. On the Properties tab, in the ElementStyle drop-down search field, enter title and select
Title.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-98 Module 3 – Symbols

40. On the canvas, select the Area Name text and configure properties as follows:

Name: AreaName
ElementStyle: Heading

y
41. Move the Area Name text down a little.

op
In the following steps, you will add animations to your text.
42. On the canvas, double-click ObjectName.
Edit Animations appears.
43. Click the Add Animation button. C
ot
N
o
D

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

44. Select the Value Display animation.

y
op
Name to be displayed:
Name C
45. Configure the animation as follows:

States:
Tag Name (default)
ot
N

46. Click OK to close Edit Animations.


o

The text element is updated.


D

AVEVA™ InTouch for System Platform 2023


3-100 Module 3 – Symbols

47. On the canvas, double-click AreaName.


48. Add a Value Display animation.

y
op
49. In States, click String.
C
50. In Expression Or Reference, in the String field, enter Me.Area.
ot
N

51. Click OK to close Edit Animations.


52. On the toolbar at the top, click Snap to Grid to enable the feature.
53. On the toolbar at the top, click Zoom to Normal.
o
D

The elements on the canvas are resized.

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

54. Click the canvas to set focus on the canvas.


55. On the Properties tab, change the Size property to Fixed.
56. Adjust the canvas size to fit all elements, leaving some white space around the edges.

y
op
C
57. Save and close the MixingProcess_Detailed graphic.
ot
58. Save and close the $Mixer object and check it in.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-102 Module 3 – Symbols

Replace Level Graphic with MixingProcess Graphic in


ContentDisplay Window
In the following steps, you will replace the Level_Detailed graphic in the ContentDisplay window
with the MixingProcess_Detailed graphic you just created.
59. Switch to WindowMaker.
60. Right-click the ContentDisplay window and select Embed Industrial Graphic.
61. In the Galaxy Browser, click the Instances button, and then select
Mixer100\MixingProcess_Detailed.

y
op
C
ot
62. Click OK.
A WindowMaker message appears, prompting you to confirm the replacement.
This is because frame windows can only host one embedded symbol.
N
o
D

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

63. Click Yes to replace Level_001.Level_Detailed.


The graphic is replaced.

y
op
Test in Runtime

64. Click Runtime. C


Finally, you will view the MixingProcess_Detailed graphic in runtime.

The MixingProcess_Detailed graphic appears in the ContentDisplay window.


ot
N
o

65. Click Development! to return to WindowMaker.


D

<End of Lab>

AVEVA™ InTouch for System Platform 2023


3-104 Module 3 – Symbols

y
op
C
ot
N
o
D

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

Section 5 – The OwningObject Property


This section introduces the OwningObject property and Windows common controls.

OwningObject Property
OwningObject is a runtime property used to dynamically change the references within a graphic
from one instance to another. It can be used as the object reference to replace all “Me.” references
in expressions and scripts. The object name can be set using the tagname or the hierarchical

y
name of an automation object.

op
C
ot
Windows Common Controls
You can add the following Windows common controls to your graphic:
 Radio button group
N

 Check box
 Edit box
 Combo box
 Calendar control
 DateTime picker
List box
o

You can place these Windows common controls as you would any other element by selecting
them from the Tools pane. You click on the canvas to position a common control and, with
exception of the calendar control, drag the rectangle to set the control.
D

After placing the control on the canvas, you can configure:


 Background color and text color (with exception of the DateTime Picker control).
 Other control-specific properties
 Control-specific animations

AVEVA™ InTouch for System Platform 2023


3-106 Module 3 – Symbols

Combo Box Control and Combo Box Animation


Combo Box controls allow users to select from a foldable list.

y
You can configure a Combo Box element with a Combo Box animation. The Combo Box animation

op
is only used by the Combo Box element.

C
ot
N

Combo Box types include:


 Simple: At runtime, users can type a value or select one using up and down arrow
buttons.
DropDown: At runtime, users can type a value or select one from the list
o

 DropDownList: At runtime, users can only select a value from the list. They cannot type
one.
You can use the Static Values and Captions list to define values for the drop-down list.
D

You can also use properties that are specific to the Combo Box control in scripting. At runtime, you
can access the script to view and modify the items in the Combo Box Control.
Some Combo Box-specific properties available at runtime include:
 Count: Returns the number of items in a Combo Box control
 NewIndex: Returns the index of the last item added to the Combo Box list
These properties are available when you browse for a Combo Box control in your HMI's attribute/
tag browser.

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

Lab 8 – Switching Between Mixers

Introduction
In this lab, you will add a Combo Box to provide a drop-down list that operators can use to select
which mixer they want to view at runtime.

y
op
C
The mechanism used to switch mixers is the OwningObject property. The OwningObject property
will be linked to the drop-down list to allow operators to change the instance reference used by the
graphic to show data and animations.

Objectives
ot
Upon completion of this lab, you will be able to:
 Use the OwningObject property to dynamically change instance references of a graphic
 Add and configure a Combo Box
N
o
D

AVEVA™ InTouch for System Platform 2023


3-108 Module 3 – Symbols

Create a User Interactive Mixer Selector


First, you will create a SwitchedMixingProcess symbol in the $Mixer template, which will be
used to switch between mixers at runtime.
1. In the IDE, on the Templates tab, in the Training\Project template toolset, double-click the
$Mixer template.
2. In Content, click the Add button.

y
op
3. Name the symbol SwitchedMixingProcess, and then click the Edit Content button to open
for editing.

C
ot

4. Right-click the canvas and select Embed Industrial Graphic.


N

5. In Relative References, verify Me is selected, and then in the Me pane, select


MixingProcess_Detailed.
o
D

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

6. Click OK and place MixingProcess_Detailed on the canvas.


7. Name the graphic MixingProcess.

y
op
Add the Combo Box
C
Next, you will add a Combo Box and a text label to the canvas.
8. Aligned to the right of the $Mixer text, add a Text element with the text Select Mixer.
ot
N
o

9. Configure the properties of the Text element as follows:

Name: SelectMixer
Element Style: Heading
D

AVEVA™ InTouch for System Platform 2023


3-110 Module 3 – Symbols

Next you will add a Combo Box.


10. In Tools, click Combo Box.

y
11. Below the Select Mixer text, click and drag diagonally to draw a Combo Box.

op
12. Name the Combo Box as MixerDropDown.
C
ot
N
o
D

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

13. On the canvas, double-click the Combo Box to open Edit Animations.
14. In Edit Animations, in the Reference field, enter MixingProcess.OwningObject.

Note: MixingProcess is the name you gave to the $Mixer.MixingProcess_Detailed


graphic that you embedded on the canvas in this lab. The Combo Box will modify the
OwningObject property of this graphic at runtime.

y
op
15. In Static Values and Captions, click the Add a row [Insert] button five times.
One row in the table is needed for each of the eight mixers.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-112 Module 3 – Symbols

Before you enter values in the table, you will enable a property that affects the workflow for
entering values. You will also set additional properties.
16. Below the table, check the Use Values as Captions check box.
17. Uncheck AllowDuplicates.
18. In the Type drop-down list, select DropDown.

y
op
C
ot
N
o
D

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

19. In the Value column, enter the following values, pressing Tab after each entry to move to the
next row.
Notice that the Caption field automatically uses the value text.
 Mixer100
 Mixer200
 Mixer300
 Mixer400
 Mixer500
Mixer600

y

 Mixer700
 Mixer800

op
The configuration of your Combo Box animation will appear as follows:

C
ot
N
o

20. Click OK to close Edit Animations.


D

21. Save and close the graphic.


22. Save and close and check in the $Mixer template.

AVEVA™ InTouch for System Platform 2023


3-114 Module 3 – Symbols

Embed the New Symbol


Now, you will replace the symbol in WindowMaker with the new SwitchedMixingProcess symbol
you just created.
23. In WindowMaker, in the ContentDisplay window, right-click and select Embed Industrial
Graphic to open the Galaxy Browser.
24. In Instances, scroll down and select Mixer100, and then in the Mixer100 pane, select
SwitchedMixingProcess.

y
op
25. Click OK.
C
ot
26. In the WindowMaker message, click Yes to replace the symbol.
The symbol is replaced.
N
o
D

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

Test in Runtime
Finally, you will test the functionality of the drop-down list.
27. Click Runtime.
28. Use the Select Mixer drop-down list to select Mixer500.
29. Observe that the graphic updates to show Mixer500 names and values.

y
op
C
30. Use the Select Mixer drop-down list to switch to other mixers.
31. When you are finished testing, click Development! to return to WindowMaker.
ot
<End of Lab>
N
o
D

AVEVA™ InTouch for System Platform 2023


3-116 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Section 6 – Custom Properties 3-117

Section 6 – Custom Properties


This section provides a brief overview of custom properties for symbols. It also describes the
Button tool and explains how to use the PushButton and Show Symbol animations. Additionally, it
describes the TreatAsIcon property.

Introduction
You can use custom properties to customize embedded graphics to extend the functionality of the

y
graphic. A custom property can contain:
 A value or valid expression
 An attribute from the automation object

op
 A property of an element or graphic
 A custom property of an embedded graphic
 A script function
Custom properties can be set to either Private or Public:
 A Private custom property is not exposed when the graphic is embedded.
 A Public custom property can be customized when the graphic is embedded.

 C
Custom properties can also have Absolute or Relative references:
An Absolute reference to an attribute that is fully defined, such as Tank1.InletValve.PV
A Relative reference up the hierarchy to parent objects, such as Me.InletValve.PV
If public custom properties exist for an embedded graphic, they display on the Properties tab in the
Custom Properties category when the embedded graphic is selected.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-118 Module 3 – Symbols

Create and Edit Custom Properties


You use the Edit Custom Properties dialog box to create and edit custom properties. To add a
custom property, click the Add custom property (+) button on the top-left of the dialog box.

y
op
A new line appears in the list of custom properties on the left, and you can enter a name for the
new custom property.

C
ot
Then you can configure the custom property in the configuration area on the right.
N
o
D

AVEVA™ Training
Section 6 – Custom Properties 3-119

Data Type
The data type for the custom property can be Boolean, Double, ElapsedTime, Float, Integer,
String, Time, or HistorySummary. An icon for the selected data type appears at the top of the
dialog box.

Data Type Icon


Boolean

Double

y
Elapsed Time

op
Float

Integer

String

Time C
ot
History Summary

Default Value
The Default Value is the initial default value for the custom property. It can be a literal value,
N

reference, or expression. You can click the ellipsis button to browse for a reference using the
Galaxy Browser.
If the selected data type is String, Time, or ElapsedTime, click the button to the left of the Default
Value field to indicate whether the default value is a static value or a reference to a value.

Static Text: The default value is a static value. This mode treats the Default Value
o


field as text.

 Expression or Reference: The default value is an expression or a reference. This


D

mode treats the Default Value field as a lookup list or evaluation of a mathematical
expression or a logic expression.

Visibility
The Visibility setting determines whether the custom property is visible to be configured when the
symbol is embedded. Any property marked as Private is not visible in an embedded symbol. This
can be used to hide configurations that you do not want designers to modify.

AVEVA™ InTouch for System Platform 2023


3-120 Module 3 – Symbols

Description
The Description provides a brief note about the custom property. For symbols from a built-in
library, the description contains helpful tips on how to use the custom property.

Button Tool
You can use the Button tool to add buttons to your graphics.

y
op
To draw a button, select the Button tool from the Tools pane, click the canvas, drag the shape of
the button, and release the mouse. Text on the button appears in edit mode and you can type a
label for the button and press Enter. You can also use the Text property to specify the label for the
button, as well as size properties and others from the Properties tab.

C
You can apply animations, such as Pushbutton, Value Display, Element Style, and others to
configure the button.
ot
Pushbutton Animation
You can configure an element with a Pushbutton animation to change Boolean, analog, or string
references.
N
o
D

AVEVA™ Training
Section 6 – Custom Properties 3-121

Show Symbol and Hide Symbol Animations


You can configure an element with a Show Symbol animation, which shows a specified graphic as
a pop-up window when the element is clicked at runtime. The animation pops-up the specified
graphic independent of any InTouch window at a specified position when a user clicks the element
at runtime.
 You can configure options such as:
 Which graphic appears in the new window
 If the window has a title bar, and if so if it has a caption
If the window is modal or modeless

y

 If the window has a close button


 If the window can be resized

op
 The initial position of the window
 The size of the window
 A shortcut key for showing the graphic
To specify the graphic, you can enter the name in the Reference field or browse for the graphic
with the Galaxy Browser.

C
ot
N
o
D

You can configure an element with a Hide Symbol animation. The Hide Symbol animation lets you
close:
 The current graphic
 A graphic that is shown by a specified element.
 You can also configure a shortcut key for closing the graphic.

AVEVA™ InTouch for System Platform 2023


3-122 Module 3 – Symbols

TreatAsIcon Property
Setting TreatAsIcon to True enables interaction animations for an embedded graphic. If
TreatAsIcon is False, the animations defined in the graphic take precedence.

y
op
C
ot
N
o
D

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

Lab 9 – Creating a Custom Symbol

Introduction
In this lab, you will create custom symbols to be used as command panels for opening and closing
valves, starting and stopping pumps and agitators, and changing the speed setpoint for an
agitator.
In the command panel graphic, you will create and configure custom properties that will be used in
animations. You will add button elements and configure them with Pushbutton and Element Style

y
animations.

op
C
Finally, in the Agitator_Detailed, Pump_Detailed, and Valve_Detailed graphics, you will add Show
Symbol animations to show their respective command panels at runtime.

Objectives
ot
Upon completion of this lab, you will be able to:
 Create and configure custom properties in a graphic
 Use the Button tool
 Use Pushbutton animations
N

 Use Element Style animations


 Use Show Symbol animations
 Add the Quality & Status element to a custom graphic
 Configure the TreatAsIcon property of embedded graphics
o
D

AVEVA™ InTouch for System Platform 2023


3-124 Module 3 – Symbols

Create a Command Panel Symbol


First, you will create a CommandPanel graphic with buttons that can be used at runtime to operate
valves and pumps.
1. In the IDE, on the Graphics tab, in the Training toolset, create a new symbol named
CommandPanel and open it for editing.
Now you will add custom properties to the graphic.
2. Right-click the canvas to set focus on the canvas, and then select Custom Properties.

y
op
Edit Custom Properties appears.
3. Click the Add custom property button.
C
ot
N

4. Name the new custom property as Cmd and press Enter.


o
D

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

5. In Default Value, enter Me.Cmd.


6. In Description, enter Command for button.

y
op
7. Add another custom property and name it CmdOffMsg.
8. In the Data Type drop-down list, select String.

C
Notice the icon at the top updates to show the String data type. Additionally, the toggle button
to the left of the Default Value field is enabled and set to ‘Static Text’ mode.
ot

9. Click the toggle button to switch to Expression or Reference mode.


N

Notice a warning icon appears at the top and the Default Value field is outlined in red. These
indicate that a default value must be added.
o
D

AVEVA™ InTouch for System Platform 2023


3-126 Module 3 – Symbols

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


11. In Description, enter Button caption.

y
op
12. Add another custom property and name it CmdOnMsg.
13. In the Data Type drop-down list, select String.

C
14. In Default Value, switch to Expression or Reference mode and enter Me.Cmd.OnMsg.
15. In Description, enter Button caption.
ot
N
o
D

16. Click OK to close Edit Custom Properties.

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

You will now add a button to the graphic.


17. In Tools, click the Button tool.

y
18. On the canvas, click and drag diagonally to draw a button.

op
19. Enter the button text as Open and press Enter.

20. Configure the properties for the button as follows:

ElementStyle:
Width:
Height:
Intensity2
100
40
C
On the canvas, the button updates to reflect the changes you made to the properties.
ot
N
o

Your button should look as follows:


D

AVEVA™ InTouch for System Platform 2023


3-128 Module 3 – Symbols

Next, you will add animations to the button.


21. On the canvas, double-click the button and add a Pushbutton animation.

y
op
22. Configure the animation as follows:

States: Boolean
Reference: Cmd
Action: Set

C
ot
N

23. Add a Value Display animation.


24. Configure the animation as follows:

States: String
o

Expression Or Reference: CmdOnMsg


D

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

25. Add an Element Style animation.

y
op
26. Configure the animation as follows:

States:
Reference:
Boolean
Cmd
C
ot
Values True, 1, On: Element Style checked (default)
Intensity4 selected
Values False, 0, Off: Element Style unchecked

Note: For this button, False, 0, Off is unchecked. This will use the default element style
N

property of the button. The default is shown on the right side of Edit Animations.
o
D

27. Click OK to close Edit Animations.

AVEVA™ InTouch for System Platform 2023


3-130 Module 3 – Symbols

Next, you will duplicate the button and configure its properties and modify its animations.
28. On the canvas, right-click the button and select Duplicate.

y
op
C
29. Place the duplicate button to the right of the original button.
ot
N

30. On the Properties tab, modify the Text property to Close.


o
D

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

The button text is updated on the canvas.

y
31. Double-click the Close button to edit the animations.
32. For the Element Style animation, in Expression Or Reference, enter not Cmd.

op
Note: Using not for the reference reverses the element style values used in the animation.
This technique saves time when configuring the animation.

C
ot
33. For the Value Display animation, in Expression Or Reference, enter CmdOffMsg.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-132 Module 3 – Symbols

34. For the Pushbutton animation, select Reset.

y
op
35. Click OK to close Edit Animations.
In the following steps, you will add a status element to the graphic to display quality and status
information at runtime.
36. In Tools, click Status.

C
ot
N
o
D

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

37. On the canvas, click and drag a small rectangle between the two buttons as shown below.
Edit Animations appears.

y
op
C
38. On the Graphics tab, in the Available Graphic Elements list, select Button1, and then click
the >> button to move it to the Selected Graphic Elements list.
Button1 moves to the Selected Graphic Elements list.
ot
N

39. Select Button2 and click the >> button to move it to the Selected Graphic Elements list.
o
D

40. Click OK to close Edit Animations.

AVEVA™ InTouch for System Platform 2023


3-134 Module 3 – Symbols

Now, you will set the size of the canvas to Fixed and configure the width and height.
41. Click the canvas to set focus on the canvas.
42. Configure the properties as follows:

Size: Fixed
FixedWidth: 320
FixedHeight: 230

y
op
The canvas is now smaller.

C
ot
N

43. Save and close and check in the graphic.


o
D

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

Create a Speed Setpoint Command Panel


Next, you will duplicate CommandPanel and add a numerical graphic for displaying and changing
the speed setpoint of the agitator.
44. On the Graphics tab, in the Training toolset, duplicate CommandPanel.
45. Name the duplicate symbol as CommandPanelwithSetpoint and then open it for editing.

y
op
C
46. On the Toolbox tab, search for numerical.
ot
47. Drag SA_NumericalEntry to the canvas and place it below the buttons.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-136 Module 3 – Symbols

48. Configure wizard options as follows:

LabelType: CustomPropertyLabel
EngUnitsType: CustomPropertyLabel
Outline: False

y
op
49. On the canvas, right-click SA_NumericalEntry1 and select Substitute | Substitute
References.

C
ot
N
o
D

Substitute Reference appears.

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

50. Use Find & Replace to change all Me.PV references to Me.Speed.SP references.
Your references should appear as follows:

y
op
C
ot
51. Click OK to close Substitute Reference.
52. On the canvas, right-click SA_NumericalEntry1 and select Custom Properties.
53. In Custom Properties, select the Label property.
54. In Default Value, switch to Expression Or Reference mode and enter
N

Me.Speed.SP.Description.
o

55. Click OK to close Edit Custom Properties.


D

56. Save and close and check in the graphic.

AVEVA™ InTouch for System Platform 2023


3-138 Module 3 – Symbols

Configure Graphics to Show Command Panels


Now, you will add a Show Symbol interaction animation to the agitator, pumps, and valves. To
accomplish this, you will first add this animation to one graphic and then copy and paste it to the
others.
57. On the Graphics tab, in the Training toolset, double-click Agitator_Detailed to edit it.
58. On the canvas, select the Agitator graphic, and then on the Properties tab, scroll down to
Runtime Behavior and set the TreatAsIcon property to True.
Setting TreatAsIcon to True enables interaction animations for an embedded graphic.

y
Enabling this property is required before adding a Show Symbol animation to the Agitator.

op
C
ot
N
o
D

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

59. On the canvas, double-click the Agitator graphic and add a Show Symbol animation.

y
op
Edit Animations appears.
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-140 Module 3 – Symbols

60. To the right of the Reference field, click Browse Galaxy, and then from the Graphic Toolbox,
select Training and select CommandPanelwithSetpoint.

y
op
61. Click OK to close the Galaxy Browser.
C
ot
N
o
D

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

62. In Title, uncheck Use Symbol Name for Window Title.


63. Switch to Expression Or Reference mode and enter OwningObject.
64. In the Position drop-down lists, select Below and Parent Symbol.
Your configuration will appear as follows:

y
op
C
ot
N

65. Click OK to close Edit Animations.


o
D

AVEVA™ InTouch for System Platform 2023


3-142 Module 3 – Symbols

66. On the canvas, right-click the Agitator graphic and select Animations | Copy.

y
op
C
67. Save and close and check in the graphic.
Next, you will configure the pumps and valves.
68. On the Graphics tab, double-click Pump_Detailed to edit it.
69. Select the Pump symbol, and on the Properties tab, set the TreatAsIcon property to True.
ot
70. On the canvas, right-click the Pump graphic and select Animations | Paste.
71. On the canvas, double-click the Pump graphic.
72. In Edit Animations, in Reference, enter CommandPanel.
N
o

73. Click OK to close Edit Animations.


74. On the canvas, right-click the Pump graphic and select Animations | Copy.
D

75. Save and close and check in the graphic.


76. On the Graphics tab, double-click Valve_Detailed to edit it.
77. Select the Valve symbol, and on the Properties tab, set the TreatAsIcon property to True
78. On the canvas, right-click the Valve graphic and select Animations | Paste.
79. Save and close and check in the graphic.

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

Test in Runtime
Finally, you will click on a valve, pump, and agitator to use their command panels.
80. In WindowMaker, click Runtime.
81. Click Inlet1_001 to view its command panel.
The title for the command panel is Inlet1_001, and the text on the buttons is Open and Close.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-144 Module 3 – Symbols

82. In the command panel, identify the button that appears lighter (element style Intensity2) than
the other and click it to command the valve.
The following example shows the Open button as lighter than the other.

y
op
Note: The simulated mixer process used in this course does not link the .Cmd attribute of
motors and valves with their .PV attributes. Therefore, the command panel’s buttons do not
show the current state of the equipment. Instead, the buttons only reflect the user’s

automated process.

C
interactions. Once the user issues a command, the data simulator performs an override to the

83. Click Open and Close to operate and watch the valve transition.
84. Observe the Quality & Status indicator shows an hourglass icon in the command panel briefly
ot
between each command.
N
o
D

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

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

86. Click Pump1_001 to view its command panel.


The title of the command panel is Pump1_001 and the text on the buttons is Start and Stop.

y
op
C
ot
87. Click Start and Stop to operate the pump and watch the results.

Important: To ensure automatic operation of the simulator, click Start or Stop to make the pump’s
N

state the same state as its associated valve. When the pump and valve are in the same state, the
level in the tank will move. For example, if Inlet 1 is active, then Pump 1 must also be active.

88. At the top of the command panel, click the X to close it.
o
D

AVEVA™ InTouch for System Platform 2023


3-146 Module 3 – Symbols

89. Click Agitator_001 to view its command panel.


In addition to the Start and Stop buttons, the Speed setpoint graphic appears on the
command panel.

y
op
C
ot
90. In Speed setpoint, click the number and enter 45, and then press Enter.
N

The Status & Quality hourglass icon appears briefly after pressing Enter.
o
D

91. At the top of the command panel, click the X to close it.

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

92. When the agitator is running, verify the new agitator speed setpoint.

y
op
93. Click Development! to return to WindowMaker.

<End of Lab>

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-148 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Section 7 – Scripts in Graphics 3-149

Section 7 – Scripts in Graphics


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

y
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

op
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
script can run while a window is open or a button is kept pressed.
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


C
periodically every 5 seconds while the same key remains pressed.
For condition scripts, you can either run a script synchronously or asynchronously:
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
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
N

adds behavior that runs when the object that contains the script is deployed and the object is
either:
 On scan in the runtime environment; or
 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.
o

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

 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 2023


3-150 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

y
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

op
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.
 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.
 QuickFunctions are reusable functions written in QuickScript and stored in the
QuickFunction library. To create a QuickFunction, you simply create a QuickScript and

expressions.

Types of Scripts C
name it. A QuickFunction can be called by another script or from animation link

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

 Application scripts, which run either continuously while WindowViewer is running or one
time when WindowViewer is started or shut down.
 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
o

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
D


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 Graphics 3-151

Associating Scripts with Graphics


You can associate scripts with the symbols placed in your InTouch applications. You can use
scripts to animate your graphics or modify their elements, while an InTouch application is running.
After selecting a graphic embedded in an InTouch window, you select the expression or reference
whose value triggers the script to run. You use the Graphic 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

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

op
 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
 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.
Also, a named symbol script can run, when data associated with the trigger expression

Execution Types and Triggers


C
changes value or its quality state changes value.

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
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
N

the script is associated with.


Scripts run in one of two modes:
 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
o

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

Execution Type triggers include: Startup, On Scan, Execute, Off Scan, and Shutdown.

AVEVA™ InTouch for System Platform 2023


3-152 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

y

at runtime

Note: The term graphic includes any symbol or client control present in the Graphic Toolbox, and

op
any symbols owned or inherited by templates and instances.

About the Show/Hide Graphic Functions


The Show/Hide Graphic script functions allow you to write graphic scripts to display a symbol as a
popup window and close the popup window.

C
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
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
 The initial position of the popup window
 Whether the window can be resized
N

 Whether the window will be modal or modeless


 The relative position of the popup window
 Passing the OwningObject to the symbol to display
 Values of the custom properties of the symbol
o

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
D

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 Graphics 3-153

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

y
HideGraphic() Syntax
Use the HideGraphic() script function to close any displayed graphic given its Identity.

op
HideGraphic(string identity);
The ShowGraphic() and HideGraphic() script functions are available in managed or published
InTouch applications only.

Scripting the OwningObject


The OwningObject in a ShowGraphic script function resolves only relative references. Any

C
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
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
graphicInfo.OwningObject = "Mixer_001";
N

Runtime Behavior of the Show/Hide Graphic Functions


The Show/Hide Graphic script functions exhibit the following behavior:
 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
o

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

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 2023


3-154 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.

y
Behavior of ShowGraphic Windows with the Same Identity
ShowGraphic popup windows attempting to open a popup window with the same Identity exhibit

op
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.
 A ShowGraphic script function within an WhileShowing script will be blocked, if a
ShowGraphic popup window with the same Identity is already displayed.
 A ShowGraphic script function within an OnHide script will be blocked, if a ShowGraphic

described.
C
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

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
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
N

InTouch window or the symbol that opened the graphic.


Windows opened by the ShowGraphic script function or ShowSymbol animation are loaded
dynamically and are not exposed at runtime. You cannot close these windows using the
WindowViewer Close Window dialog box.
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-155

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 windows in runtime.

y
op
You will add animations using action scripts and use the ShowGraphic() script function to show
specific windows and graphics.
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


Create a reusable button
C
Upon completion of this lab, you will be able to:

Create predefined and named scripts for graphics


Add an Action Script animation to a graphic
ot
 Use the ShowGraphic() script function
 Use the Select Alternate Instance feature
 Use alignment tools
N
o
D

AVEVA™ InTouch for System Platform 2023


3-156 Module 3 – Symbols

Create a Production Area Mixer Display


First, you will create two symbols, each using a different method to display the mixers in the
Production area. In the first symbol, you will embed graphics to show mixers. In the second
symbol, you will use scripting to show mixers.
1. In the IDE, on the Graphics tab, in the Training toolset, create a new symbol named
Line1_MixingProcess, and then open it for editing.
2. On the canvas, right-click and select Embed Industrial Graphic, and then from Instances
embed Mixer100\MixingProcess_Detailed.

y
op
C
3. Place it in the top-left corner of the canvas.
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-157

4. On the toolbar at the top, click the Canvas Zoom drop-down list, and select 75%.
The canvas resizes to 75%.
5. On the canvas, right-click the graphic and select Duplicate.
6. Place the duplicate to the right of the original.

y
op
Instance.

C
7. On the canvas, right-click the duplicate and select Industrial Graphic | Select Alternate

The Galaxy Browser appears. The Instances list is filtered to show only the instances where
this graphic is available.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-158 Module 3 – Symbols

8. In Instances, double-click Mixer200.


On the canvas, the duplicate now reflects the Mixer200 name.
9. Right-click the canvas to set focus on the canvas and then select Select All.
10. On the canvas, right-click the selection and select Duplicate.
11. Place the duplicates below the originals.

y
op
C
ot
12. In a blank area of the canvas, click to deselect all, and then select the bottom-left graphic.
13. Right-click the selection and select Industrial Graphic | Select Alternate Instance.
14. In Instances, double-click Mixer300.
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-159

15. For the final graphic on the canvas, change its instance to Mixer400,
The canvas displays one graphic for each unique instance of the mixer.

y
op
to the right.
C
16. On the canvas, select the top-left graphic, and then press and hold Shift and click the graphic

17. On the Alignment toolbar, select Align Top.


ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-160 Module 3 – Symbols

18. Click the canvas to deselect the selections and then select both of the bottom graphics.
19. On the Alignment toolbar, select Align Bottom.

y
op
C
20. Select the two graphics on the left, and then select Align Left.
ot

21. Select the two graphics on the right, and then select Align Right.
N

22. Save and close and check in the graphic.


o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-161

23. On the Graphics tab, in the Training toolset, create a new symbol named
Line2_MixingProcess, and then open it for editing.
24. In Tools, select Rectangle, and then on the canvas, click and drag diagonally to draw a
rectangle.

y
op
25. On the Properties tab, configure properties as follows:

Name: MixerDisplay
Width: 1490
Height: 670

Your canvas should look similar to the following:

C
ot
N
o

26. Right-click the canvas to set focus on the canvas and then select Custom Properties.
27. Add a custom property named ShowTrigger, and then change the Data Type to String.
D

AVEVA™ InTouch for System Platform 2023


3-162 Module 3 – Symbols

28. Click OK to close Edit Custom Properties.


29. Right-click the canvas to set focus on the canvas and then select Scripts.

y
Edit Scripts appears.
30. In the Predefined Scripts pane, in the type drop-down list, select On Hide.

op
C
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-163

31. 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.
'Identities: View1, View2, View3, View4.
HideGraphic( "View" + StringFromIntg(i, 1) );

y
next;

op
C
ot

32. In Edit Scripts, click Add Script to add a Named script.


N
o
D

AVEVA™ InTouch for System Platform 2023


3-164 Module 3 – Symbols

33. Name the script ShowMixer.


34. In Expression, enter ShowTrigger.
35. In the Trigger drop-down list, select DataChange.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-165

36. 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
'Identities: View1, View2, View3, View4.
graphicInfo.Identity = "View" + StringFromIntg(i, 1);

y
graphicInfo.GraphicName = "Mixer" + StringFromIntg(i, 1) +
"00.MixingProcess_Detail";

'Customize the look and feel of the graphic.

op
graphicInfo.HasTitleBar = false;
graphicInfo.HasCloseButton = false;

'Customize the size of the graphic.


graphicInfo.RelativeTo = aaGraphic.RelativeTo.CustomizedWidthHeight;
graphicInfo.Width = (MixerDisplay.Width)/2;
graphicInfo.Height = (MixerDisplay.Height)/2;

C
'Customize the position of the graphic.
graphicInfo.WindowLocation = aaGraphic.WindowLocation.TopLeftCorner;
graphicInfo.WindowRelativePosition =
aaGraphic.WindowRelativePosition.ClientAreaXY;
if (i == 5) then
graphicInfo.X = MixerDisplay.X;
graphicInfo.Y = MixerDisplay.Y;
ot
elseif (i == 6) then
graphicInfo.X = MixerDisplay.X + (MixerDisplay.Width)/2;
graphicInfo.Y = MixerDisplay.Y;
elseif (i == 7) then
graphicInfo.X = MixerDisplay.X;
graphicInfo.Y = MixerDisplay.Y + (MixerDisplay.Height)/2;
N

elseif (i == 8) then
graphicInfo.X = MixerDisplay.X + (MixerDisplay.Width)/2;
graphicInfo.Y = MixerDisplay.Y + (MixerDisplay.Height)/2;
endif;

'Show graphic.
ShowGraphic( graphicInfo );
next;
o
D

AVEVA™ InTouch for System Platform 2023


3-166 Module 3 – Symbols

y
op
C
ot
37. Click OK to close Edit Scripts.
38. Save and close and check in the graphic.

Create a Navigation Button


N

Next, you will create a button that can be used to display specific graphics.
39. On the Graphics tab, in the Training toolset, create a symbol named NavigationButton, and
then open it for editing.
40. Right-click the canvas to set focus on the canvas and then select Custom Properties.
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-167

41. Add a custom property named GetButtonText and configure it 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
42. 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
and the field blank for now, as you will be filling this in later in the lab.
ot
Name Data Type
GraphicName String
WindowModal Boolean (default)
WindowName String
WindowResizable Boolean (default)
N
o

43. Click OK to close Edit Custom Properties.


D

AVEVA™ InTouch for System Platform 2023


3-168 Module 3 – Symbols

44. On the canvas, add a Button and configure it as follows:


I
Name: Mixer_Btn
ElementStyle: Intensity2
Width: 100 (recommended)
Height: 50 (recommended)
Text: Label

y
op
45. Double-click the button and add an Action Scripts animation.

C
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-169

46. In the type drop-down list, ensure On Left/Key/Touch Up is selected.

y
47. In the script body, enter the following:

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

else;
' Not targeting an InTouch window.
C
graphicInfo.Identity = "InTouch:" + WindowName;

' Use the name of the graphic as the identity.


graphicInfo.Identity = GraphicName;
ot
endif;

' The graphic name is ignored if calling a legacy InTouch window.


graphicInfo.GraphicName = GraphicName;

' Check if window should be modal.


if (WindowModal) then
N

graphicInfo.WindowType = aaGraphic.WindowType.Modal;
endif;

' Check if window should be resizable.


graphicInfo.Resizable = WindowResizable;

' Show graphic.


o

ShowGraphic( graphicInfo );
D

AVEVA™ InTouch for System Platform 2023


3-170 Module 3 – Symbols

y
op
48. Add a Disable animation.
C
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-171

49. In States, select Boolean.


50. In Expression Or Reference, enter GetButtonText == Text.
51. In Disabled When Expression is, ensure True, 1, On is selected.

y
op
52. Add an Element Style animation.
53. Configure the animation as follows:

States: Boolean
Expression Or Reference:
True, 1, On:

False, 0, Off:
C
GetButtonText == Text
Element Style: checked (default)
Intensity4 selected
Element Style: unchecked
ot
N
o

54. Click OK to close Edit Animations.


55. Save and close and check in the graphic.
D

AVEVA™ InTouch for System Platform 2023


3-172 Module 3 – Symbols

Create the System Navigation Symbol


Now, you will create a symbol for the reusable Navigation Buttons that you just created. At
runtime, you will be able to click these buttons to display different windows.
56. On the Graphics tab, in the Training toolset, create a new symbol named
SystemNavigation, and then open it for editing.
57. Add a custom property named LastButton with a Data Type of String.
58. Embed the NavigationButton graphic.
59. Change the string on the button to Mixers.

y
op
60. Configure the custom properties of the Mixers button as follows:

GetButtonText:
GraphicName:
WindowName:
LastButton

C
Mixer100.SwitchedMixingProcess
ContentDisplay
ot
N

61. Duplicate the button and place the duplicate to the right of the original.
62. Change the string on the duplicate to Line 1.
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-173

63. For the Line 1 button, change the GraphicName custom property to Line1_MixingProcess.

y
64. Duplicate the Line 1 button, change its string to Line 2, and change its GraphicName custom
property to Line2_MixingProcess.

op
C
65. Save and close and check in the graphic.

Test in Runtime
ot
Finally, you will place the newly created SystemNavigation symbol in the Navigation window and
test the buttons created in the symbol.

Important: The following steps require the runtime resolution be 1920 x 1080. If you are making a
remote connection to a virtual machine, be sure the display is set to Full Screen. The results with
any other resolution will vary. This is due to a Microsoft popup window behavior that prevents a
N

window from appearing partially off screen. If this happens, Microsoft will move the popup window
to fit inside the visible screen area, which can cause graphics to overlap.

66. In WindowMaker, in the Navigation window, embed the SystemNavigation symbol.


o
D

AVEVA™ InTouch for System Platform 2023


3-174 Module 3 – Symbols

67. Click Runtime.


68. In WindowViewer, in the Navigation window, click the Line 1 button.
The Line 1 button indicates it is selected and the first four mixers appear.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-175

69. In the Navigation window, click the Line 2 button.


The Line 2 button indicates it is selected and the last four mixers appear.
The mixers shown here are actually four pop up windows with no border, title bar, or close
button. Their position gives the illusion they are part of the ContentDisplay window when
actually they are floating on top of WindowViewer. When navigating away from the Line 2
popup windows, the On Hide script you added to the Line2_MixingProcess graphic will close
these popup windows.

y
op
C
ot
70. Click Development! to return to WindowMaker.

<End of Lab>
N
o
D

AVEVA™ InTouch for System Platform 2023


3-176 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
Section 8 – Galaxy Styles 3-177

Section 8 – Galaxy Styles


This section explains how to work with Galaxy Styles.

Introduction
A Galaxy Style applies visual and numerical styles to the presentation of graphics. Styles provide a
means for developers to establish consistent visual standards in the presentation of the
applications. A Galaxy Style includes visual overrides for Quality & Status, HMI Element, Alarm

y
Element, Trend Element, User defined, and Format styles.
You can view the Galaxy Styles available to a Galaxy, as well as manage and configure them, in
the Configure Galaxy Styles area. To open it, from the Galaxy menu, select Configure | Galaxy |

op
Styles. Predefined styles cannot be deleted and new styles cannot be added to a Galaxy Style list.
The Styles area lists each style as a card. Each card gives access to all available overrides.
By default, the Standard_Style is provided, and it is set as the active style for the Galaxy. You can
add and configure additional styles, designate a different active style, delete styles, duplicate
styles, and more from the configuration area.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


3-178 Module 3 – Symbols

Quality & Status Styles


Quality & Status styles can be used to provide visual elements specific to quality and status states
at runtime. You can configure text, fill, outline, blink, and associated display icons for
communication errors, configuration errors, warnings, bad quality, security errors, and more.
In the configuration area, the Quality & Status tab shows the visual overrides for quality and status.

y
op
HMI Element Styles
C
An HMI Element style defines a set of visual properties that determine the appearance of text,
ot
lines, outlines, and fills of elements shown in symbols. The list of visual overrides for these
elements are shown on the HMI Element Styles tab. Each override specifies a preconfigured visual
property that takes precedence over the native visual properties for an element.
You modify properties by setting overrides on the HMI Element Styles tab.
 Text: These properties modify the appearance of text by setting overrides for text font,
N

size, style, color, and blink settings.


 Fill: These properties modify the appearance of graphic fills by setting overrides for fill
color and blink settings.
 Line: These properties modify the appearance of lines by setting overrides for patterns,
weight, color, and blink settings.
 Outline: These properties modify the appearance of outlines by specifying whether
o

outlines are shown.


D

AVEVA™ Training
Section 8 – Galaxy Styles 3-179

Alarm Element Styles


Alarm Element styles define the visual appearance of alarm severity, alarm states, and user
acknowledgment. The four severities are color coded as:
 Red - Critical
 Yellow - High
 Cyan - Medium
 Magenta - Low
The visual indicators also includes three states of these severities:

y
 ACK - acknowledged but in alarm
 RTN - return to normal but unacknowledged
 UNACK - unacknowledged and in alarm

op
The Alarm Element styles also include alarm border styles in the form of visual outlines.

Trend Element Styles


Trend Element styles support the SA_SinglePen and SA_MultiTrendPen symbols found in the
Situation Awareness Library.

User defined Styles

C
This list provides 24 user-customizable styles.

Format Styles
ot
Format styles are used to provide visual overrides for numerical values displayed in the
InTouchViewApp. These styles allow overriding the format of value range, fixed width, and
precision for each numerical value. This allows standardization across the InTouchViewApp for the
display of numbers. The list also contains 25 user-defined format styles.
N
o
D

AVEVA™ InTouch for System Platform 2023


3-180 Module 3 – Symbols

Manage Style List


In the top-right of the Styles area, buttons are available for adding and deleting style cards, as well
as displaying a menu of options for importing and exporting style cards.

Add or Delete a Style Card


You can add new Style card to the list of styles by clicking the Add button. The card that is selected
when you click Add is duplicated with a incremented name and a copy of all styles from the
selected card. The new card can be renamed and edited.

y
op
You can delete a card by selecting a card and clicking the Delete button.

C
ot
N
o
D

AVEVA™ Training
Section 8 – Galaxy Styles 3-181

Import and Export Style Cards


The Configure Styles area provides a menu for importing one or more styles and for exporting all
styles. In the top-right of the Configure Styles area, click the vertical ellipsis to display the menu.

y
op
 Import allows you to import one or more styles. Additional styles are available in the
product installation path:
C:\Program Files (x86)\ArchestrA\FrameWork\Bin\AdditionalElementStyles
This folder contains a list of XML files which may be imported for use in your Galaxy.
 Export All allows you to export all of the style cards from the list. The export file format is
XML type.

Manage Style Cards


C
Each style card allows you to make default, rename, duplicate, delete, and export that style. In the
bottom-right of a card, click the vertical ellipsis to display a menu of options.
ot
N
o

 Make default activates the selected style card for the Galaxy. Only one style card can be
D

active (default) in the Galaxy at a time.


 Rename allows you to rename the selected style card. Alternatively, you can click the title
of the card to make the title editable or select a card and press F2.
 Duplicate makes a copy of the selected style card. Alternatively, you can select a card
and press Ctrl+D.
 Delete allows you to delete the selected style card.
 Export allows you to export the selected style card.

AVEVA™ InTouch for System Platform 2023


3-182 Module 3 – Symbols

y
op
C
ot
N
o
D

AVEVA™ Training
y
op
Section 1 – Widgets Overview
C Module 4 – Widgets
4-3
ot
Lab 11 – Creating a Carousel Dashboard 4-5
N
o
D
4-2 Module 4 – Widgets

Module Objectives
 Describe InTouch for System Platform support for HTML5 Widgets
 Use the Carousel widget

y
op
C
ot
N
o
D

AVEVA™ Training
Section 1 – Widgets Overview 4-3

Section 1 – Widgets Overview

This section describes using HTML5 widgets in your InTouch for System Platform application and
introduces the Carousel widget.

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

y
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

op
widget can be run in WindowViewer with consistent placement and user interface. For example,
social media, weather, RSS or podcast widgets.
By default, the following widgets are available under the Widgets folder in the Graphics tab:
 Carousel
 Datagrid
 MapApp


QRCode_Scanner
Teamwork
Web_Browser

Importing HTML5 Widgets


C
ot
For use in InTouch for System Platform, a web widget is imported from the IDE using Galaxy |
Import | Visualization | Web Widgets. The file format is Custom 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.
N
o
D

AVEVA™ InTouch for System Platform 2023


4-4 Module 4 – Widgets

Carousel Widget
A carousel widget allows you to cycle through Industrial Graphics like a carousel without any user
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.

Carousel Properties
In addition to the standard graphics properties, you can also configure properties specific to the

y
widget, under Widget Properties in the Graphic Editor.

Name Description

op
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.
BackgroundColor The background color for the widget.
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

Loop

Pause C
inputs. The default value is True.
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.
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
ot
True.
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 a dashboard symbol and embed and configure the Carousel widget.
Then you will display this dashboard at runtime.

Objectives

y
Upon completion of this lab, you will be able to:
 Use widgets
Display graphics in the Carousel widget

op

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


4-6 Module 4 – Widgets

Create the Dashboard Symbol


First, you will create a Dashboard symbol and embed and configure the carousel widget.
1. In the IDE, on the Graphics tab, in the Training toolset, create a new symbol named
Dashboard, and then open it for editing.
2. From the Toolbox tab, embed Widgets\Carousel.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-7

3. In Properties, scroll down to locate the Widget Properties.

y
op
C
ot

4. In GraphicNames, enter: Line1_MixingProcess,ClockAnalogWall


N
o

The graphic names listed here will display in the widget at runtime.
D

5. Save and close and check in the graphic.

AVEVA™ InTouch for System Platform 2023


4-8 Module 4 – Widgets

Create a New Window


Next, you will create a new window to contain the carousel widget.
6. In WindowMaker, click the New (+) button.

y
op
7. In New, ensure Frame window is selected.
8. Configure window properties as follows:

Name:
Comment:
Title bar:
Carousel

C
Display System Graphics
Unchecked
ot
N
o
D

9. Click Create.

AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-9

Now, you will embed the Dashboard symbol in the Carousel window.
10. In the Carousel window, embed the Dashboard symbol.

y
op
C
11. In Properties, uncheck Maintain aspect ratio.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


4-10 Module 4 – Widgets

Test in Runtime
Finally, you will test the new window in WindowViewer.
12. Click Runtime.
After a few moments, the carousel will automatically scroll to display your graphics.

y
op
C
13. Wait until the carousel shows the mixer graphics, then hover your mouse over the carousel to
pause automatic scrolling with the mixer graphic showing.
14. Move your cursor to the left or right side of the carousel until the cursor changes to a pointing
hand, and then click to advance the carousel.
ot
15. Click Development! to return to WindowMaker.
N
o
D

AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-11

16. In Windows, right-click Carousel and select Close.

y
op
C
ot
17. In Windows, double-click ContentDisplay to open it.
N
o
D

<End of Lab>

AVEVA™ InTouch for System Platform 2023


4-12 Module 4 – Widgets

y
op
C
ot
N
o
D

AVEVA™ Training
y
op
C
Module 5 – Alarms and Events
Visualization
ot
Section 1 – Alarming Overview 5-3
Lab 12 – Adding Alarm Notifications to Graphics 5-15
Lab 13 – Building an Alarm Aggregation Overview 5-21
N

Section 2 – Live Alarms Visualization 5-41


Lab 14 – Building a Current Alarms Display 5-51
Lab 15 – Creating an Alarm Popup Symbol 5-63
Section 3 – Historical Alarms and Events Visualization 5-69
o

Lab 16 – Building a Historical Alarm Display 5-75


D
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 the 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 the Alarm Border animation, Alarms aggregation, severity, and
shelving is also provided.

What are Alarms and Events?


System alarm and event capabilities allow users to automate the detection, notification,

y
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

op
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
limit
 A process device that is not in the desired state, such as a stopped pump that should be
running
Examples of events include:


C
The system engineer has changed the runtime system configuration, such as the
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 (SMC Logger)

Note: Sometimes certain software events may log a message, in addition to generating
an event. Logger messages are not events.
N

How Does System Platform Handle Alarms?

The Platform as an Alarm Provider


A Platform can act as a single Alarm Provider that provides alarms to the InTouch Distributed
o

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

AVEVA™ InTouch for System Platform 2023


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

y
Common message text string Comment
Area Alarm group
Common name for alarm primitive (for example, “PV.HiAlarm”) Alarm Type (string)

op
New alarm state (for example, ACK or RTN) State
Priority = 1-999 Priority
Value (mxValue) Value
Limit (mxValue) Limit
Category Class
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


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
N

AutomationObject acknowledge attribute for the alarm. Security is used as part of this set (it is a
UserSetAttribute). An optional comment can be entered, when an acknowledgment is requested.

Alarm Enable/Disable
The InTouch Alarm Client can enable/disable alarming on any AutomationObject. The Platform
o

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).
D

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 AutomationObjects 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

y
Timestamp Time
Tagname Name
Tag description Comment

op
Area Alarm group
System event description (“started”, “stopped”) Event Type – if string, or use Comment field
N/A State = none (preferred) or “UNACK_RTN”
N/A Priority = 1
N/A Provider = Galaxy
N/A Event Class = EVENT

Field
Type = Operator Change
Timestamp
Type = OPR
Time
C
Security Audit (includes User Data Change) Events:
Distributed Alarm Subsystem Mapping
ot
Tag.primitive.attribute Name
Tag description Comment
Area Alarm group
View engine name N/A
Operator 1 name RequestingEngineName + Operator name
N

Operator 2 name N/A


Old value Limit
New value Value
N/A State = none (preferred) or “UNACK_RTN”
N/A Priority = 999
N/A Provider = Galaxy
o

N/A Event Class = EVENT


D

AVEVA™ InTouch for System Platform 2023


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

y
New value Value
N/A State = none (preferred) or “UNACK_RTN”

op
N/A Priority = 999
N/A Provider = Galaxy

Alarm Queries
Alarm queries are used within Alarm Clients to retrieve real-time alarm information and event
reports from the Galaxy.

\\nodename\Galaxy!area!object.attribute
C
The fully qualified syntax of an alarm query to retrieve a single alarm within an object as reported
by a specific WinPlatform object is:

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


\\nodename\Galaxy!area All alarms and events from the area object itself.
All alarms and events from all the objects hosted in the area.
N

All alarms and events from all subareas contained in the area,
as configured in the Model view of the IDE.
All alarms and events from all the objects hosted in the
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.
o

\\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.
D

AVEVA™ Training
Section 1 – Alarming Overview 5-7

Use of a 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.

y
\\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.

op
Only one wildcard character is allowed per alarm query.

Using Multiple Queries


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

objects) at the same time, for example:


C
By using multiple queries, it is possible to retrieve alarms from different nodes (WinPlatform

\\NodeNameA\Galaxy!Area1 \\NodeNameB\Galaxy!Area2

The Alarm Extension


ot
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
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.
N

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 specified
in the Boolean label extension area, True and False are displayed.
o
D

AVEVA™ InTouch for System Platform 2023


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.

y
op
Alarm Border animation also shows an indicator icon at the top-left corner of the border around a
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.

animation. C
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

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
ot
elements.

Understanding the Behavior of Alarm Border Animations


Alarm Border animations appears around a graphic element based on the current state of the
object’s aggregated alarm attributes. The appearance of the alarm border itself reflects the current
N

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
 The user acknowledges an alarm with the process value still in an alarm state: Alarm
Border animation appears around the symbol without blinking
The alarm value returns to normal without the user acknowledging the alarm: Alarm
o


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
D

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.

AVEVA™ Training
Section 1 – Alarming Overview 5-9

 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 alarms aggregation, Alarm Border animation shows the highest current
alarm state
The 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
C
For aggregated alarms, users specify the 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 aggregated alarm attributes:
ot
 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
 AlarmMostUrgentMode: Indicates the mode (Enabled/Silenced/Disabled) of the highest
priority current alarm
N

 AlarmMostUrgentSeverity: Indicates the severity as an integer (1-4) of the highest


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
priority current alarm
o

To set the Alarm Border animation for individual alarms, users specify references to the following
alarm attributes or tags:
 InAlarm attribute
Acked attribute
D

 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 2023


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


The 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

y
default images appear in the Image column of the Alarms and events dialog box. The images are
saved in an XML file located in the global data cache.

op
C
ot

The default Alarm Border indicator images can be replaced by custom images. Supported image
N

file types include:


 .bmp
 .gif
 .jpg
 .jpeg
o

 .tif
 .tiff
 .png
D

 .ico
 .emf
At runtime, the 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 the 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 Severity Alarm State Element Style
1 UnAcknowledged AlarmBorder_Critical_UNACK

y
1 Acknowledged AlarmBorder_Critical_ACK
1 Return To Normal AlarmBorder_Critical_RTN
2 UnAcknowledged AlarmBorder_High_UNACK

op
2 Acknowledged AlarmBorder_High_ACK
2 Return To Normal AlarmBorder_High_RTN
3 UnAcknowledged AlarmBorder_Medium_UNACK
3 Acknowledged AlarmBorder_Medium_ACK
3 Return To Normal AlarmBorder_Medium_RTN
4 UnAcknowledged AlarmBorder_Low_UNACK
4
4
All
All
All
Acknowledged
Return To Normal
Inhibited
Shelved
Suppressed
C AlarmBorder_Low_ACK
AlarmBorder_Low_RTN
AlarmBorder_Inhibited
AlarmBorder_Shelved
AlarmBorder_Suppressed
ot
All Silenced AlarmBorder_Silenced

Aggregating Alarm State Information


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
N

makes it possible to follow a trail from one level to the next to find the underlying cause of a
complex object’s alarms.
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.
o

Alarm aggregation functionality can be described for an:


 Object
 Area
D

 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 2023


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.

Attribute Description Runtime Access

y
<Attribute>.AlarmCntsBySeverity Array of counts of all alarms that are in Read-Only
UNACK_ALM, ACK_ALM, or
UNACK_RTN states on the object,
aggregated by severity levels 1-4.

op
<Attribute>.AlarmMostUrgentAcked TRUE (default) indicates that no alarms Read-Only
are in the InAlarm state or waiting to be
Acked.
A value of TRUE also indicates that the
most urgent alarm(s) on the object and its
descendants in the InAlarm state have
been acknowledged, whether or not they

<Attribute>.AlarmMostUrgentInAlarm

C
are currently InAlarm.
FALSE (default) indicates that no alarms
are in the 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 InAlarm state,
Read-Only
ot
whether or not they have been
acknowledged.
<Attribute>.AlarmMostUrgentMode The AlarmMode of the most urgent Read-Only
alarm(s) on this object and its
descendants. If no alarms are in the
InAlarm state or waiting to be Acked, the
N

value is the same as the AlarmMode for


the object.
<Attribute>.AlarmMostUrgentSeverity Severity level expressed as an integer (1- Read-Only
4) of the 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 2023


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.

Shelving Alarms

y
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

op
triggered during system modifications or repairs, allowing you to focus on correcting other more
urgent alarms.
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


C
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.
ot
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.

Enabling Alarm Shelving


N

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
o

can use an embedded Alarm Control and at least one animation to write to the AlarmShelveCmd
attribute.
D

AVEVA™ Training
Lab 12 – Adding Alarm Notifications to Graphics 5-15

Lab 12 – Adding Alarm Notifications to


Graphics

Introduction
In this lab, for the purpose of notifying an operator of an alarm condition, you will enable the built-
in Alarm Border feature in the level meter graphic.

y
op
Objectives
C
ot
Upon completion of this lab, you will be able to:
 Enable alarm notifications for a graphic using the Alarm Border feature
N
o
D

AVEVA™ InTouch for System Platform 2023


5-16 Module 5 – Alarms and Events Visualization

Enable the AlarmBorder Feature


First, you will configure the AlarmBorder wizard option for the Level_Detailed graphic.
1. In the IDE, on the Graphics tab, in the Training toolset, open Level_Detailed for editing.
2. On the canvas, right-click LevelMeter and select Custom Properties.
The list of Custom Properties appears, but there are no alarm properties. In the next steps,
you will add alarm features to the graphic.

y
op
3. Click OK to close Edit Custom Properties.

AlarmBorder:
Advanced
True
C
4. On the Properties tab, configure the properties as follows:

SymbolMode:
ot
N
o
D

AVEVA™ Training
Lab 12 – Adding Alarm Notifications to Graphics 5-17

5. Open Edit Custom Properties, and then verify that alarm properties have been added.

y
op
6. Select the AlarmMostUrgentShelved property.
7. In Default Value, enter Me.PV.AlarmMostUrgentShelved.

C
ot
N
o
D

8. Click OK to close Edit Custom Properties.


9. Save and close and check in the graphic.

AVEVA™ InTouch for System Platform 2023


5-18 Module 5 – Alarms and Events Visualization

Test in Runtime
Now, you will test how alarm notifications are shown at runtime.
10. In WindowMaker, ensure the ContentDisplay window is open, and then click Runtime.
11. In the ContentDisplay window, observe the Alarm Border animations.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 12 – Adding Alarm Notifications to Graphics 5-19

12. In the Navigation window, click Line 1 to navigate to the Line1 area, and then in the
ContentDisplay window, observe the Alarm Border animations.

y
op
C
ot
13. Click Development! to return to WindowMaker.

<End of Lab>
N
o
D

AVEVA™ InTouch for System Platform 2023


5-20 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-21

Lab 13 – Building an Alarm Aggregation


Overview

Introduction
In this lab, you will build an overview graphic to show alarm aggregation for the Production area.
This overview graphic will show a topology of the areas and objects using an SA_AlarmSeverity
symbol to represent each one.

y
op
C
ot

Additionally, you will add an alarm severity indicator to your navigation buttons.
N

Optional steps are provided to add additional mixers to the overview graphic.

Objectives
Upon completion of this lab, you will be able to:
Use the SA_AlarmSeverity symbol to display alarm information and change alarm modes
o

 Add alarm aggregation information to navigation buttons


D

AVEVA™ InTouch for System Platform 2023


5-22 Module 5 – Alarms and Events Visualization

Add Alarm Severity Symbols to $gArea and $Mixer


First, you will create graphics in the $gArea and $Mixer templates using the AlarmPanel wizard
option. Then, in the SystemNavigation graphic, you will add an AlarmSeverityIndicator to some
buttons.
1. In the IDE, on the Templates tab, in the Training\Global toolset, open the $gArea template
for editing.

y
op
C
2. In the Object Editor, select the Attributes tab.
3. In Content, click Add, name the symbol AlarmSeverityLabels, and then open it for editing.
ot
N
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-23

4. On the Toolbox tab, search for severity, and then drag SA_AlarmSeverity to the canvas.

y
op
5. On the Properties tab, set the Label property to False.

C
ot
N

6. Save and close the graphic.


o
D

AVEVA™ InTouch for System Platform 2023


5-24 Module 5 – Alarms and Events Visualization

7. In Content, click Duplicate, name the duplicate AlarmSeverityPanel, and then open it for
editing.

y
op
8. On the canvas, select the graphic and configure properties as follows:

Type: AlarmPanel
Label: True
LabelType: ObjectTagname
Background:
AlarmBorder:
True
True

C
ot
N
o

9. On the canvas, right-click the graphic and select Copy.


To save time, you will reuse this copy in later steps.
D

10. Save and close the graphic.


11. Save and close and check in the $gArea template.

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-25

Next, you will add an alarm panel to the $Mixer template.


12. In the IDE, on the Templates tab, in the Training\Project template toolset, open the $Mixer
template for editing.

y
op
C
13. In Content, add a symbol named AlarmSeverityPanel, and then open it for editing.
14. On the canvas, right-click and select Paste.
ot
15. Click the canvas to paste the graphic copied in an earlier step.
N
o
D

AVEVA™ InTouch for System Platform 2023


5-26 Module 5 – Alarms and Events Visualization

16. In Properties, set IsAreaObject to False.


The $Mixer automation object is not an area object.

y
op
17. Save and close the graphic.
18. Save and close and check in the $Mixer template.

Create the Alarm Overview Graphic

objects.
C
Next, you will create a graphic that will display Alarm Severity symbols from area and mixer

19. On the Graphics tab, in the Training toolset, create a symbol named
AlarmAggregationOverview, and then open it for editing.
ot
20. On the canvas, right-click and select Embed Industrial Graphic.
21. From Instances, embed Production\AlarmSeverityPanel.
N
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-27

22. At the top-center of the canvas, click to place the graphic.

y
23. Embed AlarmSeverityPanel from the following Instances:

op
 Line1
 Line2
 Mixer100
 Mixer200
 Mixer300
Mixer400

C
24. Use the alignment tools on the toolbar to arrange the graphics as shown below:

Production
ot
Line2

Line1
N

Mixer100
Mixer200
o

Mixer300
D

Mixer400

AVEVA™ InTouch for System Platform 2023


5-28 Module 5 – Alarms and Events Visualization

25. In Tools, double-click Connector.

y
26. To show the relationship of the hierarchical structure, click and drag connectors as shown
below:

op
C
ot
N

27. In Tools, click Pointer to cancel the connector operation.


o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-29

In the following steps, you will reposition the graphics on the canvas and enable a fixed
canvas size.
28. On a blank area of the canvas, right-click and select Select All.
29. Move the selected elements to the left side of the canvas.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-30 Module 5 – Alarms and Events Visualization

30. Click the canvas to deselect all elements and show canvas properties.
31. On the Properties tab, set Size to Fixed.
The canvas displays selection handles for resizing.
32. Resize the canvas to fit the graphics, ensuring white space on all sides as shown below:

y
op
C
ot
N

33. Save and close and check in the graphic.


o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-31

Add a Navigation Button for the Alarm Aggregation Overview


Now, you will duplicate a navigation button and modify it to display the AlarmAggregationOverview
graphic in a popup window.
34. On the Graphics tab, duplicate NavigationButton, name the duplicate as
NavigationButton2, and then open it for editing.
35. Right-click the canvas and select Custom Properties.
36. Change the WindowModal and WindowResizable custom properties to True.

y
op
C
ot
37. Click OK to close Edit Custom Properties.
38. Double-click the button to open Edit Animations.
39. In Animations, endure Element Style is selected, and then click Remove Animation.
N
o
D

AVEVA™ InTouch for System Platform 2023


5-32 Module 5 – Alarms and Events Visualization

An Animation Editor message appears.

y
40. Click Yes to confirm the removal of the animation.
41. Remove the Disable animation.
In Animations, only the Action Scripts animation remains.

op
42. Click OK to close Edit Animations.

C
43. Save and close and check in the graphic.

Add a Navigation Button for the Alarm Aggregation Overview


ot
Now, you will add an Alarm Aggregation Overview button to the navigation graphic. The button will
open a popup window displaying the graphic you created in earlier steps.
44. On the Graphics tab, in the Training toolset, open SystemNavigation for editing.
45. On the Toolbox tab, search for button2, and then drag NavigationButton2 to the right of the
N

Line 2 button on the canvas.


46. Change the text on the button to Alarm Overview.
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-33

47. Right-click the Alarm Overview button and select Custom Properties.
48. For GraphicName, in Default Value, enter AlarmAggregationOverview.

y
op
window.
C
Leaving the WindowName custom property blank will make the graphic appear in a popup

49. Click OK to close Edit Custom Properties.


ot
Enhance the Navigation Buttons
Now, you will enhance two of the SystemNavigation buttons by adding the alarm severity
indicators.
50. From Instances, embed Line1\AlarmSeverityLabels and place it at the top and center of the
N

Line 1 button.
51. Adjust the size of the graphic to fit the width of the button.
52. From Instances, embed Line2\AlarmSeverityLabels and place it at the top and center of the
Line2 button.
53. Adjust the size of the graphic to fit the width of the button.
o
D

54. Save and close and check in the graphic.

AVEVA™ InTouch for System Platform 2023


5-34 Module 5 – Alarms and Events Visualization

Test in Runtime
Finally, you will test the results in runtime.
55. In WindowMaker, click Runtime.
56. In the Navigation window, on the Line 1 and Line 2 buttons, notice that alarm counts for each
severity appear.

y
57. Click the Alarm Overview button to open the AlarmAggregationOverview popup window.

op
C
ot
N
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-35

58. Behind the popup window, attempt to click the Mixers button in the Navigation window.
There is no response to this action because the window is modal and must be closed before
you can do anything else.
59. In AlarmAggregationOverview, in the Production alarm panel, to the right of the Mode
label, click the up-arrow Command Panel button.

y
op
A command panel with a drop-down appears in the Production alarm panel.
60. Click the down-arrow and select Disable.

C
ot
N

The Apply button appears.


61. Click Apply.
o
D

AVEVA™ InTouch for System Platform 2023


5-36 Module 5 – Alarms and Events Visualization

62. Observe all alarm panels in the popup window indicate Disable.
Disabling alarms for the Production area also disables alarms for all child objects.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-37

63. In the Production alarm panel, to the right of the Mode label, click the up-arrow.
64. Click the down-arrow and select Enable.
65. Click Apply.

y
op
66. Observe all alarm panels in the popup window are enabled.
67. Close the AlarmAggregationOverview window.
68. Click Development! to return to WindowMaker.

<End of Lab>

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-38 Module 5 – Alarms and Events Visualization

[Optional Steps] Add Additional Mixer Alarm Panels


The following optional steps complete the AlarmAggregationOverview graphic by adding
additional mixer alarm panels to the Line2 area.
69. In the IDE, on the Graphics tab, in the Training toolset, double-click
AlarmAggregationOverview to open it for editing.
70. On the canvas, select all four mixer alarm panels and duplicate them.
71. Place the duplicates in the empty area below the Line2 alarm panel as shown below.

y
Note: If necessary, click the canvas and resize it so all panels fit on the canvas as shown.

op
C
ot
N
o
D

AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-39

72. Change the instance name for each duplicate by right-clicking and selecting Industrial
Graphic | Select Alternate Instance as follows:
Current Alternate Instance
Mixer100 Mixer500
Mixer200 Mixer600
Mixer300 Mixer700
Mixer400 Mixer800

73. In Tools, double-click Connector and draw connectors between the Line2 alarm panel and

y
the four duplicate mixer alarm panels as shown below.

op
C
ot

74. Save and close and check in the graphic.


N
o
D

AVEVA™ InTouch for System Platform 2023


5-40 Module 5 – Alarms and Events Visualization

75. Test in runtime.

y
op
C
ot
76. When you are finished testing, click Development! to return to WindowMaker.
N

<End of Optional Steps>


o
D

AVEVA™ Training
Section 2 – Live Alarms Visualization 5-41

Section 2 – Live Alarms Visualization


This section explains how to use the Alarm Client control in your InTouch for System Platform
application to visualize live alarms.

Introduction
The Alarm Client control is a graphic element that can be used in symbols to show current and
historical alarms and events.

y
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 Graphic Editor and can be used in symbols to

op
show current and historical alarms and events in a grid.
In the Graphic 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.
Deploy a Managed InTouch application containing Alarm Client controls to a remote node to
visualize and interact with alarms at runtime with InTouch WindowViewer.
This control has properties, methods, and events that can be modified, while an application is
running.


C
Once the control format has been designed, a user can make the following adjustments to
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
 Switching between languages
N
o
D

AVEVA™ InTouch for System Platform 2023


5-42 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.
The Alarm Client Control allows users to view and acknowledge all locally and remotely generated
alarms.

Embedding the Alarm Client Control


To embed the Alarm Client control, open the Graphic Editor. In the Tools pane, select the Alarm
Client tool.

y
op
Then click the canvas to place the object.

C
ot
N
o

You can resize the control and double-click it to access the configuration options.

Configuration Options
D

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

AVEVA™ Training
Section 2 – Live Alarms Visualization 5-43

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
 Historical Alarms
 Historical Events
Historical Alarms and Events

y

op
C
ot

The alarm query is configured in the Alarm Query field. To create a new line in the Alarm Query
N

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.
o
D

AVEVA™ InTouch for System Platform 2023


5-44 Module 5 – Alarms and Events Visualization

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
Column Details
C
ot
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
columns or change their order with the pointer.
N
o
D

AVEVA™ Training
Section 2 – Live Alarms Visualization 5-45

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

y
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

op
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
TimeSelector.EndDate later than any time filtering requirement.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-46 Module 5 – Alarms and Events Visualization

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:
 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™ Training
Section 2 – Live Alarms Visualization 5-47

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

y
 Specifying Alarm Client control freeze behavior
 Customizing the no records message
 Customizing the runtime shortcut menu

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-48 Module 5 – Alarms and Events Visualization

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

y
 Direction: Indicates if the property is read/write or just read-only

op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Live Alarms Visualization 5-49

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. For the selected event, the Parameters
list shows:
 Type: The data type of each parameter
 Name: The name of each parameter

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-50 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 14 – Building a Current Alarms Display 5-51

Lab 14 – Building a Current Alarms Display

Introduction
In this lab, you will create a graphic and add the Alarm Client to it. The Alarm Client will be
configured to query, filter, and display current alarms at runtime. Additionally, you will use the
Alarm Client to acknowledge alarms.

y
op
Objectives
Upon completion of this lab, you will be able to:
 Use and configure the Alarm Client to visualize current alarms

C
Configure and select alarm filters in the Alarm Client
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-52 Module 5 – Alarms and Events Visualization

Create an Alarm Display


First, you will create a symbol with the Alarm Client. Then, you will add queries and filters for use
at runtime.
1. In the IDE, on the Graphics tab, in the Training toolset, create a new symbol named
AlarmLiveDisplay, and then open it for editing.
2. In Tools, click Alarm Client and place it on the canvas.

y
op
You will now configure the Alarm Client to filter the alarms for the Line1, Line2, and Production
areas.

C
3. On the canvas, double-click the Alarm Client to configure it.
4. With Alarm Mode selected, ensure Client Mode is set to Current Alarms.
5. In Alarm Query, enter \\<NodeName>\Galaxy!Production.

Note: Your instructor will provide your node name. In a real-world scenario, the node name
ot
would point to a production node for the plant. For the purposes of this course, you will use the
GR node to provide alarms.
N
o
D

AVEVA™ Training
Lab 14 – Building a Current Alarms Display 5-53

6. In Animations, select Queries and Filters.


7. In Query and Filter Favorites, click Add new filter.

y
op
Add Query or Filter appears.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-54 Module 5 – Alarms and Events Visualization

8. In Query or Filter Name, enter Line1.

y
op
9. On the left, in the filter criteria list, select Group, and then click the right arrow button.
Group is added to the filter definition list.

C
ot
N
o
D

AVEVA™ Training
Lab 14 – Building a Current Alarms Display 5-55

10. In the filter definition list, select Group, and then on the right side, in the Operator drop-down
list, verify = is selected.

y
op
11. In Value, enter Line1.

C
ot
N

12. Click Set.


o
D

AVEVA™ InTouch for System Platform 2023


5-56 Module 5 – Alarms and Events Visualization

The filter definition list is updated.

y
op
13. Click OK to close Add Query or Filter.
In Filters, the new filter is listed.

C
ot

14. Click the Add new filter button.


N
o

15. In Query or Filter Name, enter Line2.


D

AVEVA™ Training
Lab 14 – Building a Current Alarms Display 5-57

16. In the filter criteria list, select Group, and then click the right arrow button.
17. In the filter definition list, select Group, and then in Value, enter Line2.

y
op
18. Click Set.
19. Click OK to close Add Query or Filter.

C
20. Add a third filter for Group named Production with a value of Production.
ot
N

The Production filter is added.


o
D

21. Click OK to close Edit Animations.

AVEVA™ InTouch for System Platform 2023


5-58 Module 5 – Alarms and Events Visualization

22. Click AlarmClient and configure it as follows:

Width: 1920
Height: 200

y
op
23. Save and close and check in the graphic.

Test in Runtime

C
Now, you will view current alarms in runtime.
24. In WindowMaker, embed AlarmLiveDisplay on the AlarmDisplay window.
ot
N

25. In Properties, uncheck Maintain aspect ratio.


AlarmLiveDisplay is stretched to fit the window.
26. Click Runtime and verify that current alarms are displayed in the AlarmDisplay window.
o
D

AVEVA™ Training
Lab 14 – Building a Current Alarms Display 5-59

27. In the Alarm Client, select a row, and then right-click and select Ack Selected.

y
op
Ack Comment appears.
C
ot
28. In Comment, enter ticket issued, and then click OK.
The selected alarm no longer appears in the list.
N

29. In the Alarm Client, right-click and select Ack Others | Ack All.
30. In Comment, enter ticket issued, and then click OK.
o
D

AVEVA™ InTouch for System Platform 2023


5-60 Module 5 – Alarms and Events Visualization

Use the Customized Filters in Runtime


Now, you will use the context menu in the Alarm Client to select a filter you created earlier. You will
explore more of the context menu items in a later lab, when security is enabled.
31. Right-click the AlarmLiveDisplay graphic and select Queries and Filters.

y
op
Query and Filter Favorites appears.
C
ot
32. In Filters, check Line1.
N
o
D

AVEVA™ Training
Lab 14 – Building a Current Alarms Display 5-61

33. Click OK and verify the Line1 alarm information.

y
34. Try additional filters.
35. Click Development! to return to WindowMaker.

op
<End of Lab>

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-62 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-63

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 objects contained in the mixer. You will also add a button in the mixer display to
show the alarm popup using Show Symbol animation.
This lab assumes that the WinPlatform hosting the alarmed objects is configured as the alarm

y
provider for such objects.

op
Objectives
Upon completion of this lab, you will be able to:
 Use scripting to dynamically change the Alarm Client’s AlarmQuery property to display
context-aware alarms
 Use the MyPlatform. relative reference in an expression
 Show a symbol using the Me. relative reference

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-64 Module 5 – Alarms and Events Visualization

Create a Context-Aware Alarm Display


In the following steps, you will create a symbol that includes the Alarm Client. Then you will use
scripting to build an alarm query that will be used to dynamically modify the Alarm Client’s
AlarmQuery property. Finally, you will add a button to the mixer display to open an alarm popup
window using the Show Symbol animation.
1. In the IDE, on the Templates tab, in the Training\Project template toolset, open the $Mixer
template for editing.
2. Add a symbol named AlarmPopup, and then open it for editing.

y
3. In Tools, click Alarm Client and place it on the canvas.
4. On the Properties tab, configure properties as follows:

op
Name: AlarmClient
Width: 800
Height: 400

The canvas should look as follows:


C
ot
N
o
D

AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-65

5. Right-click the canvas and select Custom Properties.


6. Add a custom property named NodeName and configure it as follows:

Data Type: String


Default Value: ‘Expression or Reference’ mode:
MyPlatform.NodeName
Visibility: Private

y
op
7. Click OK to close Edit Custom Properties.

C
8. Right-click the canvas and select Scripts.
9. In Edit Scripts, click Add Script.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-66 Module 5 – Alarms and Events Visualization

10. Name the script UpdateQuery and configure it 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.

y
dim prefix as string;
prefix = "\\" + NodeName + "\Galaxy!" + Me.Area + "!";

'Build alarm query.

op
dim almQry as string;
almQry = prefix + Me.Tagname + ".* ";
almQry = almQry + prefix + Me.Agitator.Tagname + ".* ";
almQry = almQry + prefix + Me.Inlet1.Tagname + ".* ";
almQry = almQry + prefix + Me.Inlet2.Tagname + ".* ";
almQry = almQry + prefix + Me.Outlet.Tagname + ".* ";
almQry = almQry + prefix + Me.Temperature.Tagname + ".* ";
almQry = almQry + prefix + Me.Level.Tagname + ".* ";

'Update alarm client with alarm query.


AlarmClient.AlarmQuery = almQry;

C
ot
N
o
D

12. Click OK to close Edit Scripts.


13. Save and close the graphic.

AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-67

14. In the Object Editor for the $Mixer template, in Content, double-click
MixingProcess_Detailed to open it for editing.
15. On the canvas, draw a button, enter Alarms, and then press Enter.
16. Place the button to the right of the Tank and change its ElementStyle to Intensity2.
Leave some space to the right of the Alarms button for placing another button in a later lab.

y
op
C
ot
17. Double-click the Alarms button to open Edit Animations.
18. Add a Show Symbol animation.
19. In Reference, enter Me.AlarmPopup.
N
o
D

20. Click OK to close Edit Animations.


21. Save and close the graphic.
22. Save and close and check in the $Mixer template.

AVEVA™ InTouch for System Platform 2023


5-68 Module 5 – Alarms and Events Visualization

Test in Runtime
Now, you will test if the Alarms button pops up the alarm display.
23. In WindowMaker, click Runtime.
24. In the ContentDisplay window, click the Alarms button to show the alarm display.
25. Verify that the displayed alarm information is only for Mixer100.

y
op
26. Close the alarm popup window.
C
27. Use the Select Mixer drop-down list to select another mixer, and then click the Alarms button.
ot
28. Verify that the displayed alarm information is only for the mixer you selected.
29. Close the alarm popup window.
30. Click Development! to return to WindowMaker.
N

<End of Lab>
o
D

AVEVA™ Training
Section 3 – Historical Alarms and Events Visualization 5-69

Section 3 – Historical Alarms and Events Visualization


This section explains how to use the Alarm Client control in your InTouch for System Platform
application to visualize historical alarms and events.

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.

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

op
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 dialog
box, you can enable historizing alarms by alarm severity and historizing events by type.

Historizing Alarms and Events Using Historian

C
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
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 2023


5-70 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 Alarms and
events dialog box. To open this dialog box, on the Galaxy menu, click Configure | Alarms and
Events Configuration.

y
op
C
Checking the Historize check box against each category determines whether or not those
categories will be historized. Modifying the Historize option does not require a redeployment.
ot
Setting Up the Engine
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.
N
o
D

AVEVA™ Training
Section 3 – Historical Alarms and Events Visualization 5-71

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
Configuring the Alarm Client Tool
The Alarm Client tool can be configured for historization by selecting one of the historical options
N

in the Client Mode drop-down list. Once selected, the following options can be configured:
 Authentication Mode
 Server Name
 Database Name
o
D

AVEVA™ InTouch for System Platform 2023


5-72 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.

y
Configuring Alarm Database Logging
To log Galaxy alarm and event data to the alarm database, do the following from within the Alarm

op
DB Logger Manager:
 Configure the connection to the alarm database
 Select which alarms to log to the alarm database
 Set the interval to log records to the alarm database
 Select which method to run the Alarm DB Logger
A connection between the Alarm DB Logger and the alarm database must also be established.

Configuring Which Alarms to Log C


The Alarm DB Logger only works with SQL Server authentication and the SQL Server
authentication must be set to mixed mode.

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
Use the following query syntax for the local node:
\Provider!AlarmGroup
N

Example:
\\ProdSvr\InTouch!$System
The following is an example of using a Galaxy alarm provider. This query provides all alarms from
a specific area.
\\Galaxy!Area
o

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
D

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 – Historical Alarms and Events Visualization 5-73

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

y
When the Alarm Control is configured in the Historical Alarms and Events mode, both alarms and
events stored in the Alarm Database are displayed.

op
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
 Maximum number of records to retrieve from the Alarm Database
 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 2023


5-74 Module 5 – Alarms and Events Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-75

Lab 16 – Building a Historical Alarm Display

Introduction
In a previous lab, you created an alarm display for visualization of current alarms and events. In
this lab, you will use the Alarm Client to create an alarm display for visualization of historical
alarms and events logged in the alarm database. You will use the ShowGraphic() script function to
display the historical alarms.

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

op
 Use and configure the Alarm Client to visualize historical alarms and events
 Create a filter in runtime

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-76 Module 5 – Alarms and Events Visualization

Create and Configure the Historical Alarm Display


First, you will create and configure an alarm display to retrieve historical information.
1. In the IDE, on the Graphics tab, in the Training toolset, create a new symbol named
AlarmHistDisplay, and then open it for editing.
2. In Tools, click Alarm Client and place it on the canvas.

Note: Leave some room above the Alarm Client on the canvas where you will configure
some text and buttons later in this lab.

y
3. Name the element AlarmClient.

op
C
ot
N

4. Double-click AlarmClient to open it for editing.


o
D

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-77

5. In Alarm Mode, in the Client Mode drop-down list, select Historical Alarms.
6. In Database Connectivity, verify the Authentication Mode is Windows Integrated, and
then in the Server Name field, enter your Historian server name.

Note: Your instructor will provide the Historian server name.

y
op
7. In the Database Name drop-down list, select History Blocks.
A Configuration Warning appears, confirming if you want to change the configuration.

C
ot
N

Note: This warning informs you that the current configuration, including password, will be
deleted if you proceed. For the purposes of this lab, no previous configuration exists. However,
o

in the real world, you may have already been connecting to a Microsoft SQL database and you
would lose that configuration if you proceeded with using History Blocks. Ensure you have
your authentication information recorded before proceeding.
D

8. In Configuration Warning, click Yes to continue.

AVEVA™ InTouch for System Platform 2023


5-78 Module 5 – Alarms and Events Visualization

9. Click Test Connection.


An Info message appears, indicating that the connection was successful.

y
op
10. Click OK to close the message.
11. In Time Range, from the time interval list, click the drop-down arrow and select 15 minutes.

C
ot
N

12. Click OK to close Edit Animations.


o
D

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-79

You will now create and configure the buttons you will use to retrieve historical data in runtime.
13. On the canvas, add a Text element at the top-left, above AlarmClient, and then enter History
Alarm Mode:.
14. Configure the properties as follows:

Name: AlarmMode_Txt
ElementStyle: Title

y
op
C
ot
15. To the right of AlarmMode_Txt, add a button and configure it as follows:

Name: HistAlarm_Btn
ElementStyle: Intensity2
Text: Historical Alarms
N

16. Resize the button to fit the text.


o
D

AVEVA™ InTouch for System Platform 2023


5-80 Module 5 – Alarms and Events Visualization

17. Double-click HistAlarm_Btn and add animations as follows:


Pushbutton

States: Analog
Reference: AlarmClient.ClientMode
Action: Set
Value1: 3

y
op
Element Style

States:
Expression Or Reference:
C
Boolean
AlarmClient.ClientMode == 3
ot
True, 1, On: Element Style: checked (default)
Intensity4 selected
False, 0, Off: Element Style: unchecked
N
o
D

18. Click OK to close Edit Animations.

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-81

19. Duplicate HistAlarm_Btn and configure the duplicate 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.

y
op
22. Double-click HistEvent_Btn and modify the animations as follows:
Element Style

Expression Or Reference: AlarmClient.ClientMode == 4

C
ot
Pushbutton

Value1: 4
N
o
D

23. Click OK to close Edit Animations.

AVEVA™ InTouch for System Platform 2023


5-82 Module 5 – Alarms and Events Visualization

24. Duplicate HistEvent_Btn.


25. Configure the duplicate as follows:

Name: HistAE_Btn
Text: Historical Alarms & Events

26. Resize the button to fit the text.

y
op
27. Double-click HistAE_Btn and modify the animations as follows:
Pushbutton

Value1: 5

C
ot
Element Style

Expression Or Reference: AlarmClient.ClientMode == 5


N
o

28. Click OK to close Edit Animations.


D

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-83

29. On the canvas, select the text and buttons, and then from the alignment toolbar, click Align
Middle and Make Horizontal Spacing Equal.
The text and buttons should appear as follows:

y
30. On the canvas, expand AlarmClient to the right.

op
C
ot
31. Save and close and check in the graphic.

Add a Navigation Button for the Historical Alarm Display


Now, you will add a Historical Alarms button to the navigation graphic. Clicking the button at
runtime will open the AlarmHistDisplay symbol in a popup window.
N

32. On the Graphics tab, open the SystemNavigation symbol for editing.
33. On the canvas, duplicate Alarm Overview and place the duplicate to the right of the original.
34. Use Substitute Strings to change the duplicate button text to Historical Alarms.
o
D

AVEVA™ InTouch for System Platform 2023


5-84 Module 5 – Alarms and Events Visualization

35. Configure the custom properties for the Historical Alarms button as follows:

GraphicName: AlarmHistDisplay
WindowModal: false

y
op
36. Click OK to close Edit Custom Properties.
37. Save and close and check in the graphic.

Test in Runtime

C
Finally, you will view historical alarms and events and create a filter in runtime.
38. In WindowMaker, click Runtime.
39. In the Navigation window, click the Historical Alarms button.
After a moment, the AlarmHistDisplay window opens with the Historical Alarms button
highlighted to show the client mode, and historical alarms are retrieved and appear in the
ot
Alarm Client.
N
o
D

Note: If necessary, you can resize the window.

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-85

40. In the AlarmHistDisplay popup window, right-click in the Alarm Client and select Queries
and Filters.

y
op
The Query and Filter Favorites window appears.
41. In Filters, click Add new filter.

C
ot
N

The Add Query or Filter window appears.


o
D

AVEVA™ InTouch for System Platform 2023


5-86 Module 5 – Alarms and Events Visualization

42. In Query or Filter Name, enter Line1.


43. Construct a filter, where Group = 'Line1'.

y
op
44. Click OK, and then in Filters, check the Line1 filter.
The filter is enabled.

C
ot
N
o
D

AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-87

45. Click OK, and then verify the historical alarm information is for Line1 only.

y
op
46. Close AlarmHistDisplay.
Now, you will generate some events and view them.
47. In the ContentDisplay window, for the agitator, change the speed setpoint, and then start and
stop the agitator.
48. In the Navigation window, click Historical Alarms.

C
49. In the AlarmHistDisplay window, click Historical Events.
The agitator events you generated appear.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


5-88 Module 5 – Alarms and Events Visualization

50. In the AlarmHistDisplay window, click Historical Alarms & Events.


The historical display shows a combination of alarms and events.

Note: You may need to scroll to the bottom of the list and then click the vertical scroll bar
button multiple times to see your events in the Alarm Client.

y
op
51. In the AlarmHistDisplay popup window, click Historical Alarms to show only alarms.

C
52. Close the AlarmHistDisplay popup window.
53. Click Development! to return to WindowMaker.

<End of Lab>
ot
N
o
D

AVEVA™ Training
y
op
C
Module 6 – Trend Visualization
Section 1 – Historization Overview 6-3
ot
Section 2 – Real-Time Trending 6-5
Lab 17 – Adding Trending to Graphics 6-7
Section 3 – Multi Pens Trend 6-19
N

Lab 18 – Creating a Trend Popup Symbol 6-23


Section 4 – Historian Client Trend Control 6-41
Lab 19 – Building a Historian Client Trend Display 6-49
o
D
6-2 Module 6 – Trend Visualization

Module Objectives
 Provide a brief overview of historization concepts
 Introduce the Trend Pen element and animation configuration
 Introduce the SA_Trend_MultiPen and SA_Trend_SinglePen symbols
 Provide a brief overview of the Trend control
 Introduce the Multi Pens Trend
 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 review of how Application Server handles the configuration and
logging of historical data.

Historization Background
The history system in Application Server supports the historization of process data in a distributed
history architecture. Each engine in the Galaxy is configured with the location of the Historian

y
storage node to which its history data is to be sent. This configuration is stored in an attribute
within the engine. A single engine sends its history to only one Historian. A single Historian can
receive historical data from a single Galaxy only.

op
For each object attribute to be historized, Historian requires a Historian tag to be configured in its
database and there is a one-to-one relationship between the two. When an object attribute
updates, its host engine pushes the value, time, and quality of the update to Historian, which then
stores the value.

The AppEngine is configured in the History area of the object. Historian storage attributes can be
set here.

C
ot
N

Historizable Data Types for Attributes


Attributes of the following data types support historization:
 Float (numerical)
Double (numerical)
o

 Integer (numerical)
 Boolean (nonnumerical)
String – Unicode (nonnumerical)
D

 CustomEnum (nonnumerical) maps to Historian Integer


 ElapsedTime (numerical) maps to Historian Float, converted to seconds
Entire arrays or portions of arrays are not supported. All numerical attributes are sent to the
Historian in the engineering units form exposed by the attribute, and Historian does not scale the
value. Additionally, the historized object performs all change detection and value deadbanding.

AVEVA™ InTouch for System Platform 2023


6-4 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Real-Time Trending 6-5

Section 2 – Real-Time Trending


This section introduces the Trend pen and two situational awareness symbols for trending and
explains how to configure them.

Introduction
Real-time trending helps operators monitor process value changes through the use of the trend
pen. The trend pen completes the goal of situational awareness for data values in a runtime

y
display. Operators who can see the current data value in context with historical data can project
where that value will be in the future and determine if and when an action is appropriate.

op
Trend Pen
The Trend Pen element can be added to a graphic to display trending for a configured reference. It
is available from the Tools pane in the Graphic Editor.

C
ot
Once you place the Trend Pen control on the canvas, the Edit Animations dialog box appears with
options for the Trend Pen animation. Through the animation, you can configure an analog data
source, Historian source period type, Y-axis range, and plot type.
N
o
D

At runtime, the Trend Pen is immediately plotted from historical data. This is referred to as backfill.
Any time the display is refreshed, the backfill method is used to fill the trend. Once the historical
data retrieval is complete, the pen starts updating from current data. The Trend Pen does this by
scrolling to the left as each live value is plotted.

AVEVA™ InTouch for System Platform 2023


6-6 Module 6 – Trend Visualization

Situational Awareness Library Trend Pen Symbols


The Trends toolset in the Situational Awareness Library includes the SA_Trend_SinglePen and
SA_Trend_MultiPen symbols. Both of these symbols rely on the Trend Pen tool.

SA_Trend_SinglePen
SA_Trend_SinglePen can be used to configure a single pen to display real-time and historical data
for a specified reference. Wizard options are available to configure the method for specifying the
Historian source, period type, plot type, and more.

y
For example, the SA_Trend_SinglePen can be configured as either:
 Tail Trend: A simple floating pen with basic configurations.
 Simple Trend: A one-pen trend with an optional grid, timescale, and the ability to display

op
a meter symbol attached with a trend pen

C
Custom properties are available to configure the pen data source, trend period in minutes, and
others. Pen elements are configured using the predefined element style Trend_Pen.
ot
SA_Trend_MultiPen
SA_Trend_MultiPen can be used to configure multiple pens to display historical data for multiple
references. Wizard options are available for configuring the number of pens in the trend, methods
for specifying the Historian source period type, plot type, the display of a floating tooltip, and more.
N
o
D

Custom properties are available to configure the data source, line weight, tagname, and visibility
for each pen, the selected pen, trend period in minutes, and others.
The symbol supports a maximum of four pens displayed using predefined element styles, which
are Trend_PenA, Trend_PenB, Trend_PenC, and Trend_PenD.

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-7

Lab 17 – Adding Trending to Graphics

Introduction
In this lab, you will display a real-time data plot. This will be done using Single Pen trend graphics
for Level and Temperature in the mixing process graphic.

y
op
Objectives
C
ot
Upon completion of this lab, you will be able to:
 Configure the SA_Trend_SinglePen symbol to display real-time and historical data
N
o
D

AVEVA™ InTouch for System Platform 2023


6-8 Module 6 – Trend Visualization

Create the Level and Temperature Trends


First, you will create LevelTrend_Detailed and TemperatureTrend_Detailed 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, on the Templates tab, in the Training\Project template toolset, open the $Mixer
template for editing.
2. In Content, add a new symbol named LevelTrend_Detailed, and then open it for editing.
3. From the Toolbox tab, embed Situational Awareness Library\Trends\

y
SA_Trend_SinglePen.

op
C
ot
N
o
D

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-9

4. Name the embedded graphic LevelTrend and configure wizard options as follows:

Name: LevelTrend
YAxisRangeType: ClipOutOfRangeValue
PlotType: Line
Label: True
SymbolMode: Advanced
AlarmBorder: True
Meter: True

y
MeterType: Level
EngUnitsType: CustomPropertyLabel

op
AlarmLimitIndicators: True
AlarmHiHiLimitIndicator: True
AlarmHiLimitIndicator: True
AlarmLoLimitIndicator: True
AlarmLoLoLimitIndicator: True
FloatingTooltip: True

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-10 Module 6 – Trend Visualization

5. Right-click LevelTrend and select Substitute | Substitute References.


6. Use Find & Replace to replace all references to Me.PV with Me.Level.PV.
Your references should appear as follows:

y
op
C
ot
7. Change Me.Level.PV.EngUnitsRangeMax to Me.Level.PV.EngUnitsMax.
8. Change Me.Level.PV.EngUnitsRangeMin to Me.Level.PV.EngUnitsMin.
9. Click OK to close Substitute Reference.
N
o
D

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-11

10. Use Substitute Strings to change the text Label to Level.

y
op
C
11. Click OK to close Substitute Strings.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-12 Module 6 – Trend Visualization

12. On the Properties tab, in Custom Properties, change the EnableFill property to True and
the FillColor property to Gray.

y
op
C
ot
Note: The description of the FillColor custom property shown at the bottom of the screen
shot above indicates there are eight color choices for the fill color. The color you selected
(Gray) is one of these colors. The Level meter in this course uses this filled area to represent
N

a Volumetric Flow measured in liters per second for the mixing process.

13. Save and close the graphic.


o
D

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-13

Now, you will duplicate LevelTrend_Detailed to create TemperatureTrend_Detailed in the $Mixer


template. Then you will modify the duplicate.
14. In Content, with LevelTrend_Detailed selected, click Duplicate.

y
op
C
15. Name the duplicate TemperatureTrend_Detailed and open it for editing.
16. On the canvas, select the graphic.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-14 Module 6 – Trend Visualization

17. On the Properties tab, change the properties as follows:

Name: TemperatureTrend
MeterType: Temperature
EnableFill: False

18. Use Substitute Strings to change Level to Temperature.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-15

19. Use Substitute References to change Level to Temperature.

y
op
20. Save and close the graphic.
C
ot
21. In Content, open MixingProcess_Detailed for editing.
22. On the canvas, select the Level and Temperature meters and delete them.
N
o
D

AVEVA™ InTouch for System Platform 2023


6-16 Module 6 – Trend Visualization

23. From Relative References, embed Me.TemperatureTrend_Detailed and place in the bottom
half of the Tank.

y
op
C
24. Move the agitator graphic to the right of the Mixer tank as shown below.
ot
N
o
D

AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-17

25. From Relative References, embed Me.LevelTrend_Detailed and place it in the top half of
the tank above the temperature graphic.

y
op
C
26. Resize the tank graphic to fit the Level and Temperature graphics.
ot
N
o
D

27. Save and close the graphic.


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

AVEVA™ InTouch for System Platform 2023


6-18 Module 6 – Trend Visualization

Test in Runtime
Now, you will view the trend graphics in runtime.
29. In WindowMaker, click Runtime.
30. In the ContentDisplay window, observe the Level and Temperature trends.

y
op
C
31. Place the mouse pointer on one of the trends and verify the floating tooltip appears.
ot
N

The floating tooltip contains the current value, limits, and average (Max minus Min).
Additionally, in the meter on the right, alarm limits are shown for HiHi, Hi, Lo, and LoLo. The
graphic also shows the alarm border when in alarm.
32. Click Development! to return to WindowMaker.
o

<End of Lab>
D

AVEVA™ Training
Section 3 – Multi Pens Trend 6-19

Section 3 – Multi Pens Trend


This section describes the Trend Client control as a real-time trend plot. It introduces Multi Pens
Trend as a real-time trend solution and explains backfilling data from Historian.

Introduction
The Graphic Editor offers two trend controls as built-in methods for plotting multiple pens
simultaneously. The first of these (and not part of this course) is the Trend Client control.

y
The Trend Client control can be used in symbols to chart attribute current values from Application
Server and current tag values from the InTouch HMI software. The Trend Client supports two
sources of data: real-time and historical. Real-time data can be sourced from Application Server

op
object attributes or from InTouch tags. Historical data can be sourced from Historian or InTouch
.lgh files.
The following shows the TrendClient tool in the Tools pane and the control placed on the canvas in
the Graphic Editor.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-20 Module 6 – Trend Visualization

Multi Pens Trend


The second multi pens control (and the focus on this course) is the Multi Pens Trend. The Multi
Pens Trend displays a succession of process values with multiple trend lines in a single trend
chart. It is available from the Tools pane in the Graphic Editor.

y
op
Once you place the Multi Pens Trend control on the canvas, the Edit Animations dialog box
appears with options for the Multi Pens Trend animation. Through the animation, you can
configure options for adding trend pens and their references, along with trend details, pen options,
and other settings. A maximum of eight pens can be configured.

C
ot
N

The reference for a pen is the data source that appears as the value shown by the trend. It can be
an external reference such as an object attribute, an InTouch tag, or a custom property. Constants
o

and expressions are not allowed.


You can enter the reference in the Reference field or use the ellipsis next to the field to select a
reference. Reference details include the Min and Max range and units of measure for the values of
D

a selected pen.

AVEVA™ Training
Section 3 – Multi Pens Trend 6-21

This trend control allows you to configure the color, weight, pattern, style, and plot type for the
selected pen, as well as customize the runtime display, such as formatting, scale, color, and other
settings.

y
op
C
The Fixed Time option determines whether a Date Time Picker is available for the start time of the
trend at runtime or not. The time interval presents a list of duration to set for the trend. Further, the
default historical configuration uses Historian as the trend source and will attempt to auto detect
ot
the Historian node.
N
o
D

AVEVA™ InTouch for System Platform 2023


6-22 Module 6 – Trend Visualization

Multi Pens Trend at Runtime


At runtime, the Multi Pens Trend displays the trend chart. Pen information appears in the legend at
the top. You can right-click in the legend to show options for showing, hiding, adding, or deleting
pens from the runtime display.
Chart options at the bottom allow you to change the time interval for the chart at runtime, as well
as pause and start the trend. If Fixed Time is checked, you can set the start time at runtime.

y
op
Multiple configuration changes can be made during runtime to enhance the operator’s experience.

C
For example, a pen can be added to the trend at runtime. Changes made at runtime do not persist
beyond the current runtime session, nor do these changes impact design time configurations.
Once the Multi Pens Trend control is reloaded, all runtime changes are lost.
ot
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-23

Lab 18 – Creating a Trend Popup Symbol

Introduction
In this lab, you will create a trend display using the Multi Pens Trend. You will add references to the
trend for Level, Temperature, and Agitator. You will configure the trend source to use Historian
data. Finally, you will use a Multi Pens Trend feature to add a pen at runtime.

y
op
Objectives C
Upon completion of this lab, you will be able to:
ot
 Create a Multi Pens Trend display
 Add an additional pen to the Multi Pens Trend in runtime
N
o
D

AVEVA™ InTouch for System Platform 2023


6-24 Module 6 – Trend Visualization

Configure a Trend Display for the $Mixer Template


First, you will add a symbol to show trends for the mixer.
1. In the IDE, on the Templates tab, in the Training\Project template toolset, open the $Mixer
template for editing.
2. In Content, add a symbol named TrendPopup, and then open it for editing.
3. In Tools, select Multi Pens Trend.

y
op
4. Place the Multi Pens Trend on the canvas.
Edit Animations appears with the Trend Pens tab open.

C
5. In the first Pen Name field, enter Temperature.
ot
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-25

6. In the first Reference field, enter Me.Temperature.PV.


Temperature Details is updated to reflect the selected row in the table.

y
op
C
ot
N

7. In Min, enter Me.Temperature.PV.EngUnitsMin.


8. In Max, enter Me.Temperature.PV.EngUnitsMax.
9. In Units, click the icon to switch to Expression or Reference mode.
o
D

AVEVA™ InTouch for System Platform 2023


6-26 Module 6 – Trend Visualization

10. In Units, enter Me.Temperature.PV.EngUnits.

y
op
11. In Plot, in the drop-down list, select Line.

C
ot
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-27

12. Configure a pen for the Level as follows:

Pen Name: Level


Reference: Me.Level.PV
Min: Me.Level.PV.EngUnitsMin
Max: Me.Level.PV.EngUnitsMax
Units: Expression or Reference Mode
Me.Level.PV.EngUnits
Color: Bright green

y
Plot: Line

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-28 Module 6 – Trend Visualization

13. Click Add a row to add a row to the table.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-29

14. Configure a pen for the Agitator as follows:

Pen Name: Agitator


Reference: Me.Agitator.PV
Min: 0
Max: 1
Units: Static Text Mode (default)
blank (default)
Color: use the automatic color (default)

y
Plot: Step Line (default)

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-30 Module 6 – Trend Visualization

Now you will verify the default options for Multi Pens Trend.
15. Select the Options tab.
The Options tab appears, displaying default options

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-31

16. At the bottom of the Options tab, notice Source is set to Historian and Historian / Auto
Detect is checked.
If Historian is installed and configured, at runtime, the operator will not have to wait for the full
5-minute time period to see data fill the chart. This is because Historian will be used to backfill
the chart. Additionally, the chart has a Date Time Picker used to select the start date and time
of the chart. If Historian has data collected for that time, the chart will fill with that data.

y
op
17. Click OK to close Edit Animations.
18. Save and close the graphic. C
Next, you will configure a button to pop up the Multi Pens Trend display at runtime.
19. In Content, open MixingProcess_Detailed for editing.
ot
20. On the canvas, duplicate the Alarms button, and then place the duplicate to the right of the
original.
N
o

21. Configure the duplicate as follows:

Name: Trends_Btn
Text: Trends
D

AVEVA™ InTouch for System Platform 2023


6-32 Module 6 – Trend Visualization

22. On the canvas, double-click the Trends button to open Edit Animations.
23. Configure the Show Symbol animation as follows:

Reference: Me.TrendPopup

y
24. Click OK to close Edit Animations.
The canvas should look similar to the following:

op
C
ot
N

25. Save and close the graphic.


26. Save and close and check in the $Mixer template.
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-33

Test in Runtime
Finally, you will test the Multi Pens Trend at runtime.
27. In WindowMaker, click Runtime.
Mixer100 appears in the ContentDisplay window.
28. In the ContentDisplay window, click the Trends button.
The Mixer100.TrendPopup window appears.

y
op
C
29. Observe the legend lists the three attributes shown on the chart. Additionally, the live value for
ot
each appears in the Value column. These values represent the right-edge of the chart as it
scrolls toward the left in real time.
30. In the options at the bottom, click Pause the trends.
The trend stops scrolling.
N
o
D

AVEVA™ InTouch for System Platform 2023


6-34 Module 6 – Trend Visualization

31. In the trend, hover the mouse over the pens in the chart.
At the location of the mouse, a tooltip appears with details for each pen, including the current
value, quality, engineering units, and the date and time stamp.

y
op
Next, you will add a pen at runtime.
C
32. In the options at the bottom, click Resume the trends to resume scrolling.

33. In the legend, right-click and select Add.


ot
N
o

A new row is added to the legend.


D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-35

34. In Pen Name, enter Inlet1 and then press Tab to advance to Reference.
35. In Reference, enter Me.Inlet1.LSOpen and then press Tab two times to advance to Max
Range.
In Reference, Me.Inlet1.LSOpen is replaced with Mixer100.Inlet1.LSOpen.
36. In Max Range, enter 1 and press Enter.
The new pen appears on the chart.

y
op
C
37. In the options at the bottom, click the Set time period drop-down to display a list of chart
durations.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-36 Module 6 – Trend Visualization

38. In the drop-down list, select 1 Min.


The chart updates to show a 1-minute duration.

y
op
39. Close the popup window.

C
40. In the ContentDisplay window, select a different mixer, and then click Trends.
In the legend, notice the values in the Reference column did not update to reflect the selected
mixer. This is because the default In-memory caching setting for WindowViewer causes the
last state of an Industrial Graphic to persist when the graphic is opened again. In the following
steps, you will disable this and try again.
ot
41. Close the popup window.
42. In WindowViewer, click Development! to return to WindowMaker.
N
o
D

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-37

43. In the top-left corner, select the File menu.


44. In the backstage, select Configure, and then select WindowViewer.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-38 Module 6 – Trend Visualization

45. In the WindowViewer settings, select the Memory tab.


46. In In-memory caching, uncheck Cache Industrial Graphics not embedded in InTouch
windows.

y
op
C
ot
The Save button is enabled.
47. Click Save.
A notification appears indicating it is necessary to close WindowViewer for the changes to take
effect.
N
o

48. Exit the backstage.


49. On the desktop, in the taskbar, right-click WindowViewer and select Close window.
D

50. In WindowMaker, click Runtime.

AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-39

51. In the ContentDisplay window, click Trends.


The popup window displays Mixer100 data.
52. Close the popup window.
53. Select a different mixer and click Trends.
Now, the popup window updates to reflect the selected mixer.
54. Close the popup window
55. Click Development! to return to WindowMaker.

y
<End of Lab>

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-40 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

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 Trend control.

Historian Client Controls


Historian Client provides some of its applications and functionality as .NET controls. It is
purchased and licensed separately for InTouch for System Platform. Using the Client Controls
functionality of System Platform, Historian Client .NET controls can be imported into the Galaxy as

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

op
C:\Program Files (x86)\Common Files\ArchestrA.
The Historian Client controls can be categorized as application controls, building block controls, or
core functionality controls.
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-
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 2023


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

y
general options for use with all trends.

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 Historian database or any SQL Server
database and returns the results in a table format. If querying the 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 2023


6-44 Module 6 – Trend Visualization

aaHistClientTagPicker Control
The aaHistClientTagPicker control displays the hierarchy of objects in the 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 2023


6-46 Module 6 – Trend Visualization

aaHistClientActiveDataGrid Control
The aaHistClientActiveDataGrid control can run any SQL query from any 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.

y
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" );

op
aaHistClientActiveDataGrid1.ServerName = "localhost";
aaHistClientActiveDataGrid1.UserName = "aaUser";
aaHistClientActiveDataGrid1.Password = "pwUser";
aaHistClientActiveDataGrid1.DatabaseName = "Runtime";
aaHistClientActiveDataGrid1.SQLString = "SELECT * FROM History
WHERE Tagname = 'SysTimeSec'";
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 Historian
database.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-48 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 19 – Building a Historian Client Trend Display 6-49

Lab 19 – Building a Historian Client Trend


Display

Introduction
In this lab, you will create a symbol and embed the Historian Client Trend. This trend will be used
to display and compare levels from different mixers. Additionally, you will add navigation to open
this trend and view alarm highlights for the levels at runtime.

y
op
C
ot
Objectives
Upon completion of this lab, you will be able to:
 Embed the Historian Client Trend .NET control in a symbol
 Use the AddServerEx() script function to initialize the Historian Client Trend
N

 Use the Historian Client Trend Tag Picker to add tags to the trend at runtime
o
D

AVEVA™ InTouch for System Platform 2023


6-50 Module 6 – Trend Visualization

Create a Historian Client Trend Display


First, you will create a symbol and embed a Historian Client Trend .NET control.
1. In the IDE, on the Graphics tab, in the Training toolset, create a symbol named
TrendHistDisplay, and then open it for editing.
2. On the Toolbox tab, search for aatrend and then drag aaTrendControl to the canvas.

y
op
3. Name the graphic Trend.
C
4. Right-click the canvas and select Custom Properties.
ot
N
o
D

AVEVA™ Training
Lab 19 – Building a Historian Client Trend Display 6-51

5. Add a custom property named HistServer and configure it as follows:

Note: Your instructor will provide the Historian node name.

Data Type: String


Default Value: <HistorianNodeName>
Visibility: Private

y
op
C
ot
6. Click OK to close Edit Custom Properties.
N
o
D

AVEVA™ InTouch for System Platform 2023


6-52 Module 6 – Trend Visualization

7. Right-click the canvas and select Scripts.


8. In Predefined Scripts, in the Trigger type drop-down list, verify On Show is selected.
9. In the script body, enter the following:

Note: You may use the applicable script in C:\Training\Lab19 - Building a Historian Client
Trend Display.txt.

'Add a server using integrated security.


Trend.AddServerEx(HistServer,"","",false);

y
op
C
ot
10. Click OK to close Edit Scripts.
11. Save and close and check in the graphic.
N

Add a Navigation Button for Displaying TrendHistDisplay


Next, you will add a button to the SystemNavigation symbol to display the TrendHistDisplay
graphic.
12. On the Graphics tab, open SystemNavigation for editing.
o

13. On the canvas, duplicate the Historical Alarms button and place the duplicate to the right of
the original.
14. Use Substitute Strings to change the button text to Historian Client Trend.
D

AVEVA™ Training
Lab 19 – Building a Historian Client Trend Display 6-53

15. For the new button, open Edit Custom Properties and change the GraphicName default
value to TrendHistDisplay.

y
op
C
16. Click OK to close Edit Custom Properties.
17. Save and close and check in the graphic.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-54 Module 6 – Trend Visualization

Test in Runtime
Now, you will view the Historian Client Trend in runtime.
18. In WindowMaker, click Runtime.
19. In the Navigation window, click Historian Client Trend.
After a moment, the trend appears.
20. In Tags, select Level_001.PV and drag it to the chart.
The chart displays Level with alarm limits highlighted where orange represents HiHi and LoLo,

y
and yellow represents Hi and Lo.

op
C
ot
N
o
D

AVEVA™ Training
Lab 19 – Building a Historian Client Trend Display 6-55

Now, you will add additional tags.


21. In Tags, select the following tags and drag them to the chart.

Note: To select multiple tags at once, you can press and hold Ctrl or Shift.

 Level_002.PV
 Level_003.PV
 Level_004.PV
 Level_005.PV

y
 Level_006.PV
 Level_007.PV
Level_008.PV

op

The comparative display of the overlapping mixer levels demonstrates the time difference for
filling and draining each tank, including latency.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-56 Module 6 – Trend Visualization

22. Drag other tags to the trend chart and observe the trends.
23. Above the chart, in the middle drop-down list, select 1 minute.

y
op
C
24. Click Enable or disable live or replay mode.
The chart begins scrolling continuously.
ot
N
o
D

AVEVA™ Training
Lab 19 – Building a Historian Client Trend Display 6-57

25. Close the TrendHistDisplay window.


26. Click Development! to return to WindowMaker.

<End of Lab>

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


6-58 Module 6 – Trend Visualization

y
op
C
ot
N
o
D

AVEVA™ Training
y
op
Section 1 – Security Overview
C Module 7 – Security
7-3
ot
Lab 20 – Using Security Features in Graphics 7-9
Section 2 – Signed Writes 7-35
Lab 21 – Signing Writes from InTouch 7-39
N

Section 3 – Customization of the Runtime Environment 7-59


Lab 22 – Locking Down Your Application 7-61
o
D
7-2 Module 7 – Security

Module Objectives
 Review configuring Application Security
 Describe Authentication Modes, General permissions, and Operational permissions
 Provide a brief overview of 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 an overview of security in Application Server, including authentication


modes, permissions, roles, and users. It also describes security classifications for attributes, the
security audit trail, 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

y
relationship-based security system between users and the objects and functions of the Galaxy.
Security is designed to allow system administrators easily define users and assign the operations
they are allowed to perform. The security permissions are defined in terms of the operations the

op
users can perform using Automation objects.

Configuring Security
Before the security editor for a Galaxy is opened, ensure that:
 No other user is connected to the Galaxy
 All objects in the Galaxy are checked in

C
The user profile has configuration permissions to change Framework Configuration/Modify
Security Model, if security is previously configured
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
redeployed after the account is changed, so that the engines run using the current information.

Key Points
N

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
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
o

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
D

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 2023


7-4 Module 7 – Security

Authentication Modes
You can select from following 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.

y
 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

op
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.
 Authentication providers: Uses the AVEVA Identity Manager (AIM) to create a unified
security management infrastructure across your local System Platform nodes and Azure
VMs by leveraging operating system security and Azure Active Directory (AD). Refer to
your System Platform documentation for more information about the AVEVA Identity
Manager and configuring Azure AD as an identity provider.

C
ot
N
o
D

AVEVA™ Training
Section 1 – Security Overview 7-5

General and Operational Permissions


You can 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 and Default roles have all permissions. All users belong to the Default

y
role and this relationship cannot be changed. Therefore, it is highly recommended that you remove
all permissions from the Default role.

Note: The General permissions for the role of Administrator cannot be modified.

op
C
ot
N

The following Operational permissions can be associated with a role:


o

 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.
D

 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.
 Can Acknowledge Alarms: Allows users to manually acknowledge an alarm in the
runtime environment.

AVEVA™ InTouch for System Platform 2023


7-6 Module 7 – Security

 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

y
Operational permission setting disabled by default.

op
Setting Object Security
Operators interact with objects through the individual attributes of those objects. Each attribute on
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
the following possible states:

Security Icon

FreeAccess
Description

the object. C
Change this value without restriction, even if there are no defined permissions on

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.
ot
Work with Operate permissions to do certain normal day-to-day tasks. These
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
written to. This security state also requires Operate permissions for the object.
N

SecuredWrite
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.
o

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

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.

y
Configuring Security for Symbols
You can set security permissions so that at design time, the user cannot:

op
 Import or export symbols
 Create, modify, or delete symbols on the Graphics tab
 Create, modify, or delete symbols in any AutomationObject template
 Create, modify, or delete symbols in any AutomationObject instance
 Create, modify, or delete View Applications, such as the InTouch View Applications
 Deploy or undeploy View Applications, such as InTouch View Applications

Security Audit Trail


C
Edit the configuration of the Quality and Status Display

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


The following system tags are available to deal with security.
N

Tagname Type Valid Values Access


$AccessLevel System Integer 0-9999 Read Only
$ChangePassword System Discrete 1 or 0 Read Write
$InactivityTimeout System Discrete 1 or 0 Read Only
$InactivityWarning System Discrete 1 or 0 Read Only
$Operator System Message 16-characters max Read Only
o

$OperatorName System Message 131-characters max Read Only


$OperatorEntered System Message 16-characters max Write Only
$PasswordEntered System Message 16-characters max Write Only
D

$VerifiedUserName System Message 16-characters max Read Only

AVEVA™ InTouch for System Platform 2023


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

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

op
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.
If the logon attempt succeeds, then True is returned and the $OperatorName, $AccessLevel, and
$Operator system tags are updated accordingly.

C
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-
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.
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
N

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

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
D

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 create a custom logon display using built-in script functions for security.
Additionally, you will enable security for your Galaxy and configure users, passwords, roles, and
access levels. Then you will add and configure Visibility and Disable animations containing the
InTouch:$AccessLevel tag to protect your application from unauthorized access.

y
Finally, you will use the logon display to authenticate users in runtime and test the impact of
security on your InTouch application.

op
Objectives


and their access level
C
Upon completion of this lab, you will be able to:
Create a symbol to authenticate users at runtime and display the currently logged on user

Add Visibility and Disable animations using access levels to prevent unauthorized access
ot
 Create scripts using PostLogonDialog() and Logoff() security functions
N
o
D

AVEVA™ InTouch for System Platform 2023


7-10 Module 7 – Security

Set Up Security for the Galaxy


First, you will configure security. To do this, you will set the authentication mode, add a role, set its
access level, add a user, and associate the user to the role.
1. Close WindowMaker and check in the $MixerView template.

Note: To configure security, all objects in the Galaxy must be checked in. To do this, use the
Find button on the Home ribbon in the IDE. There, you can enable Only checked-out
objects and search in both templates and instances. For all objects found, right-click and
select check-in.

y
2. In the IDE, on the Galaxy menu, select Configure | Security.

op
C
ot

The Security area appears.


N
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-11

3. In Security, on the Authentication mode tab, select Galaxy.

y
op
4. On the Roles tab, click Add new Role.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-12 Module 7 – Security

5. Name the new role Training.

y
op
6. In Access level, double-click and enter 1000.

C
ot
N

7. On the Users tab, for the Administrator user, double-click in Full name and enter System
Administrator.
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-13

8. Click Add new User.

y
9. Name the new user TUser.

op
C
ot
10. In Full name, double-click and enter Training User.
N
o
D

AVEVA™ InTouch for System Platform 2023


7-14 Module 7 – Security

11. In the Role list, check Training to associate the Training role with TUser.

y
op
C
ot
12. Click Change Password.
N
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-15

The Change password dialog box appears.


13. In New password, enter ww.

y
op
C
14. In Confirm new password, enter ww.
ot
N
o
D

15. Click Save to close Change password.

AVEVA™ InTouch for System Platform 2023


7-16 Module 7 – Security

16. Click Save to close Security.

y
op
Sign in to TrainingGalaxy appears.
C
ot
17. In User name, enter administrator.
N
o
D

18. Click Next.

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-17

19. Click Sign in.


The administrator account has no password.

y
op
After a moment, the IDE closes and then reopens.

C
20. In the IDE, on the top-right of the title bar, click the profile icon.
Notice that administrator is shown as the logged-in user.
ot
N
o

Note: Alternatively, you can verify the logged-in user from the backstage. You can do this by
selecting Galaxy | User | Galaxy User, and notice that administrator is shown as the logged-
in user.
D

AVEVA™ InTouch for System Platform 2023


7-18 Module 7 – Security

Configure Security Settings in the Mixer Display


Next, you will secure interactive elements of your application from unauthorized access.
You will do this by configuring Disable and Visibility animations with expressions linked
to InTouch:$AccessLevel.
21. In the IDE, on the Templates tab, in the Training\Project template toolset, open $Mixer for
editing.
22. In Content, open SwitchedMixingProcess for editing.
23. On the canvas, double-click Select Mixer.

y
24. Add a Visibility animation.

op
25. In States, click Boolean.

C
26. In Reference, enter InTouch:$AccessLevel >= 1000.
27. In Visible When Expression is, verify the True, 1, On setting is selected.
ot
N
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-19

28. Click OK to close Edit Animations.


29. On the canvas, double-click MixerDropDown.
30. Add a Disable animation.
31. In States, click Boolean.
32. In Expression, enter InTouch:$AccessLevel >= 1000.
33. In Disable When Expression is, select False, 0, off.

y
op
C
ot
N

34. Click OK to close Edit Animations.


35. Save and close the graphic.
o
D

AVEVA™ InTouch for System Platform 2023


7-20 Module 7 – Security

36. Save and close the $Mixer template.


Because you changed users and reopened the IDE in an earlier step, the check-in warning for
automation objects must be re-acknowledged.

y
op
C
ot
37. Click Check-in and complete the check-in process.

Protect Equipment Controls from Unauthorized Access


Now, you will continue securing your application by adding Disable animations to the commands
and setpoint of the valve, pump, and agitator.
N

38. On the Graphics tab, in the Training toolset, open Valve_Detailed for editing.
39. On the canvas, double-click Valve and add a Disable animation.
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-21

40. Configure the animation as follows:

States: Boolean
Reference: InTouch:$AccessLevel == 0
Disabled When Expression is: True, 1, On (default)

y
op
C
ot
N

41. Click OK to close Edit Animations.


42. Right-click Valve and select Animations | Copy.
43. Save and close and check in the graphic.
o
D

AVEVA™ InTouch for System Platform 2023


7-22 Module 7 – Security

44. On the Graphics tab, open Pump_Detailed for editing.


45. On the canvas, right-click Pump and select Animations | Paste.
A message appears, indicating the Pump already has a Show Symbol animation. Paste will
only add animations, it will not replace animations. Because the Pump already has a Show
Symbol animation, only the Disable animation will be pasted to the graphic.

y
op
46. Click OK to acknowledge the message.
47. Save and close and check in the graphic.
48. On the Graphics tab, open Agitator_Detailed for editing.

50. Click OK to acknowledge the message.


C
49. On the canvas, right-click Agitator and select Animations | Paste.

51. Save and close and check in the graphic.


ot
N
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-23

Create a Login Symbol


Now, you will create a symbol that users will use to log in and log out during runtime.
52. On the Graphics tab, in the Training toolset, create a symbol named SecurityDisplay, and
then open it for editing.
53. On the canvas, add a Text element and enter User:.

Note: Leave room to the left of the text element for some buttons that will be configured later
in this lab.

y
54. Configure the text element as follows:

ElementStyle: Label

op
Alignment: MiddleRight

C
ot
55. On the canvas, duplicate User: and place the duplicate below the original.
56. Change the text of the duplicate to User Full Name:.
57. On the canvas, duplicate User Full Name: and place the duplicate below the original.
58. Change the text of the duplicate to Access Level:.
N

59. Use alignment tools to position the text elements as follows:


o
D

AVEVA™ InTouch for System Platform 2023


7-24 Module 7 – Security

60. To the right of each label, add a related Text Box and configure as follows:
Elements Width Height
User: 300 40
User Full Name: 300 40
Access Level: 300 40

61. Align the Text Box elements as shown below:

y
op
C
62. Select all three Text Box elements and configure them as follows:
ot
ElementStyle: Actual_Value
Alignment: MiddleLeft
N
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-25

63. For the Text Box to the right of User:, add a Value Display animation and configure it as
follows:

States: String
Reference: InTouch:$Operator

y
op
64. For the Text Box to the right of User Full Name:, add a Value Display animation and
configure it as follows:

States: String
Reference: InTouch:$OperatorName

C
ot
65. For the Text Box to the right of Access Level:, add a Value Display animation and configure
it as follows:

States: Analog
N

Reference: InTouch:$AccessLevel
o
D

AVEVA™ InTouch for System Platform 2023


7-26 Module 7 – Security

66. To the left of User: draw a button, and for the text enter Logon.
67. For Logon, change the Element Style to Intensity2.

y
op
68. Double-click Logon and add an Action Scripts animation.
69. In the script body, enter:
PostLogonDialog();

C
ot
N
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-27

70. Add an Element Style animation and configure it as follows:

States: Boolean
Expression Or Reference: InTouch:$AccessLevel <> 0
True, 1, On: Element Style: checked (default)
Intensity4 selected
False, 0, Off: Element Style: unchecked

y
op
71. Click OK to close Edit Animations.

C
72. Duplicate Logon and place the duplicate below the original.
73. For the duplicate, change the text to Logoff.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-28 Module 7 – Security

74. Double-click Logoff and modify the animations as follows:


Element Style

States: Boolean (default)


Expression Or Reference: InTouch:$AccessLevel == 0
True, 1, On: Element Style: checked (default)
Intensity4 (default)
False, 0, Off: Element Style: unchecked (default)

y
op
Action Scripts

Script body: Logoff();


C
ot
N

75. Click OK to close Edit Animations.


o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-29

76. On the Toolbox tab, search for analogwall and embed ClockAnalogWall on the canvas.
77. On the canvas, position the clock to the right of the text boxes, ensuring that the clock does
not overlap the text boxes.
The example below shows all elements selected on the canvas and shows that the clock does
not overlap the text boxes.

y
op
78. Save and close and check in the graphic.

Embed SecurityDisplay on a Window


C
Now, you will replace the original graphic in the Logon window with the SecurityDisplay symbol.
79. In the IDE, on the Templates tab, in the Training\ViewApps template toolset, double-click
$MixerView to open WindowMaker.
ot
80. In WindowMaker, click Open to open the selected windows.
81. Scroll to the right to show the Logon window.
N
o
D

AVEVA™ InTouch for System Platform 2023


7-30 Module 7 – Security

82. In Industrial Graphics, expand Training and drag SecurityDisplay to the Logon window.
A message appears.
83. Click Yes to replace the existing symbol.
The Logon window is updated.

y
op
84. In Canvas, scroll back to the left.
C
ot
Test in Runtime
Finally, you will test security at runtime.
85. Click Runtime.
In the Logon window, User shows None, which means that no user is logged in.
N
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-31

86. In the ContentDisplay window, notice the Select Mixer text is invisible and the drop-down list
is disabled and cannot be clicked.

y
op
87. Click the valves, pumps, and agitator to verify their command panels are disabled.
88. In the Logon window, click Logon.
Login to ArchestrA - Galaxy based appears.
89. In User name, enter TUser.
90. In Password, enter ww.

C
ot
N

91. Click OK to log in.


Notice that Training User is logged on. The Logon window shows the Logon button
highlighted to indicate a valid user is logged in. Additionally, the text boxes show user
information, including an Access Level of 1000.
o
D

AVEVA™ InTouch for System Platform 2023


7-32 Module 7 – Security

In the ContentDisplay window, the Select Mixer text is visible and the drop-down list is
enabled.

y
op
92. Click the valves, pumps, and the agitator to verify their command panels are enabled, closing
each command panel when done.

C
ot
N
o
D

AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-33

93. In the Logon window, click Logon.


94. In User name, enter administrator.
The administrator user has no password.

y
op
95. Click OK.
Notice that System Administrator is logged in and has an Access Level of 9999.

C
96. Verify the Administrator user has access to all the same features of the application as
Training User.
ot
97. Click Logoff.
98. Verify that no one is logged in and the secured features are unavailable.
99. Click Development! to return to WindowMaker.
N

<End of Lab>
o
D

AVEVA™ InTouch for System Platform 2023


7-34 Module 7 – Security

y
op
C
ot
N
o
D

AVEVA™ Training
Section 2 – Signed Writes 7-35

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, you can assign users to roles. On the Users page, all users in the

y
Galaxy and the roles they are assigned are listed.

op
C
ot

By default, the new user is associated with the Default role, but not the Administrator role. Users
N

can be assigned to more than one role.

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

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

 In Galaxy authentication mode, edit the User Name in the Change Password dialog box.
 In OS-based authentication modes, the User Name of the OS user is shown; user
information cannot be edited.

AVEVA™ InTouch for System Platform 2023


7-36 Module 7 – Security

About OS Group-Based Security


If the OS Group-based Authentication Mode is used, understand the Windows operating system,
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.

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

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

op
Using InTouch Access Levels Security
The Roles page includes the Access Level column. The Access Level is an InTouch function.
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

Using Secured and Verified Writes


C
with different access levels, the higher access value is passed to InTouch.

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.
ot
With authentication, users can write to such attributes by:
 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
 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
N

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
o


perform the Verified Write.
 The verifier must have the Can Verify Writes Operational permission to confirm the
Verified Write.
D

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-37

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.

y
op
C
Create a symbol and associate it 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.
ot
Use the SignedWrite() script function to configure these inputs. The script function can only be
used for attributes configured with Secured Write or Verified Write and symbol scripts, not for
application object scripts.
Reason Description
The reason description is specific to an attribute. It explains the purpose of the attribute and the
N

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
o

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
D

selecting from a predefined list of comments.

AVEVA™ InTouch for System Platform 2023


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

y
 The signee name
 Verifier name, if any

op
 Type of write: Secured Write or Verified Write
 Comment, if any entered by user
 Reason Description, if any provided
 Field Attribute description, if any, or the Short Description of the ApplicationObject, if no
Field Attribute description exists

C
ot
N
o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-39

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 security classifications. You will also
create new security Roles and Users to represent the operator and supervisor accounts that will
access the system.

y
op
C
ot
Objectives
Upon completion of this lab, you will be able to:
 Use the Secured Write and Verified Write functions in InTouch
 Enable the Operate and Can Verify Write permissions
N
o
D

AVEVA™ InTouch for System Platform 2023


7-40 Module 7 – Security

Create and Configure Roles and Users


First, you will configure additional roles and users that will be used to test both secured and
verified writes.
1. Close WindowMaker and check in the $MixerView template.

Note: Remember that security configuration requires that all objects are checked in. The
Find tool is useful for this task.

2. In the IDE, on the Galaxy menu, select Configure | Security.

y
3. On the Roles tab, in Define security roles, select the Default role.
4. In Operational permissions, uncheck Default and then expand it.

op
5. Under Alarms, check Can Acknowledge Alarms.

C
ot
N
o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-41

6. Click Add new Role (+).


7. Name the new role Operators with an Access level of 1000.

y
op
8. In Operational permissions, expand Default, and then check Can Modify “Operate”
Attributes.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-42 Module 7 – Security

9. Add a new role named Supervisors with an Access level of 5000.


10. In Operational permissions, expand Default, and then under Alarms, check the following:
 Can Shelve Alarms
 Can Modify Alarm Modes
 Can Modify Plant States
11. Scroll down to the bottom and check Can Verify Writes.

y
op
C
ot
12. On the Users tab, add a new user named Operator1 with a Full name of Operator One.
13. In the Role list, check Operators to associate the Operators role with Operator1.
N
o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-43

14. Click Change Password.


15. In both New Password and Confirm New Password, enter ww.

y
op
C
16. Click Save to close Change Password.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-44 Module 7 – Security

17. Add another user named Operator2 and configure it as follows:

Full name: Operator Two


Role: Operators
Password: ww

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-45

18. Add another user named Supervisor1 and configure it as follows:

Full name: Supervisor One


Role: Supervisors
Password: ww

y
op
C
ot
19. Click Save and exit the backstage.
N

Configure Attributes with Signed Write Security Classifications


Next, you will configure agitator objects with attributes with signed write security classifications.
20. On the Templates tab, in the Training \ Project toolset, double-click $Mixer.Agitator to open
it for editing.
o

21. In Attributes, ensure the Cmd attribute is selected.


22. In the right pane, in Initial value, click the Security Classification icon, and then select
SecuredWrite.
D

AVEVA™ InTouch for System Platform 2023


7-46 Module 7 – Security

23. In Initial value, click the Lock icon to lock it.


This will propagate the security classification change to the instances when you deploy.

y
24. In Attributes, select the Speed.SP attribute.
25. In Initial value, click the Security Classification icon, and then select VerifiedWrite.

op
C
26. In Initial value, click the Lock icon to lock it.
ot
N

27. Save and close the $Mixer.Agitator template, and check it in.
28. Open $Mixer.Agitator again.
29. In Attributes, ensure the Cmd attribute is selected.
30. In Initial value, click the Lock icon to unlock it.
o

This will allow the attribute values to be changed at runtime.


D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-47

31. In Attributes, select Speed.SP.


32. In Initial value, click the Lock icon to unlock it.

y
33. Save and close the $Mixer.Agitator template, and check it in.

op
Redeploy the Agitator Objects
Now, you will redeploy the updated agitator instances.
34. In the Derivation view, expand $UserDefined\$Motor\$Agitator\$Mixer.Agitator.
The agitator instances indicate that changes are pending deployment.

C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-48 Module 7 – Security

35. In the Derivation view, select Agitator_001, press and hold Shift, and then select
Agitator_008.
All eight Agitator instances are selected.
36. Right-click the selection and select Deploy.

y
op
C
ot
37. Keep the default settings and click Deploy.
When the deployment is complete, Deploying Objects indicates eight Agitator objects are
deployed.
N

38. Click Close.


o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-49

Test in Runtime
Finally, you will test writing to attributes of the agitator instances as different users.
39. On the Templates tab, in Training\ViewApps, double-click $MixerView to open
WindowMaker.
40. Click Open to open the selected windows.
41. Click Runtime.
WindowViewer opens with no user logged in.

y
42. In the Navigation window, click Alarm Overview.
43. In AlarmAggregationOverview, in the Production alarm panel, click the up-arrow to the right
of the Mode label.

op
A command panel with a drop-down appears.

C
ot

44. Click the down-arrow and select Disable.


N
o
D

AVEVA™ InTouch for System Platform 2023


7-50 Module 7 – Security

The Apply button appears.

y
op
45. Click Apply.
Because no user is currently logged in, alarms are not disabled. Disabling alarms requires the
Can Modify Alarm Modes permission. Next you will log in as a user with this permission.

C
ot
N
o
D

46. Close AlarmAggregationOverview.

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-51

47. In the Logon window, click Logon.


48. In User name, enter Supervisor1 with a Password of ww, and then click OK.
Supervisor One is logged in. This user has permission to modify alarm modes.
49. In the Navigation window, click Alarm Overview.
50. In AlarmAggregationOverview, in the Production alarm panel, click the up-arrow to the right
of the Mode label.
51. Click the down-arrow and select Disable.
52. Click Apply.

y
Alarms are disabled.

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-52 Module 7 – Security

53. Use the Production alarm panel to enable alarms.


Alarms are enabled.

y
op
C
ot
N

54. Close AlarmAggregationOverview.


o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-53

Next, you will use secured write.


55. In the ContentDisplay window, click Agitator_001.
The command panel appears.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-54 Module 7 – Security

56. On the command panel, click Start.


Secured Write appears.
Notice that the current logged in user, supervisor1, appears in Username.

y
op
C
ot
57. In Comment, enter Attempt to start the motor.
58. In Password, enter ww.
N
o
D

59. Click OK.

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-55

The Quality & Status indicator shows the write operation failed. Supervisor One does not have
the Operate permission. Next you will log on as a user with the Operate permission.

y
op
60. Close the Agitator_001 command panel.
61. Log on as Operator1 with a password of ww.
62. Click Agitator_001 and attempt to start the motor.

C
63. In Secured Write, for Comment, enter Start motor, for Password, enter ww, and then click
OK.
The motor starts. Operator One has the Operate permission.
64. Close the Agitator_001 command panel.
Next, you will use verified write.
ot
65. Click Agitator_001.
66. In the command panel, click the value to the right of Speed setpoint, enter 25, and
press Enter.
Verified Write appears.
N
o
D

AVEVA™ InTouch for System Platform 2023


7-56 Module 7 – Security

67. In Comment, enter Adjust rpm.


68. In Operator, for Username, enter Operator1, for Password, enter ww, and then click OK.
69. In Verifier, for Username, enter Operator2, for Password, enter ww, and then click OK.

y
op
C
The Quality & Status indicator shows the write operation failed. Operator Two does not have
the Can Verify Write permission. Next you will try again using Supervisor One as the verifier.
ot
N
o
D

AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-57

70. In the command panel, click the value to the right of Speed setpoint, enter 25, and press
Enter.
Verified Write appears.
71. In Comment, enter Adjust rpm.
72. In Operator, for Username, enter Operator1, for Password, enter ww, and then click OK.
73. In Verifier, for Username, enter Supervisor1, for Password, enter ww, and then click OK.

y
op
C
ot
The Quality & Status indicator shows the write operation succeeded. The Speed setpoint is
updated to 25 rpm. This is because Supervisor One has the Can Verify Write permission.
N
o
D

74. Close the command panel.

AVEVA™ InTouch for System Platform 2023


7-58 Module 7 – Security

Next, you will use the Alarm Client to verify events were generated for both successful and
unsuccessful verified writes.
75. In the Navigation window, click Historical Alarms.
76. In AlarmHistDisplay, click Historical Events.
Events are listed. The Alarm Client shows Verified Write access denied and Verified Write
success messages.
In the example below, column widths were adjusted to highlight important information. You
may need to scroll to the right to view the Operator column.

y
op
77. Close AlarmHistDisplay.

C
78. Click Development! to return to WindowMaker.

<End of Lab>
ot
N
o
D

AVEVA™ Training
Section 3 – Customization of the Runtime Environment 7-59

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


You can configure WindowViewer to automatically log off an inactive operator from an InTouch

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

op
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. The
timer is not reset by moving the mouse. A click is required to reset the timer.

Setting Home Windows


Home windows create the initial user experience at runtime. When WindowViewer starts, the

C
Home windows are displayed. This behavior only occurs when WindowViewer is started from its
icon, such as from the Windows Start menu. When clicking the Runtime fast switch in
WindowMaker, the Home windows are not displayed in WindowViewer.
In WindowViewer runtime settings, you can select the Home windows on the Startup tab.
ot
N
o
D

Without Home windows enabled, when WindowViewer starts from its icon, it presents a list of all
available windows. If an unauthorized user has access to a list of all windows, they can open
windows that may contain vital areas of the plant and potentially shut down processes, stop and
start equipment, and change setpoints. It is therefore critical in any security implementation to set
the Home windows of WindowViewer to prevent this list of windows from appearing.
Home windows should never include windows that give access to critical areas of the plant or
intellectual property of the organization. It is a best practice to select windows that unauthorized

AVEVA™ InTouch for System Platform 2023


7-60 Module 7 – Security

users can view without exposing important information. Once an authorized user logs in, access
can be granted to more vital areas.

Locking System Keys


You can restrict operator access to standard Windows functions by disabling system keys on the
computer running an InTouch application. For example, you can prevent an operator from using
the CTRL + ALT + DEL key combination to show the Task Manager dialog box. Disabling system
keys prevents operators from switching from the InTouch to another Windows applications.
WindowViewer supports two methods for disabling keyboard keys.

y
The first method is by using a set of options on the Window tab when configuring WindowViewer
settings. In Miscellaneous, there are check boxes for Disable ALT key, Disable ESC key, and
Disable WIN key. These options can be enabled by first disabling the check box Enable fast

op
switch. When these disablements are used, their effect is permanent at runtime. A static approach
does not allow dynamic behavior associated with which user is logged on. It permanently disables
these keys for all users at runtime. For example, an administrator would not be able to use the
WIN key to open the Start menu if it has been disabled using the Disable WIN key filter.
The second method uses the EnableDisableKeys() script function to enable and disable the ALT,
ESC, and WIN keys. A script can be written to monitor the access level of the current user and
include the EnableDisableKeys() with different settings for different users. This second method

C
using a script is dynamic, unlike the first method, which is permanent. A scripting approach can
adapt use of keys for users with different responsibilities in the plant.

Function Definition
The order of the keys in the function is as follows:
ot
EnableDisableKeys(AltKey,EscKey,WinKey);
When using this function in a script, you would replace AltKey, EscKey, and WinKey with a 1 or 0
for each, where 0 enables the key and 1 disables it. For example:
To enable all three keys:
EnableDisableKeys(0,0,0)
N

To disable all three keys:


EnableDisableKeys(1,1,1);
To disable only the WIN key:
EnableDisableKeys(0,0,1);
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-61

Lab 22 – Locking Down Your Application

Introduction
In this lab you will configure automatic logoff and secure your application from unauthorized
access. When no user is logged into the application, you will hide sensitive information from
unauthorized users and restrict access to the application using scripts.
You will create two popup windows, one to display a message when inactivity occurs and another
to hide the WindowViewer menu bar.

y
op
Finally, you will create a script to prevent the use of special access keys, including the Alt, Esc,
and Win keys.

C
ot
N

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

 Use InTouch WindowViewer inactivity warning and timeout settings


 Use negative dimensions in a window to hide the InTouch WindowViewer menu bar
 Use the EnableDisableKeys() script function
D

 Create an InTouch DataChange script


 Create an InTouch Condition script
 Use the Blink animation

AVEVA™ InTouch for System Platform 2023


7-62 Module 7 – Security

Configure Automatic Log Off


First, you will use the inactivity warning and inactivity timeout settings to automatically log off the
current user after a period of inactivity.
1. In WindowMaker, on the File menu, select Configure | WindowViewer.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-63

2. On the Preferences tab, in Inactivity in secs, Warning, enter 15.


3. In Timeout, enter 30.

y
op
4. Click Save.
C
ot
A WindowMaker notification appears.
N

You will now close WindowViewer. The changes will take effect the next time you start
WindowViewer, later in this lab.
5. Close WindowViewer.
o
D

AVEVA™ InTouch for System Platform 2023


7-64 Module 7 – Security

Create an InActivity Message Symbol


Next, you will create a symbol to display a blinking message that an inactivity warning has been
triggered, as well as the inactivity timeout period has expired.
6. In the IDE, on the Graphics tab, in the Training toolset, create a symbol named
InactivityMessage and open it for editing.
7. On the canvas, add a Text element and enter Inactivity Message.
8. Name the element Message1.

y
op
C
9. On the canvas, add a Text Box element under Message1 and enter Action Message.
10. Name the element Message2.
ot
N

11. Right-click the canvas and select Scripts.


o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-65

12. Configure Predefined Scripts 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)


Body: 'Change displayed text when the inactivity warning period
expires.
Message1.Text = "Inactivity Warning";

y
Message2.Text = "Click mouse or use keyboard to prevent system
log off";

op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-66 Module 7 – Security

13. Add a Named Script and configure it as follows:

Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.

Name: TimeoutMessage
Expression: InTouch:$InactivityTimeout
Trigger: OnTrue
Body: 'Change displayed text when the inactivity timeout period

y
expires.
Message1.Text = "Inactivity Timeout";

op
Message2.Text = "You have been logged off!";

C
ot
N

14. Click OK to close Edit Scripts.


o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-67

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.

C
17. Use Align Center on the toolbar to center align both elements.
The elements should now look similar to the following:
ot
N

18. On the canvas, double-click the Action Message text box.


o

19. Add a Blink animation.


D

AVEVA™ InTouch for System Platform 2023


7-68 Module 7 – Security

20. In the Blink animation, in States, select Boolean and then configure it 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 drop-down, select yellow
Line Color: unchecked
Fill Color: unchecked

y
op
C
ot
N

21. Click OK to close Edit Animations.


22. Save and close and check in the graphic.
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-69

Create the Inactivity Window


Now, you will create and configure a window in WindowMaker to host the InactivityMessage
symbol you just created.
23. In WindowMaker, in the backstage, click + New.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-70 Module 7 – Security

24. In New, ensure Frame window is selected.


25. Configure properties for the window as follows:

Name: Inactivity
Comment: Inactivity warning and timeout messages
Window Type: Popup
X: 560
Y: 340

y
Width: 800
Height: 400
Window Color: Red

op
Title Bar: unchecked
Frame Style: Double

C
ot
The dimensions will place the window at the center on a monitor with a resolution of
1920x1080.
N

26. Click Create.


o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-71

27. In Industrial Graphics, ensure Training is expanded, and then drag InactivityMessage to
the Inactivity window.

y
op
C
ot
28. In the Inactivity window, right-click and select Close Window.
N
o
D

A WindowMaker message appears.


29. Click Yes to save the window.
After a few moments, the window closes.

AVEVA™ InTouch for System Platform 2023


7-72 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. In the Scripts pane on the left, double-click Condition to open the Condition Scripts editor.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-73

31. In Condition Scripts, 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

y
Show "Inactivity";
ENDIF;

op
C
ot
32. In the Condition Type drop-down list, select On False.
N
o
D

AVEVA™ InTouch for System Platform 2023


7-74 Module 7 – Security

33. In the script body, enter:


Hide "Inactivity";

y
op
34. Click OK to close Condition Scripts.

Note: Clicking OK validates the syntax of the script and then saves and closes the script
editor.

C
In Scripts, expand Condition to see that $InactivityWarning is listed.
ot
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-75

Test in Runtime
Now, you will switch to WindowViewer to test the implementation of the inactivity settings in
runtime.
35. In WindowMaker, click Runtime.
36. Log on as TUser with a Password of ww.
37. Wait 15 seconds for the Inactivity window to automatically open.
A blinking message appears. This reminds users they must interact with the application or
they will be logged off.

y
op
C
ot
Notice that TUser is still logged in.
38. Click the mouse or press a key on the keyboard.
The $InactivityWarning tag, used in the Condition script, is set to 0 with user activity. The On
False trigger in the script then hides the Inactivity window.
N
o
D

AVEVA™ InTouch for System Platform 2023


7-76 Module 7 – Security

39. Wait 30 seconds for the system to log you off automatically.
The Inactivity window shows You have been logged off!

y
op
The Logon window shows the None user and Access Level as 0.

C
ot
40. Click Development! to return to WindowMaker.
41. Ensure the Inactivity window is closed.
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-77

42. On the File menu, select Configure | WindowViewer.


43. On the Preferences tab, in Warning, enter 0.
44. In Timeout, enter 0.

y
op
45. Click Save.
46. Close WindowViewer.
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-78 Module 7 – Security

Create a Popup Window to Cover the Menu Bar


Now, you will create a popup window that will cover the WindowViewer menu bar, preventing the
user from clicking the menu bar options.
47. In WindowMaker, in the backstage, select + New.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-79

48. In New, with Frame window selected, configure properties for the window as follows:

Name: MenuBarCover
Comment: Prevents clicking the menu options
Window Type: Popup (default)
X: 0
Y: -20
Width: 1920
Height: 20

y
Window Color: White (default)
Title Bar: unchecked

op
Frame Style: None
Size controls: unchecked (default)

C
ot
N

49. Click Create.


o
D

AVEVA™ InTouch for System Platform 2023


7-80 Module 7 – Security

Create the $AccessLevel Data Change Script


Now, you will create a Data Change script for $AccessLevel to show and hide the Menu Bar Cover
window, depending on the Access Level granted to the current logged on user.
50. In Scripts, double-click Data change.
Data Change Scripts appears.

y
op
C
ot
N
o
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-81

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

Tagname[.field]: $AccessLevel
Body: { Menu Access }
IF $AccessLevel > 5000 THEN

y
{ Allow menu access }
Hide "MenuBarCover";
ELSE

op
{ Deny menu access }
Show "MenuBarCover";
ENDIF;

C
ot
N

52. Click OK to close Data Change Scripts.


53. In Scripts, expand Data change to see that the $AccessLevel script is listed.
o
D

AVEVA™ InTouch for System Platform 2023


7-82 Module 7 – Security

Update the Home Windows


Now, you will update the list of WindowViewer Home Windows to include the MenuBarCover
window.
54. On the File menu, select Configure | WindowViewer.
55. On the Startup tab, ensure the following windows are selected:
 AlarmDisplay
 ContentDisplay
Logon

y

 MenuBarCover
 Navigation
OverviewDisplay

op

C
ot
N

56. Click Save.


A WindowMaker notification message appears.
o
D

57. Exit the backstage.

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-83

Test in Runtime
Now, you will switch to WindowViewer to test the implementation of the covered menu bar in
runtime.
58. In WindowMaker, click Runtime.
The menu bar is covered by the new window.

y
op
59. Log in as Operator1 with a Password of ww.
The menu bar is still covered since the operators have an Access Level of 1000 and the script
requires an Access Level greater than 5000.

C
60. Log in as Administrator with no password.
The menu bar is displayed because the Administrator has an Access Level greater than
5000.
ot
N

61. In the Logon window, click Logoff.


The menu bar, including the Development! fast switch, is covered, to protect it from
unauthorized access.
62. Log in again as Administrator, and then in the menu bar, click Development! to return to
WindowMaker.
o

Deny Access to the Alt, Esc, and Win Keys


D

The implementation of application lock down configured so far handles mouse interaction. In the
following steps, you will handle keyboard interaction. This will be done using the
EnableDisableKeys() script function to enable and disable the Alt, Esc, and Win keys, depending
on which user is logged in to the application.
63. In Scripts, ensure Data change is expanded, and double-click the $AccessLevel script.

AVEVA™ InTouch for System Platform 2023


7-84 Module 7 – Security

64. Modify the existing script by adding the EnableDisableKeys () functions 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: { Menu Access }
IF $AccessLevel > 5000 THEN
{ Allow menu access }

y
Hide "MenuBarCover";
EnableDisableKeys( 0, 0, 0);

op
ELSE
{ Deny menu access }
Show "MenuBarCover";
EnableDisableKeys( 1, 1, 1);
ENDIF;

C
ot
N

The EnableDisableKeys() script function receives three Boolean parameters to disable the
o

Alt, Esc, and Win keys, in that order: 0 (false) enables the key; 1 (true) disables the key.
65. Click OK to validate, save, and close the Data Change script.
D

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-85

Next, you will create an Application, On Startup script to ensure that the Alt, Esc, and Win keys are
disabled when WindowViewer is started.
66. In Scripts, double-click Application.
Application Script appears.

y
op
C
67. In Application Script, in the Condition Type drop-down, select On Startup.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


7-86 Module 7 – Security

68. For the body of the script, enter:

Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.

Body: { Disable the Alt, Esc, Win keys }


EnableDisableKeys( 1, 1, 1);

y
op
C
69. Click OK to validate, save, and close the script.
ot
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
N

WindowViewer to allow the Application On Startup script you just configured to run.

Note: In virtual environments, the host computer captures certain key combinations and does not
pass these through to the virtual environment. If you are taking this course from a virtual machine,
your instructor may provide special shortcuts such as a virtual keyboard to recreate these key
combinations.
o

70. Close WindowViewer.


71. In WindowMaker, open the MenuBarCover window, and then click Runtime.
D

72. Verify that no user is logged in.

AVEVA™ Training
Lab 22 – Locking Down Your Application 7-87

First you will test a key combination, Alt+F, which is a shortcut for the File menu in WindowViewer.
With access to the File menu, a user can open windows or close them.
73. Press and hold the Alt key and press F.
The File menu does not open.
Next you will test a key combination, Ctrl+Shift+Esc, which is a shortcut for opening the Windows
Task Manager. With access to Task Manager, a user can start applications and close applications.
74. Press and hold Ctrl+Shift+Esc.
Task Manager does not open.

y
Now you will test the Win key, which opens the Windows Start menu.
75. Press the Win key.

op
The Start menu does not open.
Next you will perform the same key combinations as a logged in user.
76. Log in as Administrator with no password.
77. Press and hold the Alt key and press F.
The File menu opens.

C
ot
78. Press and hold Ctrl+Shift+Esc.
Task Manager opens.
N
o
D

AVEVA™ InTouch for System Platform 2023


7-88 Module 7 – Security

79. Press the Win key.


The Start menu opens.

y
op
C
ot
80. Click Development! to return to WindowMaker.

<End of Lab>
N
o
D

AVEVA™ Training
y
op
Section 1 – Web Client Overview
C Module 8 – Web Client
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 describes 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

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

op
C
ot
Enable Web Client
N

By default, the Web Client is 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
or disable the Web Client feature.
The Web Client is enabled from the AVEVA Application Manager, on the Web Client tab. When the
Web Client is not started, the Web Client icon shows a small clock. To start the Web Client, click
the Web Client icon.
o
D

AVEVA™ InTouch for System Platform 2023


8-4 Module 8 – Web Client

Once the Web Client starts, the small clock no longer appears on the Web Client icon.

y
op
Configure InTouch Application Graphics for Viewing in a Web Browser
You can use the Industrial Graphic Toolbox in WindowMaker to configure the folder containing
application graphics that will be displayed in the web browser Only graphics stored in the folder set
as the Web Client root folder are displayed in the web browser.

C
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
Industrial Graphic Toolbox with a home icon.
ot
N
o
D

AVEVA™ Training
Section 1 – Web Client Overview 8-5

Web Client Fast Switch


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
after importing and starting a restored InTouch application or after switching InTouch applications.
For InTouch, 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
 Enables the Web Client fast switch in WindowMaker (if disabled)
 Starts WindowViewer which provides data for Web Client animations

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


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
op
Element Description
C
ot
1 The InTouch application name appears on the title bar, along with a hamburger button. You can
click the hamburger button to view the folder navigation display. All folders and symbols under
the selected Web Client root folder appear in the list.
2 The Home, Share, Notifications, Full Screen, and Profile icons appear on the title bar. You can
click Notifications to view messages related to connection and licensing issues.
3 The canvas area displays the graphic selected from the navigation overlay. The graphic will be
N

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
graphic.
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%.

Behavior of the Web Client Home Button


Standalone applications can be viewed on the web client. Standalone application windows must be

y
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

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

home symbol will be displayed.

C
If Home Windows are not configured and the Home Symbol is configured, by default the

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.

Symbol Changes Reflected Automatically


ot
Graphic-related changes are made using the Graphic Editor, and those changes are automatically
refreshed in the browser. However, changes in Quality and Status Style, Element Style, and
Formatting Styles (for InTouch) are propagated only after making the following graphic changes or
re-launching WindowViewer:
 Content of symbol is updated and saved
N

 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


o

To display an individual symbol in a browser you may use the following syntax:
http://<hostname>/InTouchWeb/api/symbol/<graphicname> or
D

http://<IPAddress>/InTouchWeb/api/symbol/<graphicname>
For example, http://production/InTouchWeb/api/symbol/tankfarm, might be used to display a mixer
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
by the Web Client. For example, no ActiveX or .NET controls, such as the Alarm Client, are

AVEVA™ InTouch for System Platform 2023


8-8 Module 8 – Web Client

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.

Licensing for InTouch Application Graphics in a Browser


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
Web Server license to login and view application graphics from a web browser. The Web Server

y
provides two types of licenses:
 The Web Server Unlimited Read-Only license will allow you to connect to unlimited
sessions for viewing application graphics in a web browser

op
 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

C
"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
ot
web server will attempt to acquire the ReadWrite license. If a ReadWrite license is not available,
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


N

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
o

 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:
D

 The Web Server has acquired the Unlimited ReadWrite license, but the user logged in
does not belong to the Web Client aaInTouchRWUsers user group, or
 The Web Server has acquired the Unlimited ReadOnly license, or
 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.

AVEVA™ Training
Section 1 – Web Client Overview 8-9

Single Session Mode


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

Web Client Application Windows

y
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

op
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

C
popup window by displaying on top of the other windows.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


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 in Application Manager and use the Web Client fast
switch to start Web Client. The Web Client fast switch opens your InTouch frame windows in the
default Web browser. You will then navigate and display both InTouch application windows and
graphics in the browser.

y
op
C
ot
Additionally, you will use the Web Client to search for graphics, zoom and pan, view and
acknowledge alarms, and interact with your InTouch application.

Objectives
N

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


 Enable Web Client in Application Manager
 Use the Web Client fast switch to open the Web Client
 Pan and zoom a graphic in a web browser using a mouse and keyboard
o

 Navigate and view Application windows using the Web Client


 Use Navigation Search
 Visualize and acknowledge alarms in Web Client
D

AVEVA™ InTouch for System Platform 2023


8-12 Module 8 – Web Client

Disable Security
First, you will disable security for training purposes. This is because Web Client relies on Windows
authentication. You will disable Galaxy security for this lab.
1. Close WindowMaker and check in $MixerView.
2. In the IDE, on the Galaxy menu, select Configure | Security.
3. In Authentication Mode, select None.
4. Click Save.

y
A Galaxy security message appears.

op
5. Click OK to shut down the IDE.

C
ot
N
o
D

AVEVA™ Training
Lab 23 – Using the Web Client 8-13

Enable Web Client


Next, you will enable Web Client. Additionally, because Web Client uses local security groups to
manage the list of users that can access it, you must also disable a security feature used in the
Mixer graphic.
6. From the Windows Start menu, open Application Manager.
AVEVA Application Manager opens.

y
op
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


8-14 Module 8 – Web Client

7. Select the Web Client tab.

y
op
8. On the toolbar, click Web Client.
C
ot
Notice the small clock on the Web Client icon, which indicates that the Web Client is not
started.
N
o
D

AVEVA™ Training
Lab 23 – Using the Web Client 8-15

After a moment, the small clock on the Web Client icon disappears, which indicates that Web
Client has started.

y
op
9. Close the AVEVA Application Manager.
10. Open the System Platform IDE.
11. In the Home menu, on the Recent tab, double-click TrainingGalaxy.

C
ot
N
o

The Galaxy opens in the IDE.


D

AVEVA™ InTouch for System Platform 2023


8-16 Module 8 – Web Client

12. In the IDE, on the Templates tab, in the Training\Project toolset, double-click $Mixer to open
it for editing.
13. In Content, double-click SwitchedMixingProcess to open it for editing.
14. On the canvas, double-click MixerDropDown to open Edit Animations.
15. In Animations, for Disable, click the drop-down list and select Disabled.

y
op
16. Click OK to close Edit Animations.
17. Save and close the graphic.
18. Save and close and check in $Mixer.

C
Next you will prepare InTouch for using Web Client and then open Web Client.
19. On the Templates tab, in the Training\ViewApps toolset, double-click $MixerView to open
WindowMaker.
ot
20. Click Open to open the selected windows.
21. Click Runtime.

Note: WindowViewer must be running to provide data and animations for Web Client.

22. Click Development! to return to WindowMaker.


N
o
D

AVEVA™ Training
Lab 23 – Using the Web Client 8-17

23. In WindowMaker, in the top-right corner, click the Web Client fast switch.

y
op
After a few moments, the default web browser opens, and the application windows appear in
Web Client.

C
ot
N
o
D

24. Maximize the web browser.

AVEVA™ InTouch for System Platform 2023


8-18 Module 8 – Web Client

25. In the ContentDisplay window, switch to a different mixer and verify the components of the
selected mixer are displayed.

y
op
C
26. Press and hold the Ctrl key, hover the cursor over the Web Client, and then scroll the mouse
wheel up and down to zoom in and out.
ot
N
o
D

27. Release the Ctrl key.

AVEVA™ Training
Lab 23 – Using the Web Client 8-19

For the next step, first you must be zoomed in.


28. In the Web Client, click and hold down the mouse wheel, and then move up, down, left, and
right to pan.
29. On the right side of the Web Client header, click the Home button.
This will restore the Home view.

y
op
30. In the Navigation window, click Alarm Overview and observe the alarms.

C
ot
N
o

31. Close the AlarmAggregationOverview window.


D

AVEVA™ InTouch for System Platform 2023


8-20 Module 8 – Web Client

32. In the top-left corner, click the Web Client menu.

The Web Client menu appears.

y
33. In the Web Client menu, expand Training and select Dashboard.

op
C
ot
N
o
D

AVEVA™ Training
Lab 23 – Using the Web Client 8-21

The Dashboard symbol appears in the Web Client.

y
op
C
34. In the Web Client menu, in the Search field, enter clock, and then select ClockDigital12.
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


8-22 Module 8 – Web Client

The clock fills the web browser.

y
op
C
The clock graphics rely on the local computer time. However, for this graphic, the label has not
been configured. Most graphics from the library require further configuration to be used in Web
Client.
In the next steps, you will use Web Client to interact with features of your application.
ot
35. Click Home.
36. In the AlarmDisplay window, bottom-right corner, click Ack All.
N
o

The Ack Comment: dialog box appears.


D

AVEVA™ Training
Lab 23 – Using the Web Client 8-23

37. In Ack Comment, enter ticket issued.

y
38. Click OK to acknowledge all alarms.
The alarms display as acknowledged.

op
<End of Lab>
C
ot
N
o
D

AVEVA™ InTouch for System Platform 2023


8-24 Module 8 – Web Client

y
op
C
ot
N
o
D

AVEVA™ Training

You might also like