c9j5yw2lt5ga-InTouchForSystemPlatform 2023 RevA Manual DoNot
c9j5yw2lt5ga-InTouchForSystemPlatform 2023 RevA Manual DoNot
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 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
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
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
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
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
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
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
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
Alarms of attributes
Historization of attributes
Security
Deployment model
Plant model
QuickScript.NET scripting language
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.
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
AVEVA™ Training
Section 1 – Course Introduction 1-5
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 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.
C
This section describes the Web Client features and dependencies.
ot
N
o
D
AVEVA™ Training
Section 2 – System Platform Overview 1-7
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.
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.
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
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.
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.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 1 – Creating and Deploying a Galaxy 1-11
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 1 – Creating and Deploying a Galaxy 1-13
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.
y
op
C
ot
3. In Galaxy name, enter TrainingGalaxy.
The Connect to this Galaxy option is checked by default.
N
o
D
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
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
y
op
C
ot
N
o
D
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
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.
14. In the top-right corner of the window, click the Save and Close button.
D
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.
y
op
19. Save and close the PROD_Platform1 configuration editor, and then check in the object.
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
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.
y
op
22. Save and close the AppEngine1 configuration editor, and then check in the object.
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.
y
op
26. Save and close the ProdPLC1 configuration editor, and then check in the object.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 1 – Creating and Deploying a Galaxy 1-25
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
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Section 3 – Encrypted Communication 1-29
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.
SuiteLink
Message Exchange (MX)
iData
iBrowse
C
With encrypted communication, all of the following protocols are secured:
ot
HCAL
N
o
D
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
y
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – System Requirements and Licensing 1-33
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
> 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
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
y
op
C
ot
N
o
D
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
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
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
InTouch Components
D
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
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
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.
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
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.
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
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
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
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
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
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.
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
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
y
op
<End of Lab>
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 3 – Introduction to the InTouch Development Environment 2-15
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
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
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
and zooming at runtime.
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 3 – Building the Application Layout 2-21
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
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
y
op
C
ot
N
o
D
X: 0
Y: 0
Width: 1300
y
Height: 120
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
X: 1300
Y: 0 (default)
Width: 620
y
Height: 120 (default)
op
C
ot
N
AVEVA™ Training
Lab 3 – Building the Application Layout 2-27
y
op
17. In Canvas, scroll back to the left to reset the view.
C
ot
N
o
D
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
C
ot
N
o
D
AVEVA™ Training
Lab 3 – Building the Application Layout 2-29
y
op
C
ot
N
o
D
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
C
ot
N
o
D
AVEVA™ Training
Lab 3 – Building the Application Layout 2-31
y
op
32. Select the Web tab and scroll to the bottom of the color list.
33. Select Wheat.
C
ot
N
o
D
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
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
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
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
y
op
C
ot
55. Check Lock window size.
N
o
D
AVEVA™ Training
Lab 3 – Building the Application Layout 2-39
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
<End of Lab>
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – Runtime Environment and Application Design 2-41
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
C
selecting File | Configure | WindowViewer.
application, script timeout period, and operator experience for deployed changes.
o
D
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – Runtime Environment and Application Design 2-45
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-47
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
C
ot
N
o
D
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
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.
y
6. Assign ViewEngine1 to PROD_Platform1.
op
C
ot
N
o
D
AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-51
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
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
AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-53
y
op
C
12. In WindowViewer settings, select the Startup tab.
Home windows appears.
ot
N
o
D
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
y
op
C
ot
17. Leave all default settings and click Deploy.
The Deploying Objects dialog box shows progress of the deployment process.
N
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.
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.
C
ot
N
o
D
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
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
C
ot
N
o
D
AVEVA™ Training
Section 1 – Symbol Overview 3-3
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
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 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
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Graphic Editor 3-7
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
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.
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.
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
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
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
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
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
y
op
2. Name the new toolset as Apps.
C
ot
N
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
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
y
op
C
10. Name the new symbol as ProcessOverview.
ot
N
o
D
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
y
op
C
ot
N
o
D
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
y
op
C
16. Drag SA_StackedColumnChart to the canvas.
ot
N
o
D
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
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
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
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
y
op
C
ot
N
o
D
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
AVEVA™ Training
Lab 5 – Building a Process Overview 3-33
y
op
C
ot
Edit Custom Properties appears.
N
o
D
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
y
op
C
ot
42. Click OK to close Edit Custom Properties.
N
o
D
y
op
C
ot
Substitute Strings appears.
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-37
y
B8 M800
Chart Heading Produced Products
Short Description Produced products for current batch
op
C
ot
N
o
D
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
y
op
C
ot
N
o
D
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
y
op
50. Check in the graphic.
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
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
y
op
C
ot
N
o
D
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.
<End of Lab>
D
AVEVA™ Training
Section 3 – Graphics with Objects 3-45
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.
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
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
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
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.
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
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
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
y
op
2. Name the new symbol as Level_Detailed.
C
ot
N
o
D
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
y
op
The graphic appears on the canvas. C
ot
N
o
D
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-53
y
Note: As you modify the wizard options, observe the changes to the graphic on the canvas.
Type: Level
op
LabelType: ObjectTagname
EngUnitsType: CustomPropertyLabel
C
ot
N
y
op
C
ot
11. Name the duplicate as Temperature_Detailed.
N
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-55
y
op
16. Save and close and check in the graphic.
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
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
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.
y
CmdOpen: Me.Cmd
op
C
ot
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
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
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
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.
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
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
EquipState:
o
Me.PV
D
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-63
y
op
The Object Editor appears.
C
ot
N
o
D
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
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-65
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
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
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
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
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.
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
<End of Lab>
y
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – Graphic Editor Tools and Animations 3-73
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
You can draw rectangles, rounded rectangles, ellipses, and lines on the canvas.
D
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
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
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
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
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
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.
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
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
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
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
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
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
Name: Tank
QualityStatusIndicator: False
y
op
C
ot
16. Click OK to close Substitute Strings.
The label changes to Mixer.
N
o
D
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
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
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
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
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
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
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
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
y
op
Name to be displayed:
Name C
45. Configure the animation as follows:
States:
Tag Name (default)
ot
N
y
op
49. In States, click String.
C
50. In Expression Or Reference, in the String field, enter Me.Area.
ot
N
AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-101
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
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
y
op
Test in Runtime
<End of Lab>
y
op
C
ot
N
o
D
AVEVA™ Training
Section 5 – The OwningObject Property 3-105
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
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
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
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
y
op
3. Name the symbol SwitchedMixingProcess, and then click the Edit Content button to open
for editing.
C
ot
AVEVA™ Training
Lab 8 – Switching Between Mixers 3-109
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
Name: SelectMixer
Element Style: Heading
D
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.
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
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Section 6 – Custom Properties 3-117
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
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.
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.
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.
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
y
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.
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
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
y
op
Edit Custom Properties appears.
3. Click the Add custom property button.
C
ot
N
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-125
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
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
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
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-127
y
18. On the canvas, click and drag diagonally to draw a button.
op
19. Enter the button text as Open and press Enter.
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
y
op
22. Configure the animation as follows:
States: Boolean
Reference: Cmd
Action: Set
C
ot
N
States: String
o
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-129
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
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
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-131
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
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
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
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-135
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
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
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
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
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
y
op
C
ot
N
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
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
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.
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Section 7 – Scripts in Graphics 3-149
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
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
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
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
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.
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.
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
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.
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
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.
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
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-155
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:
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
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
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
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
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
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
Note: You may use the applicable portion of the script in C:\Training\Lab 10 - Creating a
Navigation Symbol.txt.
y
next;
op
C
ot
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-165
Note: You may use the applicable portion of the script in C:\Training\Lab 10 - Creating a
Navigation Symbol.txt.
y
graphicInfo.GraphicName = "Mixer" + StringFromIntg(i, 1) +
"00.MixingProcess_Detail";
op
graphicInfo.HasTitleBar = false;
graphicInfo.HasCloseButton = false;
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
y
op
C
ot
37. Click OK to close Edit Scripts.
38. Save and close and check in the graphic.
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
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
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
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.
else;
' Not targeting an InTouch window.
C
graphicInfo.Identity = "InTouch:" + WindowName;
graphicInfo.WindowType = aaGraphic.WindowType.Modal;
endif;
ShowGraphic( graphicInfo );
D
y
op
48. Add a Disable animation.
C
ot
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-171
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
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.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-175
y
op
C
ot
70. Click Development! to return to WindowMaker.
<End of Lab>
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 8 – Galaxy Styles 3-177
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
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
AVEVA™ Training
Section 8 – Galaxy Styles 3-179
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.
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
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
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.
Make default activates the selected style card for the Galaxy. Only one style card can be
D
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
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
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-7
y
op
C
ot
The graphic names listed here will display in the widget at runtime.
D
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
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
y
op
C
ot
17. In Windows, double-click ContentDisplay to open it.
N
o
D
<End of Lab>
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
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
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
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
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
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.
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
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
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:
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:
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.
\\NodeNameA\Galaxy!Area1 \\NodeNameB\Galaxy!Area2
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
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.
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
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
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.
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
.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
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
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
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.
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
AVEVA™ Training
Section 1 – Alarming Overview 5-13
y
op
C
ot
N
o
D
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.
Alarm shelving is configured from the IDE Configuration menu, and is enabled on the Area object.
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
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
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-21
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
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
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
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-25
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
y
op
17. Save and close the graphic.
18. Save and close and check in the $Mixer template.
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
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
y
26. To show the relationship of the hierarchical structure, click and drag connectors as shown
below:
op
C
ot
N
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
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
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-31
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
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.
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
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
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
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
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
y
op
C
ot
76. When you are finished testing, click Development! to return to WindowMaker.
N
AVEVA™ Training
Section 2 – Live Alarms Visualization 5-41
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
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.
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
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
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
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
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 14 – Building a Current Alarms Display 5-51
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
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
y
op
Add Query or Filter appears.
C
ot
N
o
D
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
y
op
13. Click OK to close Add Query or Filter.
In Filters, the new filter is listed.
C
ot
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
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
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
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
y
34. Try additional filters.
35. Click Development! to return to WindowMaker.
op
<End of Lab>
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-63
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
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
AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-65
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
Note: You may use the script in C:\Training\Lab 15 - Creating an Alarm Popup Symbol.
y
dim prefix as string;
prefix = "\\" + NodeName + "\Galaxy!" + Me.Area + "!";
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 + ".* ";
C
ot
N
o
D
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
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
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.
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
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
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.
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.
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-75
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
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
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.
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
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
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
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
AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-81
Name: HistEvent_Btn
Text: Historical Events
y
op
22. Double-click HistEvent_Btn and modify the animations as follows:
Element Style
C
ot
Pushbutton
Value1: 4
N
o
D
Name: HistAE_Btn
Text: Historical Alarms & Events
y
op
27. Double-click HistAE_Btn and modify the animations as follows:
Pushbutton
Value1: 5
C
ot
Element Style
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.
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
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
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
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
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
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
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
Integer (numerical)
Boolean (nonnumerical)
String – Unicode (nonnumerical)
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Real-Time Trending 6-5
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.
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
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
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
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
y
op
C
11. Click OK to close Substitute Strings.
ot
N
o
D
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.
AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-13
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
Name: TemperatureTrend
MeterType: Temperature
EnableFill: False
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-15
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
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
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
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
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
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
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
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
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
y
op
C
ot
N
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
y
Plot: Line
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-29
y
Plot: Step Line (default)
op
C
ot
N
o
D
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
Name: Trends_Btn
Text: Trends
D
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
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
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.
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
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
y
op
C
ot
N
o
D
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
AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-39
y
<End of Lab>
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – Historian Client Trend Control 6-41
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
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
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 19 – Building a Historian Client Trend Display 6-49
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
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
y
op
C
ot
6. Click OK to close Edit Custom Properties.
N
o
D
Note: You may use the applicable script in C:\Training\Lab19 - Building a Historian Client
Trend Display.txt.
y
op
C
ot
10. Click OK to close Edit Scripts.
11. Save and close and check in the graphic.
N
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
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
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
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
<End of Lab>
y
op
C
ot
N
o
D
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
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
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.
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
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
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.
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
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.
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
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
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
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-11
y
op
4. On the Roles tab, click Add new Role.
C
ot
N
o
D
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
y
9. Name the new user TUser.
op
C
ot
10. In Full name, double-click and enter Training User.
N
o
D
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
y
op
C
14. In Confirm new password, enter ww.
ot
N
o
D
y
op
Sign in to TrainingGalaxy appears.
C
ot
17. In User name, enter administrator.
N
o
D
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-17
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
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
y
op
C
ot
N
y
op
C
ot
37. Click Check-in and complete the check-in process.
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
States: Boolean
Reference: InTouch:$AccessLevel == 0
Disabled When Expression is: True, 1, On (default)
y
op
C
ot
N
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.
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-23
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
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
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
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
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
y
op
Action Scripts
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.
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
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Signed Writes 7-35
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
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.
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
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
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
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
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.
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
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
Note: Remember that security configuration requires that all objects are checked in. The
Find tool is useful for this task.
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
y
op
8. In Operational permissions, expand Default, and then check Can Modify “Operate”
Attributes.
C
ot
N
o
D
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
y
op
C
16. Click Save to close Change Password.
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-45
y
op
C
ot
19. Click Save and exit the backstage.
N
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
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-47
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
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
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
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
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-51
y
Alarms are disabled.
op
C
ot
N
o
D
y
op
C
ot
N
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-53
y
op
C
ot
N
o
D
y
op
C
ot
57. In Comment, enter Attempt to start the motor.
58. In Password, enter ww.
N
o
D
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
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
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
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.
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
users can view without exposing important information. Once an authorized user logs in, access
can be granted to more vital areas.
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
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-61
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-63
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
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
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-65
Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.
y
Message2.Text = "Click mouse or use keyboard to prevent system
log off";
op
C
ot
N
o
D
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
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
20. In the Blink animation, in States, select Boolean and then configure it as follows:
y
op
C
ot
N
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-69
y
op
C
ot
N
o
D
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-73
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
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
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
y
op
45. Click Save.
46. Close WindowViewer.
C
ot
N
o
D
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-81
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
y
MenuBarCover
Navigation
OverviewDisplay
op
C
ot
N
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
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.
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
Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.
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
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
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
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
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
y
op
C
ot
N
o
D
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
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.
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
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.
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.
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
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
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 23 – Using the Web Client 8-11
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
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
y
op
C
ot
N
o
D
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
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.
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
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
AVEVA™ Training
Lab 23 – Using the Web Client 8-19
y
op
30. In the Navigation window, click Alarm Overview and observe the alarms.
C
ot
N
o
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
y
op
C
34. In the Web Client menu, in the Search field, enter clock, and then select ClockDigital12.
ot
N
o
D
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
AVEVA™ Training
Lab 23 – Using the Web Client 8-23
y
38. Click OK to acknowledge all alarms.
The alarms display as acknowledged.
op
<End of Lab>
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training