Professional Documents
Culture Documents
A V E V A ™ T R A I N I N G
Training Manual
Revision A
August 2020
Part Number 11-GM-10102
y
op
C
ot
N
AVEVA and the AVEVA logo are a trademark or registered trademark of AVEVA Group plc in the U.S. and
other countries.
No part of this documentation shall be reproduced, stored in a retrieval system, or transmitted by any means,
electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of AVEVA.
No liability is assumed with respect to the use of the information contained herein.
Although precaution has been taken in the preparation of this documentation, AVEVA assumes no
responsibility for errors or omissions. The information in this documentation is subject to change without
notice and does not represent a commitment on the part of AVEVA. The software described in this
documentation is furnished under a license agreement. This software may be used or copied only in
y
accordance with the terms of such license agreement.
op
ArchestrA, Aquis, Avantis, Citect, DYNSIM, eDNA, EYESIM, InBatch, InduSoft, InStep, IntelaTrac, InTouch,
OASyS, PIPEPHASE, PRiSM, PRO/II, PROVISION, ROMeo, SIM4ME, SimCentral, SimSci, Skelta,
SmartGlance, Spiral Software, Termis, WindowMaker, WindowViewer, and Wonderware are trademarks of
AVEVA and/or its subsidiaries. An extensive listing of AVEVA trademarks can be found at: https://
sw.aveva.com/legal. All other brands may be trademarks of their respective owners.
C
Contact Information
High Cross
Madingley Road
Cambridge
CB3 OHB. UK
N
https://sw.aveva.com/
For information on how to contact sales, customer training, and technical support, see https://sw.aveva.com/
contact.
o
D
Table of Contents 1
Table of Contents
Module 1 Introduction .................................................................................1-1
Section 1 – Course Introduction......................................................................... 1-3
Section 2 – AVEVA™ System Platform Overview ............................................. 1-7
Lab 1 – Creating and Deploying the Galaxy .................................................... 1-11
Section 3 – Visualization Overview.................................................................. 1-25
Section 4 – Encrypted Communication............................................................ 1-27
Section 5 – System Requirements and Licensing ........................................... 1-31
y
Module 3 Symbols .......................................................................................3-1
op
Section 1 – Symbol Overview ............................................................................ 3-3
Section 2 – Symbol Editor.................................................................................. 3-7
Lab 5 – Building a Process Overview .............................................................. 3-15
Section 3 – Symbols with Objects.................................................................... 3-43
Lab 6 – Creating the Mixer Components ......................................................... 3-45
C
Section 4 – Tools and Animations ................................................................... 3-63
Lab 7 – Creating the Mixer Display.................................................................. 3-75
Section 5 – The OwningObject Property.......................................................... 3-91
ot
y
op
C
ot
N
o
D
AVEVA™ Training
y
op
Module 1 – Introduction
C
Section 1 – Course Introduction 1-3
ot
Module Objectives
Review the course agenda
Explain System Platform
Describe visualization concepts
Describe the system and licensing requirements for System Platform
y
op
C
ot
N
o
D
AVEVA™ Training
Section 1 – Course Introduction 1-3
Course Description
The AVEVA™ InTouch for System Platform 2020 course is a 4-day, instructor-led class designed
to provide an overview of the features and functionalities released with AVEVA InTouch for
System Platform. It covers the components and capabilities of the software, as well as topics to
help you build and deploy an AVEVA InTouch for System Platform visualization application. It also
introduces tools for creating graphics, visualizing alarms and events, visualizing trends and
history, and implementing security in an AVEVA InTouch for System Platform application. Hands-
on labs are provided to reinforce the knowledge necessary to use the AVEVA InTouch for System
Platform software.
y
Objectives
op
Upon completion of this course, you will be able to:
Describe AVEVA InTouch for System Platform visualization components
Create and run visualization applications
Describe situational awareness concepts
C
Create and use graphics
Implement navigation for visualization applications
Implement alarm visualization
ot
Audience
o
Individuals who need to configure or modify AVEVA InTouch for System Platform applications
D
Prerequisites
Knowledge of the following tools, features, and technologies is required.
Industrial automation software concepts
From the AVEVA™ Application Server software product:
ArchestrA IDE
Automation Objects
Alarms of attributes
Historization of attributes
Security
Deployment model
Plant model
QuickScript .NET scripting language
Course Outline
y
op
Module 1 – Introduction
Section 1 – Course Introduction
This section describes the objectives, prerequisites, intended audience, and agenda for the
course.
C
Section 2 – AVEVA™ System Platform Overview
This section describes fundamental concepts about AVEVA System Platform, including its
ot
This section describes system requirements for System Platform software and introduces the
licensing model.
AVEVA™ Training
Section 1 – Course Introduction 1-5
Module 3 – Symbols
Section 1 – Symbol Overview
This section provides a brief overview of graphics and introduces the Graphic Toolbox. A
description of the situational awareness philosophy is also provided.
Section 2 – Symbol Editor
This section covers the creation and manipulation of graphic objects, lines and outlines, and
text objects using the Symbol Editor.
Section 3 – Symbols with Objects
This section provides a brief overview of using symbols in objects. It introduces how to
manage symbols in Automation objects and reviews containment relationships between
Automation objects. This section also introduces how to use symbols in a contained object
that is within a symbol in the container object.
Section 4 – Tools and Animations
This section provides an overview of the graphic tools in the Symbol Editor, visualization
animations, and interaction animations.
y
Section 5 – The OwningObject Property
op
This section introduces the OwningObject property.
Section 6 – Custom Properties
This section provides a brief overview of custom properties in a symbol and describes how to
C
link custom properties to external sources.
Section 7 – Scripts in Symbols
This section provides a brief overview of the scripting environment, explains execution types
ot
update element styles at runtime, and how to import and export element styles. A brief
overview of the Status element and its application in monitoring data status and quality in
runtime is also provided.
o
Module 4 – Widgets
D
y
Section 4 – Historian Client Trend Control
This section provides a brief overview of the Historian Client .NET controls available for use in
op
symbols.
Module 7 – Security C
Section 1 – Security Overview
This section provides a brief review of security, authentication modes, general and operational
permissions, security classifications, the security audit trail, and InTouch security tags and
script functions.
ot
protect the application. It also describes how to configure the InTouch runtime environment for
inactivity and introduces the EnableDisableKeys() script function.
D
AVEVA™ Training
Section 2 – AVEVA™ System Platform Overview 1-7
Introduction
AVEVA System Platform, formerly Wonderware System Platform, is an industrial software platform
built on ArchestrA technology. It contains an integrated set of services and an extensible data
model to manage plant control and information management systems. System Platform supports
both the supervisory control layer and the manufacturing execution system layer, presenting them
as a single information source.
System Platform and its clients provide the framework and tools for developing, executing,
monitoring, and visualizing your applications. Services such as data acquisition, historization, and
alarming are provided by System Platform components. Services such as visualization and
trending are provided by System Platform clients.
y
The System Platform software is based on industry standards and Microsoft technologies, such as
Windows, .NET, SQL Server, IIS, and others. ArchestrA provides the fundamental technology and
op
services for the multi-user, object-oriented platform.
Formerly called OI Servers, they also include legacy DA Servers and IO Servers. System
Platform also communicates directly with third-party drivers, such as third-party OPC
Server.
System Platform clients include:
Supervisory clients run the operator interface and provide real-time access to
Application Server data, alarms, and events. There are two supervisory client products,
based on different technologies. Both can coexist in the same System Platform solution.
AVEVA™ Operations Management Interface has a rapid-design visualization
framework with tools, and provides out-of-the-box navigation to display content based
on the application’s data model.
AVEVA™ InTouch for System Platform is based on traditional development tools to
create displays and the corresponding navigation framework from scratch.
Supervisory client applications can be accessed remotely through a web browser with the
use of AVEVA™ InTouch Access Anywhere. With InTouch Access Anywhere, you simply
enter a URL in a web browser running on a desktop computer or mobile device and log on,
without the necessity of having any separate client application installed on the portable
y
device or desktop computer.
AVEVA™ Historian Client is a collection of tools for accessing and reporting on data
op
historized with Historian. This client includes a Trend application for plotting data on a
graphical display, a Query application for constructing SQL queries through a point-and-
click interface, and add-ins to Microsoft Excel and Word for generating reports.
AVEVA™ Historian Client Web is a browser-based tool for quick data query, trending,
C
and analysis of data historized with Historian. It provides an intuitive interface for easy
access and use.
Together, System Platform and its clients provide the core services needed to develop, implement,
ot
Process control
Alarm triggering, logging, acknowledgment, and management
Historization, trending, and analysis of process data
o
Applications built on System Platform are extensible through the use of scripting within the product
itself or through several available toolkits. For example, an application can access a third-party
web service by means of a script.
AVEVA™ Training
Section 2 – AVEVA™ System Platform Overview 1-9
ArchestrA Technology
ArchestrA is a distributed architecture developed for supervisory control and manufacturing
information systems. It is an open and extensible technology based on a distributed, object-
oriented design. It leverages the Microsoft .NET Framework for the industrial automation world.
ArchestrA provides the following system services:
Object management for creating object-oriented applications
A component object framework for application modeling of plants, factories,
and equipment
A common, global name space for all application types, from single-node to distributed
networked applications
Inter-process advanced communications with system maintenance and diagnostic
information
Centralized security services with support for multi-user environments for development
and runtime
Version management for every object in the application, including logging of
y
development operations
op
Most of these services are exposed, configured, and managed by Application Server.
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-11
y
Objectives
op
Upon completion of this lab, you will be able to:
Create a Galaxy
Import objects into a Galaxy
Deploy objects
C
Verify data connections using Object Viewer
ot
N
o
D
y
op
C
Your instructor will provide you with your node name. In this lab example, T00ENG will be
used for the node name.
2. Click the New Galaxy button to create a new Galaxy.
ot
5. Click Create.
AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-13
The Create Galaxy dialog box appears and displays the Galaxy creation progress.
y
6. Check to make sure that no error messages are displayed.
op
When the progress completes, the Create Galaxy dialog box displays 100% completed.
C
ot
N
o
D
7. Click Close.
In the Galaxy name drop-down list, the newly created TrainingGalaxy appears.
y
8. Click Connect.
op
The Connect To Galaxy dialog box closes and the ArchestrA IDE opens.
C
ot
N
o
D
AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-15
y
op
C
The Import Automation Object(s) dialog box appears.
ot
10. Navigate to C:\Training and select InTouch for System Platform 2020.aaPKG.
N
o
D
y
op
C
12. Leave all of the defaults and click OK.
ot
The Import Automation Object(s) dialog box appears and the import progress is displayed.
N
o
D
AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-17
When the progress completes, the Import Automation Object(s) dialog box displays
Import completed.
y
13. Click Close.
op
Configure the Platforms
You will now configure the node name for each platform.
C
14. In the Deployment view, expand TrainingGalaxy, and then double-click GRPlatform to open
its configuration editor.
ot
N
o
D
15. On the General tab, in the Network address field, enter the local computer name.
16. In the top-right corner of the window, click the Save and Close button.
The Check In dialog box appears.
17. Enter a comment and click OK to check in the object.
y
18. In the Deployment view, double-click PROD_Platform1 to open its configuration editor.
op
Note: For single node configurations, you will need to move AppEngine1 and all the objects
it hosts under GRPlatform and delete PROD_Platform1.
C
ot
N
19. On the General tab, in the Network address field, enter your designated Production Server
computer name.
Your instructor will provide this information.
o
D
20. Save and close the PROD_Platform1 configuration editor, and then check in the object.
AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-19
22. On the General tab, History area, Historian field, enter the <HistorianNodeName>.
y
op
C
ot
23. Save and close the AppEngine1 configuration editor, and then check in the object.
N
25. On the General tab, Server node field, enter the <PROD_Platform1NodeName> that will
provide data to the Galaxy.
Your instructor will provide this information.
26. Save and close the ProdPLC1 configuration editor, and then check in the object.
y
Deploy the Galaxy
op
Now, you will deploy the Galaxy.
27. In the Deployment view, right-click TrainingGalaxy and select Deploy.
C
ot
N
o
D
AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-21
y
op
28. Leave all of the defaults to perform a Cascade Deploy and click OK.
The Deploy progress appears. This will take a few moments.
29. When the deployment is complete, click Close.
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 1 – Creating and Deploying the Galaxy 1-23
31. In the bottom pane, right-click in the Watch List and select Open.
y
op
C
32. In the Open dialog box, navigate to C:\Training and open MyWatchList.xml.
In the bottom pane, attribute details are opened in multiple watch windows.
ot
N
o
D
33. In the Mixer100 and ProdPLC1 watch windows, verify that the quality is Good for every
attribute.
Notify your instructor if any of your attributes display any other quality status.
34. Minimize Object Viewer.
<End of Lab>
y
op
C
ot
N
o
D
AVEVA™ Training
Section 3 – Visualization Overview 1-25
Introduction
Application Server provides tools for developing interactive and animated graphical displays. The
behavior of these displays, including animations and visual representations, can be associated
with properties of processes and equipment through real-time data provided by System Platform.
System Platform’s visualization clients provide multiple user interface capabilities, including
keyboard, mouse, tablet, and touch-screen inputs, as well as multi-screen outputs.
Visualization Clients
System Platform clients for visualization are Operations Management Interface and InTouch for
y
System Platform. Both run the operator interface and display data from objects defined in an
Application Server Galaxy. They can coexist in the same System Platform solution and share data
op
and graphics.
InTouch for System Platform provides traditional development tools for creating displays
and corresponding navigation. For more details, refer to the documentation provided with
that product. Key features, capabilities, and components are described in this training
C
manual starting in Module 2, as well as in the documentation provided with the product.
Operations Management Interface leverages both HMI and SCADA systems to deliver a
convergence platform for both Operational Technology (OT) and Information Technology
(IT). It provides a visualization engine for rich, modern user experiences across platforms.
ot
Visualization Content
N
Several types of content that can be used to build visualization client applications are described
below.
o
Industrial Graphics
D
Industrial graphics allow you to create customized graphical representations of processes and
integrate other visualization tools into your application. They can be embedded or associated with
automation objects in Application Server, so that alarms, history, logic, graphics, and so on can all
be defined with the same automation object. This allows greater flexibility of application
development, including:
Object reuse: Objects can be derived from templates and preconfigured to work within
the environment in which they are embedded to reference applicable object attributes.
Centralized development: Application development can be centralized, including
graphical representations of equipment.
Industrial graphics are also referred to as symbols in Application Server.
Client Controls
Client controls provide functionality contained in .NET controls that you can use in symbols.
External .NET controls can be imported into a Galaxy and used in symbols by embedding them.
Symbols with embedded .NET controls are supported by InTouch for System Platform.
What is InTouch for System Platform?
InTouch for System Platform is configured and licensed to be used as a visualization client in
conjunction with the System Platform, displaying data from objects defined in a Application Server
Galaxy.
What is a Managed InTouch Application?
A Managed InTouch application is one that is created from within the ArchestrA IDE, and deployed
as an object in the Application Server application. Creating a managed application allows use of
symbols. A Managed InTouch application exhibits the same kind of behavior as other objects in the
IDE, such as the ability to check out and check in, but opens in an external development
environment called WindowMaker.
InTouch Components
y
InTouch consists of three main components:
op
WindowMaker: The InTouch development environment, where object-oriented graphics
are used to create animated, click-sensitive display windows. Graphics are embedded in
InTouch windows.
WindowViewer: The runtime environment used to display the graphic windows created in
WindowMaker.
C
Application Manager: Organizes the applications that are created.
ot
AVEVA Connect is a cloud-based repository that lets you share graphics between locations,
Galaxies, and nodes. You can sign in to AVEVA Connect within the System Platform IDE to add
D
AVEVA Connect to the Graphic Toolbox, which provides a centralized storage and access point for
reusable industrial graphics.
Graphics in AVEVA Connect are stored in stores, which can be global, tenant, or user specific.
Multiple drives can be configured within each store, and each drive can be configured with
different access levels for different users. An AVEVA Connect account is required to manage
graphics in the cloud.
AVEVA Connect users can have read-only or read/write access, depending on the access granted
by their administrator. Read-only users can view graphics in the cloud, but cannot upload or
download graphics. Multiple users can access the graphics in the same drive, but only one user at
a time can edit or save a graphic to the drive.
For more information, refer to "AVEVA Connect" in the Application Server User Guide.
AVEVA™ Training
Section 4 – Encrypted Communication 1-27
This section describes the encrypted communication for end-to-end communication between
server and client software applications.
The end-to-end communication between software applications (server and client) can be
encrypted and secured to prevent eavesdropping and malicious tampering (also known as: Man-
in-the-Middle) attacks.
To enable encrypted network communication, one of the nodes in the network must be configured
to host and run the System Management Server (SMS). The role of the System Management
Server is to generate, manage, and distribute secure digital certificates used for establishing and
maintaining secure communications.
All other nodes need to be configured to connect to the SMS so they all become part of the same
community.
The SMS does not need to be available at runtime for secure communications to be established.
y
In fact, once joined to the SMS, a node will not need access to the SMS until it is time to renew the
certificates.
op
Protocols that Benefit From Encrypted Communication
With encrypted communication, all of the following protocols are secured:
SuiteLink
C
Message Exchange (MX)
iData
ot
iBrowse
HCAL
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – Encrypted Communication 1-29
Node-to-Node Communication
Node-to-node communication is unsecured under certain scenarios, including the following:
The version of the software installed on one or more nodes is earlier than 2017 Update 3
(Communication Driver version has no impact)
One node points to a System Management Server, but there is no System Management
Server configured on the other node
There is no System Management Server configured for both nodes
Please note that if one node points to one System Management Server and the other node points
to another System Management Server, there will be NO network connection between the nodes.
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 5 – System Requirements and Licensing 1-31
Note: Please refer to the readme file that came with your software for more details about
hardware and software requirements, compatibility information, key product notes, and additional
resources. Or, visit the Knowledge & Support Center at https://softwaresupport.aveva.com.
Software Requirements
The following table lists supported and preferred software requirements for various nodes in your
y
system:
op
Note: System Platform 2020 supports 64-bit operating systems only.
Hardware Requirements
N
For client nodes, such as nodes that run WindowViewer, an Operations Management
Interface application, Historian Client, and remote System Platform IDE:
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.
Licensing
The following topics provide general information about System Platform licensing.
Note: Please contact your local distributor for details about licensing and pricing.
Licensing Models
y
Two licensing models are available:
Perpetual licensing offers permanent licenses with no expiration date. A perpetual
op
license applies to a specific purchased software version.
Flex licensing offers subscription-based licenses that are renewed for a specific term.
The license is for credits redeemable to access a wide range of software based on needs
at the time. Visit https://sw.aveva.com/flex-subscription for more information on the Flex
program.
C
Note: Subscription-based licenses are also available for development consignments (for
example, System Integrator consignments).
ot
Activated Licensing
N
License Server: Acquires, stores, maintains, and serves licenses. It supports redundancy
and failover.
D
AVEVA™ Training
Section 5 – System Requirements and Licensing 1-33
y
Platform IDE will not launch. Development Studio licenses are offered only with the
subscription model.
op
Supervisory Client Licenses
A Supervisory Client license enables the use of Operations Management Interface and InTouch for
C
System Platform. It can be used for thick clients (desktop), thin clients (remote access, such as
Remote Desktop Server), or web clients through InTouch Access Anywhere (which uses Remote
Desktop Server).
ot
Additionally, Supervisory Client licenses are available with or without a Historian Client license. A
read-only option is also available, which does not include capabilities to write back to the Galaxy or
acknowledge alarms.
N
Note that:
Each node running a supervisory client or multiple supervisory client applications
consumes one Supervisory Client license.
o
Supervisory Client licenses are provided for the runtime environment only. For
development purposes, a Development Studio license is required. Otherwise, tools such
D
as the System Platform IDE will not launch. Development Studio licenses are offered only
with the subscription model.
y
op
C
ot
N
o
D
AVEVA™ Training
y
op
Module 2 – Getting Started
C
Section 1 – Introduction 2-3
ot
Module Objectives
Introduce the InTouchViewApp object
Introduce the ViewEngine object
Provide a brief overview of the features of the WindowMaker environment and its settings
Describe InTouch windows
Provide a brief overview of the InTouch WindowViewer
Describe some WindowViewer settings
y
op
C
ot
N
o
D
AVEVA™ Training
Section 1 – Introduction 2-3
Section 1 – Introduction
This section introduces the InTouchViewApp and ViewEngine objects.
InTouchViewApp Object
The InTouchViewApp object represents an InTouch application in the Application Server
environment. The InTouchViewApp object manages the check-in, check-out, and deployment of
an InTouch application.
The InTouchViewApp object includes the capabilities of the Application Server InTouchProxy
object, so that InTouch tags can be referenced by Application Server Message Exchange clients
as InTouchViewApp attributes.
The InTouchViewApp object is used to incorporate InTouch applications into an overall system
defined by a Application Server Galaxy. The Application Server system manages:
Check-in and check-out for multiple users
y
Security restrictions on who can deploy the InTouch application and when the InTouch
application can be deployed
op
Backup and restore
Deployment and undeployment
The InTouchViewApp object allows application objects running on a ViewEngine object to access
C
InTouch tags as if they were Application Server attributes of the InTouchViewApp object itself. The
tags are browsed through the standard Application Server attribute browser.
Create an InTouch application by deriving an InTouchViewApp object from the standard template
$InTouchViewApp. Creation includes the choice of starting a new application from scratch or
ot
through the use of an application template. Application templates enable you to quickly create a
new application based on the standards specified in the template. You select which template you
want to base your application on using the Application Template Browser. The templates available
N
in the Application Templates Browser are exported .aaPKG files that are loaded from an
Application Templates folder in the InTouch installation directory. For example:
C:\Program Files(x86)\Wonderware\InTouch\ApplicationTemplates
o
You can also create an InTouch application using a copy of an existing application. Either way,
opening an InTouchViewApp object launches WindowMaker. There is no object editor for the
D
InTouchViewApp object.
In WindowMaker, in Special | Configure | WindowViewer, the Managed Application tab
contains settings similar to the InTouch Network Application Development (NAD) feature that can
be configured to change the deployment behavior.
Assign multiple InTouchViewApp objects to the same ViewEngine object to make multiple InTouch
applications available on a node.
To run an InTouch application on an Application Server Platform:
a. Create and assign a ViewEngine object to a Platform.
b. Create an instance of the InTouchViewApp object from the template that defines the InTouch
application.
c. Assign the InTouchViewApp object to the ViewEngine object.
d. Deploy the ViewEngine object and the InTouchViewApp objects assigned to the ViewEngine
object.
e. Run the InTouch Application Manager to select the application and run WindowViewer; this
only needs to be done the first time.
y
InTouchViewApp object’s alarms should to belong to that area
Undeployment of an InTouchViewApp object is not permitted, if it is currently loaded on a
op
target node
When the file copying process at the end of an InTouchViewApp object deployment is still
underway, the only allowable operation is to undeploy the object; this will cancel the
deployment and remove any partially copied files
C
Existing InTouch Applications
When creating an InTouchViewApp object to handle an existing InTouch application, the InTouch
ot
application files are transferred to a file repository directory. The original InTouch application files
are not modified or deleted.
Do not access files in the file repository directly or make assumptions about the file repository
N
structure.
When making changes to the InTouchViewApp InTouch application using WindowMaker launched
from the IDE, the original InTouch application is not changed.
o
Once the InTouchViewApp object is created, deleting the original InTouch application does not
affect the InTouchViewApp object’s application.
D
ViewEngine Object
A ViewEngine object is a simplified version of an AppEngine object. A ViewEngine object hosts
only InTouchViewApp objects. The ViewEngine object supports common engine features, such as
deployment, undeployment, startup, and shutdown. The ViewEngine does not support
redundancy. One ViewEngine object can handle several InTouchViewApp objects.
AVEVA™ Training
Section 1 – Introduction 2-5
y
Historization and alarm options of the ViewEngine object may not need to be used.
op
Because a ViewEngine object only hosts InTouchViewApp objects, InTouchViewApp objects only
serve as a proxy for InTouch tags.
When referencing tags as InTouchViewApp attributes, a shorter ScanPeriod on the ViewEngine
C
object can minimize the latency of tag value updates.
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 2 – Creating a Managed InTouch Application 2-7
Introduction
In this lab, you will complete the steps necessary to create a simple Managed InTouch application
for your Galaxy using the $InTouchViewApp template object. This application will be used
throughout the rest of the labs in this course.
Objectives
Upon completion of this lab, you will be able to:
Create a new Managed InTouch application
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 2 – Creating a Managed InTouch Application 2-9
y
op
C
ot
N
o
D
5. Double-click $MixerView.
The InTouchViewApp Initialization dialog box appears.
y
op
C
ot
N
6. Leave the default as Create new InTouch application, and click Next.
o
D
AVEVA™ Training
Lab 2 – Creating a Managed InTouch Application 2-11
y
op
C
10. Leave the other defaults and click Next.
After a few moments, InTouch WindowMaker opens.
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-13
y
WindowMaker window. The optional ruler can be displayed and the visible grid turned on and off.
The following figure shows the components of WindowMaker, which is the development
op
environment. When creating a new application and running WindowMaker for the first time, its
components will automatically appear in the default configuration as shown.
views
Industrial Graphic
N
Toolbox
Toolbars
o
Project View,
displays windows
and scripts in a
D
project format
Properties pane
Drawing Canvas,
where windows are
developed
Classic View, which
displays windows
and scripts
Status bar
The WindowMaker Classic and Project views provide a hierarchical graphical view of the windows
and items you have configured in your application and provides easy access to them. It also
provides quick access to many of WindowMaker's most commonly used commands and functions.
Additionally, the Tools area of the Classic View displays all installed add-on programs such as
SQL Access Manager, SPCPro, and Recipe Manager. It also provides a customizable application
launcher.
Windows and other InTouch elements can be created and configured from the Project and Classic
views.
Access to the Managed InTouch application files is available through File | Open Application
Folder. Add additional files to your managed InTouch application here so they are deployed and
available at runtime. Files such as sounds, libraries, pictures, databases, and documents, which
are referenced by the InTouch application or need to be available to the remote user, can be
placed here.
Configure the Tools area of the Classic View to launch a Windows program. This powerful feature
allows you to quickly switch between your HMI configuration, I/O Server configuration, and other
control configurations.
Important: Do not add WindowViewer (view.exe) to the Tools area. The proper way to launch
WindowViewer is by executing the WindowViewer command on the File menu, or by clicking the
y
RUNTIME fast switch in the WindowMaker menu bar.
op
The buttons on the WindowMaker toolbars are grouped by common functionality. For example, the
Arrange toolbar contains tools that you can use to quickly apply most of the commands found on
the Arrange menu.
When hovering the cursor over a button, a tool tip appears displaying the tool name.
C
ot
N
o
D
AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-15
General Toolbar
The General toolbar consists of buttons that execute most of the window commands found on the
File menu. The toolbar also includes the Microsoft Windows clipboard tools found in the Edit
menu.
Button Description
Carries out the New Window command on the File menu to open the Window Properties
dialog box to create a new window.
Carries out the Open Window command on the File menu to open the Windows to Open
dialog box listing the names of existing windows that you can select to open.
Carries out the Close Window command on the File menu to open the Windows to Close
dialog box listing the names of all currently open windows that you can select to close.
Carries out the Save Window command on the File menu to open the Windows to Save
y
dialog box listing the names of all currently open windows that have been modified since they
were last saved.
op
Carries out the Save All Windows command on the File menu to save all currently open
windows that have been modified since they were last saved. This tool does not ask for
confirmation on a per window basis. It saves all modified windows automatically.
Carries out the Duplicate command on the Edit menu to duplicate the currently selected
object(s) in the window.
C
Carries out the Cut command on the Edit menu to cut the currently selected object(s) from
the window and copies them to the Windows Clipboard.
Carries out the Copy command on the Edit menu to copy the currently selected object(s) and
ot
copies them to the Windows Clipboard. (Copied objects are not erased from the window.)
Carries out the Paste command on the Edit menu to paste any object(s) that has been cut or
copied to the Windows Clipboard. (The cursor changes to the paste mode. Click in the
window to paste the copied or cut object(s).)
N
Carries out the Undo command on the Edit menu to reverse (undo) the last action or
command applied to object(s).
Carries out the Redo command on the Edit menu to reverse (redo) the last undo action or
o
Wizards/ActiveX Toolbar
The Wizards toolbar contains the tools used to embed graphics, access the Wizard Selection
dialog box. Add any installed wizard or ActiveX control to the toolbar using the
Wizard Selection | Add to toolbar feature.
Button Description
Displays the Wizard Selection dialog box, used for selecting wizards to paste into your
application.
Carries out the Embed Industrial Graphic command on the Edit menu, used for selecting
symbols to place into your application.
SmartSymbols are superseded by graphics in Managed InTouch applications.
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-17
Format Toolbar
The Format toolbar is grouped with tools that execute most of the text object formatting
commands found on the Text menu. It also contains the tools used to access the color palette to
select line, fill, text, window background, and transparent object color.
Button Description
Carries out the Font command on the Text menu to open the Font dialog box, used to
select the font, style, and size.
Carries out the Bold command on the Text menu to apply bold styling to single or multiple
text string selections and numeric value fields.
Carries out the Italic command on the Text menu to apply italic styling to single or multiple
text string selections and numeric value fields.
Carries out the Underline command on the Text menu to apply underline styling to single
y
or multiple text string selections and numeric value fields.
Carries out the Reduce Font command on the Text menu to reduce the point size of a
op
sizable font. Apply this command by selecting the text string(s) and clicking on the tool.
Carries out the Enlarge Font command on the Text menu to enlarge point size of a sizable
font. Apply this command by selecting the text string(s) and clicking on the tool.
Carries out the Left Justified command on the Text menu to align the left edge of single or
C
multiple text string selections and numeric value fields.
Carries out the Centered command on the Text menu to center single or multiple text
string selections and numeric value fields.
Carries out the Right Justified command on the Text menu to align the right edge of
ot
Opens the color palette to select a transparent color for a bitmap object.
Button Description
Selector mode to select objects in a window.
y
Line tool to draw lines at any angle.
op
H/V Line tool to draw horizontal or vertical lines.
Bitmap tool to draw a bitmap container for pasting a bitmap directly from the Windows
Clipboard or one of the following file types: .bmp, .jpg, .jpeg, .pcx, or .tga.
N
Real-time Trend tool to draw real-time trend objects. (Not applicable to InTouch for System
Platform applications)
Historical Trend tool to draw historical trend objects. (Not applicable to InTouch for System
o
Platform applications)
Button tool used to draw a 3-dimensional button with a label.
D
AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-19
View Toolbar
The View toolbar is grouped with tools that carry out most of the window commands found in the
View menu. These commands are used to control the state of the WindowMaker window.
Button Description
Carries out the Classic View command from the View menu to show/hide the Classic View.
Carries out the Project View command from the View menu to show/hide the Project View.
Hide/Restore All tool to toggle the Hide All command from the View menu on and off to
hide/show all docked toolbars.
When the hide all mode is active, the overall size of WindowMaker remains the same. To
return to normal mode, click the Hide/Restore All tool on the floating View toolbar or click
the View | Hide All command.
y
In the hide all mode, all floating toolbars remain visible and the View toolbar automatically
op
floats on top of WindowMaker. If any of the floating toolbars are docked in the hide all
mode, the mode is automatically terminated.
Full Screen tool to toggle the Full Screen command from the View menu on and off to
switch the display mode from normal view to full screen.
C
To return to normal mode, click the Full Screen tool on the floating View toolbar or click the
View | Full Screen command.
In the full screen mode, all WindowMaker program elements are hidden except any open
windows and floating toolbars. The Restore toolbar automatically floats on top of
ot
WindowMaker.
In the full screen mode, the coordinates of the client area will remain the same. For
example, the top-left is 0,0. The full screen mode automatically sets the coordinates after it
N
maximizes the client area, hides the title and menu bars and adjusts the client area to
mimic WindowViewer's full screen mode.
Toggles the Snap to Grid command from the Arrange menu on and off to show/hide the
visible grid to align objects. It works the same as the Arrange | Snap to Grid command.
o
If the Snap to Grid option in the WindowMaker Properties dialog box is not selected, this
tool will have no effect.
D
Turns the Ruler command from the View menu on and off to show/hide the ruler.
The Show/Hide Industrial Graphic Anchor Points tool toggles the on/off displays of the
anchor that allows you to fasten a symbol to a specific position/location for the purposes of
animation.
Snap to Grid
On the View toolbar, click the Snap to Grid button to turn this feature on and off.
When arranging objects in your windows, turning on the grid will cause your graphic to snap at the
upper left pixel interval on the grid. If multiple objects are selected, the snapping will be applied to
the upper left corner of the first object selected in the group.
With Snap to Grid on, you may use the arrow keys to move an object the number of pixels
between grid coordinates (10 by default). Select an object and hold down the Shift key, press an
arrow key (up, down, right, or left) in order to move an object twice the number of pixels between
grid coordinates (20 by default), or the Ctrl key to move the object four times the number of pixels
between grid coordinates (40 by default).
If Snap to Grid is off, you may select an object and hold down the Shift or Ctrl key, press an arrow
key (up, down, right, or left) in order to move an object in 10-pixel increments (Shift) or 50-pixel
increments (Ctrl). Use the arrow keys alone to move an object 1 pixel at a time. These features
can be useful when making fine alignment and location adjustments.
y
Note: By default, the grid is set to 10 pixels and visible when WindowMaker is initially started.
Configure the pixel interval for the grid through the WindowMaker Properties dialog box,
op
described later in this section.
Ruler
AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-21
Button Description
Zoom Out from the area where you click.
Rubber Band Zoom uses the mouse to select a specific area to zoom in on.
Show/Hide Thumbnail of your window on which you can drag a red box around to
y
pan or resize the red box to zoom in and out.
Pan moves the position of the viewing area.
op
Use the Zoom Entry Box to select or enter a magnification level. Note that not all
items can be zoomed. Zooming over 100% will display graphics placeholders in place
of graphics. For more information please see the product documentation.
C
Using a mouse with a scroll wheel, hold down the Ctrl key and scroll forward to zoom in and scroll
backward to zoom out.
ot
N
o
D
Arrange Toolbar
The Arrange toolbar is grouped with tools that carry out most of the object arranging commands
found on the Arrange menu. Most of the arrange toolbar element buttons are activated if more
than one object is selected.
Button Description
Carries out the Align Left command on the Arrange | Align sub-menu. Aligns the left edge
of all selected objects with the left edge of the left most selected object.
Carries out the Align Center command on the Arrange | Align sub-menu. Aligns the
vertical centerline of all selected objects with the centerline of the group of objects selected.
Carries out the Align Right command on the Arrange | Align sub-menu. Aligns the right
edge of all selected objects with the right edge of the right most selected object.
Carries out the Align Top command on the Arrange | Align sub-menu. Aligns the top edge
of all selected objects with the top edge of the top most selected object.
y
Carries out the Align Middle command on the Arrange | Align sub-menu. Aligns the
op
middle of all selected objects with the middle of the group of objects.
Carries out the Align Bottom command on the Arrange | Align sub-menu. Aligns the
bottom edge of all selected objects with the bottom edge of the lowest selected object.
Carries out the Align CenterPoints command on the Arrange | Align sub-menu. Aligns
the center-point of all the selected objects with the center-point of the group.
C
Carries out the Send to Back command on the Arrange menu to place all selected objects
behind all objects that are not selected.
Carries out the Bring to Front command on the Arrange menu to place all selected
ot
Carries out the Space Vertical command on the Arrange menu to evenly space all
selected objects vertically between the top most and bottom most selected objects.
Carries out the Make Symbol command on the Arrange menu to combine multiple objects
into a single unit called a symbol.
o
Carries out the Break Symbol command on the Arrange menu to break a symbol into its
individual components.
D
Carries out the Make Cell command on the Arrange menu to combine multiple selected
objects into a single unit called a cell. When combining cells, each cell will be retained.
When the combined cell is broken, the original cells are restored.
Carries out the Break Cell command on the Arrange menu to break a selected cell. When
combining cells, each cell will be retained. When the combined cell is broken, the original
cells are restored.
Carries out the Rotate Clockwise command on the Arrange menu to rotate selected
objects clockwise 90 degrees.
Carries out the Rotate CounterClockwise command on the Arrange menu to rotate
selected objects counterclockwise 90 degrees.
Carries out the Flip Horizontal command on the Arrange menu to flip selected objects
horizontally.
Carries out the Flip Vertical command on the Arrange menu to flip selected objects
vertically.
Carries out the Reshape Object command on the Edit menu to reshape a polygon or
polyline.
AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-23
When multiple objects are selected, the status bar displays the width and height for the entire
group.
When a blank area of a window is clicked, the status bar displays the X and Y coordinates for the
current location of the cursor in the window.
y
Manual Positioning and Sizing
In the WindowMaker status bar, there are controls for manually positioning and resizing objects.
op
Select on object on the window, and then click in the controls to enter exact X,Y coordinates and
W,H values. You can also select multiple objects and move or resize them as a group.
C
Press the Enter key to accept and apply manual positioning and sizing entries.
ot
Note: Hold the Shift key down while drawing rectangles, rounded rectangles, and ellipses to keep
the height and width the same, which create exact squares and circles.
N
o
D
WindowMaker Properties
Use the WindowMaker Properties dialog box to configure preferences and options affecting the
behavior of WindowMaker. The WindowMaker Properties dialog box can be accessed through
the Special | Configure | WindowMaker menu option or through the WindowMaker option found
in the Tools pane (Classic View) under Configure.
y
op
C
ot
Show the folder name of the open application in the title bar
Display the grid or turn off the grid
Change the spacing between the pixels on the grid
o
AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-25
The InTouch application is comprised of windows that can contain graphics, text objects,
animations, and action scripts. When first creating the window, define the properties of the window
itself, such as background color, title, and screen position. The General Toolbar contains buttons
for most of the commands in the File menu. To create a new window, on the General toolbar, click
the New Window button.
y
op
The basic window properties are described below:
Property/Field Action/Result
Name
C
Type a unique name that identifies the window.
Comment Type any comments to be associated with the window. The comments
must be 50 characters or fewer, and they are optional.
ot
Overlay The window appears on top of currently open windows. It can be larger
than the window(s) it is overlaying. When an overlay window closes, any
windows behind it reappear. Clicking on any visible portion of a window
o
Popup The window always stays on top of all other windows. Popup windows
usually require a response from the user to be removed.
Frame Style Configure the border around the window.
Single A three-dimensional bordered window, which can have a title bar and size
controls. Select the Title Bar check box to include the title bar.
Double A three-dimensional bordered window with no title bar and cannot be
sized without size controls.
None A window with no border or title bar, which cannot be sized without size
controls.
Size Controls Allows users to resize the window in development.
Dimensions Creates the window location and dimensions in pixels.
X Location Enter the number of pixels between the left edge of the design area and
the left edge of the window being defined.
Y Location Enter the number of pixels between the top edge of the design area and
the top edge of the window being defined.
Window Width and Height Enter the window width and height in pixels.
Duplicating Windows
To create copy of an existing window, open the window to be duplicated and on the File menu,
select Save Window As and rename the new window.
Create a Button and Edit the Label
Click the Button tool found in the Drawing toolbar to draw a button in a WindowMaker
window. After clicking the tool, move the cursor over the window. The cursor changes to a cross
hair (+). Click and drag in the window to draw a button, and then release the mouse, when the size
is adequate. Right-click the new button and select Substitute | Substitute Strings to change the
button text. Double-click the button to add animation.
InTouch Windows
InTouch is comprised of windows that can contain graphics, text objects, animations, and action
scripts. When a window is first created, properties of the window itself such as title, background
color, and dimensions are defined.
y
When a new window is created, behaviors and aesthetic properties are defined in the Window
Properties dialog box. You can specify whether or not a window will automatically close other
op
windows that it intersects with, or position the window on top or behind open windows. Border
style, position and size, and background color can also be defined.
When a new window is created, the default settings are retained from the previously created
C
window, or of the currently active window. Window names can contain up to 32 characters and can
include any character on the keyboard except quotation marks.
Window Types
ot
Popup – Is similar to an overlay window, yet always stays on top of all other open windows
even if another window is clicked.
D
Frame – This window type is used to host a single graphic. Frame windows enable
panning and zooming at runtime.
AVEVA™ Training
Section 2 – Development Environment and InTouch Windows 2-27
Template Windows
Template Windows are reusable application windows that act as a model, or starting point, for
creating new windows; which aid in establishing application design standards. Template windows
are different from other windows as the Template property is enabled, they are listed separately
from other windows in WindowMaker, they can be selected from the Template Window browser,
and they can be used as a template to create new windows.
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 3 – Building the Application Layout 2-29
Introduction
In this lab, you will create windows for the Managed InTouch application created in the previous
lab. You will create a Navigation window, a Logon window, an AlarmDisplay window, an
OverviewDisplay window, and a ContentDisplay window.
Important: The steps and screen shots used in this lab are designed for a resolution of
1920 x 1080.
Objectives
Upon completion of this lab, you will be able to:
Create and configure an InTouch window
y
Configure InTouch WindowMaker properties
op
C
ot
N
o
D
y
op
The Window Properties dialog box appears.
You will now create the Navigation window. In later labs, you will place and configure buttons in
this window, used to open different views.
2. In the Name field, enter Navigation.
C
3. Check the Frame check box.
ot
AVEVA™ Training
Lab 3 – Building the Application Layout 2-31
y
6. Uncheck the Title Bar and Size Controls check boxes.
op
C
ot
N
o
D
X Location: 0
Y Location: 0
Window Width: 1300
Window Height: 120
y
op
C
Note: You may need to adjust the Window Width and Window Height, based on your
screen resolution.
ot
AVEVA™ Training
Lab 3 – Building the Application Layout 2-33
Now, you will create the Logon window, on which you will place a clock later in this lab to display
the current time. In a later lab, you will add a symbol to this window that will allow users to log in to
the application.
9. On the File menu, select New Window.
The Window Properties dialog box appears with the settings from the Navigation window,
configured previously.
y
10. In the Name field, enter Logon.
op
C
11. In the Comment field, enter Display logon and clock graphics.
ot
N
o
D
X Location: 1300
Y Location: 0 (default)
Window Width: 620
Window Height: 120 (default)
y
op
C
13. Click OK to close the Window Properties dialog box.
The Logon window is listed in the Windows & Scripts pane, under the Windows folder, and
is open on the canvas.
ot
N
o
D
AVEVA™ Training
Lab 3 – Building the Application Layout 2-35
Next, you will create the AlarmDisplay window, which will be used in a later lab to display current
alarms.
14. Create a third window named AlarmDisplay.
15. In the Comment field, enter Display live alarms.
16. Configure the Dimensions area as follows:
X Location: 0
Y Location: 120
Window Width: 1920
Window Height: 200
y
op
C
ot
You will now create the OverviewDisplay window, on which you will place a symbol to display
data for the Mixer application.
18. Create a fourth window named OverviewDisplay.
19. In the Comment field, enter Display system overview graphics.
20. Configure the Dimensions area as follows:
X Location: 0 (default)
Y Location: 320
Window Width: 420
Window Height: 680
y
op
C
ot
AVEVA™ Training
Lab 3 – Building the Application Layout 2-37
Next, you will create the ContentDisplay window, which will be used in later labs to display
different symbols.
22. Create a fifth window named ContentDisplay.
23. In the Comment field, enter Display system graphics.
24. In the Window Type area, select Replace.
25. Check the Title Bar check box.
y
op
C
Notice that Close Button is also enabled after checking Title Bar. Leave it checked.
26. Configure the Dimensions area as follows:
ot
X Location: 420
Y Location: 320 (default)
Window Width: 1500
N
The ContentDisplay window is open on the canvas. The dashes inside the window indicate
that the focus is currently on this window.
y
op
Embed a Symbol
You will next embed a clock in the Logon window to display the current time.
C
28. Click anywhere in the Logon window to switch the focus to the Logon window.
The dashes now appear in the Logon window.
ot
N
o
D
AVEVA™ Training
Lab 3 – Building the Application Layout 2-39
y
op
C
ot
33. Scroll to the right to view the ClockAnalogWall symbol in the Logon window.
o
D
Test in Runtime
Now, you will check to see if everything you configured works as intended in the runtime
environment. InTouch uses a program named WindowViewer for its runtime environment. Clicking
on the RUNTIME fast switch button automatically opens InTouch WindowViewer.
34. In the top-right corner, click RUNTIME to display the windows in the runtime environment.
y
op
Note: WindowMaker automatically saves any open windows before displaying them in the
runtime environment.
C
After a moment, InTouch WindowViewer opens and all five windows appear. The windows
have been labeled, so you can identify them.
ot
Logon
Navigation
N
AlarmDisplay
o
OverviewDisplay
D
ContentDisplay
AVEVA™ Training
Lab 3 – Building the Application Layout 2-41
y
36. On the Special menu, click Configure | WindowMaker.
op
C
ot
N
o
D
y
op
C
38. Leave all of the other default settings and click OK.
A WindowMaker message appears.
ot
N
o
39. Click OK to acknowledge that you will need to close and restart WindowMaker before your
D
AVEVA™ Training
Lab 3 – Building the Application Layout 2-43
y
41. Click OK to check in the $MixerView template.
op
42. When the check in progress completes, click Close.
<End of Lab>
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 3 – Runtime Environment and Application Design 2-45
WindowViewer
WindowViewer provides the runtime environment for InTouch applications. When an application is
started in WindowViewer, the windows that are configured to open by default are started in
runtime, unless WindowViewer is called from WindowMaker for testing the application. In this
case, the windows opened in WindowMaker are opened in WindowViewer. Information displayed
in WindowViewer is real-time application data from the plant floor. Processes can then be
controlled by the operator by clicking items on the screen.
y
Associating all Galaxy graphics with an InTouchViewApp template enables deployed and
published InTouch applications to run graphic requests made of any graphic in the Galaxy without
op
having to embed them in the application.
Before a Managed InTouch application can be used in a production environment, it must be
deployed to the target platform(s) from the IDE. An instance of the $InTouchViewApp template is
treated as any other object and must be deployed to the target node.
C
You can deploy a Managed InTouch application from the IDE to the local node or a remote node.
After you deploy the application, you can run it in WindowViewer on the remote nodes.
The $ViewEngine object must have a Platform on which to run. This object:
ot
Manages the synchronization and delivery of files required by the associated InTouch
application
D
y
op
C
Resolution at Runtime
ot
AVEVA™ Training
Section 3 – Runtime Environment and Application Design 2-47
WindowViewer Properties
Like WindowMaker, WindowViewer includes many options to customize the runtime environment.
Configure these options by configuring WindowViewer properties from WindowMaker.
y
op
C
ot
N
Local Working Directory: Where the InTouch application is deployed on the target node.
D
Reminder interval (sec): How often, in seconds, the user is reminded to load or restart the
changes into WindowViewer. This option is available when the applicable change mode has been
set. By default, reminders happen every 30 minutes. Set the interval to 0 to not remind the user.
Script timeout (msec): When running a Managed InTouch application in WindowViewer, any
scripts associated with symbols run as expected. However, some scripts contained in symbols can
run for a long time and prevent interaction with other InTouch elements. To prevent this, set a script
timeout that is applicable for all scripts in the Managed InTouch application. A script timeout stops
script execution and returns the control to the operator. By default, scripts time out after 5 seconds.
Change Mode Area
Ignore changes: WindowViewer will ignore any deployed changes. Manually configure the
RestartWindowViewer() and ReloadWindowViewer() script functions to accept the changes
depending on the $ApplicationChanged system tag.
Restart WindowViewer: WindowViewer will restart automatically, when changes are deployed.
Prompt user to restart WindowViewer: WindowViewer will prompt the user to restart
WindowViewer when changes are deployed.
Load changes into WindowViewer: WindowViewer will load any deployed changes
automatically, and then prompt the user to restart WindowViewer.
Prompt user to load changes into WindowViewer: WindowViewer will prompt the user to load
any deployed changes, and then prompt the user to restart WindowViewer.
Home Windows
Home windows are windows that appear in WindowViewer when the user starts WindowViewer
directly, either from an icon or a menu command.
y
op
Home windows do not appear if the RUNTIME fast switch is used to start WindowViewer.
C
Display home windows at any time during runtime by using the ShowHome() function in a script.
To set home windows, use the Special | Configure | WindowViewer menu, and then click the
Home Windows tab.
ot
Viewer Memory
Configure how WindowViewer uses memory for application windows to improve performance at
N
runtime.
Reopening closed windows that have been cached retrieves them from memory rather than
loading them from disk in certain conditions.
o
Designate certain windows to have a higher priority for memory usage and configure separate
D
AVEVA™ Training
Section 3 – Runtime Environment and Application Design 2-49
To set the memory properties, use the Special | Configure | WindowViewer menu, and then click
the Viewer Memory tab.
y
op
C
The In-Memory Window Caching area has the following features:
Select the Use In-Memory Cache check box to save all closed in-memory windows and
graphics in memory at runtime.
ot
In the Memory Limit for in-Memory Graphics field, enter the limit for keeping closed
in-memory windows and graphics in cache memory at runtime. The default memory limit is
70% of process memory.
N
If the memory limit is exceeded, the system automatically removes the oldest, closed
in-memory window or graphic from the cache at runtime, unless it is marked as a high-
priority window.
o
The memory limit for in-memory windows and graphics will always be less than the
memory limit for high-priority windows.
D
In the In-Memory Graphics Expiration Time field, enter the maximum duration for which
the closed in-memory windows and graphics will remain in cache memory at runtime.
Enter a value between 0 and 8760 hours. The default value is 0 hours, which designates
no time limit.
The memory limit or the expiration time limit is applied, depending on which limit is
reached first.
The High Priority Window Caching area has the following features:
Check the Enable High Priority Window Caching check box to allow some windows to
be marked as high priority. These windows will always be kept in cached memory after
they are closed at runtime.
In the Memory Limit for High Priority Windows field, enter the limit for keeping closed
high-priority windows in cache memory at runtime. The default memory limit is 90%. The
system removes the oldest in-memory window first, and then removes the oldest high-
priority window when the percentage of used memory exceeds this limit at runtime.
In the High Priority Windows list, select the windows to mark as high priority.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-51
Introduction
In the previous lab, you created windows in a Managed InTouch application. In this lab, you will
deploy a Managed InTouch application, and then view the application in runtime.
Objectives
Upon completion of this lab, you will be able to:
Create and configure a ViewEngine
Configure InTouch WindowViewer properties
Deploy a Managed InTouch application
Open a deployed InTouch application in runtime
y
op
C
ot
N
o
D
Create a ViewEngine
In the following steps, you will create a ViewEngine object.
1. In the IDE, Template Toolbox, System template toolset, right-click the $ViewEngine
template and select New | Derived Template.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-53
y
op
3. Drag the template to the Training\Global template toolset.
C
ot
N
o
D
Note: For single-node configurations, host ViewEngine1 under the GRPlatform, rather than
PROD_Platform1.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-55
y
op
C
ot
N
o
D
7. Leave the default name, and then host the MixerView_001 instance under the ViewEngine1
instance created earlier.
y
op
8. In the Model view, assign MixerView_001 and ViewEngine1 to the Sys area.
C
ot
N
o
D
AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-57
y
op
C
ot
InTouch WindowMaker opens and the Windows to Open dialog box appears.
N
o
D
y
op
C
The WindowViewer Properties dialog box appears.
ot
AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-59
y
op
C
ot
y
The MixerView_001 icon changes from synchronization to fully deployed.
op
View the Deployed Application in WindowViewer
You will now open the deployed $MixerView application in runtime.
C
18. Switch to the production virtual machine hosting the deployed Managed InTouch application.
19. Open the InTouch HMI Application Manager.
ot
20. In the MANAGED | $MixerView pane, click the WindowViewer button to open the application
in runtime.
N
o
D
AVEVA™ Training
Lab 4 – Deploying an InTouch Application 2-61
After a few moments, InTouch WindowViewer opens and the $MixerView application displays
in runtime.
y
Leave the application running.
op
C
21. Switch back to the engineering virtual machine.
Note: For single-node configurations, open the InTouch HMI Application Manager from the
GRPlatform node and start WindowViewer for the $MixerView application.
ot
<End of Lab>
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
y
opModule 3 – Symbols
C
Section 1 – Symbol Overview 3-3
ot
Module Objectives
Provide a brief overview of graphics
Introduce the Graphic Toolbox
Describe situational awareness symbols
Discuss Element Styles
Review containment relationships between automation objects
Introduce the graphic development environment
Introduce the OwningObject property
Introduce the graphic tools in the Symbol Editor
Introduce various visualization animations and interaction animations
Provide a brief overview of custom properties in symbols
Provide a brief overview of the scripting environment
Introduce ShowGraphic-related functions
y
op
C
ot
N
o
D
AVEVA™ Training
Section 1 – Symbol Overview 3-3
Introduction
Symbols are graphics that can be used to customize graphic representations of your processes in
a view application. They can be embedded in or linked to automation objects, providing an efficient
way to visualize object-specific information in your application, such as processing status, alarms,
history, and more.
Pre-built libraries of symbols are provided with System Platform, including the Industrial Symbol
Library and the Situational Awareness Library. You can use symbols from these libraries in your
application, or create your own symbols with the Symbol Editor in the IDE.
Symbols support the use of custom properties, relative references, scripts, and more.
y
Symbols can be added to Automation objects, templates or instances, through the Content area in
the configuration editor of the object. Symbols added to object templates are inherited by any
op
derived object, just like scripts and UDAs. Any changes made to a symbol included in an object
template will be propagated to all derived objects, as soon as the template is checked in.
Similar to adding scripts or extensions to an object, when a symbol is added to an
AutomationObject, all references within the symbol should use relative references (Me.PV) to
C
integrate the functionality of the symbol within the object, instead of using absolute references
(InletValve1.PV). This way, when working with object templates, all derived instances will have
their inherited symbols properly configured.
ot
When working in a containment relationship, all contained objects should have their own symbols
added to them (device-specific symbols) and the container object symbols (system-wide symbols)
will have the symbols from its contained objects embedded in them. This way, all relative
references will be handled properly by the software without any additional configuration.
N
o
D
Graphic Toolbox
InTouch WindowMaker includes the Industrial Graphic Toolbox, which includes the entire set of
Industrial Symbol Library and Situational Awareness Library symbols. The Industrial Symbol and
Situational Awareness libraries provide different categories of symbols.
Rather than embedding Symbol Wizards from the IDE, Symbol Wizards can be placed directly into
an InTouch managed application window from WindowMaker.
The symbol can be part of:
The Graphic Toolbox
An AutomationObject template
An AutomationObject instance
The symbols that can be embedded include symbols whose elements have Element Styles
applied to them and Symbol Wizards created using the Symbol Wizard Editor.
You access the Graphic Toolbox in WindowMaker on the Edit menu using the Embed Industrial
Graphic command. You can also access the Graphic Toolbox by clicking on the toolbar. The
y
Graphic Toolbox list appears on the left.
op
C
ot
from other symbols in the Industrial Symbol Library. As their name suggests, Situational
Awareness Library symbols are designed to enhance an operator's situational awareness of
current process conditions, using a variety of visual techniques.
o
Situational Awareness Library symbols use a largely monochrome color palette to increase the
contrast between normal operating conditions and a vivid colored alarm state. Situational
D
Awareness Library symbols are not photo realistic and provide just enough visual detail to
recognize their functional purpose without showing extraneous information to operators.
Situational Awareness Library symbols include an extensive set of default custom properties.
These custom properties can be set to show or hide parts of the symbol itself, set the full array of
alarm conditions, and show reported values based on the symbol's configuration.
AVEVA™ Training
Section 1 – Symbol Overview 3-5
Situational Awareness Library symbols also support multiple visual and functional configurations.
Using the Symbol Wizard, a single Situational Awareness Library symbol can support multiple
configurations by showing or hiding functional elements as options that are part of the default
symbol set.
Situational Awareness Library symbols incorporate a variety of animations that enable operators to
quickly assess current process conditions. Animations particularly suited for Situational
Awareness Library symbols include:
Point animation
Alarm Border animation
Polar star animation
Sweep angle animation
y
set of Wizard Options associated with each symbol.
op
Configuring Symbol Wizards in WindowMaker
InTouch WindowMaker includes the Industrial Graphic Toolbox, which includes the entire set of
C
Industrial Symbol Library and Situational Awareness Library symbols. Rather than embedding
Symbol Wizards from the IDE, Symbol Wizards can be placed directly into an InTouch managed
application window from WindowMaker.
ot
Configuring a Symbol Wizard from WindowMaker is strictly the consumer workflow of setting
Wizard Options and Custom Properties to configure a symbol for an application. Designers must
still work from the IDE to create Choice Groups, Choices, Layers, and rules to design Symbol
Wizards.
N
The typical workflow to configure a Symbol Wizard from WindowMaker includes set a Wizard
Option values and Custom Properties associated with the Wizard Option.
o
D
The Edit Symbol Properties dialog box contains Wizard Options and Custom Properties tabs. You
configure a Symbol Wizard from WindowMaker by setting values of the symbol's Wizard Options
and Custom Properties. If a symbol does not contain any Wizard Options, the Wizard Options tab
is hidden.
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Symbol Editor 3-7
Industrial Graphics
One of the most powerful features of InTouch for System Platform is the ability to graphically
represent processes using graphics. A quick way to do so is to embed preconfigured graphics
from the Industrial Symbol Library or the Situational Awareness Library, or both.
y
To create a toolset, in the Graphic Toolbox, right-click the Galaxy and select New | Graphic
Toolset. The toolset is created and a prompt to rename the toolset appears.
op
C
ot
N
o
D
Menu Bar
Toolbars
Tools Pane
Properties
Tab
Elements
List Property
Categories
Drawing
Canvas
y
op Animations
Status Bar
C Summary
Toolbars: Includes the Embed Graphic button, used to embed preconfigured graphics
from the Graphic Toolbox
Tools Pane: A collection of elements used to create a symbol
N
Properties Tab: A list of properties belonging to the currently selected element(s), or the
symbol being edited on the canvas; the element can be configured here, or with buttons in
D
the toolbars
Animation Summary: A list of animations belonging to the currently selected element; it
is only visible if an element is selected
Embed preconfigured graphics from the Graphic Toolbox or select basic graphical objects, called
Elements, from the Tools pane and draw them in the drawing area, called the canvas. Typical
elements are lines, rectangles, ellipses, or curves.
Change the appearance of elements by accessing their properties in the Properties tab or by
using the tools in the graphic toolbars.
Then, configure the elements or the symbol with Animations, Scripts, Custom Properties, and
more.
AVEVA™ Training
Section 2 – Symbol Editor 3-9
y
op
Tools Pane
C
The Tools pane contains tools to draw symbol elements on the canvas.
ot
N
o
Elements List
The Elements list is a list of all elements on the canvas.
y
The Elements list is particularly useful for selecting one or more elements that are visually hidden
op
by other elements on the canvas. Use the Elements list to:
See a list of all elements, groups of elements, embedded symbols, and client controls on
the canvas
Select elements or groups of elements to work with them
C
Rename an element or a group of elements
Properties Tab
N
Use the Properties tab to view and set properties for the selected element or group of elements.
Properties such as size, location, color and fill style, and runtime behavior can be configured from
this tab.
o
D
AVEVA™ Training
Section 2 – Symbol Editor 3-11
Animation Summary
Use the animation summary to review, select, and configure the animation behavior of an element
selected on the canvas.
Canvas
y
The canvas is the drawing area. It is similar to any other image editing software, as elements are
drawn on the canvas and adjusted as needed. The size of the canvas can be set to a certain size.
op
To fix the size of the canvas, with no elements selected, use the Properties tab. The Size property
is set to Auto by default, which automatically sizes symbols. Set Size to Fixed to create fixed size
symbols. When set to Fixed, the FixedWidth and FixedHeight properties appear, which show the
dimensions of the fixed area of a symbol in pixels. You can also change the width and height of the
C
symbol's fixed size area by moving the boundary with its grab handles.
Buttons
ot
You can draw a button on the canvas. To draw a button, click the Button tool in the Tools
pane, and then click the canvas and drag the shape of the button. When you release the mouse,
the button text appears in edit mode. Type a text label for the button and press Enter.
N
Text Tool
o
To add a Text element, click the Text tool in the Tools pane, and then click the canvas. The
text element has no border and no background fill. The text does not wrap. When you type the
D
text, the size of the Text element expands. Drag the handles of the Text element to resize it.
To add a Text Box element, click the Text Box tool in the Tools pane, and then draw the text
box on the canvas. Text boxes can have borders and background fill.
In the New column, enter the new text string or strings, or click Find & Replace to edit just a word
or phrase within the text strings. You can replace one occurrence or all occurrences.
y
op
Note: Use the Substitute Strings command on strings that are included in a symbol to change
the label on buttons drawn with the Button tool.
C
Editing Element Properties
ot
Control the appearance of an element, a group of elements, or multiple elements with functions on
the toolbar or properties in the Properties tab. The Properties tab shows the properties common
to all selected elements.
N
Note: The Properties tab not only supports values, but also allows input of color, font, and file
information in the respective fields.
D
One of the element properties that can be assigned is an Element Style. An Element Style defines
a set of visual properties that determine the appearance of text, lines, graphic outlines, and interior
fill shown in symbols or graphics. An Element Style applied to a symbol sets preconfigured visual
property values that take precedence over a symbol’s native visual properties. For more
information on Element Styles, see Section 8, “Galaxy Styles.”
AVEVA™ Training
Section 2 – Symbol Editor 3-13
Properties are organized in categories so they can be easily located. The following table shows
the categories:
y
Appearance Any parameters related to the appearance of
the element, including location, size,
op
orientation, and transparency
C
Runtime Behavior Element visibility, tab order, and any other
ot
Selecting Elements
Select one or more elements by:
Selecting them in the Elements list
Clicking on them with the mouse
Dragging a lasso around them with the mouse
When an element is selected, it appears with handles that enable control over its size and
orientation.
When multiple elements are selected, the last selected element is the primary element. All other
y
previously selected elements are secondary elements. To select multiple elements, hold the Shift
key and click the individual elements. You can also drag a lasso around all of the elements.
op
To change the primary element, simply click the desired element.
AVEVA™ Training
Lab 5 – Building a Process Overview 3-15
Introduction
In this lab, you will use the Symbol Editor to create a new symbol in the Graphic Toolbox. You will
embed Situational Awareness dashboard symbols to create a graphic overview of the mixer
application. This overview will display process information for consumed materials and produced
products for eight different mixers in the plant.
You will embed SA_StackedColumnChart to the symbol and configure it to display live data for
consumed materials. You will also embed and configure the SA_BarChart symbol to display data
from the produced products for the current batch.
y
op
C
ot
N
o
D
Objectives
Upon completion of this lab, you will be able to:
Create a symbol in the Graphic Toolbox
Create a process overview using Situational Awareness symbols
Configure Wizard Options for Situational Awareness symbols
Configure Custom Properties using the Galaxy Browser
Add a symbol in a window
y
op
C
ot
AVEVA™ Training
Lab 5 – Building a Process Overview 3-17
y
op
C
ot
N
o
D
5. Select the following apps and drag them to the Apps toolset:
AlarmApp
ContentPresenterApp
DocViewerApp
HamburgerApp
HistoricalTrendApp
ImageViewerApp
InSightApp
MapApp
NavigationApp
PDFViewerApp
SpreadsheetViewerApp
TitleBarApp
WWWebAppControls
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-19
6. Select the following client controls and drag them to the Client Controls toolset:
AlarmClient
TrendClient
y
op
C
7. Collapse the Apps and Client Controls toolsets.
8. Right-click TrainingGalaxy and create a new toolset named Training.
ot
N
o
D
y
10. Rename the new symbol ProcessOverview.
op
C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-21
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-23
y
op
C
ot
N
y
op
C
ot
You will now configure the name, wizard options, custom properties, and strings of the symbol.
17. On the Properties tab to the right, in the Graphic area, Name field, rename the symbol
N
IngredientsConsumed.
18. In the Wizard Options area, configure the following option:
o
NumberofBars: Eight
AVEVA™ Training
Lab 5 – Building a Process Overview 3-25
y
op
The Edit Custom Properties dialog box appears.
C
20. In the Custom Properties pane, ensure Bar01A is selected, and then in the Bar01A pane to
the right, Default Value field, select 0.
ot
N
o
D
21. To the right of the Default Value field, click the Browse Galaxy button.
The Galaxy Browser appears.
22. Ensure the Namespace is TrainingGalaxy and click the Show Hierarchical Name button to
switch the view.
23. In the Instances pane to the left, scroll down and click Mixer100.Totalizer1, and then in the
right pane, click PV.
y
24. Click OK.
op
The 0 placeholder is replaced with the new value.
C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-27
Note: In the Default Value field, you can use copy and paste instead of using the Galaxy
Browser.
y
Bar06B Mixer600.Totalizer2.PV
op
Bar07A Mixer700.Totalizer1.PV
Bar07B Mixer700.Totalizer2.PV
Bar08A Mixer800.Totalizer1.PV
Bar08B Mixer800.Totalizer2.PV
C
ot
N
o
D
27. Right-click IngredientsConsumed and select Substitute | Substitute Strings to change the
static text labels.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-29
y
D N/A
op
Horizontal Axis Description Mixers
Short Description Consumed materials quantity of current batch
Vertical Axis Description Materials Quantity
C
ot
N
o
D
y
op
Now, you will resize the IngredientsConsumed symbol so the bottom labels are fully visible.
30. With IngredientsConsumed selected, use the right handle to stretch the symbol to the right
until the mixer labels are fully legible.C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-31
y
op
C
ot
N
o
D
35. Click the canvas below the IngredientsConsumed symbol to place the new symbol.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-33
36. On the Properties tab to the right, rename the symbol ProducedProducts.
37. In the Wizard Options area, configure the following options:
NumberofBars: Eight
SortOrder: None
y
38. Right-click ProducedProducts and select Custom Properties.
op
The Edit Custom Properties dialog box appears.
39. In the Custom Properties pane, ensure Bar01 is selected, and then in the Bar01 pane to the
right, Default Value field, select ---. C
ot
N
o
D
41. In the Instances pane to the left, scroll down and click Mixer100.Totalizer3, and then in the
right pane, click PV.
y
op
42. Click OK.
The --- placeholder is replaced with the new value.
C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-35
y
op
C
ot
N
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-37
y
48. On the toolbar, click the Save and Close button.
op
C
ot
y
op
C
ot
AVEVA™ Training
Lab 5 – Building a Process Overview 3-39
53. Click the OverviewDisplay window to ensure focus is on the OverviewDisplay window.
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 5 – Building a Process Overview 3-41
Test in Runtime
Finally, you will test the OverviewDisplay window in runtime.
57. Click RUNTIME.
58. Verify that the symbol is displaying live data.
y
op
C
ot
N
o
D
Note: For any given mixer, you will not see any produced products until a few seconds after
the consumed materials are at their highest level.
y
op
C
ot
N
o
D
AVEVA™ Training
Section 3 – Symbols with Objects 3-43
y
and click the Edit button to open the symbol in the Symbol Editor.
op
Inserting Symbols from an Automation Object
From the graphics perspective, symbols added to Automation objects are referenced like any
other attribute within that object using the symbol’s name.
C
When embedding a symbol, either into another symbol or in WindowMaker, select either the
Template Toolbox button to embed a symbol from a template, or the
ot
Instances button to embed a symbol from an instance. Either way, the Galaxy Browser will
only display the objects, templates, or instances that have symbols. Selecting an object will display
all the symbols that object includes.
N
o
D
When embedding a symbol in WindowMaker from an object template, you will be prompted for the
name to create a new instance of the selected template. The name needs to be unique since the
software will attempt to create a new instance in the Galaxy. If the intent is to add a symbol from an
existing instance, then select the instance instead.
Note: This function cannot be used with symbols that originate from the Graphic Toolbox, as
they are not part of any object.
To access this feature from the Symbol Editor do one of the following:
Select the embedded symbol, go to the Edit menu and click
Embedded Symbol | Select Alternate Symbol
Right-click the embedded symbol and select
Embedded Symbol | Select Alternate Symbol
To access this feature from WindowMaker you can do one of the following:
Select the embedded symbol, go to the Edit menu and select
Industrial Graphic “<current graphic name>” | Select Alternate Symbol
y
Right-click the embedded symbol and select
op
Industrial Graphic “<current graphic name>” | Select Alternate Symbol
The Galaxy Browser displays symbols belonging to the same instance. An alternate symbol can
be selected: C
ot
N
o
D
In a non-frame window, if the alternate symbol is a different size than the original symbol, a
message appears asking if the size of the currently inserted symbol should be retained. Yes will
keep the current size of the selected symbol, while No will update the size of the selected symbol
to the size of the new symbol.
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-45
Introduction
In this lab, you will create the mixer components using predefined graphics from the Situational
Awareness Library. You will configure the graphics with relative references and test one of the
symbols in runtime.
y
op
C
ot
N
Objectives
Upon completion of this lab, you will be able to:
o
y
2. Rename the new symbol Level_Detail.
op
C
ot
N
5. In the Galaxy Browser, Graphic Toolbox pane on the left, select Situational Awareness
Library\Meters, and then in the Meters pane to the right, double-click SA_Meters.
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-47
6. Click the drawing canvas to place the SA_Meters symbol on the canvas.
y
op
7. On the Properties tab to the right, rename the symbol LevelMeter.
C
8. In the Wizard Options area, configure the following options:
Type: Level
ot
LabelType: ObjectTagname
EngUnitsType: CustomPropertyLabel
N
9. On the toolbar, click the Save and Close button, and then check in the symbol.
y
Next, you will duplicate a symbol to create a Temperature_Detail symbol to display the
temperature in the mixer.
op
10. In the Graphic Toolbox, right-click Level_Detail and select Duplicate.
C
ot
N
o
D
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-49
y
15. In the Wizard Options area, change the Type to Temperature.
op
C
ot
y
op
21. Drag SA_Valve_And_Damper to the canvas.
C
ot
N
o
D
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-51
DiscreteCmdType: CmdOpenAndClose
Actuator: Control
LimitSwitches: Dual
LabelType: ObjectTagname
SymbolMode: Advanced
DirectionOfTravelIndicator: True
y
op
C
ot
N
o
D
y
op
C
ot
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-53
y
op
C
30. Drag SA_Agitator_Settler to the canvas.
ot
N
o
D
31. On the Properties tab, rename the symbol Agitator, and then configure the following
properties:
LabelType: ObjectTagname
PVNumericDisplay: True
EngUnits: True
EngUnitsType: CustomPropertyLabel
SymbolMode: Advanced
EquipmentStatusIndicator: True
SetPoint: True
y
op
C
ot
N
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-55
y
op
C
ot
N
EquipState: Me.PV
D
EquipStateActive: Me.PV
EquipStatePassive: not Me.PV
y
op
C
41. On the Properties tab, rename the symbol Pump, and then configure the following property:
ot
LabelType: ObjectTagname
N
o
D
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-57
EquipState: Me.PV
y
44. In the Template Toolbox, Training\Project toolset, double-click $Agitator to open its
configuration editor.
op
C
ot
N
o
D
y
46. In the Galaxy Browser, Training toolset, select Agitator_Detail.
op
C
ot
N
o
D
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-59
49. In the Template Toolbox, Training\Project toolset, double-click $Level to open its
configuration editor.
50. In the Content pane, click Link Content.
51. In the Galaxy Browser, Training toolset, select Level_Detail, and then click OK.
52. Save and close and check in the object.
53. Repeat the previous steps, to associate the created symbols with the following templates:
Template Symbol
$Pump Pump_Detail
$Temperature Temperature_Detail
$Valve Valve_Detail
Test in Runtime
Finally, you will test the functionality of one of the symbols you created in runtime.
y
54. Ensure WindowMaker is open and switch to it.
op
Note: To open WindowMaker, in the Template Toolbox, double-click $MixerView.
55. Ensure all of the windows are open and the focus is on the ContentDisplay window, and then
C
click Embed Industrial Graphic .
56. In the Galaxy Browser, click the Instances button to change the view.
ot
N
57. In the Instances pane, scroll down and select Level_001, and then in the Level_001 pane to
the right, double-click Level_Detail.
o
D
y
op
C
58. Click RUNTIME.
ot
AVEVA™ Training
Lab 6 – Creating the Mixer Components 3-61
60. Hold down the Ctrl key and scroll the mouse wheel forward and back to zoom and pan the
symbol.
y
op
Note: Once you have panned or zoomed, in the bottom-left corner of the window, pan and
C
zoom tools appear.
<End of Lab>
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – Tools and Animations 3-63
y
op
Tools Pane
Recall the Tools pane introduced earlier, which contains tools to draw symbol elements on the
drawing canvas. C
ot
N
Windows common controls such as combo boxes, calendar controls, radio button groups,
and others
A Status tool to show quality and status of selected attributes
y
Drawing 2-Point Arcs, 2-Point Pies and 2-Point Chords
op
C
Draw 2-point arcs, 2-point pies, and 2-point chords on the drawing canvas. If a closed element is
being drawn, the element automatically closes when done drawing.
ot
N
AVEVA™ Training
Section 4 – Tools and Animations 3-65
Create a Group
Grouping lets you relate elements together as a unit. Groups can contain elements and other
groups. Groups are shown in the Elements list with a default name, such as Group1. Groups can
be renamed just as you rename elements.
Select the elements to be grouped and use the Group button to group them.
y
Editing Components Within a Group
op
Work with the elements of a group as one set of elements or, by selecting the elements in the
Elements list, work with the individual elements in the group without having to break the group.
This is called in-line editing. C
An advantage of in-line editing is that an individual element can be selected graphically without
having to know its element name. To accomplish this, in the Elements list, expand the group that
contains the element to edit. Then, select the element to edit in the Elements list. The element
appears selected in the group and the group is outlined with a diagonal pattern.
ot
N
o
Edit the element with the Properties tab, by using the mouse or the menu.
D
Path Graphics
Path graphics are elements that combine selected open elements, such as lines, H/V lines,
polylines, curves, and arcs to a single closed graphic element.
y
op
The path graphic depends upon:
The order in which the elements were drawn. Each element is linked to the next element
C
by z-order. The z-order of the elements is the order shown in the Elements list.
The direction which the elements were drawn. The end point of one element is connected
to the start point of the next element.
ot
The properties of the elements contained within a path graphic are retained, so that when the path
graphic is broken, the elements which it consists of appear as they did before the path graphic is
created.
N
The path graphic has the same properties as a rectangle, ellipse, or polyline. These properties are
lost when the path is broken.
Any shape with 2 open points can be joined using the Path button or a path graphic can be
o
Images
Images files such as .bmp, .gif, .mpg, .mpeg, .tif, .tiff, or .png, may be added to a symbol. To
accomplish this, click the Image tool. The cursor turns into a + symbol. Draw an image
container in the canvas (any size) and select the file to import as a bitmap. Graphic files can also
be copied directly from the Windows clipboard into a graphic. To change the image to its original
size, right-click the object and select Image – Original Size.
AVEVA™ Training
Section 4 – Tools and Animations 3-67
y
op
The image changes to reflect the transparent color selection:
C
ot
N
The order of elements or z-order specifies which element appears on top of other elements when
the elements overlap on the drawing canvas. The order also determines how the elements of a
D
Moving elements forward puts elements higher in the Elements list. Moving elements backward
puts elements lower in the Elements list.
Rotating Elements
Rotate elements to any orientation (0 -359 degrees):
y
Element Styles
op
The Properties tab contains a list of Element Styles. Element Styles provide the means for
developers to establish consistent visual standards in their managed InTouch applications. For
more information of Element Styles, refer to Section 8, “Galaxy Styles.”
C
Visualization and Interaction Animations
There are two types of animations:
ot
Visualization animations determine the appearance of the element, such as blinking, fill
style, percent fill horizontal, or value display
Interaction animations determine the behavior of an element, such as horizontal sliders or
user input
N
There are visualization and interaction animations that are specific to certain elements. For
example, the DataStatus animation is specific to the Status element. Element-specific animations
also determine element behavior and appearance.
o
D
AVEVA™ Training
Section 4 – Tools and Animations 3-69
y
op
In the Edit Animations dialog box for the element, add the Show Symbol animation and
configure the options:
C
Symbol that will appear in the new window when the element is clicked
If the new window has a title bar and if so, show the window name
In what type of window the symbol will display
ot
o
D
y
op
Other Animations
Disable Animation
C
You can enable or disable animations for an element. When you disable an animation, its
configuration is not lost. You are able to see, for example, each animation independently from
each other.
ot
N
o
D
You can also disable animations from the Animation Summary in the bottom-right corner of the
Symbol Editor.
AVEVA™ Training
Section 4 – Tools and Animations 3-71
y
op
C
ot
N
o
D
y
Truth Table: Animation that applies Element Styles based on a range of possible values
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – Tools and Animations 3-73
Pushbutton Animation
You can configure an element with a pushbutton animation. You can choose whether the
pushbutton will be Boolean, analog, or string.
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-75
Introduction
In this lab, you will embed symbols in a containment relationship to create displays for an agitator,
level, pumps, temperature, and valves in the Mixer application. You will then build a master display
containing these displays.
You will also use text elements, add animations, and apply element styles. In addition, you will
rename the elements.
y
op
C
ot
Objectives
Upon completion of this lab, you will be able to:
N
Use the Text element and configure its Value Display animation
Apply element styles to elements
D
y
op
3. To the bottom right, rename the symbol MixingProcess_Detail.
4. In the Description field, enter Includes symbols from all contained objects.
C
ot
N
5. In the Content pane, click Edit Content to open the Symbol Editor.
o
D
Note: You can also double-click MixingProcess_Detail in the Content pane to open the
Symbol Editor.
AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-77
You will now embed symbols from contained objects through relative references.
y
op
8. Place the symbol on the drawing canvas as shown below:
C
ot
N
o
Leave space at the top-left of the drawing canvas for text you will add later in this lab.
D
10. Repeat Steps 6 and 7 to embed the following symbols on the drawing canvas, arranging them
y
as shown below:
op
Relative Reference Symbol Name
Me.Inlet1 Valve_Detail
Me.Inlet2 Valve_Detail
Me.Outlet Valve_Detail
Me.Agitator Agitator_Detail
C
Me.Level Level_Detail
Me.Temperature Temperature_Detail
ot
Inlet1 Agitator
N
o
D
Outlet
Inlet2
Level Temperature
AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-79
11. On the Toolbox tab, search for tank, and then drag SA_Tank_Vessel to the drawing canvas.
y
op
C
12. Move and expand the symbol on the drawing canvas to surround the Agitator, Level, and
Temperature symbols.
ot
N
o
D
Name: SA_Tank
QualityStatusIndicator: False
Width: 230 (suggested)
Height: 400 (suggested)
y
op
C
ot
N
AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-81
y
op
C
17. With SA_Tank selected, right-click and select Order | Send To Back.
ot
N
o
D
The order of the elements is updated and displayed in the Elements pane.
y
op
C
19. On the drawing canvas, use the H/V Line tool to draw three lines to connect the pumps and
valves to the tank.
ot
N
o
D
AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-83
y
op
21. On the toolbar, click Bring To Front, so the lines will be behind the symbols.
C
ot
N
o
D
23. At the top-left, click the drawing canvas, and then enter Object Name.
24. Press Enter, type Area Name, and then click anywhere on the drawing canvas away from the
text elements to cancel creating more text elements.
y
op
C
25. Select the Object Name text and configure the following properties:
ot
Name: ObjectName
ElementStyle: Title
N
o
D
26. Select the Area Name text and configure the following properties:
Name: AreaName
ElementStyle: Heading
AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-85
y
op
C
ot
N
o
D
y
31. Configure the animation as follows:
op
C
States: Name
Name to be displayed: Tag Name (default)
ot
N
o
D
AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-87
y
op
35. In the States area, click String.
C
36. In the Expression Or Reference area, String field, enter Me.Area.
ot
N
o
y
39. Save and close the symbol.
op
C
40. Save and close and check in the $Mixer template.
41. In WindowMaker, click the ContentDisplay window, and then click Embed Industrial
ot
Graphic.
42. In the Galaxy Browser, click the Instances button, and then select
Mixer100\MixingProcess_Detail.
N
o
D
AVEVA™ Training
Lab 7 – Creating the Mixer Display 3-89
y
op
C
ot
N
Note: This is because frame windows can only hold one embedded symbol.
o
D
Test in Runtime
Finally, you will test the functionality of the symbols.
45. Switch to runtime.
46. Observe the activity of the symbols.
y
op
47. Click Development to return to WindowMaker.
<End of Lab>
C
ot
N
o
D
AVEVA™ Training
Section 5 – The OwningObject Property 3-91
OwningObject
The OwningObject property of a symbol is a runtime property that is used to dynamically change
the references within a symbol from one instance to another. The OwningObject property can be
used as the object reference to replace all "Me." references in expressions and scripts. The object
name can be set, either using the tagname or hierarchical name of an AutomationObject.
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 8 – Switching Between Mixers 3-93
Objectives
Upon completion of this lab, you will be able to:
Use the OwningObject property in a symbol to dynamically change the references in a
symbol from one instance to another
Use the Combo Box tool
y
op
C
ot
N
o
D
Create SwitchedMixingProcess
First, you will create a SwitchedMixingProcess symbol in the $Mixer template, which will be
used to switch between mixers.
1. In the IDE, Template Toolbox, in the Training\Project template toolset, double-click the
$Mixer template.
2. In the Content pane, click the Add button.
y
3. Rename the symbol SwitchedMixingProcess, and then click the Edit Content button to
op
open the Symbol Editor.
C
ot
N
o
D
AVEVA™ Training
Lab 8 – Switching Between Mixers 3-95
4. Click Embed Graphic, and then click the Relative References button.
5. In the Relative References pane, ensure Me is selected, and then in the Me pane, select
MixingProcess_Detail.
y
6. Click OK and place the MixingProcess_Detail symbol on the drawing canvas.
op
7. Rename the symbol MixingProcess.
C
ot
N
o
D
9. Click away from the text element, and then select the text element.
Name: SelectMixer
Element Style: Heading
11. Hold down the Shift key and select the MixingProcess element.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 8 – Switching Between Mixers 3-97
y
15. Configure the Combo Box as follows:
op
C
Name: MixerDropDown
Width: 100
ot
MixingProcess.OwningObject.
o
D
18. In the Static Values and Captions area, check the Use Values as Captions check box.
19. Uncheck AllowDuplicates.
20. In the first Value field, enter Mixer100, and then press Enter.
y
The Caption field is automatically updated.
op
C
ot
21. In the second row, Value field, enter Mixer200, and then press Enter.
N
22. Repeat the previous step to enter Mixer300 in the third row.
o
D
AVEVA™ Training
Lab 8 – Switching Between Mixers 3-99
24. In the Value field, enter Mixer400, and then press Enter.
25. Repeat the previous steps to add rows for Mixer500, Mixer600, Mixer700, and Mixer800.
y
op
C
26. In the Type drop-down list, select DropDown.
ot
N
o
D
y
32. Click OK.
op
A WindowMaker message appears.
C
33. Click Yes to replace the symbol.
ot
AVEVA™ Training
Lab 8 – Switching Between Mixers 3-101
Test in Runtime
Finally, you will test the functionality of the drop-down list.
34. Switch to runtime.
35. Use the drop-down list to change to Mixer500 and observe the changes.
y
op
C
ot
y
op
C
ot
N
o
D
AVEVA™ Training
Section 6 – Custom Properties 3-103
Custom Properties
Use custom properties to customize symbols when they are embedded and extend the
functionality of a symbol. A custom property can contain:
An expression that can be read
An attribute that can be read and written to, if the attribute allows
A property of an element or symbol
A custom property of a symbol
Custom properties can be set to either be Private or Public:
A Private property is not exposed when the symbol is embedded
y
A Public property can be customized when the symbol is embedded
op
Custom properties can also have Absolute or Relative references:
Absolute references to an attribute that is fully defined, such as Tank1.InletValve.PV
Relative references up the hierarchy to parent objects, such as Me.InletValve.PV
C
ot
N
o
D
Manage custom properties of a symbol in the Edit Custom Properties dialog box.
Configuration Pane
y
op
Note: When the custom properties of a symbol embedded from the symbol or Situational
C
Awareness libraries are edited, each property listed has a default value data type, default value,
default visibility, and default description. The description is useful because it indicates what the
symbol can do and, to a degree, how to configure it.
ot
The name of the symbol and the custom property are displayed in the header of the right side of
the configuration pane.
N
o
D
AVEVA™ Training
Section 6 – Custom Properties 3-105
Double
Elapsed
Time
Float
Integer
y
op
String
Time
C
History
ot
Summary
N
Default Value
The default value of a property can be a literal value, reference, or expression. Click the Browse
Galaxy ellipsis button to browse for a reference.
o
If the selected data type is String, Time, or Elapsed Time, click the button to the left of the
Default Value field to indicate whether or not the default value is Static or Expression or
D
Reference.
Static
This icon indicates that the default value is a static value.
Expression or Reference
This icon indicates that the default value is an expression or reference to a value.
Expressions are true, false, or transitioning between true and false states and affect the property,
when data changes its value or its quality state changes value.
Visibility
You can configure the visibility of a custom property as follows:
Public: The custom property is visible and can be used in a source symbol, if the symbol
is embedded
Private: The custom property is hidden and cannot be referenced outside the defining
symbol
Description
In the Description field, as a best practice, use a meaningful description of the custom property,
especially since the custom property name cannot contain spaces. This will be useful for anyone
else that needs to view or edit the custom property.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-107
Introduction
In this lab, you will create custom symbols to be used as a command panel for opening and
closing valves, starting and stopping pumps and agitators, or changing the speed setpoint for an
agitator.
You will create and configure custom properties, as well as add button elements. You will configure
the button elements with Pushbutton and Value Display animations using custom properties.
You will also add Show Symbol animations for the Agitator_Detail, Pump_Detail, and
Valve_Detail symbols, to be able to show their command panels when they are clicked in runtime.
Objectives
Upon completion of this lab, you will be able to:
y
Create and configure custom properties in a symbol
op
Use the Button tool
Use Pushbutton and Show Symbol animations
Configure the TreatAsIcon property of embedded symbols
Configure the drawing canvas to a fixed size
C
ot
N
o
D
y
Now, you will add custom properties to the symbol.
op
C
2. Right-click the canvas and select Custom Properties.
ot
N
o
D
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-109
y
op
C
4. Name the new custom property Cmd and press Enter.
ot
N
o
D
5. In the Cmd panel to the right, Default Value field, delete False and enter Me.Cmd.
Note: The relative reference used for the Default Value will be resolved later in runtime.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-111
y
op
C
ot
N
o
D
y
op
C
14. Click OK to close the Edit Custom Properties dialog box.
ot
You will now add a button to the drawing canvas and configure it.
15. In the Tools pane, click the Button tool.
N
o
D
16. Draw a button on the drawing canvas, and then enter Open and press Enter.
The name assigned to the button is Button1. You will leave the default name.
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-113
Width: 100
Height: 40
y
op
C
ot
N
o
D
States: Boolean
Reference: Cmd
Action: Set
y
op
C
ot
N
States: String
D
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-115
Next, you will duplicate a button, configure its properties, and modify its animations.
23. Right-click Button1 and select Duplicate.
The duplicate is automatically assigned the name Button2. You will leave the default name.
24. Place the duplicate to the right of Button1.
y
op
25. On the Properties tab, modify the Text property to Close.
The button text is updated. C
ot
N
o
D
y
op
C
ot
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-117
Now, you will fix the size of the symbol, so that it will always display the same size.
30. Click the drawing canvas.
31. Configure the properties as follows:
Size: Fixed
FixedWidth: 320
FixedHeight: 230
y
The drawing canvas is now smaller.
op
C
ot
N
Next, you will duplicate CommandPanel and add a numerical symbol to the symbol, for displaying
and changing the speed setpoint.
33. In the IDE, Graphic Toolbox, Training toolset, duplicate CommandPanel and rename it
SetpointCommandPanel, and then open the symbol.
The element is assigned the name SA_NumericalEntry1. You will leave the default name.
36. Configure the properties as follows:
LabelType: CustomPropertyLabel
EngUnitsType: CustomPropertyLabel
y
Outline: False
op
Leave the remaining defaults.
C
ot
N
o
D
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-119
y
op
The Substitute Reference dialog box appears.
C
38. Click Find & Replace.
ot
N
o
D
y
op
C
ot
N
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-121
y
op
C
46. Click OK to close the Edit Custom Properties dialog box.
ot
In the following steps, you will configure Show Symbol animation for the graphics you created in
an earlier lab. You will configure the animation for one symbol, and then duplicate the animation
configuration for the other two symbols.
o
48. In the Graphic Toolbox, Training toolset, double-click Agitator_Detail to edit it.
D
49. Select the Agitator symbol, and then on the Properties tab, scroll down to the Runtime
Behavior area and set the TreatAsIcon property to True.
50. Double-click the Agitator symbol and add a Show Symbol animation.
51. To the right of the Reference field, click Browse Galaxy, and then from the Graphic Toolbox,
select Training and double-click SetpointCommandPanel.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-123
52. In the Title area, uncheck Use Symbol Name for Window Title.
53. Switch to Expression or Reference mode and enter OwningObject.
54. Change the Position area drop-down lists to Below and Parent Symbol.
Leave the remaining defaults.
y
op
C
55. Click OK to close the Edit Animations dialog box.
ot
58. Select the Pump symbol, and for Runtime Behavior, set the TreatAsIcon property to True.
o
D
59. Double-click the Pump symbol and add a Show Symbol animation.
60. To the right of the Reference field, click Browse Galaxy, and then from the Graphic Toolbox,
select Training and double-click CommandPanel.
61. In the Title area, uncheck Use Symbol Name for Window Title.
62. Switch to Expression or Reference mode and enter OwningObject.
y
63. Change the Position area drop-down lists to Below and Parent Symbol.
op
C
ot
N
o
D
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-125
y
op
66. Save and check in the symbol.
67. In the Graphic Toolbox, double-click Valve_Detail to edit it.
C
68. Select the Valve symbol, and then change the TreatAsIcon property to True.
69. Right-click Valve and select Animations | Paste.
ot
N
o
D
Test in Runtime
Finally, you will test the valve, pump, and agitator controls.
71. In WindowMaker, ensure that the ContentDisplay window is open and switch to runtime.
72. Click Inlet1_001 to view its command panel.
y
op
C
ot
Notice that the title for the command panel is Inlet1_001, and the text on the buttons is Open
and Close.
73. Click Open and Close to operate and watch the valve transition.
N
74. At the top of the Inlet1_001 command panel, click the X to close it.
Note: If you do not click X, you will not be able to perform any other functions in
WindowViewer.
o
D
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-127
y
op
Notice that the title of the command panel is Pump1_001, and the text on the buttons is Start
and Stop.
76. Click Start and Stop to operate the pump and watch the results.
C
77. Click X to close the command panel.
ot
N
o
D
y
op
C
ot
N
AVEVA™ Training
Lab 9 – Creating a Custom Symbol 3-129
80. When the agitator is running, verify the new agitator speed.
y
81. Close the Agitator_001 command panel.
op
82. Click Development to return to WindowMaker.
<End of Lab> C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 7 – Scripts in Symbols 3-131
y
script can run while a window is open or a button is kept pressed.
op
You can configure multiple event-based and time-based scripts to run with the same trigger. For
example, you can configure a script to run once when a key is pressed and another script to run
periodically every 5 seconds while the same key remains pressed.
For condition scripts, you can either run a script synchronously or asynchronously:
C
When a synchronous script runs, all InTouch animation and tag value updating stops.
Then, animation and tag value updating resumes after the script stops.
When an asynchronous script runs, all InTouch animation and tag value updating
ot
starts when a key is pressed, a window is opened, or the value of an attribute changes.
Using scripts, you can create a variety of customized and automated system functions. A script
adds behavior that runs when the object that contains the script is deployed and the object is
o
either:
On scan in the runtime environment; or
D
You can change the name of a script at any time by renaming it in the Object Editor.
In the runtime environment, a script execution error stops the script’s current execution.
Script execution is retried on the next AppEngine scan.
You can use the InTouch scripting language, QuickScript, to build more robust applications. There
are seven types of scripts and many built-in script functions available. The seven types of scripts
are defined by what causes them to run. For example, application scripts run when an application
starts, stops, or continues running. Data change scripts run when a certain item of data changes.
Window scripts run when a window opens, closes, or remains open.
The built-in script functions include mathematical functions, trigonometric functions, string
functions, and others. Using these functions saves you time in developing your application.
InTouch scripts can include Object Linking and Embedding (OLE) objects and ActiveX controls.
You can use conditional statements, loops, and local variables in the scripting language to create
complex effects in your application. Before you start scripting, you should understand:
A script is a set of instructions that direct an application to do something.
QuickScript is the InTouch HMI scripting language.
y
A function is a script that can be called by another script. The InTouch HMI comes with a
set of predefined functions for your use.
op
QuickFunctions are reusable functions written in QuickScript and stored in the
QuickFunction library. To create a QuickFunction, you simply create a QuickScript and
name it. A QuickFunction can be called by another script or from animation link
expressions.
C
Types of Scripts
In InTouch, scripts are categorized based on what causes the script to run. For example, you
ot
would create a “key script” if you want a script to run when the operator presses a certain key on
the keyboard.
After you have chosen the script type, you can then further define the criteria, or conditions, that
N
make the script run. For example, you might want the script to run when the key is released, not
when the key is pressed.
The script types are:
o
Application scripts, which run either continuously while WindowViewer is running or one
time when WindowViewer is started or shut down.
D
Window scripts, which run periodically when an InTouch window is open or one time when
an InTouch window is opened or closed.
Key scripts, which run one time or periodically when a certain key or key combination is
pressed or released.
Condition scripts, which run one time or periodically when a certain condition is fulfilled or
not fulfilled.
Data change scripts, which run one time when the value of a certain tag or expression
changes.
Action scripts, which run one time or periodically when an operator clicks on an InTouch
HMI graphic object.
ActiveX event scripts, which run one time when an ActiveX event occurs, such as clicking
an ActiveX control.
AVEVA™ Training
Section 7 – Scripts in Symbols 3-133
y
Based upon how you configured the script, a named symbol script can run, when the
trigger values or expressions are true, false, or transitioning between true and false states.
op
Also, a named symbol script can run, when data associated with the trigger expression
changes value or its quality state changes value.
scripts associated with a template are treated as an ordered block in the Configure Execution
Order dialog box when configuring execution order in a next-generation derived template.
New scripts in the derived template can be ran in any order before and after the template’s block of
N
scripts. The derived template’s execution order is treated as a block in any downstream derived
templates or instances. Scripts cannot trigger any faster than the scan period of the AppEngine the
script is associated with or faster than the scan period of the AppEngine that hosts the object that
the script is associated with.
o
Synchronous scripting mode is the default for running scripts in the runtime environment.
This mode runs scripts in order while an object is running on scan.
Asynchronous scripting mode is a group of scripts running on the same, lower priority
execution thread. These scripts only support Execute triggering and run independently
from each other. Set the maximum number of independent threads in the AppEngine
configuration editor. To use either scripting mode, you must select Execute as the
Execution Type in the Scripts area on the Scripts tab.
Execution Type triggers include: Startup, On Scan, Execute, Off Scan and Shutdown.
ShowGraphic() Function
Associating all Galaxy graphics with an InTouchViewApp template enables deployed and
published InTouch applications to run show graphic requests made of any graphic in the Galaxy
without having to embed them in the application.
The ShowGraphic() function uses the graphic as a parameter. Associating all Galaxy graphics
ensures that:
The graphic is deployed and available at runtime, whether or not it is referenced by an
InTouchViewApp
Template symbols referenced by the ShowGraphic() function are deployed and available
at runtime
Note: The term graphic includes any symbol or client control present in the Graphic Toolbox,
and any symbols owned or inherited by templates and instances.
y
The Show/Hide Graphic script functions allow you to write graphic scripts to display a symbol as a
op
popup window and close the popup window.
The Show/Hide Graphic script functions are in addition to the Show/Hide Symbol animation
feature, which allows you to display a symbol as a popup window through symbol animation. The
Show/Hide Symbol animation feature remains unchanged. You can use Show/Hide Symbol
C
animation and the Show/Hide Graphic script functions together
Like the Show/Hide Symbol animation feature, you can control the properties of the symbol
through the Show Graphic script function.
ot
Important: The ShowGraphic script function can be used in the action script of a symbol, named
script, and predefined script. Although the system allows the inclusion of it in a server script, such
as Start Up, On Scan, Off Scan, Shut Down, and Execute, the function cannot be ran at runtime.
AVEVA™ Training
Section 7 – Scripts in Symbols 3-135
The HideGraphic script function can be called from any graphic that is being used in the InTouch
application.
ShowGraphic() Syntax
Use the ShowGraphic() to display a graphic within a popup window.
Dim graphicInfo as aaGraphic.GraphicInfo;
graphicInfo.Identity = "<Identity>";
graphicInfo.GraphicName = "<SymbolName>";
ShowGraphic( graphicInfo );
HideGraphic() Syntax
Use the HideGraphic() script function to close any displayed graphic given its Identity.
HideGraphic(string identity);
The ShowGraphic() and HideGraphic() script functions are available in managed or published
InTouch applications only.
y
Scripting the OwningObject
op
The OwningObject in a ShowGraphic script function resolves only relative references. Any
absolute reference is not affected by the OwningObject. The OwningObject is independent of the
graphic definition. The relative reference is resolved by the object that hosts the script. For
C
example, where GraphicName = me.S1 or Obj1.S1, and OwningObject = Obj2, the OwningObject
resolves only the relative reference in the symbol S1.
An OwningObject can be a concatenation of constant strings and reference strings. It can be
ot
browsed to by using the Display Automation Object Browser, or by entering the name of the
OwningObject.
Example
N
graphicInfo.OwningObject = "Mixer_001";
o
The graphic, configured with the ShowGraphic script function, behaves like a
ShowSymbol animation popup window, rather than an InTouch popup window.
You can configure a symbol with both the ShowSymbol animation and ShowGraphic
together. If you run both at runtime, two popup windows open, displaying the same or
different symbols. The two popup windows are independent of each other.
You can open and close the graphic from across symbols and across InTouch windows.
You can manage the graphic across the entire InTouch application.
Unlike ShowSymbol animation, there is no parent/child relationship between the window
that opened the graphic and the graphic opened by the ShowGraphic() script function.
You cannot use the Close Window dialog box of InTouch WindowViewer to close the
popup windows displayed by the ShowGraphic script function.
y
A ShowGraphic script function within an WhileShowing script will be blocked, if a
ShowGraphic popup window with the same Identity is already displayed.
op
A ShowGraphic script function within an OnHide script will be blocked, if a ShowGraphic
popup window with the same Identity is already displayed.
No error or warning messages will appear in the logger, when script execution is blocked as
described.
C
With the Graphic cache memory option enabled, calling ShowGraphic popup windows with the
same identity name, if the symbol is modal to the modal symbol behind it, calling the ShowGraphic
script function cannot change this symbol to be modeless to the current modal symbol.
ot
Closing a Symbol
N
You can close a symbol, displayed using the ShowGraphic script function, by running the
HideGraphic or HideSelf script functions, clicking the Close Window button of the graphic popup
window, if configured, or by closing WindowViewer. You cannot close the graphic by closing the
InTouch window or the symbol that opened the graphic.
o
Windows opened by the ShowGraphic script function or ShowSymbol animation are loaded
D
dynamically and are not exposed at runtime. You cannot close these windows using the
WindowViewer Close Window dialog box.
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-137
Introduction
In this lab, you will create a navigation symbol that will provide buttons you can click to display
different views in runtime. You will add animation using action scripts and use the ShowGraphic()
script function to show specific views.
Script files for labs in this course may be found in the C:\Training folder on your student machine.
You may copy and paste from these files when directed.
Objectives
Upon completion of this lab, you will be able to:
Create a reusable button
Add the Action Script animation to a symbol
y
Use the ShowGraphic() script function
op
C
ot
N
o
D
y
2. Embed from Instances, Mixer100\MixingProcess_Detail.
op
C
ot
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-139
y
op
4. Embed Mixer200\MixingProcess_Detail to the right of the first mixer.
C
Note: If the drawing canvas is not big enough, on the toolbar, you can change the display
percentage to 75% or smaller.
ot
N
o
D
y
op
C
7. Use the Rectangle tool to draw rectangles around each mixing process symbol, and then
select all rectangles and click Send To Back.
ot
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-141
Name: MixerDisplay
Width: 1520
Height: 660
y
op
C
ot
N
o
Note: You may have to move the rectangle to access the canvas.
12. Add a custom property named ShowTrigger, and then change the Data Type to String.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-143
Note: You may use the applicable portion of the script in C:\Training\Lab 10 - Creating a
Navigation Symbol.txt.
y
op
C
ot
N
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-145
Note: You may use the applicable portion of the script in C:\Training\Lab 10 - Creating a
Navigation Symbol.txt.
y
'Customize the size of the graphic.
graphicInfo.RelativeTo = aaGraphic.RelativeTo.CustomizedWidthHeight;
graphicInfo.Width = (MixerDisplay.Width)/2;
op
graphicInfo.Height = (MixerDisplay.Height)/2;
graphicInfo.Y = MixerDisplay.Y;
elseif (i == 6) then
graphicInfo.X = MixerDisplay.X + (MixerDisplay.Width)/2;
graphicInfo.Y = MixerDisplay.Y;
N
elseif (i == 7) then
graphicInfo.X = MixerDisplay.X;
graphicInfo.Y = MixerDisplay.Y + (MixerDisplay.Height)/2;
elseif (i == 8) then
o
'Show graphic.
ShowGraphic( graphicInfo );
next;
y
op
C
ot
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-147
y
op
C
ot
27. Create four more custom properties and configure them as follows:
Note: For the String custom properties, you will leave the Default Value area Static Text
N
and the field blank for now, as you will be filling this in later in the lab.
WindowName String
WindowResizable Boolean (default)
29. On the drawing canvas, add a Button to the canvas and configure as follows:
Name: Mixer_Btn
Width: 100 (recommended)
Height: 50 (recommended)
Text: Label
y
op
C
ot
31. In the Trigger area, type drop-down list, select On Left/Key/Touch Up.
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-149
Note: You may use the applicable portion of the script in C:\Training\Lab 10 - Creating a
Navigation Symbol.txt.
y
' The graphic name is ignored if calling a legacy InTouch window.
graphicInfo.GraphicName = GraphicName;
op
' Check if window should be modal.
if (WindowModal) then
graphicWindow.WindowType = aaGraphic.WindowType.Modal;
endif; C
' Check if window should be resizable.
graphicInfo.Resizable = WindowResizable;
ot
y
op
C
35. Add an Element Style animation.
ot
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-151
States: Boolean
Expression Or Reference: GetButtonText == Text
True, 1, On: Element Style: checked (default)
Intensity2
False, 0, Off: Element Style: unchecked
y
op
37. Click OK to close the Edit Animations dialog box.
38. Save and check in the symbol.
C
Create the System Navigation Symbol
ot
Next, you will create a symbol that will provide buttons you can click to display different views in
runtime. You will add animation using actions scripts to call various windows, when the buttons are
clicked.
N
39. In the Graphic Toolbox, Training toolset, create a new symbol named SystemNavigation,
and then open the symbol.
o
D
y
op
45. Right-click Mixer_Btn and select Custom Properties.
46. Ensure GetButtonText is selected and in the Default Value field, enter LastButton.
C
ot
N
47. Select the GraphicName custom property, and then in the Default Value field, enter
Mixer100.SwitchedMixingProcess.
o
Note: This must be entered manually, as this is a string text field and therefore, you cannot
use the Galaxy Browser.
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-153
48. Select the WindowName custom property, and then in the Default Value field, enter
ContentDisplay.
y
op
51. Change the name of the duplicate to Line1_Btn.
52. Right-click Line1_Btn and use Substitute Strings to change Mixers to Line 1.
C
ot
56. Repeat the previous steps to create a third button named Line2_Btn and then change the
label to Line 2.
y
58. Save and check in the symbol.
op
Test in Runtime
Finally, you will place the newly created SystemNavigation symbol in the Navigation window and
test the buttons created in the symbol.
C
59. In WindowMaker, ensure the Navigation window is open and click the window.
60. Embed from the Graphic Toolbox, Training\SystemNavigation.
ot
N
o
D
AVEVA™ Training
Lab 10 – Creating a Navigation Symbol 3-155
y
op
C
63. Click the Line 2 button and watch the Line2 mixers display automatically, in the correct
ot
y
op
C
ot
N
o
D
AVEVA™ Training
Section 8 – Galaxy Styles 3-157
Introduction
An Element Style defines a set of visual properties that determine the appearance of text, lines,
graphic outlines, and interior fill shown in symbols or graphics. An Element Style applied to a
symbol sets preconfigured visual property values that take precedence over a symbol’s native
visual properties.
Element Styles provide the means for developers to establish consistent visual standards in their
managed InTouch applications. An Element Style can define the same visual properties of text,
lines, fill, and outlines for all symbols or graphics that belong to an application. Likewise, Element
y
Styles can show the current status of an object represented by a symbol. For example, an Element
Style animation can be applied to a symbol when an object transitions to an alarm state.
op
Galaxy Style Library
A set of Element Styles is provided in the predefined Galaxy Style Library. The predefined values
C
of the Element Styles in this library can be changed. However, existing Element Styles cannot be
renamed or deleted. Also, new Element Styles cannot be added to the library.
ot
Font color
Blink On/Off
D
An Element Style may not define every visual property. If a property value is not defined in an
applied Element Style, the element’s native style is used and can be changed. However, if an
element’s property value is defined in an applied Element Style, the element’s native properties
are disabled and cannot be changed.
y
application. However, you can use the following methods:
Updating Element Styles from the IDE
op
When an application is deployed and updates were made to the applied Element Styles
from the IDE, those updates will be propagated to the graphic elements in a running
application, without requiring WindowViewer to be closed and reopened.
C
Importing an updated Graphic Style Library
Importing an updated Graphic Style Library that includes different applied Element Styles
will propagate those changes to graphic elements in a running application, without
ot
AVEVA™ Training
Section 8 – Galaxy Styles 3-159
y
op
C
ot
To export a Galaxy Style Library, on the Galaxy menu, select Export | Galaxy Style Library.
N
o
D
You can import a Galaxy Style Library to load its Element Styles in a Galaxy. You can also modify
Element Styles, and then export the Galaxy Style Library as custom user-defined Element Styles.
Optional Galaxy Style Library XML files are located in the
...\Program Files (x86)\ArchestrA\FrameWork\Bin\AdditionalElementStyles folder. The names of
the XML files suggest the primary color schemes of the Element Styles within each optional
Galaxy Style Library.
y
Software Error
Security Error
op
Warning
Out of Service
Device Failure
Bad
C
Uncertain
Initializing
ot
N
o
D
AVEVA™ Training
Section 8 – Galaxy Styles 3-161
A Status Legend displays all icons and overrides that will display in runtime:
y
op
C
ot
The Status tool is used to add a status element to a symbol and can be found along with the
other tools in the Tools pane of the Symbol Editor. To add a status element to a symbol, select it
N
and draw it on the drawing canvas as it would be done with any other tool. More than one status
element can be added to a single symbol.
o
D
y
Expression: Specific references or expressions from the application, or both, including,
op
but not limited to, references to an attribute in the Galaxy, custom properties for the
symbol, properties of embedded symbols, and expressions.
C
ot
N
In this example, the status element animation indicates there is a Configuration Error:
o
D
AVEVA™ Training
Section 8 – Galaxy Styles 3-163
Displaying Overrides
Graphical feedback is provided for all the Status Styles. A configurable icon appears at runtime in
place of the design status element icon. The graphical feedback can be configured in the IDE
through the Galaxy menu, under Configure | Galaxy Style Library.
y
op
C
This opens the Configure Galaxy Style Library dialog box.
ot
N
o
D
Note: Instead of overriding the appearance of elements on the drawing canvas, use a status
element. The status element shows an icon representing quality and status of monitored
attributes.
y
Configure the appearance overrides and status element overrides in the Configure Galaxy Style
Library dialog box, Quality and Status tab, which are accessed from the IDE Galaxy | Configure
op
menu.
C
ot
N
o
D
AVEVA™ Training
y
op Module 4 – Widgets
C
Section 1 – Widgets Overview 4-3
ot
Module Objectives
Discuss AVEVA InTouch for System Platform support for HTML5 Widgets
y
op
C
ot
N
o
D
AVEVA™ Training
Section 1 – Widgets Overview 4-3
This section will discuss AVEVA InTouch for System Platform support for the web technology
called HTML5 Widgets.
Introduction
Widgets are small components that can extend the functionality of InTouch. HTML5 Widgets are a
self-contained code block based on website design that can be imported into InTouch without
changing any of its features. The power of this has been added to InTouch which now acts as a
container for HTML5 Widgets both in design time and runtime. Widgets are most frequently used
to provide on-screen user interface elements that ingrate with other platforms and data sources. A
widget can be run in WindowViewer with consistent placement and user interface. For example,
social media, weather, RSS or podcast widgets.
y
By default, the following widget is available under the Widgets folder in the Graphic Toolbox:
Carousel
op
Importing HTML5 Widgets
You can import a widget for a STANDALONE + Symbols application. The file format is Custom
C
Widget Package (.cwp), which includes HTML5, CSS, and Javascript files. After the widget has
been imported, it can be viewed on WindowViewer. Additionally, design time properties determine
the behavior or the widget at runtime.
ot
Carousel Widget
A carousel widget allows you to cycle through Industrial Graphics like a carousel without any user
N
input. It also supports user selection of the previous or next step in the carousel. For examples,
this widget can be used to display dashboards, alerts or alarm information on large monitors on
the plant floor.
o
Properties
D
In addition to the standard graphics properties, you can also configure properties specific to the
widget, under Widget Properties in the Graphic Editor.
Name Description
Autoplay If the Autoplay property is set to true, the carousel widget will automatically start
on load. If it is set to false, the user must select the next item to start the carousel.
The default value is True.
GraphicNames A comma separated list of Industrial Graphics the carousel will display in runtime.
Interval The amount of time delay (in milliseconds) between automatically cycling an item.
Keyboard If the Keyboard property is set to true, the carousel will respond to keyboard
inputs. The default value is True.
Name Description
Loop If the Loop property is set to true, the carousel will cycle through the graphics
continuously, else it will stop after a single cycle. The default value is True.
Pause If the Pause property is set to true, the carousel will pause the cycling of the
graphics, when it detects the mouse hovering or a touch down event. The
graphics will resume cycling when the mouse is moved away. The default value is
True.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-5
Introduction
In this lab, you will create an HTML5 carousel widget to use as a dashboard that will display the
analog clock from the library and a symbol built in a previous lab.
Objectives
Upon completion of this lab, you will be able to:
Use HTML5 widgets
Display graphics in the Carousel widget
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-7
3. In the Properties pane, scroll down to the locate the Widget Properties.
y
op
C
ot
N
The graphic names listed here will display in the widget in runtime.
5. Save and check in the symbol.
y
op
8. Click OK. C
Now, you will place the Dashboard symbol onto the Carousel window in WindowMaker.
9. From the Industrial Graphic Toolbox to the right, expand Training and drag the Dashboard
symbol onto the Carousel window.
ot
N
o
D
AVEVA™ Training
Lab 11 – Creating a Carousel Dashboard 4-9
10. In the Properties pane, Appearance area, change the MaintainAspectRatio property to
False.
Test in Runtime
Now, you will test the new window in WindowViewer.
y
11. Switch to runtime.
op
12. After a few moments, verify that the graphic names you listed earlier automatically start
scrolling when the Carousel window opens.
C
ot
N
o
D
Finally, you will close the Carousel window and reopen the ContentDisplay window.
14. In the Windows & Scripts pane, right-click Carousel and select Close.
y
op
15. Right-click ContentDisplay and select Open.
C
ot
N
o
D
<End of Lab>
AVEVA™ Training
y
op
Module 5 – Alarms and Events
C
Visualization
ot
Module Objectives
Provide a brief review of the concept of alarms and events
Introduce how System Platform handles alarms and events
Introduce Alarm Border animation and how to customize Alarm Border Styles
Introduce Alarms aggregation and Alarm Severity
Introduce Alarm Shelving features
y
op
C
ot
N
o
D
AVEVA™ Training
Section 1 – Alarming Overview 5-3
What is an Alarm/Event?
System alarm and event capabilities allow users to automate the detection, notification,
historization, and viewing of the application (process) alarms and events, or system/software
alarms and events. Alarms and events occur in the runtime system. Events and alarms are
different and the system distinguishes between the two. Alarms represent the occurrence of a
condition that is considered abnormal in nature and requires immediate attention from a user. An
event is an occurrence of a condition at a certain point in time.
Examples of alarms include:
A process measurement that has exceeded a predefined limit, such as a high temperature
y
limit
A process device that is not in the desired state, such as a stopped pump that should be
op
running
Examples of events include:
The system engineer has changed the runtime system configuration, such as the
C
deployment of a new AutomationObject
A Platform has come back online, after it had a failure or shutdown
The following items are not considered alarms or events:
ot
Note: Sometimes certain software events may log a message, in addition to generating
an event. Logger messages are not events.
o
The Platform is responsible for routing all alarms and events for all Areas, which have been
subscribed to by that Platform, to the distributed alarming infrastructure. An alarm generated by
Application Server contains fields that are generated by the alarm functions inside the
AutomationObject. Those fields are mapped to fields in InTouch as follows:
Alarms:
Field InTouch Distributed Alarms Mapping
Timestamp of alarm event Time
Tagname Name
Common message text string Comment
Area Alarm group
Common name for alarm primitive (for example, “PV.HiAlarm”) Alarm Type (string)
New alarm state (for example, ACK or RTN) State
Priority = 1-999 Priority
Value (mxValue) Value
y
Limit (mxValue) Limit
Category Class
op
Category SubClass
The InTouch Alarm Client can acknowledge unacknowledged alarms that are reported by the
Platform. The Platform receives the acknowledge request and forwards it to the target, which is the
AutomationObject acknowledge attribute for the alarm. Security is used as part of this set (it is a
o
Alarm Enable/Disable
The InTouch Alarm Client can enable/disable alarming on any AutomationObject. The Platform
receives the enable request and forwards it to the target, the AutomationObject AlarmMode
attribute. Security is used as part of this set (it is a UserSetAttribute).
AVEVA™ Training
Section 1 – Alarming Overview 5-5
System Events:
Field Distributed Alarm Subsystem Mapping
Type (or Category) = System Type = SYS
Timestamp Time
Tagname Name
Tag description Comment
Area Alarm group
System event description (“started”, “stopped”) Event Type – if string, or use Comment field
y
N/A State = none (preferred) or “UNACK_RTN”
N/A Priority = 1
op
N/A Provider = Galaxy
N/A Event Class = EVENT
Timestamp Time
Tag.primitive.attribute Name
Tag description Comment
N
Alarm Queries
y
Alarm queries are used within Alarm Clients to retrieve real-time alarm information and event
op
reports from the Galaxy.
The fully qualified syntax of an alarm query to retrieve a single alarm within an object as reported
by a specific WinPlatform object is:
\\nodename\Galaxy!area!object.attribute
C
If the WinPlatform object that serves as an alarm provider is located in the local computer, the
following syntax of the alarm query is allowed:
\Galaxy!area!object.attribute
ot
The following table lists different variants of the alarm query and their return data:
\\nodename\Galaxy!area All alarms and events from the area object itself.
All alarms and events from all the objects hosted in the area.
All alarms and events from all subareas contained in the area,
o
contained areas.
\\nodename\Galaxy!area!object All alarms and events from the object itself.
\\nodename\Galaxy!winplatform All alarms and events from the WinPlatform object itself.
\\nodename\Galaxy!engine All alarms and events from the engine object (AppEngine or
ViewEngine) itself.
\\nodename\Galaxy!dio All alarms and events from the device integration object itself.
AVEVA™ Training
Section 1 – Alarming Overview 5-7
Use of Wildcard
The asterisk (*) is a wildcard character that may be used to substitute any character or characters
in the object.attribute part of the alarm query.
The following table lists different examples on the use of the wildcard character on alarm queries
and their return data:
y
Using Multiple Queries
op
Multiple queries can be submitted by an Alarm Client. For example, if Area1 and Area2 are two
mutually exclusive areas, the following two queries can be submitted at once:
\Galaxy!Area1 \Galaxy!Area2
By using multiple queries, it is possible to retrieve alarms from different nodes (WinPlatform
objects) at the same time, for example:
C
\\NodeNameA\Galaxy!Area1 \\NodeNameB\Galaxy!Area2
ot
cannot be extended.
In the Alarm message box, browse and select an existing attribute or type a text string as an
alarm message. This text string appears in the InTouch alarm view.
o
The Active alarms state list can show the customized items specified in the Boolean label
extension area. It allows the selection of the state that triggers the alarm. If a value is not
D
specified in the Boolean label extension area, True and False are displayed.
Alarm Border animation also shows an indicator icon at the top-left corner of the border around a
y
closed graphic element. For open pie or arc graphic elements, the indicator icon is placed at the
top-left most location of the start and end points.
op
Alarm severity (1-4) or the current alarm mode (Shelved, Silenced, Disabled) appear as part of the
indicator icon. The indicator icon can be shown or hidden as a configurable option of Alarm Border
animation.
C
Alarm Border animation can be applied to all types of symbols, except embedded symbols and
nested groups. Alarm Border animation can also be applied to graphic elements and grouped
elements.
ot
object’s aggregated alarm attributes. The appearance of the alarm border itself reflects the current
alarm state and the user’s interaction with the alarm.
A symbol’s process value transition into an alarm state: Alarm Border animation appears
around the symbol based on alarm severity with blinking
o
The user acknowledges an alarm with the process value still in an alarm state: Alarm
D
Note: Alarm Border animation is not used for alarms in an inhibited or a shelved state.
If a new alarm condition occurs when Alarm Border animation appears around a symbol,
the animation updates to show the new alarm state
In the case of aggregation alarms, Alarm Border animation shows the highest current
alarm state
AVEVA™ Training
Section 1 – Alarming Overview 5-9
Alarm Border animation can be configured by selecting Alarm Border from the list of
Visualization animations. The Alarm Border pane contains mutually exclusive fields to set the
referenced attributes for aggregate or individual alarms.
y
op
For aggregation alarms, users specify Alarm Border animation by entering an attribute or object
name in the Use Standard Alarm-Urgency References field of the Alarm Border pane. The
selected object attributes map to the following aggregation alarm attributes:
C
AlarmMostUrgentInAlarm: Indicates the InAlarm status (True/False) of the highest
priority current alarm
AlarmMostUrgentAcked: Indicates the acknowledgment status (True/False) of the
highest priority current alarm
ot
priority current alarm; if no alarms are in an InAlarm state or waiting to be acknowledged,
the value is 0
AlarmMostUrgentShelved: Indicates the shelved status (True/False) of the highest
o
y
op
C
ot
N
o
D
The default Alarm Border indicator images can be replaced by custom images. Supported image
file types include:
.bmp
.gif
.jpg
.jpeg
.tif
.tiff
.png
.ico
.emf
At runtime, Alarm Border animation reads the XML file in the global data cache. If images are not
available in the XML file, an Alarm Indicator does not appear during Alarm Border animation.
AVEVA™ Training
Section 1 – Alarming Overview 5-11
y
3 UnAcknowledged AlarmBorder_Medium_UNACK
3 Acknowledged AlarmBorder_Medium_ACK
op
3 Return To Normal AlarmBorder_Medium_RTN
4 UnAcknowledged AlarmBorder_Low_UNACK
4 Acknowledged AlarmBorder_Low_ACK
4 Return To Normal AlarmBorder_Low_RTN
C
All Inhibited AlarmBorder_Inhibited
All Shelved AlarmBorder_Shelved
All Suppressed AlarmBorder_Suppressed
ot
Alarm aggregation provides an efficient way to identify whether any alarms on an object are
currently in the InAlarm state, the overall status of the most important of those alarms, and how
many alarms are active at each level of alarm severity and at each level of containment. This
o
makes it possible to follow a trail from one level to the next to find the underlying cause of a
complex object’s alarms.
D
You can view alarm aggregation statuses in runtime clients, such as Object Viewer. You can model
alarm aggregation in Managed InTouch applications by using animations, such as the Alarm
Border animation with Situational Awareness Library symbols or with symbols.
Alarm aggregation functionality can be described for an:
Object
Area
Attribute
Alarms are aggregated if they are in one of three states:
UNACK_ALM
ACK_ALM
UNACK_RTN
Alarms in the ACK_RTN state are not aggregated. Alarms in silenced mode are aggregated, even
though they do not appear in the runtime client.
Runtime
Attribute Description
Access
<Attribute>.AlarmCntsBySeverity Array of counts of all alarms that are in UNACK_ALM, Read-Only
ACK_ALM, or UNACK_RTN states on the object,
aggregated by severity levels 1-4.
<Attribute>.AlarmMostUrgentAcked TRUE (default) indicates that no alarms are in the Read-Only
InAlarm state or waiting to be Acked.
A value of TRUE also indicates that the most urgent
y
alarm(s) on the object and its descendants in the
InAlarm state have been acknowledged, whether or
not they are currently InAlarm.
op
<Attribute>.AlarmMostUrgentInAlarm FALSE (default) indicates that no alarms are in the Read-Only
InAlarm state or waiting to be Acked.
A value of FALSE indicates whether the most urgent
alarm(s) on the object and its descendants are in the
C
InAlarm state, whether or not they have been
acknowledged.
<Attribute>.AlarmMostUrgentMode The AlarmMode of the most urgent alarm(s) on this Read-Only
ot
AVEVA™ Training
Section 1 – Alarming Overview 5-13
y
op
C
ot
N
o
D
y
op
C
ot
Shelving Alarms
N
You can shelve alarms to temporarily hide them from displays for a fixed period. Alarms continue
to be historized, even when they are shelved.
Shelving typically is used to reduce alarm noise, or to temporarily suppress alarms that might be
o
triggered during system modifications or repairs, allowing you to focus on correcting other more
urgent alarms.
D
Shelving is similar to silencing an alarm, but shelved alarms differ from silenced alarms in the
following ways:
Shelved alarms have a built-in associated timeout. Shelved alarms are automatically
unshelved when the configured shelving period expires. You can also manually unshelve
alarms and return them to an active, displayed state.
Alarm shelving must be enabled at an area level, but shelving applies only to individual
alarms. You cannot shelve a hierarchy of alarms for an entire area or for an entire object.
You cannot propagate alarm shelving through the Model view hierarchy.
The system enforces role-based limitations on permission to shelve alarms, alarm severity
levels that can be shelved, and the total number of alarms a user can shelve.
The system tracks who shelved the alarm, from what workstation, the reason for shelving the
alarm, when shelving began, and when shelving will expire. Shelved alarms aggregate in similar
fashion to silenced alarms.
AVEVA™ Training
Section 1 – Alarming Overview 5-15
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 12 – Applying Alarm Border Animation 5-17
Introduction
In this lab, you will enable the Alarm Border wizard option for the LevelMeter.
Objectives
Upon completion of this lab, you will be able to:
Enable the Alarm Border wizard option for a symbol
y
op
C
ot
N
o
D
y
op
None of the listed custom properties are related to alarming.
3. Click OK to close the Edit Custom Properties dialog box.
4. Configure the LevelMeter properties as follows:
C
SymbolMode: Advanced
AlarmBorder: True
ot
N
o
D
AVEVA™ Training
Lab 12 – Applying Alarm Border Animation 5-19
5. Open the Edit Custom Properties dialog box, and then verify that alarm-related custom
properties have been added to the Custom Properties list.
y
op
6. Select the AlarmMostUrgentShelved custom property.
7. To the right, in the Default Value field, replace the text with
Me.PV.AlarmMostUrgentShelved. C
ot
N
o
D
Test in Runtime
Finally, you will test the animations in runtime to see the alarm border around the configured
symbols.
10. In WindowMaker, ensure the ContentDisplay window is open, and then switch to runtime.
11. In the ContentDisplay window, observe the Alarm Border animation.
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 12 – Applying Alarm Border Animation 5-21
12. In the Navigation window, click the Line 1 button, and then in the ContentDisplay window,
observe the Alarm Border animations.
y
op
13. Click the Line 2 button and observe the Alarm Border animations.
14. Click Development to return to WindowMaker.
<End of Lab>
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-23
Objectives
Upon completion of this lab, you will be able to:
Use SA_AlarmSeverity to build an overview of alarm aggregation
Configure the Alarm Severity symbol
y
op
C
ot
N
o
D
y
op
2. On the Attributes tab, Content area, add a new symbol named AlarmSeverityPanel, and
then open it.
C
3. Embed Situational Awareness Library\Alarms\SA_AlarmSeverity.
ot
N
o
D
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-25
y
The symbol is updated, based on the properties you changed.
op
C
ot
N
6. In the Content area, add a new symbol named AlarmSeverityLabels, and then open it.
7. Embed Situational Awareness Library\Alarms\SA_AlarmSeverity.
8. Configure SA_AlarmSeverity1 as follows:
Label: False
y
The symbol is updated.
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-27
11. In the Template Toolbox, in the Training\Project template toolset, open the $Mixer template.
12. In the Content area, add a new symbol named AlarmSeverityPanel, and then open it.
13. Embed Situational Awareness Library\Alarms\SA_AlarmSeverity.
14. Configure SA_AlarmSeverity1 as follows:
Type: AlarmPanel
IsAreaObject: False
LabelType: ObjectTagname
Background: True
AlarmBorder: True
y
The symbol is updated.
op
C
ot
N
y
op
18. Draw a rectangle on the drawing canvas and configure as follows:
Name: Backplate
ElementStyle: Intensity3
C
Width: 1000
Height: 800
ot
N
o
D
19. With Backplate selected, on the toolbar, click Lock Position and Size of Selection.
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-29
y
op
C
ot
N
o
D
y
Mixer100
op
Mixer200
Mixer300
Mixer400 C
23. Use the alignment tools on the toolbar to arrange the symbols as shown below:
Production
ot
N
Line2
Line1
o
D
Mixer100 Mixer400
Mixer200 Mixer300
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-31
Note: You can double-click Connector to repeat the function, allowing you to create multiple
connector lines without having to click Connector for each connector line. Once you are done
with the tool, click a different tool to release the repeat mode.
25. To show the hierarchical structure, click and drag Connector elements from Production to
y
Line1 and Line2, and then from Line1 to each Mixer as shown below.
op
C
ot
N
o
D
y
30. Click OK to close the Edit Custom Properties dialog box.
op
31. Double-click Button1 to open the Edit Animations dialog box.
32. In the Animations pane, ensure Element Style is selected, and then click Remove
Animation. C
ot
N
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-33
y
38. In the Graphic Toolbox, open the SystemNavigation symbol.
op
39. Embed from the Graphic Toolbox, Training toolset, NavigationButton2 and place it to the
right of Line2_Btn.
40. Rename the button AlarmOverview_Btn. C
41. Use Substitute Strings to change Label to Alarm Overview.
ot
N
Leaving the WindowName custom property blank will make the symbol appear in a popup
window.
43. Click OK to close the Edit Custom Properties dialog box.
Note: If you do not see the updated symbol, in the bottom-right corner, double-click the
y
Symbol Changed icon to refresh the symbol.
op
C
The symbol is automatically recentered in the window.
Test in Runtime
ot
Notice that on the buttons (Line1 and Line2) you can see alarm counts for each severity from
D
those areas.
AVEVA™ Training
Lab 13 – Building an Alarm Aggregation Overview 5-35
50. Click the Alarm Overview button and observe the alarm information.
y
op
C
ot
N
Note: You will explore the functionality of SA_AlarmSeverity in a later lab, when security is
enabled.
o
51. Verify that you cannot click on anything behind the window.
D
This is because the window is modal and must be closed, before you can do anything else.
52. Close the AlarmAggregationOverview window.
53. Click Development to return to WindowMaker.
<End of Lab>
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Live Alarms Visualization 5-37
Introduction
The Alarm Client control is a graphic element that can be used in symbols to show current and
historical alarms and events.
The Alarm Client control replaces the Alarm Viewer control and Alarm DB View control in the
InTouch HMI and extends alarm visualization to the graphics environment.
The Alarm Client control is delivered as part of the Symbol Editor and can be used in symbols to
show current and historical alarms and events in a grid.
In the Symbol Editor, Tools pane, select the Alarm Client control and place it directly onto the
canvas. Customize the Alarm Client control by adding further graphics, interactions, and scripts.
y
Deploy a Managed InTouch application containing Alarm Client controls to a remote node to
visualize and interact with alarms at runtime with InTouch WindowViewer.
op
This control has properties, methods, and events that can be modified, while an application is
running.
Once the control format has been designed, a user can make the following adjustments to
C
manipulate the data they are viewing in runtime, such as:
Refreshing the Alarm Client control grid to show the most current alarms
Using the status bar to view various information about the alarm records
ot
The Alarm Client Control supports five different client modes, which can be grouped depending on
their data source. Alarm Client Control supports the InTouch Database (WWALMDB), the
ArchestrA Database (A2ALMDB), and the Historian History Blocks.
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Live Alarms Visualization 5-39
The Alarm Client Control allows users to view and acknowledge all locally and remotely generated
alarms.
y
op
C
ot
To embed the Alarm Client control, open the Symbol Editor. In the Tools pane, select the Alarm
Client tool, and then click the canvas to place the object in the symbol.
o
D
Configuration Options
Alarm Mode
Set the Alarm Client Control to show either:
Current alarms
Recent alarms and events
Use the ClientMode integer property in scripting to switch the Alarm Client control to show current
alarms or recent alarms and events at runtime. Comments can be configured for alarms that are
acknowledged at runtime. Use the AckComment.UseDefault Boolean property and
AckComment.DefaultValue String property in scripting to create a default acknowledgment
comment at runtime.
In the Client Mode drop-down list, select which alarms to display:
Current Alarms
Recent Alarms and Events
y
Historical Alarms
Historical Events
op
Historical Alarms and Events
C
ot
N
o
D
The alarm query is configured in the Alarm Query field. To create a new line in the Alarm Query
field, press Ctrl + Enter. For more information on the valid syntax, see Alarm Queries in the
Alarm Control Guide.
If a default acknowledgment comment is needed, check the Use Default Ack Comment check
box and enter a comment in the text box.
AVEVA™ Training
Section 2 – Live Alarms Visualization 5-41
Colors
Different types of alarm records can be displayed in different colors so that the operator can more
easily identify certain types of alarms. The Alarm Client control can be configured with priority
breakpoints to show alarm records within the resulting priority ranges in different colors. The
control background color, the grid color, and the heading colors can also be customized.
y
op
C
ot
Column Details
Column headers can be renamed, resized, and reordered in the Alarm Client control. All changes
made in the Column Details list are shown in the grid preview. Use the grid preview to resize
N
Note: Queries and Filters for current alarms and recent alarms and events require at least a
Provider and a Group as filter criteria. These must use the equals sign.
Ensure the TimeSelector.StartDate and TimeSelector.EndDate properties do not limit the query
when using TimeLCT, TimeOAT, or TimeLCTOAT as filter criteria for historical alarm modes,
otherwise the Alarm Client control may not return all alarm and event records.
Set the TimeSelector.StartDate property earlier than any time filtering requirement and the
y
TimeSelector.EndDate later than any time filtering requirement.
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Live Alarms Visualization 5-43
Time Settings
Set the time zone in which the client shows the alarm and event records. By default, the time zone
is set to the client computer’s current time zone at design-time. Use the TimeZone.TimeZone,
Time.Type, and Time.Format properties in scripting to set the time zone, time type, and time
format at runtime.
Set the time format of the alarm and event records. Select between the following:
Wonderware Time Format: Same as the Alarm Client control
.NET Time Format: Defined by Microsoft .NET Framework time format conventions
y
op
C
ot
N
o
D
Run-Time Behavior
The behavior and appearance of the Alarm Client control can be configured at runtime, for
example:
Showing and Hiding parts of the Alarm Client control
Specifying if the Alarm Client control queries the alarm database, when it starts up
Scrolling to new alarms
Hiding warnings, errors, and messages
Restricting operator access to parts of the Alarm Client control
Specifying Alarm Client control freeze behavior
Customizing the no records message
Customizing the runtime shortcut menu
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Live Alarms Visualization 5-45
Data Binding
Data Binding binds the properties of an embedded client control to attributes or element
references. This enables attributes and element references source and consume data for the
client control properties.
The Data Binding table contains the following information:
Name: Name of the client control property
Type: The .NET data type of the property
Value: The default value of the client control property
Direction: Indicates if the property is read/write or just read-only
y
op
C
ot
N
o
D
Event
Use Event to configure scripts that are executed when a client control event occurs.
In the Event drop-down list, select the event to run a script. The Parameters list shows for the
selected event:
Type: The data type of each parameter
Name: The name of each parameter
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-47
Objectives
Upon completion of this lab, you will be able to:
Use and configure the Alarm Client control to visualize real-time alarms
Create and configure the alarm filters of the Alarm Client control
Select a filter in runtime
y
op
C
ot
N
o
D
y
op
2. In the Tools pane, click Alarm Client and place it on the canvas.
C
ot
N
o
D
AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-49
Now, you will configure AlarmClient to filter the alarms for the Line1, Line2, and Production
areas.
4. Double-click AlarmClient to open the Edit Animations dialog box.
5. In the Alarm Query field, replace the default alarm query with
\\<GRPlatformNodeName>\Galaxy!Production.
y
op
C
ot
N
o
D
y
op
The Add Query or Filter dialog box appears.
C
ot
N
o
D
AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-51
y
op
9. In the filter criteria list on the left, select Group, and then click the right arrow button.
The Group criteria is added to the construction area.
C
ot
N
o
D
10. In the construction area, select Group, and then on the right side, Operator drop-down list,
ensure = is selected.
y
op
11. In the Value field, enter Line1.
C
ot
N
o
D
AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-53
y
op
13. Click OK to close the Add Query or Filter dialog box.
In the Edit Animations dialog box, Filters area, the new filter is displayed.
C
ot
N
o
D
16. In the filter criteria list, select Group, and then click the right arrow button.
17. In the construction area, select Group, and then in the Value field, enter Line2.
y
19. Click OK to close the Add Query or Filter dialog box.
op
20. Repeat the previous steps to add a third filter for Production.
C
ot
N
Width: 1920
Height: 200
AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-55
Test in Runtime
Next, you will view the alarms in runtime.
24. In WindowMaker, verify that the AlarmDisplay window is open, and then click the window.
25. Embed from the Graphic Toolbox, Training\AlarmLiveDisplay.
y
op
27. Select one of the unacknowledged alarms, and then right-click the selected alarm and click
Ack Selected.
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 14 – Building a Live Alarm Display 5-57
y
op
C
31. Click OK and verify the Line1 alarm information.
ot
N
32. Repeat the previous steps to check the different filters and verify the results.
33. Click Development to return to WindowMaker.
o
<End of Lab>
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-59
Introduction
In this lab, you will create an alarm display that is tied to the alarms from a specific mixer. You will
embed a new alarm display symbol in the object itself and use scripting to build the alarm queries
needed for the mixer's objects. You will also add a button in the mixer display to show the alarm
popup through Show Symbol animation.
This lab assumes that the WinPlatform hosting the alarmed objects is configured as the alarm
provider for such objects.
Objectives
Upon completion of this lab, you will be able to:
Use and configure the Alarm Client control to visualize real-time alarms for a specific
y
object
Customize Alarm Client query filters through scripting
op
C
ot
N
o
D
3. In the Tools pane, click Alarm Client and place it on the drawing canvas.
4. Configure as follows:
Name: AlarmClient
Width: 800
Height: 400
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-61
y
op
7. Click OK to close the Edit Custom Properties dialog box.
8. Right-click the drawing canvas and select Scripts.
C
9. In the Edit Scripts dialog box, click Add Script.
ot
N
o
D
Note: You may use the script in C:\Training\Lab 15 - Creating an Alarm Popup Symbol.
y
almQry = almQry + prefix + Me.Inlet2.Tagname + ".* ";
almQry = almQry + prefix + Me.Outlet.Tagname + ".* ";
op
almQry = almQry + prefix + Me.Temperature.Tagname + ".* ";
almQry = almQry + prefix + Me.Level.Tagname + ".* ";
AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-63
Name: Alarms_Btn
Text: Alarms
y
16. Place the button in the top-right portion of the symbol, as shown below.
op
Leave some space to the right of Alarms_Btn for placing another button in a future lab.
C
ot
N
o
D
19. In the Show Symbol pane to the right, Reference field, enter Me.AlarmPopup.
Leave all other defaults.
y
op
C
ot
N
AVEVA™ Training
Lab 15 – Creating an Alarm Popup Symbol 5-65
y
op
C
26. Close the popup alarm display.
ot
27. Switch to another mixer, and then click the Alarms button.
28. Verify the alarm information displayed is only for that mixer.
N
y
op
C
ot
N
o
D
AVEVA™ Training
Section 3 – Logged Alarms and Events Visualization 5-67
Introduction
Alarm and event data can be logged with Historian to history blocks or to the A2ALMDB database.
History blocks are files in a proprietary format that store plant data and alarm and event data.
A2ALMDB is a SQL Server database that stores alarm and event data generated by Application
Server. Alarm and event data can also be logged with the legacy Alarm DB Logger application,
which stores alarms and events in a SQL Server database, which is created with a default name of
WWALMDB.
To log alarm and event data from Automation objects, you need to enable the host AppEngine with
storage to historian and specify a Historian server. Additionally, in the Alarms and Events
Configuration dialog box, you can enable historizing alarms by alarm severity and historizing
y
events by type.
op
Historizing Alarms and Events Using Historian
Alarms, Events, and Process Data share the same Historian configuration such as Historian node,
Store and Forward path, and so on. Enable storage to historian must be enabled to historize
C
process data and events. Similar to process data, Alarm and Event historization also supports
Store and Forward, Application Engine fail-over, and dual Historians.
ot
N
o
D
y
op
C
ot
Checking the Historize check box against each category determines whether or not those
N
categories will be historized. Modifying the Historize option does not require a redeployment.
At the Engine level, check the Enable storage to historian and Enable Tag Hierarchy check
boxes. Then, in the Historian field, enter the Primary Historian node.
D
AVEVA™ Training
Section 3 – Logged Alarms and Events Visualization 5-69
Object Setup
At the Object level, events can be historized by checking the Log system events in addition to
user events check box in the Log change feature. Alarms can be historized by enabling the State
alarm feature.
y
op
C
ot
N
in the Client Mode drop-down list. Once selected, the following options can be configured:
Authentication Mode
D
Server Name
Database Name
y
Set the interval to log records to the alarm database
Select which method to run the Alarm DB Logger
op
A connection between the Alarm DB Logger and the alarm database must also be established.
The Alarm DB Logger only works with SQL Server authentication and the SQL Server
authentication must be set to mixed mode. C
Configuring Which Alarms to Log
In the Alarm DB Logger Manager configuration wizard, define one or more queries to select alarms
from Galaxy alarm providers. Select a range of alarm priority values that are part of the database
ot
query.
Use the following query syntax for remote nodes:
\\NodeName\Provider!AlarmGroup
N
\\ProdSvr\InTouch!$System
D
The following is an example of using a Galaxy alarm provider. This query provides all alarms from
a specific area.
\\Galaxy!Area
Alarm Database
The Alarm Database stores alarms and events from the Alarm Manager to a SQL Server
database. Use the Alarm DB Logger utility to continuously log alarms and events to the Alarm
Database.
Set the Alarm Control to show one of the following:
Historical alarms from the Alarm Database
Historical events from the Alarm Database
Historical alarms and events from the Alarm Database
AVEVA™ Training
Section 3 – Logged Alarms and Events Visualization 5-71
Historical Alarms
When the Alarm Control is configured in the Historical Alarms mode, only alarms stored in the
Alarm Database are shown.
Historical Events
When the Alarm Control is configured in the Historical Events mode, only events stored in the
Alarm Database are shown.
y
op
Time range or duration to show in the Alarm Control
If the Alarm Control should update to the current client time
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-73
Introduction
In a previous lab, you created an alarm display for visualization of real-time alarms and events. In
this lab, you will use the Alarm Client tool again to create an alarm display for visualization of
historical alarms and events logged in the alarm database. You will also use the ShowGraphic
script function again to display the historical alarms.
Objectives
Upon completion of this lab, you will be able to:
Use and configure the Alarm Client tool to visualize historical alarms and events
Create a filter in runtime
y
op
C
ot
N
o
D
y
op
2. In the Tools pane, click Alarm Client and place it on the canvas.
C
Note: Leave some room above the Alarm Client, where you will configure some text and
buttons later in this lab.
ot
3. Rename the element AlarmClient, and then expand AlarmClient so it fills more of the
drawing canvas.
N
o
D
AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-75
y
op
8. In the Database Name drop-down list, select History Blocks.
A Configuration Warning appears confirming you want to change the configuration.
C
ot
N
y
op
11. Click OK to close the message.
12. Click OK to close the Edit Animations dialog box.
Next, you will create and configure the buttons you will use to retrieve historical data.
C
13. Add a Text element at the top-left, above AlarmClient, and enter History Alarm Mode:.
14. Configure the properties as follows:
ot
Name: AlarmMode_Txt
ElementStyle: Title
N
o
D
Name: HistAlarm_Btn
Text: Historical Alarms
AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-77
States: Analog
Reference: AlarmClient.ClientMode
Action: Set
Value1: 3
y
op
C
Element Style
ot
States: Boolean
Expression Or Reference: AlarmClient.ClientMode == 3
True, 1, On: Element Style: checked (default)
N
Active
False, 0, Off: Element Style: checked (default)
Passive
o
D
Name: HistEvent_Btn
Text: Historical Events
y
op
C
ot
Pushbutton
Value1: 4
N
o
D
AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-79
y
op
Pushbutton
C
Value1: 5
ot
N
o
D
y
op
37. Click OK to close the Edit Custom Properties dialog box.
C
38. Save and check in the symbol.
ot
N
o
D
AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-81
Test in Runtime
Finally, you will view the historical alarms and events and create a filter in runtime.
39. In WindowMaker, verify that the Navigation window is open and view the updated symbol.
Note: If you do not see the updated symbol, in the bottom-right corner, double-click the
Symbol Changed icon to refresh the symbol.
40. Switch to runtime, and then click the Historical Alarms button.
After a moment, the historical alarms appear.
y
41. Ensure the History Alarm Mode is set to Historical Alarms and verify the information
displayed.
op
C
ot
N
o
D
42. Right-click the AlarmHistDisplay symbol and select Queries and Filters.
43. In the Query and Filter Favorites dialog box, Filters area, click Add new filter.
44. In the Query or Filter Name field, enter Line1.
45. Construct a filter, where Group = 'Line1'.
y
op
C
ot
N
AVEVA™ Training
Lab 16 – Building a Historical Alarm Display 5-83
47. Click OK and verify the historical alarm information is for Line1 only.
y
op
C
Note: If you attempt to view historical events, you may not see any at this point, due to the
fact that security has not yet been enabled and there may not have been any recent setpoint
ot
changes, both of which create events. This view only show events from the last hour.
y
op
C
ot
N
o
D
AVEVA™ Training
y
op
Module 6 – Trend Visualization
C
Section 1 – Historization Overview 6-3
ot
Module Objectives
Provide a brief overview of the concepts of Historization
Introduce the Trend Pen element and animation configuration
Provide a brief overview of the Trend control
Provide a brief overview of the Historian Client .NET control
y
op
C
ot
N
o
D
AVEVA™ Training
Section 1 – Historization Overview 6-3
Historization Background
The history system supports the historization of process data in a distributed history architecture.
One or more Historian products can be installed on the same network as the Application Server
Galaxy. The Galaxy can be configured to store history data into one or more of those Historians.
Since the Engines use push technology to historize, the Process Historian box does not have any
software requirements.
Each Engine in the Galaxy is configured with the location of the Process Historian storage node to
which its history data is to be sent. This configuration is stored in an attribute within the Engine.
Process Historian requires a Historian tag to be configured in its database for each attribute to be
y
historized by an AutomationObject. Thus, there is a one-to-one relationship between a historized
object and a tag in Process Historian.
op
When an AutomationObject starts up, it registers its configuration data with Process Historian
using a Process Historian supplied interface. If the Process Historian tag already exists, it means
this object has been previously registered. If the Process Historian tag does not exist, it is created
automatically. In either case, the object receives back a unique identifier (handle) for that tag. This
C
is a push-style configuration model, meaning the configuration data for each historized property of
an object is dynamically and automatically pushed to Process Historian.
When an object decides to store a new value, time, and quality (VTQ) to Process Historian, it
ot
pushes that storage update message, with the new VTQ, to Process Historian using a Process
Historian supplied interface. The history primitive uses the previously returned unique identifier for
the Process Historian tag that corresponds to the historized property to identify the tag being
stored.
N
History Configuration
o
y
Force Storage Period: This is the time interval, in seconds (floating point), at which the
op
value must be stored, regardless of the value deadband setting. In addition to the Value
Deadband setting, the Value will be stored continuously at this interval. A Value of 0
disables this feature.
Trend Hi: Specifies the initial maximum trend value for clients.
C
Trend Lo: Specifies the initial minimum trend value for clients.
When an AutomationObject is deployed that has been historized, the object causes a dynamic
reconfiguration of the Process Historian. Each historized property causes a new tag to be created
and configured automatically in Process Historian at deployment time. The Process Historian
storage system to be configured is created in the engine object itself.
N
If the link to Process Historian is down at deploy time, the attempt to dynamically reconfigure
Process Historian is achieved at the time the Process Historian link is recovered. In other words,
automatic retry is built in.
o
When an AutomationObject that has been historized is redeployed, the object causes a
reconfiguration of any changes that were caused by the redeploy to be changed in Process
Historian automatically. For example, if the engineering units string for the tag changes from Deg F
to Deg C upon a redeploy, the Process Historian configuration database must reflect this change.
AVEVA™ Training
Section 1 – Historization Overview 6-5
NaN Handling
For Float and Double attributes, a potential value is the IEEE NaN encoding for the float or double
representation. NaN values can be generated for attributes that are to be historized. These NaNs
will be accompanied by a Bad OPC Data Quality. In any case, NaN is a valid value that can be
generated for floats and doubles. Unfortunately, Process Historian clients do not handle NaN
properly. Therefore, System Platform will convert the NaN value to a Null value representation just
prior to sending to Process Historian.
y
Historian Quality Mapping
op
The Application Server Data Quality is somewhat different than the Process Historian data quality.
The plan is for Process Historian to support the OPC Quality definition. Thus, the 16-bit value for
the OPC Data quality is sent to Process Historian. Within those 16-bits, the low-order byte is the
standard OPC part. Wonderware reserves the high-order byte. The Good, Bad, Initializing (which
C
is a form of Bad), and Uncertain states are in the low-order byte per the OPC standard.
Any change in the OPC Quality, regardless of whether the Value component has changed, will
cause storage of a new record to Process Historian. This means that a point that has an identical
ot
value over some period of time with varying qualities will have multiple records stored to Process
Historian. The quality stored in Process Historian is the actual quality of the attribute in Application
Server, with no modification. However, Process Historian may insert artificial quality (for example,
24) and null value in the database, when certain situations such as disconnects occur. It does this
N
in cooperation with the Process Historian clients to project the right information on the client.
The timestamp to be sent to Process Historian for each attribute value/quality update is sent by the
object in the VTQ packet. Both Application Server and Process Historian use UTC time.
D
Note: Except for Late Data, the ViewEngine object contains the same historical attributes as the
AppEngine object.
Configuration
Use the following table to determine how to best configure the AppEngine:
If enabled, the values for attributes that have historization
Enable storage to historian
enabled will be stored to the specified historian.
y
data will be sent. The TCP port is configured when Process
Historian is installed. The default is 32568.
op
If enabled, history data is compressed before it is sent over
Enable compression the network to the Process Historian. This is used to reduce
network utilization, but enabling this setting will increase the
CPU load.
C
Specifies limit of bandwidth usage, in Kbps, for network
Throttling network bandwidth communication used by HCAL, when communicating with
Process Historian.
Specifies the maximum time, in milliseconds, for keeping a
ot
Wait to send incomplete packets partially-filled Historian Client Access Layer (HCAL) buffer,
before sending it to the Process Historian.
The total size, in MB, of all buffers used by Historian Client
Access Layer (HCAL). The default and minimum value is 8. If
N
you have very high data bursts, then you should increase this
Pre-processing buffer size
value. If this is too low, data loss occurs and error messages
related to buffer overflows appear in the ArchestrA Logger.
Increase this value in increments of 10 MB.
o
AVEVA™ Training
Section 1 – Historization Overview 6-7
The AppEngine is configured in the History area of the object. Historian storage attributes can be
set here. Use the table on the previous page to review the History area on the AppEngine
General tab.
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 2 – Real-Time Trending 6-9
SA_Trend_SinglePen
The SA_Trend_SinglePen can be configured as either:
Tail Trend: Simple floating pen with some very basic choices
y
Simple Trend: One-pen trend with optional grid, timescale, and ability to display a meter
attached to the right vertical axis
op
C
ot
N
SA_Trend_MultiPen
The SA_Trend_MultiPen will be used to configure multiple pens to display different historical
o
data.
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-11
Introduction
In this lab, you will use a Single Pen symbol to replace the Level and Temperature symbols. You
will create Level_Detail_Trend and Temperature_Detail_Trend symbols, and use these to
replace existing symbols in $Mixer.MixingProcess_Detail.
Objectives
Upon completion of this lab, you will be able to:
Configure the Single Pen situational awareness symbol
y
op
C
ot
N
o
D
y
op
C
ot
2. In the Content area, add a new symbol named Level_Detail_Trend, and then open it.
N
AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-13
Name: Level_Trend
YAxisRangeType: ClipOutOfRangeValue
PlotType: Line
Label: True
SymbolMode: Advanced
AlarmBorder: True
Meter: True
MeterType: Level
EngUnitsType: CustomPropertyLabel
AlarmLimitIndicators: True
AlarmHiHiLimitIndicator: True
AlarmHiLimitIndicator: True
y
AlarmLoLimitIndicator: True
AlarmLoLoLimitIndicator: True
op
FloatingTooltip: True
C
ot
N
o
D
y
7. In Find What?, enter Me.PV.
op
C
8. In Replace with, enter Me.Level.PV.
9. Click Replace All.
ot
N
o
D
AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-15
y
10. Change Me.Level.PV.EngUnitsRangeMax to Me.Level.PV.EngUnitsMax.
op
11. Change Me.Level.PV.EngUnitsRangeMin to Me.Level.PV.EngUnitsMin.
C
ot
N
o
D
y
op
14. Click OK to close the Substitute Strings dialog box.
15. On the Properties tab, scroll down to the Custom Properties area, and change the
EnableFill property to True, and then the FillColor property to Gray.
C
ot
N
o
D
AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-17
Name: Temp_Trend
YAxisRangeType: ClipOutOfRangeValue
PlotType: Line
Label: True
SymbolMode: Advanced
AlarmBorder: True
Meter: True
MeterType: Temperature
EngUnitsType: CustomPropertyLabel
AlarmLimitIndicators: True
AlarmHiHiLimitIndicator: True
AlarmHiLimitIndicator: True
y
AlarmLoLimitIndicator: True
AlarmLoLoLimitIndicator: True
op
FloatingTooltip: True
C
ot
N
o
D
y
23. Change Me.Temperature.PV.EngUnitsRangeMax to Me.Temperature.PV.EngUnitsMax.
24. Change Me.Temperature.PV.EngUnitsRangeMin to Me.Temperature.PV.EngUnitsMin.
op
C
ot
N
o
D
AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-19
y
op
27. Click OK to close the Substitute Strings dialog box.
28. On the Properties tab, scroll down to the Custom Properties area, and change the
C
EnableFill property to True, and then the FillColor property to Gray.
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-21
32. Embed from Relative References, Me\Level_Detail_Trend above the temperature symbol.
y
op
C
ot
N
o
D
y
op
C
34. Lay out the symbols as shown below, resizing if necessary.
ot
N
o
D
AVEVA™ Training
Lab 17 – Adding Trending to Graphics 6-23
Test in Runtime
Finally, you will view the Single Pen symbols in runtime.
37. In WindowMaker, verify that the ContentDisplay window is open, and then switch to runtime.
38. In the ContentDisplay window, observe the Level and Temperature trends.
y
op
C
39. Place the mouse pointer on one of the trends and verify the tool tip appears.
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Section 3 – Trend Client Control 6-25
Introduction
The Trend Client control is delivered as part of the Symbol Editor. This control can be used in
symbols to chart attribute current values from Application Server and to tag current values from the
InTouch HMI software. The Trend Client can use real-time data from Application Server and the
InTouch HMI software and historical data from the Historian or
InTouch .lgh files.
In the Symbol Editor, Tools pane, place the Trend Client control directly onto the canvas.
Customize the control by adding graphics, interactions, and scripts.
Deploy a managed InTouch application containing Trend Client controls to a remote node, and
then visualize and interact with alarms at runtime with InTouch WindowViewer.
y
This control has properties, methods, and events that can be modified while an application is
op
running to change the behavior of the control.
Once the control format has been designed, a user may be given the ability to make adjustments
to manipulate the data he/she is viewing during runtime.
C
Embed the Trend Client Control
ot
In the Symbol Editor, in the Tools pane, click the TrendClient tool and then click the canvas
to place the object in the symbol.
N
o
D
Resize the control, and double-click it to access configuration options detailed in the Guide to the
Trend Control.
Pens
When a Trend Client is first added to the canvas, no pens are defined. To show a trend, add at
least one pen and configure it so that the system can identify what trend information to chart. Each
pen must have an associated expression or reference.
Connect the pen to an Attribute through the Expression or Reference field. The Attribute provides
values at runtime that control the animation and appearance of the pen.
After the pen is added, configure the expression or reference for the pen(s), set the details and
options for how the pen shows information on the trend chart. Pen details include the description,
units, and minimum and maximum units for the pen. Pen options include color, width, style, plot
type, number of decimal places, format, and retrieval mode.
y
op
C
ot
Appearance
N
Set a number of general options for the trend appearance, including gradients, border and plot
area background color, highlights, and colors for the X and Y axes.
o
D
AVEVA™ Training
Section 3 – Trend Client Control 6-27
Options
Set a number of general chart options, including the trend background color, freeze options,
refresh interval, and retrieval options.
y
Historical Sources
op
C
To use a Trend Client to chart historical data, connect to a data source such as Process Historian
or an InTouch .lgh file. Use one of the following authentication modes when connecting to Process
Historian:
ot
SQL Server Authentication: Specify the username and password of a SQL Server
account; these credentials are used to log in to the database
o
Note: Ask an administrator what type of user account must be used to access the server.
Server connections are specific to the instance of the client and must be redefined for
D
each instance.
y
op
Data Binding
C
Associate a reference to an attribute with the Data Binding pane, instead of using scripting.
Information can be passed in either direction or both directions as desired. Changes to the status
ot
AVEVA™ Training
Section 3 – Trend Client Control 6-29
Event
Use the custom event editor to build scripts to handle trend events.
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-31
Introduction
In this lab, you will create a live trend display using the TrendClient tool tied to the data points
from a specific mixer. You will embed a new trend display symbol in the object itself. You will also
add a button in the mixer display to show the trend popup display through Show Symbol
animation.
Objectives
Upon completion of this lab, you will be able to:
Use and configure the TrendClient tool to visualize real-time data
Use the Show Symbol animation to show a Trend within the automation object
y
op
C
ot
N
o
D
y
op
4. Place the TrendClient tool on the drawing canvas and name it TrendClient.
5. Double-click TrendClient to open the Edit Animations dialog box.
6. In the Configuration list, select Historical Sources.
C
7. In the Historical Sources pane, click the Add Row button to add a Historical Source.
ot
N
o
D
AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-33
y
op
11. Click OK when the connection is successful.
12. In the Configuration list, click Pens. C
13. Click the Add Row button to add a Pen.
ot
N
15. Click in the Expression or Reference field, and then click the Galaxy Browser button to the
D
right.
16. In the Galaxy Browser, from Relative References, click Me.Level.
17. In the Me.Level pane, click PV.
y
19. In the Historical area, change Source and Tag to Expression or Reference mode.
op
C
20. In the Source field, enter MyEngine.Engine.Historian.Connection.
21. In the Tag field, enter me.Level.Tagname + ".PV".
ot
N
o
D
AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-35
22. Repeat Steps 13 through 21 to add another pen named Temperature, and configure as
follows:
y
op
C
ot
23. Repeat Steps 13 through 21 to add another pen named Agitator, and configure as follows:
Source: MyEngine.Engine.Historian.Connection
Tag: me.Agitator.Tagname + ".Speed.PV"
o
D
24. In the Pen Options area, Plot type drop-down list, select Step line.
25. Repeat Steps 13 through 21 to add another pen named Inlet1, and configure as follows:
26. In the Pen Details area, Units field, click the Expression or Reference mode button to
switch to Static Text mode .
y
27. Delete all characters in the Units field.
op
Valve objects (discrete devices) do not have an EngUnits attribute.
28. Continue to configure the Pen Details area as follows:
29. In the Pen Options area, Plot type drop-down list, select Step line.
N
o
D
AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-37
y
33. In the Chart Options area, configure as follows:
op
Show pen selector: checked
Allow freeze/unfreeze trend update: checked
C
ot
N
35. Increase the size of TrendClient, so that the timestamps are legible.
y
op
C
ot
AVEVA™ Training
Lab 18 – Creating a Trend Popup Symbol 6-39
Name: Trends_Btn
Text: Trends
Reference: Me.TrendPopup
y
42. Click OK to close the Edit Animations dialog box.
op
43. Save and close the symbol.
44. Save and check in the $Mixer template.
C
ot
N
o
D
y
op
C
ot
N
50. Close the popup window, and then click Development to return to WindowMaker.
<End of Lab>
AVEVA™ Training
Section 4 – Historian Client Trend Control 6-41
y
An application-level control runs within the container application, but functions as if it were a stand-
alone application. This type of control does not require extensive scripting to function. Application-
op
level controls include:
aaHistClientTrend Control
aaHistClientQuery Control C
A building block control provides specific functionality for use within an application. Scripting is
required to make these controls functional. Building block controls include:
aaHistClientSingleValueEntry Control
aaHistClientTagPicker Control
ot
aaHistClientTimeRangePicker Control
aaHistClientActiveDataGrid Control
N
o
D
aaHistClientTrend Control
The aaHistClientTrend control runs the Historian Client Trend program (or a functional subset)
from within the InTouch HMI software or a .NET container like Visual Basic .NET or Internet
Explorer.
Trend is a client application that queries tags from a Process Historian database and plots them on
a graphical display. Trend supports two different chart types: a regular trend curve and an XY
scatter plot.
After adding tags to a trend chart, you can manipulate the display in a variety of ways, including
panning, zooming, and scaling. Customize any trend by configuring display options and set
general options for use with all trends.
y
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – Historian Client Trend Control 6-43
aaHistClientQuery Control
The aaHistClientQuery control runs the Historian Client Query program (or a functional subset)
from within the InTouch HMI software or a .NET container like Visual Basic .NET or Internet
Explorer.
Query is a client application that retrieves data from a Process Historian database or any SQL
Server database and returns the results in a table format. If querying the Process Historian
database, choose from a number of predefined query types and easily select the options for each
type, eliminating the need to know SQL syntax.
Custom queries can also be written, if the SQL syntax and the schema of the database are known.
y
op
C
ot
N
o
D
aaHistClientTagPicker Control
The aaHistClientTagPicker control displays the hierarchy of objects in the Process Historian
database (for example, tags, InTouch nodes, events, and so on) in a hierarchical format.
Unlike the other Historian Client controls, the aaHistClientTagPicker control does not provide a
user interface to select and connect to a Historian. A programmatic interface needs to be added to
allow this functionality.
The following code can be used in a script to allow a user to log on to the Historian located in the
localhost:
aaTagPicker1.Servers.Add( "localhost" );
y
op
C
ot
N
o
D
AVEVA™ Training
Section 4 – Historian Client Trend Control 6-45
aaHistClientTimeRangePicker Control
The aaHistClientTimeRangePicker control allows date and time parameters to be selected.
y
op
C
ot
N
o
D
aaHistClientActiveDataGrid Control
The aaHistClientActiveDataGrid control can run any SQL query from any Process Historian or
Microsoft SQL Server database and return the results in a grid.
Note: The aaHistClientActiveDataGrid control does not support data definition or data
manipulation queries.
Unlike the other Historian Client controls, the aaHistClientActiveDataGrid control does not provide
a user interface to select and connect to a SQL Server or specify the query that will feed data to
the grid. A programmatic interface needs to be added to allow this functionality.
The following code can be used in a script to connect to the local Historian as aaUser and query
history data for the SysTimeSec tag:
aaTagPicker1.Servers.Add( "localhost" );
aaHistClientActiveDataGrid1.ServerName = "localhost";
aaHistClientActiveDataGrid1.UserName = "aaUser";
aaHistClientActiveDataGrid1.Password = "pwUser";
aaHistClientActiveDataGrid1.DatabaseName = "Runtime";
y
aaHistClientActiveDataGrid1.SQLString = "SELECT * FROM History
WHERE Tagname = 'SysTimeSec'";
op
aaHistClientActiveDataGrid1.Connected = 1;
C
ot
N
o
D
AVEVA™ Training
Section 4 – Historian Client Trend Control 6-47
aaHistClientSingleValueEntry Control
Use the aaHistClientSingleValueEntry control to manually add a tag value to the Process Historian
database.
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 19 – Building a Historical Trend Display 6-49
Objectives
Upon completion of this lab, you will be able to:
Use the Historian Client Trend .NET control as part of an HMI application
y
op
C
ot
N
o
D
y
op
C
The Import Client Control(s) dialog box appears.
ot
2. Navigate to C:\Program Files (x86)\Common Files\ArchestrA, and then scroll down and
click aaHistClientTrendControl.dll.
AVEVA™ Training
Lab 19 – Building a Historical Trend Display 6-51
y
The import may take a few moments.
op
C
ot
N
o
6. In the Graphic Toolbox, drag the aaTrendControl you imported to the ClientControls
toolset.
y
op
C
ot
7. In the Graphic Toolbox, Training toolset, create a new symbol named TrendHistDisplay,
and then open it.
o
D
AVEVA™ Training
Lab 19 – Building a Historical Trend Display 6-53
8. Embed from the Graphic Toolbox, Client Controls\aaTrendControl and place it on the
canvas.
9. Rename the symbol Trend.
y
op
10. Right-click the drawing canvas and select Custom Properties.
11. Add a custom property named HistServer.
C
12. In the HistServer pane, configure the options as follows:
Visibility: Private
N
o
D
y
op
17. Click OK to close the Edit Scripts dialog box.
18. Save and check in the symbol.
C
Add a Navigation Button for Displaying TrendHistDisplay
Now, you will add a button to the SystemNavigation symbol to display the trend history.
ot
AVEVA™ Training
Lab 19 – Building a Historical Trend Display 6-55
Test in Runtime
Finally, you will view the historical trends in runtime.
26. In WindowMaker, verify that the Navigation window is open and switch to runtime.
Note: If you do not see the updated symbol, in the bottom-right corner, double-click the
Symbol Changed icon to refresh the symbol.
y
op
C
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
y
op Module 7 – Security
C
Section 1 – Security Overview 7-3
ot
Module Objectives
Review security, authentication modes, and general and operational permissions
Discuss security
Provide a brief discussion on the Secured and Verified Write Security classifications
Customize the runtime environment for better security
Configure the InTouch runtime environment for inactivity functionality
Introduce the EnableDisableKeys() script function
y
op
C
ot
N
o
D
AVEVA™ Training
Section 1 – Security Overview 7-3
This section provides a brief review of security, authentication modes, general and operational
permissions, security classifications, the security audit trail, and InTouch security tags and script
functions.
Introduction
The security system is a global function that applies to every object in the Galaxy database. It is a
relationship-based security system between users and the objects and functions of the Galaxy.
Security is designed to allow system administrators to easily define users and assign the
operations they are allowed to perform. The security permissions are defined in terms of the
operations the users can perform using Automation objects.
Configuring Security
y
Before the security editor for a Galaxy is opened, ensure that:
op
No other user is connected to the Galaxy
All objects in the Galaxy are checked in
The user profile has configuration permissions to change Framework Configuration/Modify
Security Model, if security is previously configured
C
If the security editor is opened before these conditions are met, a warning message appears and
access is denied. Do not configure security settings of the IDE, while a Managed InTouch
application is open for editing in WindowMaker.
ot
Other users who try to open the Galaxy while security is being configured are denied access to the
Galaxy. Only change the System Administrator username or password using the Change Network
Account Utility. The administrator account information is cached, and the engines may need to be
N
redeployed after the account is changed, so that the engines run using the current information.
Key Points
o
Security is based on security roles (configuration, system administration, and runtime permissions)
and security groups, which determine the runtime permissions for a particular security role on an
D
object-level basis.
When configuring a node to use security, the InTouch HMI uses methods and dialog boxes from
Application Server for log on and log off operations. Users are configured in the System Platform
IDE.
Security includes advanced security mechanisms that also affect InTouch, such as:
Secured Write: Writing data to a Galaxy attribute from InTouch that requires operators
with the right permission to reenter their passwords to complete the writeback
Verified Write: Writing data to a Galaxy attribute from InTouch that requires operators with
the right permission to reenter their passwords and also authorization from a second
operator with the right permission to complete the writeback
For more information, see the InTouch HMI Application Management and Extension Guide.
Authentication Modes
Select from three authentication modes to assign security:
Galaxy: Uses local Galaxy configuration to authenticate users. All security for the Galaxy
is specified and contained at the specific Galaxy level. When the user logs on, security
credentials are checked and access to areas and activities is granted at the Galaxy level.
OS User based: Uses the user authentication system of the operating system on an
individual user level. All security for the Galaxy is specified and contained in the operating
system (OS) on a user level basis. When the user logs on, security credentials are
checked and access to areas and activities are granted at the OS user level.
OS Group based: Uses the user authentication system of the operating system on a
group basis. All security for the Galaxy is specified and contained in the user-to-roles
mapping created in the OS to assign security. When a user logs on, security credentials
are checked and verified at the OS group level. OS groups are mapped to security roles in
the Galaxy to allow access to areas and activities in the Galaxy.
Note: If using the OS user-based security or OS group-based security, and there are
y
permissions to use the IDE, the Log In dialog box does not appear.
op
C
ot
N
o
D
AVEVA™ Training
Section 1 – Security Overview 7-5
Note: The General permissions for the role of Administrator cannot be modified.
y
op
C
ot
N
o
D
Important: For Galaxies that have security enabled, and are migrated to Application Server,
the Can Modify Operate Attributes Operational permission setting will be copied to the Can
Verify Writes attribute. Starting with Application Server, Galaxies have the Can Verify Writes
Operational permission setting disabled by default.
y
Operators interact with objects through the individual attributes of those objects. Each attribute on
op
the Object Editor can be modified by operators at runtime and can have an associated security
control, which is used to modify its runtime security classification.
If the security classification of an attribute is configurable, click the security control to select one of
seven possible states:
C
Security Icon Description
Change this value without restriction, even if there are no defined permissions on
the object.
ot
FreeAccess
Anyone can write to these attributes to perform safety or time critical tasks that can
be hampered by an untimely logon request. For example, halting a failing process.
Work with Operate permissions to do certain normal day-to-day tasks. These
N
include writing to attributes like Setpoint or Command for a Discrete Device object.
Operate This level of security requires Operate permission for the security group for the
object.
Requires authentication using user name and password each time the attribute is
o
written to. This security state also requires Operate permissions for the object.
SecuredWrite
D
Requires Operate permissions to log on again and a second, different user to also
log on as the verifier before writing to the attribute. The verifier needs to have Can
VerifiedWrite Verify Writes permission for the object.
Allows end users with Tune Operational permissions to tune the attribute in the
runtime environment. Examples of tuning are attributes that adjust alarm setpoints
Tune and PID sensitivity.
Allows end users with Configure Operational permissions to configure the value of
the attribute. Requires that the user first put the object Off scan. Writing to these
Configure attributes is considered a significant configuration change. For example, a PLC
register that defines a Discrete Device input.
Only allows users to read the value of the attribute in the runtime environment. This
attribute is never written to at runtime, regardless of the user's permissions.
ViewOnly
If the security of an attribute is shown in gray, its security classification is locked in its parent object
and cannot be changed or it requires the enabling of a group attribute.
AVEVA™ Training
Section 1 – Security Overview 7-7
Group Locking/Security
The lock and security controls associated with option groups set those conditions for all options in
the group.
The group control typically reflects the setting for all options in the group. But, if at least one
option in the group has a lock or security control that is different from the other options, the group
control shows an indeterminate icon.
In addition to the undefined controls, the group controls for locking and security are the same as
those for individual options.
y
Create, modify, or delete symbols in any AutomationObject instance
op
Create, modify, or delete View Applications, such as the InTouch View Applications
Deploy or undeploy View Applications, such as InTouch View Applications
Edit the configuration of the Quality and Status Display
C
Security Audit Trail
Auditing is a primary function of any security system. Use a set of security system tags to identify
the users who logged on to an InTouch application, the domain from which the user logged on, and
ot
y
If the logon attempt succeeds, then True is returned and the $OperatorName, $AccessLevel, and
op
$Operator system tags are updated accordingly.
If the log on attempt fails, then FALSE is returned and the user currently logged on (if any)
continues to be the current user.
The Domain argument must be an empty string. If the security mode is using operating system-
C
based security, the UserId argument should contain the fully qualified user name with domain
name or computer name.
ChangePassword() Function
ot
Shows the Change Password dialog box, allowing the operator logged on to the system to change
his or her password.
N
InvisibleVerifyCredentials() Function
The InvisibleVerifyCredentials() function can be used in a synchronous QuickScript to verify the
credentials of the given user without logging the user on to the InTouch HMI. If the supplied
o
combination of user, password, and domain are valid, then the corresponding access level
associated with the user is returned as an integer. Otherwise, -1 is returned.
D
This function does not change the currently logged on user. The Domain argument must be an
empty string. If the security mode is using operating system-based security, the UserId argument
should contain the fully qualified user name with domain name or computer name.
LogonCurrentUser() Function
Logs on to InTouch with the user account that is currently logged on to the Windows operating
system. Use this function only for operating system-based security. Returns -1 and does not
change the values assigned to $Operator, $OperatorName and $AccessLevel, if the logon fails.
PostLogonDialog() Function
Shows the InTouch Logon dialog box and returns True. This script function is also available in
scripting.
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-9
Objectives
Upon completion of this lab, you will be able to:
Create a symbol to log into and log off of an InTouch application
y
op
C
ot
N
o
D
Note: You will also need to close any other open graphics or objects.
y
op
C
ot
N
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-11
y
op
C
7. Click the Users tab.
ot
y
op
11. With TUser selected, click the Change Password button.
The Change Password dialog box appears.
C
12. Leave the Old Password field blank.
13. In the New Password field, enter ww.
ot
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-13
y
op
C
ot
N
o
D
y
25. In the Expression Or Reference area, Boolean field, enter InTouch:$AccessLevel >= 5000.
op
26. In the Visible When Expression is area, ensure the True, 1, On setting is selected.
C
ot
N
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-15
y
Expression Or Reference: InTouch:$Operator == "None"
op
C
37. Click OK to close the Edit Animations dialog box.
38. Save and check in the symbol.
ot
Note: Leave room to the left of the text element for some buttons that will be configured later
in this lab.
Name: UserName_Label
ElementStyle: Label
Alignment: MiddleRight
y
op
C
ot
N
47. Add another Text element below UserName_Label and enter User Name:.
48. Configure as follows:
o
Name: UserFullName_Label
D
ElementStyle: Label
Alignment: MiddleRight
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-17
49. Add a third Text element below UserFullName_Label and enter Access Level:.
50. Configure as follows:
Name: AccessLevel_Label
ElementStyle: Label
Alignment: MiddleRight
y
op
51. Select the three Text elements, and then use the toolbar to align them on the right and make
the vertical space the same.
The final result should look similar to the following:
C
ot
N
52. To the right of each label, add a related Text Box and configure as follows:
Name Width Height Text
o
54. Select all three Text Box elements and configure as follows:
ElementStyle: Actual_Value
Alignment: MiddleLeft
55. Add a Value Display animation to each Text Box element and configure as follows, and then
click OK to close the Edit Animations dialog box after configuring each:
y
AccessLevel_Txt Analog InTouch:$AccessLevel
op
C
ot
N
o
D
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-19
56. Add a button element to the left of UserName_Label and configure the button as follows:
Name: Logon_Btn
Text: Logon
y
58. In the script body, enter PostLogonDialog();.
op
C
ot
N
59. Add an Element Style animation and configure the animation as follows:
States: Boolean
o
Intensity4
False, 0, Off: Element Style: unchecked
y
op
C
Action Scripts
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-21
y
69. In the IDE, Template Toolbox, Training\Project template toolset, double-click $MixerView to
open WindowMaker.
op
70. In WindowMaker, open all windows, except Carousel.
71. Scroll to the right and click the Logon window.
72. Embed from the Graphic Toolbox, Training\SecurityDisplay.
C
73. In the WindowMaker dialog box, click Yes to replace the existing symbol.
The Logon window is updated.
ot
N
o
Test in Runtime
D
Finally, you will log in using different credentials and observe the visibility changes you configured
earlier.
74. Switch to runtime.
In the Logon window, notice that no user is logged in.
76. Click the valves, pumps, and agitator and verify the command popup function is not available.
77. Click the Logon button.
The Login to ArchestrA - Galaxy based dialog box appears.
78. In the User name field, enter TUser.
79. In the Password field, enter ww.
y
op
C
ot
80. Click OK to close the Login to ArchestrA - Galaxy based dialog box.
Notice that Training User is logged on.
N
o
D
AVEVA™ Training
Lab 20 – Using Security Features in Graphics 7-23
81. Click the valves, pumps, and the agitator to verify the command popups appear.
y
op
C
ot
y
86. Click the Logoff button.
op
C
Notice that no one is logged in again. The area is no longer visible.
87. Click Development to return to WindowMaker.
ot
<End of Lab>
N
o
D
AVEVA™ Training
Section 2 – Signed Writes 7-25
Note: All users are automatically assigned to the Default role in addition to any newly created
roles that are assigned to them. The best way to manage permissions is to limit the permissions of
the Default role to those permissions people should have. Then, add users to other roles with
permissions for other parts of Application Server.
y
op
The Administrator user can log on any authentication mode, except when security is disabled.
When logged on as Administrator on the Galaxy Repository node, change the password of any
Galaxy user without providing the old password:
In Galaxy authentication mode, edit the User Name in the Change Password dialog box
C
In OS-based authentication modes, the User Name of the OS user is shown; user
information cannot be edited
Users can be assigned to more than one role.
ot
particularly its user permissions, groups, and security features. OS Group-based security uses
these Windows features. When using local OS Groups as Roles, each node within the Galaxy
must have the same OS Users, Groups, and user-group mappings to get the same level of access
to the user at each node.
o
D
To perform remote operations, log on with the new log on data. If that fails, the trusts are being
reestablished by the controller; retry logging on at a later time.
The full name of the user is not available to any client (for example, an InTouch window), if the
domain controller is disconnected from the network when the user logs on for the first time.
If the user previously logged on when the domain controller was connected, the full name of the
user is still available to the client from data stored in cache, even if the domain controller is
disconnected, when the user subsequently logs on.
y
Using InTouch Access Levels Security
The Roles page includes the Access Level column. The Access Level is an InTouch function.
op
In InTouch, access levels are a schema for prioritizing runtime functions. In the security model, it
only maps to InTouch values and has no prioritizing characteristics.
The maximum value is 9999 and the minimum is 0 (zero). If a user is assigned more than one role
C
with different access levels, the higher access value is passed to InTouch.
Assign Secured Write or Verified Write security classification to a configurable attribute. These
security classifications require authentication to perform runtime writes to the configured attribute.
With authentication, users can write to such attributes by:
N
Any assignment in a script that sets the value of the attribute, such as A=B; where A
references an attribute that is configured for Secured Write or Verified Write security
classification
o
Any action on an animation graphic that alters the value of an attribute that has Secured
Write or Verified Write security classification, such as a user input, a slider, an up/down
D
Note: The Secured and Verified Write features work only when security is enabled on both
the Galaxy and InTouch applications and do not work if either Galaxy or InTouch security is set
to None.
AVEVA™ Training
Section 2 – Signed Writes 7-27
y
op
C
ot
N
Use the SignedWrite() script function to configure these inputs. The script function can only be
o
used for attributes configured with Secured Write or Verified Write and symbol scripts, not for
application object scripts.
D
Reason Description
The reason description is specific to an attribute. It explains the purpose of the attribute and the
impact of changing it. If a reason description is not configured, the reason description area is
blank.
It is possible to use a script to directly assign a value to an attribute that requires Secured or
Verified Write. When the script is ran, the Secured or Verified Write dialog box appears and the
reason description area displays a Field Attribute description, if there is one. If the attribute is not a
Field Attribute or does not have a description, then the reason description area displays the
description of the ApplicationObject to which the attribute belongs.
Predefined Comment List
The predefined Comment list enables the operator to comment on changing the attribute by
selecting from a predefined list of comments.
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
Field Attribute description, if any, or the Short Description of the ApplicationObject, if no
Field Attribute description exists
op
SignedWrite() Script Function
The SignedWrite function performs a write to an AutomationObject attribute that has a Secured
Write or Verified Write security classification.
C
At runtime, the Secured Write or Verified Write dialog boxes appear when the operator attempts to
write to an attribute configured for Secured Write or Verified Write. The dialogs enable configurable
user input that can be used to provide information about the Secured or Verified Write.
ot
Use the SignedWrite function to configure these inputs. The script function can only be used for
attributes configured with Secured Write or Verified Write. It can only be used for symbol scripts
and not for application object scripts.
N
Remarks
The SignedWrite function is supported only for client scripting and not for object scripting.
o
A return value of 0 does not indicate whether the attribute was updated, only that the function
D
placed an entry on the queue to write to the attribute. The operator may decide to cancel the
operation after the Secured Write or Verified Write dialog box is presented. In this case, the
attribute is not updated and a message is placed in the Logger indicating that the user canceled
the operation.
Even if the user enters valid credentials and clicks OK, the attribute still might not have been
updated because of inadequate permission or data coercion problems. The SignedWrite function
supports the custom property passed as the first parameter with opened and closed quotation
marks, “”. If the custom property (CP) is configured as shown in the following script, the function
attempts to resolve CP and determine if it has a reference. If it has a reference, then the reference
is retrieved and the write is performed on the reference.
SignedWrite(“CP”, value, reason, editable, enforcement, null);
AVEVA™ Training
Section 2 – Signed Writes 7-29
Examples
SignedWrite ("UserDefined_001.temp", 185, "This will change the oven
temperature", true, 1, null);
The following example shows the user an array of predefined comments:
Dim n as Integer;
n = SignedWrite("UserDefined_001.temp", 185, "This will change the oven
temperature", true, 1,
UserDefined_001.OvenCommentArray[ ]);
where UserDefined_001.OvenCommentArray is an attribute containing an array of strings.
y
find out if any alarm from the list requires a signature in order to acknowledge it. If so, provide the
user name, password and domain or Smart Card details and PIN for authentication and
op
acknowledgment of the alarms. To be able to provide the Smart Card details, the computer must
be configured for Smart Card authentication.
If even one alarm in the list requires a signature, provide a signature to acknowledge the alarms.
The SignedAlarmAck function will acknowledge all the alarms in the list.
C
With the SignedAlarmAck function, credentials can be provided to acknowledge an alarm or group
of alarms, even when one is not logged on as the operator.
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-31
Objectives
Upon completion of this lab, you will be able to:
Use the Secured Write and Verified Write functions in InTouch
Grant the Can Verify Write permission
y
op
C
ot
N
o
D
y
op
2. In the Attributes list, click Cmd.
3. In the right pane, to the right of the Initial value drop-down list, click the Security
C
Classification button, and then click SecuredWrite.
ot
N
o
D
4. Lock the Initial value field to propagate the changes down to the descendent objects.
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-33
y
6. Click Close.
op
Now that the security classification has been propagated to the instances, you need to unlock the
Inlet1.Cmd attribute to allow its value to be changed in runtime.
7. In the Template Toolbox, Training\Project\Mixer template, double-click Inlet1.
C
8. In the Attributes list, click Cmd, and then in the right pane, unlock the Initial value field.
ot
N
y
op
12. In Deployment view, expand
TrainingGalaxy\PROD_Platform1\AppEngine1\Line1\Mixer100 and notice that the valve
objects need to be redeployed.
C
ot
N
o
D
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-35
The valve objects for all the mixers in Line1 and Line2 need to be redeployed.
13. To redeploy all of the valve objects at once, right-click AppEngine1 and select Deploy.
y
14. In the Deploy dialog box, ensure Cascade Deploy is selected.
op
C
ot
N
o
D
15. Leave all other defaults and click OK, and then click Close when the deployment is finished.
y
op
C
21. In the bottom-right, Operational permissions pane, expand Default, and then check
Can Modify “Operate” Attributes.
22. Expand Alarms, and then check Can Acknowledge Alarms.
ot
N
o
D
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-37
23. Add a new role named Supervisors with an Access level of 5000.
24. In the Operational permissions pane, under Default, check Can Verify Writes.
25. Under Alarms, check Can Shelve Alarms, Can Modify Alarm Modes, and Can Modify
Plant States.
y
op
C
ot
N
o
D
26. On the Users tab, add a new user named Operator1 with a Full name of Operator One.
27. In the Associated Roles for Operator1 pane, check Operators.
y
op
C
28. Click the Change Password button.
ot
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-39
31. Repeat Steps 26 through 30 to add a user named Operator2 with a Full name of Operator
Two.
y
op
C
32. Add a new user named Supervisor1 with a Full name of Supervisor One.
33. In the Associated Roles for Supervisor1 pane, check Supervisors.
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-41
Test in Runtime
In the following steps, you will use the AlarmAggregationOverview and AlarmLiveDisplay
symbols to test that operators can only acknowledge alarms, and supervisors can shelve alarms
and modify the alarm mode.
38. In the Template Toolbox, Training\Project toolset, double-click $MixerView to open
WindowMaker.
39. Open all windows, except Carousel, and then switch to runtime.
40. In the Navigation window, click Alarm Overview.
y
op
C
ot
Notice the Alarm Mode does not change, since no one is logged in.
y
op
44. Log in as TUser.
C
ot
N
o
Notice the result is the same. This user does not have privileges to modify the Mode options.
46. Log off as TUser and log in as Operator1, and then try to disable the mode.
The result is the same. This user does not have privileges to modify the Mode options.
47. Close the AlarmAggregationOverview window.
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-43
y
op
50. In the Shelve Comment dialog box, enter a reason.
C
ot
N
52. In the Navigation window, click Historical Alarms, and then in the AlarmHistDisplay
window, click Historical Events.
D
53. Sort by time to show the latest record at the top, and then expand the AlarmComment
column.
Events similar to those below appear.
The shelving is rejected because this user does not have privileges to shelve alarms.
54. Close the AlarmHistDisplay window.
y
op
This user has privileges to modify the Mode options.
57. For Line1, change the alarm Mode back to Enable.
C
58. Close the AlarmAggregationOverview window.
59. In AlarmLiveDisplay, with Supervisor1 logged in, select a record.
60. Right-click the record and select Shelve Selected.
ot
63. Click Historical Alarms to open AlarmHistDisplay, and the ensure Historical Events is
selected.
Events similar to those below appear.
o
D
The shelving has been written successfully because supervisors have privileges to shelve
alarms.
64. Close AlarmHistDisplay.
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-45
y
The Secured Write dialog box appears.
op
67. In the Comment field, enter Toggled valve.
68. In the Username field, change the user to TUser.
69. In the Password field, enter ww. C
ot
N
o
D
y
75. Click Outlet_001 to open the command control, and then when the valve is open, click Close.
op
C
ot
N
o
D
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-47
y
op
C
ot
Notice the valve changing as a result of the proper Verified Write authorization.
Note: You may have to move the command control to see the valve.
o
D
Now, you will use the command buttons to change the state of the Outlet Valve and test the
Verified Write permission with another set of users.
81. In the command control, click the Open button to reopen the Verified Write dialog box.
82. In the Operator area, Username field, enter Operator1.
83. In the Password field, enter ww, and then click OK.
84. In the Verifier area, Username field, enter Operator2.
85. In the Password field, enter ww.
y
op
C
ot
N
Notice the valve does not change as a result of the improper Verified Write authorization. In
AlarmHistDisplay, Historical Events list, you should also see an access denied event.
D
AVEVA™ Training
Lab 21 – Signing Writes from InTouch 7-49
Finally, you will again use the command buttons to change the state of the Outlet Valve and test
the Verified Write permission with another set of users.
88. Click Outlet_001 to open the command control.
89. Click the Open or Close button to reopen the Verified Write dialog box.
90. In the Operator area, Username field, enter Supervisor1, and then in the Password field,
enter ww and click OK.
91. In the Verifier area, Username field, enter Supervisor1, and then in the Password field,
enter ww.
y
op
C
ot
N
y
op
C
ot
N
o
D
AVEVA™ Training
Section 3 – Customization of the Runtime Environment 7-51
Note: The inactivity timer does not reset for Active-X controls, OLE Automation controls, and SPC
y
wizards.
op
Automatically logging off an operator is a three-step process:
a. WindowViewer sets the $InactivityWarning system tag to 1, when the operator’s inactivity
period exceeds a specified warning period. Use the $InactivityWarning tag in a condition
QuickScript to show a window that warns the operator about the pending log off for inactivity.
C
The operator stays logged on by responding before the specified time-out period occurs.
When the operator takes some action, the $InactivityWarning tag and inactivity timer are
reset to zero.
ot
b. If the operator fails to respond after the inactivity warning, the $InactivityTimeout system tag
is set to 1, when the time-out period has been reached. When $InactivityTimeout is 1,
WindowViewer equates the logged on operator name to the reserved name None and sets the
N
Like WindowMaker, WindowViewer includes many options to customize the runtime environment.
For example, set the blinking speed for blinking objects, the system inactivity timeout and warning
values, and the windows that are automatically opened when WindowViewer is started from its
icon or its menu command.
Access the WindowViewer Properties dialog box from the Special | Configure | WindowViewer
menu in WindowMaker.
General Tab
y
op
C
ot
N
o
D
AVEVA™ Training
Section 3 – Customization of the Runtime Environment 7-53
Inactivity Area
Warning: Enter the number of seconds that can elapse with no operator activity (mouse
clicks or keystrokes) before the system discrete tag $InactivityWarning is set to 1 (True).
Timeout: Enter the number of seconds that can elapse with no operator activity (mouse
clicks, or keystrokes) before the system discrete tag $InactivityTimeout is set to 1 (True).
Time/Timer Control Area
Tick Interval: Enter the speed interval that InTouch will use to check its internal timers.
This setting controls how fast Application While Running, Window While Showing,
Condition While On True/On False, Key and Touch Pushbutton Action While Down
QuickScripts will be ran.
Update for Time Variables: Enter the frequency (in milliseconds) WindowViewer will
update the time-based system tagnames $Msec, $Second, $Minute, and so on. It is
recommended that the default setting of 1000 milliseconds is used. However, a 0 (zero)
can be entered to prevent updating of all time variables.
Miscellaneous Area
y
Beep when objects touched: For all touch-sensitive objects to beep, when selected in
WindowViewer.
op
Update all trends “fast”: Does not apply to InTouch for System Platform applications.
Debug Scripts: Writes a message to the Wonderware Logger program each time a
QuickScript is ran. C
If the Debug menu option is selected in the WindowViewer Properties dialog box,
Window Configuration tab, the command can be turned on and off in runtime from
Special menu in WindowViewer.
Use old SendKeys: Only used with an international application that was developed using
ot
InTouch Version 3.26 or earlier (this is a legacy option).
Blink Frequency Area
Slow, Medium, Fast: Enter the milliseconds to use for blink animations.
N
I/O Area
These settings do not apply to InTouch for System Platform applications.
o
Hotlinks Area
Configure Halo options.
D
Keyboard Area
Select the type of keyboard to be used in runtime.
y
op
C
ot
N
o
D
Menus Area
The Menus area shows or hides different menu options within WindowViewer. Some of these
options include:
Menu Bar: Prevents the menu bar from appearing
WindowMaker: Prevents the operator from being able to switch to the WindowMaker
program (Selecting this option does not affect the fast switch to WindowMaker)
AVEVA™ Training
Section 3 – Customization of the Runtime Environment 7-55
Logic: Prevents the operator from starting and stopping all QuickScript execution during
runtime.
Use the system tagname $LogicRunning to allow the operator to start and stop all
QuickScripts.
Note: If the Allow CTRL-Break to stop scripts option is selected in the Miscellaneous
area, the operator will be able to stop all QuickScripts from running, regardless of whether
or not the Logic menu is displayed.
y
Note: The title bar cannot be changed, when using a Promotional License.
op
Show Application Directory in Title Bar: Include the path to the directory of the
application in the title bar. For example: ABC Company, Paint APP1 - C:\DEMOAPP1
Hide Title Bar: Hide the application's title bar in runtime.
C
Miscellaneous Area
Impossible to Close: Prevent the operator from closing WindowViewer.
Note: Clear the Control Menu option (also called the System menu) to hide the Close (X)
ot
Allow CTRL-Break to stop scripts: Allow the operator to press the CTRL + BREAK key
N
sequence and stop the running of all QuickScripts, whenever necessary, during runtime.
Asynchronous QuickFunctions that are currently running cannot be stopped. However,
new asynchronous QuickFunctions can be prevented from running.
o
commands by using the ALT + accelerator key. For example, ALT + FX to exit the
application.
Hide Cursor: Prevent the cursor from being displayed during runtime (if a touch-screen
will be used).
Disable ESC key: Prevent the operator from exiting the open window.
Disable WIN key: Prevent the operator from accessing the Windows Start menu to close
or switch applications, or both.
Always Maximize: Keep the WindowViewer program maximized at all times.
y
op
Select the window(s) to automatically open, when WindowViewer is started.
C
Note: The home windows selections have no effect, when using the fast switch to start
WindowViewer. Home windows are automatically opened, when starting WindowViewer directly
ot
Restrict operator access to standard Windows functions by disabling system keys on the computer
running an InTouch application. For example, prevent an operator from using the
CTRL + ALT + DEL key combination to show the Task Manager dialog box. Disabling system keys
o
prevents operators from switching from the InTouch HMI to another Windows applications.
WindowViewer has key filter options that set the default state of system keys, when an InTouch
D
AVEVA™ Training
Section 3 – Customization of the Runtime Environment 7-57
Parameters
AltKey
Integer to enable or disable key filters for the Alternate key:
1 = enable filter (disable Alt key)
0 = disable filter (enable Alt key)
EscKey
Integer to enable or disable key filters for the Escape key:
1 = enable filter (disable Esc key)
0 = disable filter (enable Esc key)
WinKey
Integer to enable or disable key filters for the Windows key:
1 = enable filter (disable Win key)
y
0 = disable filter (enable Win key)
op
Remarks
Disabling the Alt key also disables the Win + L key combination (for locking the Windows desktop).
Win + L is the shortcut for another combination of keys that involves the Alt key. Thus, disabling
the Alt key also disables this particular shortcut.
C
Example(s)
EnableDisableKeys(0,0,0); (enables all three keys)
ot
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-59
Objectives
Upon completion of this lab, you will be able to:
Use InTouch WindowViewer inactivity warning and timeout settings
Hide the InTouch WindowViewer menu bar with a window
Use the EnableDisableKeys() script function
y
op
C
ot
N
o
D
y
op
C
ot
2. In the WindowViewer Properties dialog box, on the General tab, configure the Inactivity
area as follows:
Warning: 30 secs
N
Timeout: 60 secs
o
D
3. Click OK.
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-61
4. Click OK.
You will now close WindowViewer. The changes will take effect the next time you start
WindowViewer, later in this lab.
5. Close WindowViewer.
y
Next, you will create a symbol to display a blinking message to the user that the inactivity warning
op
has been triggered, as well as that the inactivity timeout period has expired.
6. In the IDE, Graphic Toolbox, Training toolset, create a new symbol named
InactivityMessage, and then open it. C
7. Add a Text element on the drawing canvas and enter Inactivity Message.
8. Rename the element Message1.
ot
N
o
D
9. Add a Text Box element on the drawing canvas under Message1 and enter Action Message.
10. Rename the element Message2.
Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.
y
op
C
13. Add a Named Script and configure as follows:
ot
Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.
N
Name: TimeoutMessage
Expression: InTouch:$InactivityTimeout
o
Trigger: OnTrue
Body: ‘Change displayed text when the inactivity timeout period expires.
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-63
You will now change the style of the text elements, add animations, and arrange the symbol for
cosmetic purposes only.
15. Select both elements, and use the toolbar to align text to the Centers.
y
op
16. With both elements still selected, configure the Element Style as Title.
17. If necessary, make the text box bigger to accommodate a long message.
C
18. Use the toolbar to center align both elements.
The elements should now look similar to the following:
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-65
Expression Or Reference
Boolean: true
Blink When Expression Is
True, 1, On: selected (default)
Blink Speed
Medium: selected
Blink Attributes
Blink Visible With These Attributes: selected (default)
Text Color: checked (default) and in the drop-down, select yellow
Line Color: unchecked
Fill Color: unchecked
y
op
C
ot
N
o
D
Name: Inactivity
Frame: unchecked
Comment: Inactivity warning and timeout messages
Window Type: Popup
Title Bar: unchecked
Frame Style: Double
Size Controls: unchecked (default)
Window Color: Red
y
Dimensions
op
X Location: 560
Y Location: 340
Window Width: 800 C
Window Height: 400
ot
N
o
D
The dimensions will place the window at the center on a monitor with a resolution of
1920x1080.
25. Click OK to close the Window Properties dialog box.
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-67
26. Click the Inactivity window, and then embed from the Graphic Toolbox, Training toolset, the
InactivityMessage symbol in the center of the Inactivity window.
y
op
27. On the File menu, click Close Window.
28. In the Windows to Close dialog box, check Inactivity, and then click OK.
A WindowMaker dialog box appears. C
ot
N
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-69
31. In the Condition Scripts dialog box, on the Script menu, click New and configure the script
as follows:
Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.
Condition: $InactivityWarning
Comment: Opens and closes the Inactivity window
Condition Type: On True (default)
Body: IF $Operator <> “None” THEN
Show "Inactivity";
ENDIF;
y
op
C
ot
Test in Runtime
You will next switch to WindowViewer to test the implementation of the inactivity settings in
runtime.
35. In WindowMaker, verify all windows are open, except Carousel and Inactivity, and then
switch to runtime.
36. Log in to the application with one of the users created in the previous labs.
37. Wait 30 seconds for the Inactivity window to automatically open.
y
op
C
Notice that the user is still logged in.
ot
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-71
39. Wait 30 seconds for the Inactivity window to automatically open, and then wait another 30
seconds for the system to log you off.
Notice that the user has been logged off and the message in the Inactivity window has
changed.
y
op
40. Click the mouse or press a key on the keyboard.
The inactivity timeout trigger is reset and the Inactivity window is automatically closed.
C
41. Click Development to return to WindowMaker.
ot
N
o
D
Name: MenuBarCover
Frame: unchecked
Comment: Prevents clicking the menu options
Window Type: Popup
Title Bar: unchecked
Frame Style: None
Size Controls: unchecked (default)
Window Color: White (default)
y
Dimensions
op
X Location: 0
Y Location: -20
Window Width: 1920 C
Window Height: 20
ot
N
o
D
The dimensions will place the window on top of the menu bar on a monitor with a resolution of
1920x1080.
44. Click OK to close the Window Properties dialog box.
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-73
y
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.
Tagname[.field]: $AccessLevel
Body: { Engineer Access }
IF $AccessLevel >= 7000 THEN
{ Engineer user}
Hide "MenuBarCover";
ELSE
{ Non-Engineer user }
y
Show "MenuBarCover";
ENDIF;
op
C
ot
N
o
47. Click OK to save and close the Data Change Scripts dialog box.
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-75
y
op
50. Click OK.
A WindowMaker message appears. C
ot
N
Test in Runtime
In the following steps, you will now switch to WindowViewer to test the implementation of the
covered menu bar in runtime.
53. In WindowMaker, switch to runtime.
The menu bar is covered by the new window.
y
op
C
55. Log in with the Administrator account.
ot
The menu bar is displayed since the Administrator has an Access Level greater than 7000.
N
o
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-77
Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.
Tagname[.field]:
y
$AccessLevel (default)
Body: { Engineer Access }
op
IF $AccessLevel >= 7000 THEN
{ Engineer user}
Hide "MenuBarCover";
C
EnableDisableKeys( 0, 0, 0);
ELSE
ot
{ Non-Engineer user }
Show "MenuBarCover";
EnableDisableKeys( 1, 1, 1);
N
ENDIF;
o
D
The EnableDisableKeys() script function receives three Boolean parameters to disable the
Alt, Esc, and Win keys, in that order: 0 (false) enables the key; 1 (true) disables the key.
59. Click OK to save and close the Data Change Scripts dialog box.
Next, you will create an Application On Startup script to ensure that the Alt, Esc, and Win keys
are disabled when WindowViewer is started.
60. On the Special menu, click Scripts | Application Scripts.
61. Configure the Application Script dialog box as follows:
Note: You may use the applicable portion of the script in C:\Training\Lab 22 - Locking
Down Your Application.txt.
y
op
C
62. Click OK to save and close the Application Script dialog box.
ot
N
o
D
AVEVA™ Training
Lab 22 – Locking Down Your Application 7-79
Test in Runtime
Finally, you will switch to WindowViewer to test the implementation of the EnableDisableKeys()
script function in runtime. You will test access to the Alt, Esc, and Win Keys. First, you will close
WindowViewer to allow the Application On Startup script you just configured to run.
63. Close WindowViewer.
64. In WindowMaker, ensure all windows are open, except Carousel and Inactivity, and then
switch to runtime.
65. In WindowViewer, try the following key combinations:
Alt+Tab
Ctrl+Esc
Win+R
Nothing happens, since the Application On Startup script disabled the Alt, Esc, and Win
keys.
66. Log in with one of the operator accounts and try the key combinations indicated above.
y
Note that nothing happens, since the operator accounts have an Access Level less than
op
7000.
67. Log in with the Administrator account and try the three key combinations.
This time, the keys are enabled since the Administrator account has an Access Level
greater than 7000.
C
68. Click Development to return to WindowMaker.
<End of Lab>
ot
N
o
D
y
op
C
ot
N
o
D
AVEVA™ Training
y
op
Module 8 – Web Client
C
Section 1 – Web Client Overview 8-3
ot
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
This section will describe the Web Client features and dependencies.
Overview
The InTouch Web Client feature (Web Client) allows you to view specific Industrial graphics used
within an InTouch for System Platform application on any HTML5-supported web browser. A built-
in web server enables web browsers access to application graphics, from any Microsoft Windows
client or server operating system without the use of Remote Desktop Protocol (RDP) or Internet
Information Services (IIS) for Microsoft Windows Server. You can view application Industrial
graphics in a web browser for Managed applications only.
y
op
C
ot
N
By default, the Web Client will be disabled to secure systems where no decision has been made to
enable a web server on the installation machine. You must have administrative privileges to enable
D
or disable the Web Client feature. The Web Client is enabled from the InTouch Application
Manager toolbar using the Click to start Web Server for InTouch HMI Web Client button. If Web
Client was not enabled from the InTouch Application Manager, in WindowMaker clicking the WEB
CLIENT fast switch will prompt to start the Web Server.
This tool in the InTouch Application Manager represents the Web Client disabled:
When the Web Client is disabled the InTouch Web service indicates a Manual startup type:
This tool in the InTouch Application Manager represents the Web Client enabled:
When the Web Client is enabled, the InTouch Web service is in Automatic startup type with a
y
status of Running:
op
C
ot
folder, enabled with Set Web Client Root Folder, are displayed on the Web Client menu. By
default, all graphics in the WindowMaker Industrial Graphics Toolbox are converted, because the
Web Client Root folder is configured for the top node in the toolbox. The Root folder is marked in
the Industrial Graphic Toolbox with a Home icon.
o
D
AVEVA™ Training
Section 1 – Web Client Overview 8-5
A single symbol within the Web Client Root Folder may be configured by enabling Set Web Client
Home Symbol. The home symbol will be automatically selected and displayed when the InTouch
Web Client is accessed using a browser. Additionally, the Web Client interface provides a home
button which may be used to display the home symbol. The home symbol is marked in the
ArchestrA Graphic Toolbox with a home icon.
y
WEB CLIENT Fast Switch
op
C
When using the Web Client with InTouch for System Platform, WindowViewer must be running to
provide data for the Web Client. Initially, the WEB CLIENT fast switch in WindowMaker may be
disabled if the InTouch application path is not set to the current application path. This can occur
ot
after importing and starting a restored InTouch application or after switching InTouch applications.
For InTouch HMI, starting WindowViewer with the RUNTIME fast switch will do the following:
Set the application path to the current application and builds the application's Web folder
N
y
Element Description
op
1
C
The Title bar displays the InTouch Application name, symbol name, home icon, share icon,
notifications icon, full screen icon and profile icon.
2 Click the hamburger to view the folder navigation overlay. All folders and symbols under the
selected Web Client root folder are displayed.
ot
3 The canvas area displays the symbol selected from the navigation overlay. The symbol will be
scaled to fit the browser viewport size, while maintaining the aspect ratio. The navigation and
notifications overlays do not consume any space on the canvas or affect the size of the
N
graphic.
4 Click the notifications icon to view the notifications related to connection and licensing issues.
o
D
AVEVA™ Training
Section 1 – Web Client Overview 8-7
y
op
C
ot
N
o
Standalone applications can be viewed on the web client. Standalone application windows must be
converted to Industrial Graphics before they can be viewed on the Web Client.
For InTouch applications, in WindowMaker you can use the Home Windows tab to set up windows
that will appear by default in WindowViewer. Similarly, you can set a graphic to be the default
symbol that appears on the web client when it is launched.
These settings will impact, which window or graphic appears on the web client by default when it is
launched. For an InTouch HMI application; there are two possibilities:
If Home Windows are configured
Even if the user has configured Home Symbols, on all occasions, only the Home Windows
are displayed by default. Clicking the Home icon will display the Home Windows.
If Home Windows are not configured
And the Home Symbol is configured, by default the home symbol will be displayed.
If no Home windows and no Home symbol are configured then, by default, no symbol or Home
windows are displayed. Clicking on the Home symbol will not display any graphic or window.
y
For example, http://production/InTouchWeb/api/symbol/tankfarm, might be used to display a mixer
op
symbol that represents a production vessel in a tank farm.
Known Limitations
A number of features common to InTouch for System Platform applications are not yet supported
C
by the Web Client. For example, no ActiveX or .NET controls, such as the Alarm Client, are
supported at this time. For a detailed list and description of known limitations with Web Client
consult the PDF file entitled Viewing InTouch Application Graphics in a Web Browser.
ot
Without a license installed, Web Client permits a single session use. This will usually allow you to
connect a single browser to the InTouch Web Server, even permitting more than one tab to be
opened, which is considered part of the same session. Without a license, a second browser would
not be able to access the Web Server. For full unrestricted use of Web Client, you need a valid
o
Web Server license to login and view application graphics from a web browser. The Web Server
provides two types of licenses:
D
The Web Server Unlimited Read-Only license will allow you to connect to unlimited
sessions for viewing application graphics in a web browser.
The Web Server Unlimited ReadWrite license will allow you to connect to unlimited
sessions for viewing and interacting with application graphics in a web browser.
Acquiring a License
After the Web Server starts up, it will first Authenticate the user and then determine the user’s
Authorization. During authentication, the web server will validate if the user is part of either the
"aaInTouchUsers" or the "aaInTouchRWUsers" to be authenticated to use the Web Client. Both the
user groups will be created during installation. The login user at the time of Web Client installation
will be automatically added to both user groups. Additional users can be added later. After adding
the new user to the group, the new user must log off and then re-login for the change to take
effective.
Next, the web server determines authorization for Read-Only or ReadWrite capability. First, the
web server will attempt to acquire the ReadWrite license. If a ReadWrite license is not available,
AVEVA™ Training
Section 1 – Web Client Overview 8-9
then it will attempt to acquire the Read-Only license. If a ReadOnly license is not available, then
the web client will operate in a Single Session Mode.
y
does not belong to the Web Client aaInTouchRWUsers user group, or
The Web Server has acquired the Unlimited ReadOnly license, or
op
The Web Server does not acquire any license and this web client session is the first client
session
In the Read-Only mode, the client session cannot write to external references or acknowledge
alarms.
C
Single Session Mode
ot
If the Web Server does not acquire any license at startup, it will operate in the Single Web Session
mode, which is assigned on a first come first serve basis.
If a valid license is unavailable and the first session license has been acquired, the Web
N
Web Client will convert all Frame Windows in your application and make them available from the
hamburger menu. Additionally, when you open Web Client, if Home windows are configured and
the Home windows are Frame Windows, your Home windows will be displayed. Any application
navigation configured, such as buttons to show windows or scripting using ShowGraphic(),
ShowHome, or Show script functions, these will behave normally as if they were in WindowViewer.
For example, Replace window functionality behaves normally in Web Client by closing any window
the Replace window touches. When using this with ShowGraphic(), the identity property using
InTouch:WindowName syntax, will properly identify the XY and width and height of the window for
replace purposes. However, if the identity property does not used the InTouch: syntax, which
causes it to create a brand new popup window in the Web Client, this window will act like a regular
popup window by displaying on top of the other windows.
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 server, which provides access to the Web Client feature.
In WindowMaker, you will use the WEB CLIENT fast switch to preview navigation and display
graphics in a browser.
Objectives
Upon completion of this lab, you will be able to:
Use the WEB CLIENT fast switch to open the Web Client and view Application windows in
a default web browser
Pan and zoom a graphic in a web browser using a mouse and keyboard
Navigate Application windows using the Web Client
y
Use Navigation Search
Visualize and acknowledge alarms in Web Client
op
y
op
C
4. Click OK to close the Configure Security dialog box.
An ArchestrA IDE message appears.
ot
N
o
D
Note: Leaving WindowViewer open enables the WEB CLIENT fast switch in WindowMaker,
and ensures WindowViewer is running so there will be data for the Web Client.
AVEVA™ Training
Lab 23 – Using the Web Client 8-13
After a few moments, the default web browser opens, and the windows that are open in
WindowViewer appear.
y
op
10. In the ContentDisplay window, switch to a different mixer and verify the components of the
selected mixer are displayed.
11. With the Ctrl button held down on the keyboard, and the cursor hovering over the middle of
the mixer, scroll the mouse wheel up to zoom in.
C
ot
N
o
D
12. With the Ctrl button held down on the keyboard, scroll the mouse wheel down to pan out.
13. In the Navigation window, click Alarm Overview and observe the alarms.
y
op
C
ot
N
AVEVA™ Training
Lab 23 – Using the Web Client 8-15
16. In the Web Client menu, expand Windows and select Carousel.
y
op
C
ot
N
o
D
y
op
C
ot
N
17. In the Web Client menu, Search field, enter clock, and then select ClockDigital12.
o
D
AVEVA™ Training
Lab 23 – Using the Web Client 8-17
y
Notice the LABEL still uses the default string from the original library. The Web Client converts
every symbol in the Root Folder which by default is the InTouch Training Application’s top
op
node in the Graphic Toolbox to be used by Web Client without further configuration. The
majority of these symbols require further configuration to make them more usable.
18. In the top-right corner, click the Home button.
C
ot
y
21. Click OK to acknowledge all alarms.
op
C
The alarms display as acknowledged.
ot
N
o
D
AVEVA™ Training
Lab 23 – Using the Web Client 8-19
y
op
C
The button should now look similar to the following:
ot
N
y
op
C
ot
N
o
D
AVEVA™ Training
Lab 23 – Using the Web Client 8-21
y
op
C
ot
N
o
D
Even without the Web Client interface, the graphic still supports pan and zoom.
<End of Lab>
y
op
C
ot
N
o
D
AVEVA™ Training