You are on page 1of 385

InTouch for

System Platform
2017

Michelle D. Navarro
Senior Automation Engineer
Captured Energy Green Solution, Inc.
michelle@capturedenergyph.com
Agenda
Contents
Module 1: Introduction
• Module 2: Getting Started
• Module 3: ArchestrA Symbols
• Module 4: Alarms and Events Visualization
• Module 5: Trend Visualization
• Module 6: Security
Module 1: Introduction
Contents
Section 1: Course Introduction
• Section 2: System Platform Overview
• Lab 1 – Creating and Deploying the Galaxy
• Section 3: ArchestrA Visualization Overview
• Section 4: System Requirements and Licensing
Course Introduction
The InTouch for System Platform 2017 course is a 4-day, instructor-led
class designed to provide an overview of the features and
functionalities released with InTouch for System Platform. It covers the
components and capabilities of the software, as well as topics to help
you build and deploy an 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 InTouch for System Platform application.
Course Introduction
Objectives
Upon completion of this course, you will be able to:
• Describe InTouch for System Platform visualization components
• Create and run visualization applications
• Describe situational awareness concepts
• Create and use graphics
• Implement navigation for visualization applications
• Implement alarm visualization
• Implement real-time and historical trending
• Implement visualization
Course Introduction
Prerequisites
Knowledge of the following tools, features, and technologies is required:
• Industrial automation software concepts
• From the Application Server software product:
• ArchestrA IDE
• Automation Objects
• Alarms of attributes
• Historization of attributes
• Security
• Deployment model
• Plant model
• QuickScript .NET scripting language
Module 1: Introduction
Contents
Section 1: Course Introduction
Section 2: System Platform Overview
• Lab 1 – Creating and Deploying the Galaxy
• Section 3: ArchestrA Visualization Overview
• Section 4: System Requirements and Licensing
System Platform Overview
Introduction
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 Overview
System Platform Overview
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 is built on .NET and
leverages the Microsoft Framework for the industrial automation worlds.
System Platform Overview
ArchestrA Technology
• 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, and networked applications.
• Inter-process advanced communication 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
development operation
Module 1: Introduction
Contents
Section 1: Course Introduction
Section 2: System Platform Overview
 Lab 1 – Creating and Deploying the Galaxy
• Section 3: ArchestrA Visualization Overview
• Section 4: System Requirements and Licensing
Lab 1 – Creating
and Deploying the
Galaxy
Module 1: Introduction
Contents
Section 1: Course Introduction
Section 2: System Platform Overview
 Lab 1 – Creating and Deploying the Galaxy
Section 3: ArchestrA Visualization Overview
• Section 4: System Requirements and Licensing
ArchestrA Visualization Overview
Introduction
InTouch provides the tools to develop interactive and animated
graphical displays - InTouch applications. The behavior of those
displays, including the animation and visual representations, can be
associated with properties of industrial processes and equipment
through real-time data provided by the Wonderware System Platform.
InTouch provides multiple user interface capabilities including
keyboard, mouse, tablet, and touch screen inputs, as well as multi-
screen outputs. InTouch offers a host of capabilities for Engineering,
Operations, and IT departments.
ArchestrA Visualization Overview
ArchestrA Graphics
ArchestrA graphics are developed through the ArchestrA IDE and allow
you to customize graphical representations of your processes in
virtually any permutation desired.
ArchestrA graphics can be embedded within Application Server objects,
so everything about a given object is defined within it: alarms, history,
logic, graphics, and so on, allowing greater flexibility.
ArchestrA Visualization Overview
ArchestrA Graphics
ArchestrA graphics created in the Graphic Toolbox can also be linked to
Automation Server objects. Edits to the symbol will cascade to every
object with which the symbol is linked, regardless of the hierarchical
relationship of the objects.
ArchestrA Visualization Overview
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 Wonderware System
Platform, displaying data from objects defined in a Wonderware
Application Server Galaxy.
ArchestrA Visualization Overview
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 Wonderware
Application Server application. Creating a managed application allows
use of ArchestrA 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.
ArchestrA Visualization Overview
InTouch Components
InTouch consists of three main components:
• WindowMaker: The InTouch development environment, where
object-oriented graphics are used to create animated, click-sensitive
display windows. ArchestrA graphics are embedded in InTouch
windows.
• WindowViewer: The runtime environment used to display the
graphic windows created in WindowMaker.
• Application Manager: Organizes the applications that are created.
Module 1: Introduction
Contents
Section 1: Course Introduction
Section 2: System Platform Overview
 Lab 1 – Creating and Deploying the Galaxy
Section 3: ArchestrA Visualization Overview
Section 4: System Requirements and Licensing
System Requirements and Licensing
Software Requirements

Development Galaxy Automation Supervisory


(ArchestrA IDE) Repository Object Server Client
Windows Server Preferred Preferred Preferred Preferred
Windows Workstation Supported Supported Supported Preferred
SQL Server --- Required --- ---
.NET Framework Required Required Required Required
System Requirements and Licensing
Minimum Hardware Requirements

CPU RAM Storage Display Network


(Cores) (GB) (GB) (Resolution) (Mbps)
Small 2 2 100 1024 x 768 100
1-25K I/O per node
Medium 4 8 200 1024 x 768 1000
25K-50K I/O per node
Large 8 16 500 1024 x 768 1000
>50K I/O per node
System Requirements and Licensing
Minimum Hardware Requirements
You can use all products on a single node. An All-in-One node includes Application
Sever, InTouch, Process Historian, Process Historian Client, and Licensing
components. The following table lists the minimum hardware requirements for All-
in-One node:

CPU RAM Storage Display Network


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

4 8 200 1280 x 1024 100


System Requirements and Licensing
System Platform Licensing
System Platform licenses are available on different sizes. Each option
may include licenses for a number of Galaxies, I/O points, Historian
tags, Device Integration Servers, and supervisory clients.
Each System Platform also includes:
• One Insight license
• Remote Response Objects, which are not available out-of-the-box. They
must be downloaded from the Support site.
• Available upon request, one Recipe Manager Plus Standard Edition license
with two client connections.
System Requirements and Licensing
System Platform Licensing
System Platform licenses with 25K I/O or less do not include a
Microsoft SQL Server Standard license
System Platform licenses are provided for the runtime environment.
For development purposes, a Development Studio license is required.
Otherwise, tools such as the ArchestrA IDE will not launch.
Development Studio licenses are offered only with the subscription
model.
System Requirements and Licensing
Supervisory Client Licensing
A Supervisory Client license enables the use of both Operations
Management Interface for System Platform and InTouch for System
Platform.
A Supervisory Client license can be used for thick clients (desktop), thin
clients (remote access, such as Remote Desktop Server), or web clients
(InTouch Access Anywhere and InTouch Web Client).
System Requirements and Licensing
Activated Licensing
System Platform is license-enforced using an activated licensing
framework with an activation code. Management and activation of
licenses are performed with the following components, which are
installed as part of the installation of your purchased products:
• License Server: Acquires, stores, maintains, and serves licenses. It
supports redundancy and failover.
• License Manager: Web-based user interface for accessing and
maintaining license.
Agenda
Contents
Module 1: Introduction
Module 2: Getting Started
• Module 3: ArchestrA Symbols
• Module 4: Alarms and Events Visualization
• Module 5: Trend Visualization
• Module 6: Security
Module 2: Getting Started
Contents
Section 1: Introduction
• Lab 2 – Creating a Managed InTouch Application
• Section 2: Development Environment and InTouch Windows
• Lab 3 – Building the Application Layout
• Section 3: Runtime Environment and Application Design
• Lab 4 – Deploying an InTouch Application
Introduction
InTouchViewApp Object
The InTouchViewApp object represents an InTouch application in the
Wonderware Application Server environment. The InTouchViewApp
object manages the check-in, check-out, and deployment of an InTouch
application.
The InTouchViewApp object allows application objects running on a
ViewEngine object to access InTouch tags as if they were Application
Server attributes of the InTouchViewApp object itself. The tags are
browsed through the standard Application Server attribute browser.
Introduction
InTouchViewApp Object Rules
Some key aspects of an InTouchViewApp object include:
• InTouchViewApp instances cannot be created from the InTouchViewApp
base template
• Only one level of the InTouchViewApp template can be derived from the
base InTouchViewApp template
• An instance of the InTouchViewApp cannot be derived from an existing
instance of the InTouchViewApp
• InTouchViewApp objects cannot host other objects
• Only ViewEngine objects can host and deploy InTouchViewApp objects
Introduction
• In the Model view, an InTouchViewApp object can be assigned to an Area
Object, if the InTouchViewApp object’s alarms should to belong to that
area
• Undeployment of an InTouchViewApp object is not permitted, if it is
currently loaded on a target node
• When the file copying process at the end of an InTouchViewApp object
deployment is still underway, the only allowable operation is to undeploy
the object; this will cancel the deployment and remove any partially copied
files
Introduction
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.
Introduction
The ViewEngine object:
• Is assigned to and deployed to a WinPlatform object
• Hosts and executes InTouchViewApp objects; the scan rate of the
ViewEngine object determines the scan rate of all its hosted
InTouchViewApp objects
• Contains the logic to set up and initialize InTouchViewApp objects
when they are initially deployed and started, so that they can
communicate with other objects within the Galaxy
• Does not need to be running in order for WindowViewer to execute
its scripts or access process data
Introduction
• Can host Application Server scripts and UDAs; these continue to run
when WindowViewer is shut down
• Provides a set of configuration and runtime attributes
• Contains its own set of runtime diagnostic attributes that can be
monitored, alarmed, and historized
• Can include the Wonderware Historian as part of the ViewEngine
object configuration; all InTouchViewApp objects that the ViewEngine
object hosts use this historian
• Does not support redundancy
Module 2: Getting Started
Contents
Section 1: Introduction
 Lab 2 – Creating a Managed InTouch Application
• Section 2: Development Environment and InTouch Windows
• Lab 3 – Building the Application Layout
• Section 3: Runtime Environment and Application Design
• Lab 4 – Deploying an InTouch Application
Lab 2 – Creating a
Managed InTouch
Application
Module 2: Getting Started
Contents
Section 1: Introduction
 Lab 2 – Creating a Managed InTouch Application
Section 2: Development Environment and InTouch Windows
• Lab 3 – Building the Application Layout
• Section 3: Runtime Environment and Application Design
• Lab 4 – Deploying an InTouch Application
Development Environment and
InTouch Windows
Development Environment and
InTouch Windows
The WindowMaker Interface
Development Environment and
InTouch Windows
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.
Development Environment and
InTouch Windows
Wizards/ActiveX Toolbar
The Wizards toolbar contains the tools used to embed ArchestrA
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.
Development Environment and
InTouch Windows
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.
Development Environment and
InTouch Windows
Draw Object Toolbar
The Draw Object toolbar is grouped with all the tools used to draw
both simple graphic objects, such as rectangles, ellipses, lines, or text
objects. It also contains complex objects, such as realtime trends,
historical trends, bitmaps, and 3-dimensional buttons with labels.
Development Environment and
InTouch Windows
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.
Development Environment and
InTouch Windows
Pan and Zoom Toolbar
The Pan and Zoom toolbar allows quick movements around a window
and the ability to enlarge or reduce the magnification level.
Development Environment and
InTouch Windows
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.
Development Environment and
InTouch Windows
WindowMaker Status Bar
When an object is selected in a window, the WindowMaker status bar
displays the object's upper left X and Y pixel coordinates and the
object's pixel height and width. The X and Y pixel coordinates displayed
are relative to the window the object is in, rather than the overall
WindowMaker workspace.
Development Environment and
InTouch Windows
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.
Development Environment and
InTouch Windows
Development Environment and
InTouch Windows
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.
Development Environment and
InTouch Windows
Development Environment and
InTouch Windows
Development Environment and
InTouch Windows
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.
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 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.
Development Environment and
InTouch Windows
Window Types
Window Type options include the following:
• Replace – Automatically closes any windows it intersects when it appears
on the screen, including popup and replace type windows.
• Overlay – Appears on top of the currently displayed windows and can be
larger than the windows it is overlaying. Clicking on any visible portion of a
window behind an overlay window makes that window active.
• Popup – Is similar to an overlay window, yet always stays on top of all other
open windows even if another window is clicked.
• Frame – This window type is used to host a single ArchestrA graphic. Frame
windows enable panning and zooming at runtime.
Development Environment and
InTouch Windows
Working with Frame Windows
You can create and develop frame windows in addition to or in place of
application windows. Frame windows enable you to host ArchestrA
graphics that can support pan, zoom and touch capabilities.
Development Environment and
InTouch Windows
Frame windows do not:
• support multiple ArchestrA graphics
• host native InTouch controls
• host ActiveX controls
• host SmartSymbols
• support undo/redo actions for window components
• flip or rotate actions for an embedded symbol
Development Environment and
InTouch Windows
Frame windows do not:
• print window information
• support cut, copy, paste, or duplicate operations
• provide cross reference support for ArchestrA graphics embedded in
frame windows
• support window conversion to ArchestrA symbols
• support creating new instances, editing instances or selecting
alternate instances of embedded automation object graphics
Development Environment and
InTouch Windows
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.
Module 2: Getting Started
Contents
Section 1: Introduction
 Lab 2 – Creating a Managed InTouch Application
Section 2: Development Environment and InTouch Windows
 Lab 3 – Building the Application Layout
• Section 3: Runtime Environment and Application Design
• Lab 4 – Deploying an InTouch Application
Lab 3 – Building the
Application Layout
Module 2: Getting Started
Contents
Section 1: Introduction
 Lab 2 – Creating a Managed InTouch Application
Section 2: Development Environment and InTouch Windows
 Lab 3 – Building the Application Layout
Section 3: Runtime Environment and Application Design
• Lab 4 – Deploying an InTouch Application
Runtime Environment and
Application Design
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.
Runtime Environment and
Application Design
Deploy a Managed InTouch Application
Associating all Galaxy graphics with an InTouchViewApp template
enables deployed and published InTouch applications to run graphic
requests made of any graphic in the Galaxy without having to embed
them in the application.
Before a Managed InTouch application can be used in a production
environment, it must be deployed to the target platform(s) from the
ArchestrA IDE. An instance of the $InTouchViewApp template is treated
as any other ArchestrA object and must be deployed to the target
node.
Runtime Environment and
Application Design
Deploy a Managed InTouch Application
The $ViewEngine object must have a Platform on which to run. This
object:
• Hosts InTouchViewApp objects
• Contains the logic to set up and initialize objects when they are
deployed
• Contains the logic to remove objects when they are undeployed
• Determines the scan time, which all objects within that particular
engine run
Runtime Environment and
Application Design
Deploy a Managed InTouch Application
The $InTouchViewApp object must have a ViewEngine on which to run.
This object:
• Manages the synchronization and delivery of files required by the
associated InTouch application
• Provides runtime access to tags on the associated InTouch application
• Starts WindowMaker for the associated InTouch application
Runtime Environment and
Application Design
InTouch Application Manager and WindowViewer
When the Application Manager is first run, it searches the computer for
any existing InTouch applications. Application links are displayed by an
icon containing the application's name. Other information is displayed
in columns. Notice the Application Type column indicates that an
application is Managed from the ArchestrA IDE.
Runtime Environment and
Application Design
When a managed application is selected, several toolbar buttons are
grayed out: WindowMaker, DBLoad, and DBDump. These functions are
not available for Managed InTouch applications.
Runtime Environment and
Application Design
Resolution at Runtime
Access the Resolution tab in Node Properties
to configure WindowViewer to dynamically
change resolution at runtime.
Runtime Environment and
Application Design
WindowViewer Properties –
Managed Application Tab
The WindowViewer Properties
dialog box can be accessed through
the Special | Configure |
WindowViewer menu option or
through the WindowViewer option
found in the Tools pane (Classic
View) under Configure.
Runtime Environment and
Application Design
WindowViewer Properties – Home Windows Tab
Home windows are windows that appear in WindowViewer when the
user starts WindowViewer directly, either from an icon or a menu
command.
Runtime Environment and
Application Design
WindowViewer Properties –
Viewer Memory Tab
Configure how WindowViewer
uses memory for application
windows to improve performance
at runtime.
Reopening closed windows that
have been cached retrieves them
from memory rather than loading
them from disk in certain
conditions.
Module 2: Getting Started
Contents
Section 1: Introduction
 Lab 2 – Creating a Managed InTouch Application
Section 2: Development Environment and InTouch Windows
 Lab 3 – Building the Application Layout
Section 3: Runtime Environment and Application Design
 Lab 4 – Deploying an InTouch Application
Lab 4 – Deploying
an InTouch
Application
Agenda
Contents
Module 1: Introduction
Module 2: Getting Started
Module 3: ArchestrA Symbols
• Module 4: Alarms and Events Visualization
• Module 5: Trend Visualization
• Module 6: Security
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
• Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
• Lab 5 – Building a Process Overview
• Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
• Lab 6 – Creating the Mixer Components
• Section 4: Tools and Animation
• Lab 7 – Creating the Mixer Display
• Section 5: The OwningObject Property
• Lab 8 – Switching Between Mixers
• Section 6: Custom Properties
• Lab 9 – Creating Command Displays
ArchestrA Symbol Overview
Introduction
ArchestrA symbols can be added to Automation objects, templates or
instances, through the Symbols area in the configuration editor of the
object. Symbols added to object templates are inherited by any 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.
ArchestrA Symbol Overview
ArchestrA Symbol Overview
Graphic Toolbox
InTouch WindowMaker includes the ArchestrA Graphic Toolbox, which
includes the entire set of ArchestrA Symbol and Situational Awareness
Library symbols. The ArchestrA Symbol and Situational Awareness
libraries provide different categories of symbols.
Rather than embedding Symbol Wizards from the ArchestrA IDE,
Symbol Wizards can be placed directly into an InTouch managed
application window from WindowMaker.
ArchestrA Symbol Overview
The ArchestrA symbol can be part of:
• The Graphic Toolbox
• An AutomationObject template
• An AutomationObject instance
ArchestrA Symbol Overview
Situational Awareness Introduction and Philosophy
The Graphic Toolbox includes Situational Awareness Library symbols in a set
of folders separate from other symbols in the ArchestrA 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.
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 Awareness Library symbols are not
photo realistic and provide just enough visual detail to recognize their
functional purpose without showing extraneous information to operators.
ArchestrA Symbol Overview
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
ArchestrA Symbol Overview
Situational Awareness Library Symbols
The ArchestrA Symbol Editor includes a set of Situational Awareness
Library symbols. These symbols include multiple visual and functional
configurations that are enabled by selecting values from a set of Wizard
Options associated with each symbol.
ArchestrA Symbol Overview
Configuring Symbol Wizards in
WindowMaker
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.
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
• Lab 5 – Building a Process Overview
• Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
• Lab 6 – Creating the Mixer Components
• Section 4: Tools and Animation
• Lab 7 – Creating the Mixer Display
• Section 5: The OwningObject Property
• Lab 8 – Switching Between Mixers
• Section 6: Custom Properties
• Lab 9 – Creating Command Displays
Symbol Editor
ArchestrA Graphics
One of the most powerful features of InTouch for System Platform is
the ability to graphically represent processes using ArchestrA graphics.
A quick way to do so is to embed preconfigured graphics from the
ArchestrA Symbol Library or the Situational Awareness Library, or both.
Symbol Editor
Symbol Editor
ArchestrA Graphics in the Graphic
Toolbox
The ArchestrA graphics located in the
Graphic Toolbox can be used as building
blocks for custom ArchestrA symbols.
After adding elements, configuring them as
desired, saving, and checking in the symbol,
a thumbnail image displays when the
mouse hovers over it in the Graphic
Toolbox.
Symbol Editor
Tools Pane
The Tools pane contains tools to draw symbol elements on the canvas.
Symbol Editor
Elements List
The Elements list is a list of all elements on the
canvas.

Important: If an element or a group is renamed,


the animation references to it are not automatically
updated. Manually change all animation links
referencing the old name.
Symbol Editor
Properties Tab
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.
Symbol Editor
Animation Summary
Use the animation summary to
review, select, and configure the
animation behavior of an
element selected on the canvas.
Symbol Editor
Canvas
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. 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 symbol's fixed size area by moving
the boundary with its grab handles.
Symbol Editor
Buttons
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.
Symbol Editor
Text Tool
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 text, the
size of the Text element expands. Drag the handles of the Text element
to resize it.
Symbol Editor
Text Box Tool
To add a Text Box element, click the Text Box tool in the Tools
pane, and then draw the text box on the canvas. Text boxes can have
borders and background fill.
Symbol Editor
Objects with text:
Substitute Strings
You can substitute the
strings in an object by either
using the Substitute Strings
option on the Special menu
or right-clicking the text
object and selecting
Substitute | Substitute
Strings.
Symbol Editor
Editing Element Properties
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.
• Read-only properties appear in gray
• Non-default values appear in bold
Symbol Editor
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
Symbol Editor
Selecting Elements
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 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.
Symbol Editor
Selecting Elements
Primary Element
• Appears with color-filled handles
• Behaves as an active selected element
• Is the point of reference for all operations, such as
aligning or spacing multiple selected elements
Symbol Editor
Selecting Elements
Secondary Elements
• Appear with white handles
• Behave as inactive selected elements
• Follow the edits made to the primary element
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
• Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
• Lab 6 – Creating the Mixer Components
• Section 4: Tools and Animation
• Lab 7 – Creating the Mixer Display
• Section 5: The OwningObject Property
• Lab 8 – Switching Between Mixers
• Section 6: Custom Properties
• Lab 9 – Creating Command Displays
Lab 5 – Building a
Process Overview
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
• Lab 6 – Creating the Mixer Components
• Section 4: Tools and Animation
• Lab 7 – Creating the Mixer Display
• Section 5: The OwningObject Property
• Lab 8 – Switching Between Mixers
• Section 6: Custom Properties
• Lab 9 – Creating Command Displays
ArchestrA Symbols with Objects
Managing ArchestrA Symbols Within Automation Objects
Use the Symbols area for the configuration editor of the
AutomationObject to add a new symbol using the Add button, give it a
valid name, and enter an optional description.
The names must be unique. Valid characters for symbol names include
alphanumeric characters such as $, #, and _ (underscore). Symbol
names cannot include spaces and the symbol name cannot begin with
the $ character.
ArchestrA Symbols with Objects
Inserting ArchestrA Symbols from an Automation Object
From the ArchestrA graphics perspective, symbols added to
Automation objects are referenced like any other attribute within that
object using the symbol’s name.
ArchestrA Symbols with Objects
Selecting Alternate Symbols of the Same Instance
Automation objects can include more than one ArchestrA symbol. The
Select Alternate Symbol feature allows the replacement of an
embedded symbol with another symbol belonging to the same
instance. This feature is available in both the Symbol Editor and
WindowMaker.
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
• Section 4: Tools and Animation
• Lab 7 – Creating the Mixer Display
• Section 5: The OwningObject Property
• Lab 8 – Switching Between Mixers
• Section 6: Custom Properties
• Lab 9 – Creating Command Displays
Lab 6 – Creating
the Mixer
Components
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
 Section 4: Tools and Animation
• Lab 7 – Creating the Mixer Display
• Section 5: The OwningObject Property
• Lab 8 – Switching Between Mixers
• Section 6: Custom Properties
• Lab 9 – Creating Command Displays
Tools and Animation
Creating Custom Symbols
You can use the features of the Symbol Editor and its environment to
create custom elements and put them together to create custom
ArchestrA symbols. You can then embed them within other ArchestrA
symbols, if desired.
You can then configure the elements with Animations, Scripts, or
Custom Scripts, similar to preconfigured graphics.
Tools and Animation
Tools Pane
Recall the Tools pane introduced earlier, which contains tools to draw
symbol elements on the drawing canvas.
Tools and Animation
The Tools pane includes:
• Basic objects such as lines, rectangles, polygons, and arcs
• A pointer tool to select and move elements on the canvas
• Windows common controls such as combo boxes, calendar controls,
radio button groups, and others
• A Status tool to show quality and status of selected ArchestrA
attributes
Tools and Animation
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.
Tools and Animation
Editing Components Within a Group
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.
Tools and Animation
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.
Tools and Animation
The path graphic depends upon:
• The order in which the elements were drawn. Each element is linked
to the next element 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.
Tools and Animation
Images
Images files such as .bmp, .gif, .mpg, .mpeg, .tif, .tiff, or .png, may be
added to an ArchestrA 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 an
ArchestrA graphic. To change the image to its original size, right-click
the object and select Image – Original Size.
Tools and Animation
Select Image Transparent Color
An image can be defined with a transparent color so background
objects or graphics behind it will be visible. By defining a transparent
color, the background of the graphic or any objects behind the image
will show through in the areas where the transparent color is used.
To accomplish this, change the image Fill Color to No Fill and Line Color
to No Line. Right-click the image and click Select Image Transparent
Color. Click the Blotter over the color you wish to be transparent.
Tools and Animation
Adjusting the Order of Elements or Z-Order
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 path graphic
connect.
.
Tools and Animation
Rotating Elements
Rotate elements to any orientation (0 -359 degrees):
• Graphically with the rotation handle
• Numerically by typing the orientation angle in the Properties tab
• By rotating them by 90 degrees in a clockwise or counterclockwise
direction
The element is rotated around its point of origin. By default, the point
of origin is in the center of the element. You can move the point of
origin to any other location, even outside of the object itself.
Tools and Animation
Visualization and Interaction Animations
There are two types of animations:
• 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
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 app
Tools and Animation
Show Symbol and Hide Symbol Animations
The Show and Hide Symbol animations allows the display of a symbol
as a pop-up window through symbol animation. A Show Symbol
animation shows a specified symbol at a specified position when the
runtime user clicks on the element. You can configure a Hide Symbol
animation to close the current symbol or to close a symbol that is
shown by a specified element.
Tools and Animation
Configure Show Symbol
A Show Symbol animation pops-up a specified symbol independent of
any InTouch window at a specified position when the runtime user
clicks on the element.
Tools and Animation
Configure Hide Symbol
In the Edit Animations window for the element, add the Hide Symbol
animation and configure the options:
• Symbol that will close, either the one that was opened by the
element or a symbol that was opened by a specified element
• Shortcut key identified to close the symbol, if any
Tools and Animation
Disable Animation
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.
Tools and Animation
Value Display Animation
Use the Value Display animation to specify a Discrete, Analog, String,
Time, or Name expression to display at runtime.
Tools and Animation
Element Style Animation
You can configure an element or a group of elements by adding an
Element Style animation.
There are two types of Element Style animations:
• Boolean: Animation that applies Element Styles, based on a binary
True/False condition
• Truth Table: Animation that applies Element Styles based on a range
of possible values
Tools and Animation
Pushbutton Animation
You can configure an element with a pushbutton animation. You can
choose whether the pushbutton will be Boolean, analog, or string.
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
 Section 4: Tools and Animation
 Lab 7 – Creating the Mixer Display
• Section 5: The OwningObject Property
• Lab 8 – Switching Between Mixers
• Section 6: Custom Properties
• Lab 9 – Creating Command Displays
Lab 7 – Creating
the Mixer Display
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
 Section 4: Tools and Animation
 Lab 7 – Creating the Mixer Display
 Section 5: The OwningObject Property
• Lab 8 – Switching Between Mixers
• Section 6: Custom Properties
• Lab 9 – Creating Command Displays
The OwningObject Property
OwningObject
The OwningObject property of a symbol is a runtime property that is
used to dynamically change the references within a symbol from one
instance to another. The OwningObject property can be used as the
ArchestrA 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.
The OwningObject Property
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
 Section 4: Tools and Animation
 Lab 7 – Creating the Mixer Display
 Section 5: The OwningObject Property
 Lab 8 – Switching Between Mixers
• Section 6: Custom Properties
• Lab 9 – Creating Command Displays
Lab 8 – Switching
Between Mixers
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
 Section 4: Tools and Animation
 Lab 7 – Creating the Mixer Display
 Section 5: The OwningObject Property
 Lab 8 – Switching Between Mixers
 Section 6: Custom Properties
• Lab 9 – Creating Command Displays
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 ArchestrA 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
Custom properties can be set to either be Private or Public:
• A Private property is not exposed when the symbol is embedded
• A Public property can be customized when the symbol
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
Custom Properties
Manage custom properties of a symbol in the Edit Custom Properties
dialog box.
Custom Properties
Data Type Symbols
The symbols for the data types of a custom property are:
Custom Properties
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.
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 Reference.
Custom Properties
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
Custom Properties
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.
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview • Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
 Section 4: Tools and Animation
 Lab 7 – Creating the Mixer Display
 Section 5: The OwningObject Property
 Lab 8 – Switching Between Mixers
 Section 6: Custom Properties
 Lab 9 – Creating Command Displays
Lab 9 – Creating
Command Displays
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview  Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
• Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
 Section 4: Tools and Animation
 Lab 7 – Creating the Mixer Display
 Section 5: The OwningObject Property
 Lab 8 – Switching Between Mixers
 Section 6: Custom Properties
 Lab 9 – Creating Command Displays
Scripts in ArchestrA Symbols
Overview of the Scripting Environment
You can write scripts to monitor and manage aspects of your InTouch
applications. A script is a set of programmatic instructions that directs
an InTouch application to perform an action. You write InTouch scripts
with the QuickScript language. Using QuickScript, you can write scripts
that include conditional branching, code looping, and local variables.
Scripts in ArchestrA Symbols
Scripts can be classified by when they are run and whether they run
independently of other ongoing application processes. Scripts can
generally be run in two different ways:
• Event-based scripts run once when an event occurs.
• Time-based scripts run periodically while a condition is fulfilled.
Scripts in ArchestrA Symbols
For condition scripts, you can either run a script synchronously or
asynchronously:
• When a synchronous script runs, all InTouch animation and tag value
updating stops. Then, animation and tag value updating resumes
after the script stops.
• When an asynchronous script runs, all InTouch animation and tag
value updating continues during the period when the script runs.
Scripts in ArchestrA Symbols
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 either:
• On scan in the runtime environment; or
• Changes scan or start/shutdown state

*When a script condition is true, the script runs at least once


immediately. The maximum length of a script trigger period is 49 days.
A script never runs if the trigger period exceeds 49 days.
Scripts in ArchestrA Symbols
The following characteristics apply to the scripting environment:
• Script text has no length limitations.
• Selecting a script function from the Script Function Library dialog box
adds it and its syntax to the script text where you can edit it.
• You can save a script with syntax errors, but the object cannot be
deployed until you correct the script syntax errors.
• You can validate your scripts before using them. This helps you avoid
syntactically correct but semantically incorrect combinations, such as
two statements declaring the same variable. Variables can be
declared only one time in a single block.
Scripts in ArchestrA Symbols
• You can change the name of a script at any time by renaming it in the
Object Editor.
• In the runtime environment, a script execution error stops the script’s
current execution. Script execution is retried on the next AppEngine
scan.
Scripts in ArchestrA Symbols
Types of Scripts
• Application scripts, which run either continuously while
WindowViewer is running or one time when WindowViewer is started
or shut down
• Window scripts, which run periodically when an InTouch window is
open or one time when an InTouch window is opened or closed.
• Key scripts, which run one time or periodically when a certain key or
key combination is pressed or released
• Condition scripts, which run one time or periodically when a certain
condition is fulfilled or not fulfilled.
Scripts in ArchestrA Symbols
Types of Scripts
• 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.
Scripts in ArchestrA Symbols
Associating Scripts with ArchestrA Symbols
You can associate scripts with the ArchestrA symbols placed in your
InTouch applications. You can use scripts to animate your symbols or
modify their elements, while an InTouch application is running.
Key points include:
• A symbol script can be either predefined or named. A predefined
script runs based on the status of the symbol in the running
application. A named script runs when an expression or references
associated with the script changes state.
Scripts in ArchestrA Symbols
• Predefined scripts are similar to InTouch window scripts. Based upon
how you configure the script trigger, a predefined symbol script can
run:
• Once, after the symbol opens or is shown.
• Periodically, while the symbol appears in the running application.
• Once, after the symbol closes or is hidden.
• Based upon how you configured the script, a named symbol script can
run, when the trigger values or expressions are true, false, or
transitioning between true and false states. Also, a named symbol
script can run, when data associated with the trigger expression
changes value or its quality state changes value.
Scripts in ArchestrA Symbols
Execution Types and Triggers
The existence and execution order of scripts associated with an object
are inherently locked at each stage of development in the template,
derived template, and instance.
New scripts in the derived template can be ran in any order before and
after the template’s block of scripts. The derived template’s execution
order is treated as a block in any downstream derived templates or
instances. Scripts cannot trigger any faster than the scan period of the
AppEngine the script is associated with or faster than the scan period
of the AppEngine that hosts the object that the script is associated
with.
Scripts in ArchestrA Symbols
Scripts run in one of two modes:
• Synchronous scripting mode is the default for running scripts in the
runtime environment. This mode runs scripts in order while an object
is running on scan.
• Asynchronous scripting mode is a group of scripts running on the
same, lower priority execution thread. These scripts only support
Execute triggering and run independently 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.
Scripts in ArchestrA Symbols
ShowGraphic() Function
Associating all Galaxy graphics with an InTouchViewApp template
enables deployed and published InTouch applications to run show
graphic requests made of any graphic in the Galaxy without having to
embed them in the application.
Scripts in ArchestrA Symbols
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
Scripts in ArchestrA Symbols
About the Show/Hide Graphic Functions
The Show/Hide Graphic script functions allow you to write ArchestrA
graphic scripts to display a symbol as a 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 animation and the Show/Hide Graphic script functions
together.
Scripts in ArchestrA Symbols
About the Show/Hide Graphic Functions
You can configure the script to specify:
• Which symbol will appear as the popup window
• Whether the window will have a title bar
• The initial position of the popup window
• Whether the window can be resized
• Whether the window will be modal or modeless
• The relative position of the popup window
• Passing the OwningObject to the symbol to display
• Values of the custom properties of the symbol
Scripts in ArchestrA Symbols
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 );
Scripts in ArchestrA Symbols
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
Scripts in ArchestrA Symbols
Scripting the OwningObject
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.
An OwningObject can be a concatenation of constant strings and
reference strings. It can be browsed to by using the Display
Automation Object Browser, or by entering the name of the
OwningObject.
graphicInfo.OwningObject = "Mixer_001";
Scripts in ArchestrA Symbols
Runtime Behavior of the Show/Hide Graphic Functions
The Show/Hide Graphic script functions exhibit the following behavior:
• The graphic, configured with the ShowGraphic script function,
behaves like a ShowSymbol animation popup window, rather than an
InTouch popup window.
• You can configure a symbol with both the ShowSymbol animation and
ShowGraphic 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.
Scripts in ArchestrA Symbols
• 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.
Scripts in ArchestrA Symbols
• Any graphic displayed by the ShowGraphic script function or ShowSymbol
animation always remains in front of InTouch windows, except InTouch
popup windows. Even if you click an InTouch window, the window remains
behind these graphics.
• Enabling in-memory graphics caching in WindowViewer memory
properties will keep ShowGraphic and ShowSymbol animation popup
symbols cached in memory. The system tracks the order in which graphics
are closed in order to determine their age. If a userdefined in-memory limit
is exceeded, the system automatically removes the oldest popup symbols
in the in-memory graphics cache, except those defined in high-priority
windows. If you display a symbol with the ShowGraphic script function or
with ShowSymbol animation, WindowViewer will perform a memory
health check.
Scripts in ArchestrA Symbols
Behavior of ShowGraphic Windows with the Same Identity
ShowGraphic popup windows attempting to open a popup window
with the same Identity exhibit the following behavior with the
predefined scripts OnHide, OnShow, and WhileShowing:
• A ShowGraphic script function within an OnShow script will be
blocked, if a ShowGraphic popup window with the same Identity is
already displayed.
• A ShowGraphic script function within an WhileShowing script will be
blocked, if a ShowGraphic popup window with the same Identity is
already displayed.
Scripts in ArchestrA Symbols
• 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.
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.
Scripts in ArchestrA Symbols
Closing a Symbol
You can close a symbol, displayed using the ShowGraphic script
function, by running the HideGraphic or HideSelf script functions,
clicking the Close Window button of the graphic popup window, if
configured, or by closing WindowViewer. You cannot close the graphic
by closing the InTouch window or the symbol that opened the graphic.
Windows opened by the ShowGraphic script function or ShowSymbol
animation are loaded dynamically and are not exposed at runtime. You
cannot close these windows using the WindowViewer Close Window
dialog box.
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview  Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
 Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects • Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
 Section 4: Tools and Animation
 Lab 7 – Creating the Mixer Display
 Section 5: The OwningObject Property
 Lab 8 – Switching Between Mixers
 Section 6: Custom Properties
 Lab 9 – Creating Command Displays
Lab 10 – Creating a
Navigation Symbol
Module 3: ArchestrA Symbols
Contents
 Section 1: ArchestrA Symbol Overview  Section 7: Scripts in ArchestrA Symbols
 Section 2: Symbol Editor
 Lab 10 – Creating a Navigation Symbol
 Lab 5 – Building a Process Overview
 Section 3: ArchestrA Symbols with Objects  Section 8: Galaxy Styles
 Lab 6 – Creating the Mixer Components
 Section 4: Tools and Animation
 Lab 7 – Creating the Mixer Display
 Section 5: The OwningObject Property
 Lab 8 – Switching Between Mixers
 Section 6: Custom Properties
 Lab 9 – Creating Command Displays
Galaxy Styles
Introduction
An Element Style defines a set of visual properties that determine the
appearance of text, lines, graphic outlines, and interior fill shown in
ArchestrA 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 ArchestrA 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.
Galaxy Styles
Galaxy Style Library
A set of Element Styles is provided in the predefined Galaxy Style
Library. The predefined values 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.
Galaxy Styles
Visual Properties Defined by Element Styles
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.
Galaxy Styles
Element Styles in Animations
You can configure an element or a group of elements with Boolean or
Truth Table animations that determine whether Element Styles are
applied based on evaluated conditions or expressions.
Galaxy Styles
Property Style Order of Precedence
To understand the behavior of an element’s properties when an
Element Style is applied, you should understand the order of
precedence for the levels at which property styles are applied.
Galaxy Styles
Updating Element Styles at Application Runtime
You can update the Elements Styles applied to symbols or graphics
included in a running application. However, you can use the following
methods:
• Updating Element Styles from the IDE
• Importing an updated Graphic Style Library
Galaxy Styles
The Status Element
Use a status element to monitor and indicate the status or quality of:
• All ArchestrA attributes used in one or more specified animated
elements in the same hierarchical level
• One or more specified ArchestrA attributes
Galaxy Styles
The status element enables monitoring of the status and quality of any
data point in the Galaxy and adding graphical feedback to a symbol.
The following Status Styles are monitored:
• Communication Error
• Configuration Error
• Pending
• Operational Error
• Software Error
• Security Error
Galaxy Styles
• Warning
• Out of Service
• Device Failure
• Bad
• Uncertain
• Initializing
Galaxy Styles
Galaxy Styles
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 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 ArchestrA symbol.
Galaxy Styles
Configuring Status Elements
Status elements are configured through the Edit Animations dialog box
in a pre-built DataStatus animation. Associate the status element using
the following tabs:
• Graphics
• Expression
Galaxy Styles
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 ArchestrA IDE through the
Galaxy menu, under Configure |
Galaxy Style Library.
Galaxy Styles
Galaxy Styles
Overriding Quality and Status Displays
Configure any animated element to appear differently depending on
the quality and status of its associated attributes.
For animated elements:
• Override the appearance of the text font, style, and blinking
• Override the appearance of the fill style and blinking
• Override the appearance of the line style, weight, pattern, and
blinking
• Preview all status appearances in one dialog box
Galaxy Styles
• Reset the status appearances to their defaults
• Use an outline to indicate a specified status or quality
Agenda
Contents
Module 1: Introduction
Module 2: Getting Started
Module 3: ArchestrA Symbols
Module 4: Alarms and Events Visualization
• Module 5: Trend Visualization
• Module 6: Security
Module 4: Alarms and Events
Visualization
Contents
Section 1: ArhestrA Alarming Overview
• Lab 11 – Applying Alarm Border Animation
• Lab 12 – Building an Alarm Aggregation Overview
• Section 2: Live Alarms Visualization
• Lab 13 – Building a Live Alarm Display
• Lab 14 – Creating an Alarm Popup Symbol
• Section 3: Logged Alarms and Events Visualization
• Lab 15 – Building a Historical Alarm Display
ArchestrA Alarming Overview
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.
ArchestrA Alarming Overview
How Does ArchestrA Handle Alarms?
The Platform as an Alarm Provider
A Platform can act as a single Alarm Provider that provides alarms to
the InTouch Distributed Alarm subsystem.
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.
ArchestrA Alarming Overview
Alarms:
ArchestrA 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
Limit (mxValue) Limit
Category Class
Category SubClass
ArchestrA Alarming Overview
InTouch as an Alarm Consumer
The InTouch Alarm Client can be configured to subscribe to alarms and
events generated by Alarm Providers. The Alarm Provider is specified
by providing the node name and the name of the provider. For
ArchestrA, only one provider exists per Platform (node). In addition,
the InTouch Alarm client can be configured to subscribe to only
selected Alarm Areas for the provider based on its query filters.
ArchestrA Alarming Overview
Alarm Acknowledgment from Distributed Alarming
The InTouch Alarm Client can acknowledge unacknowledged alarms
that are reported by the Platform. The Platform receives the
acknowledge request and forwards it to the target, which is the
AutomationObject acknowledge attribute for the alarm. Security is
used as part of this set (it is a UserSetAttribute). An optional comment
can be entered, when an acknowledgment is requested.
ArchestrA Alarming Overview
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).
ArchestrA Alarming Overview
How Does ArchestrA Handle Events?
A Platform is an Event Provider that provides events to the InTouch
Distributed Alarm subsystem.
This provider routes all events that are generated by Automation
objects hosted by that Platform to the Application Server. The following
tables define how fields in those events are mapped to fields in the
Distributed Alarm subsystem.
ArchestrA Alarming Overview
System Events:
ArchestrA 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
N/A State = none (preferred) or “UNACK_RTN”
N/A Priority = 1
N/A Provider = Galaxy
N/A Event Class = EVENT
ArchestrA Alarming Overview
Security Audit (includes User Data Change) Events:
ArchestrA Field Distributed Alarm Subsystem Mapping
Type = Operator Change Type = OPR
Timestamp Time
Tag.primitive.attribute Name
Tag description Comment
Area Alarm group
View engine name N/A
Operator 1 name RequestingEngineName + Operator name
Operator 2 name N/A
Old value Limit
New value Value
N/A State = none (preferred) or “UNACK_RTN”
N/A Priority = 999
N/A Provider = Galaxy
N/A Event Class = EVENT
ArchestrA Alarming Overview
Security Audit (includes User Data Change) Events:
ArchestrA Field Distributed Alarm Subsystem Mapping
Type = Data Change Type = LGC
Timestamp Time
Tag.primitive.attribute Name? or name + comment?
Tag description Comment
Area Alarm group
View engine name Platform (the PC’s node name)
Old value Limit
New value Value
N/A State = none (preferred) or “UNACK_RTN”
N/A Priority = 999
N/A Provider = Galaxy
ArchestrA Alarming Overview
Alarm Queries
Alarm queries are used within Alarm Clients to retrieve real-time alarm
information and event 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
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
ArchestrA Alarming Overview
Different variants of the alarm query and their return data:
Alarm Query Results
\\nodename\Galaxy!area All alarms and events from the area object itself.
All alarms and events from all the objects hosted in the area.
All alarms and events from all subareas contained in the area,
as configured in the Model view of the ArchestrA IDE.
All alarms and events from all the objects hosted in the
contained areas
\\nodename\Galaxy!area!object All alarms and events from the object itself.
\\nodename\Galaxy!winplatform All alarms and events from the WinPlatform object itself.
\\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.
ArchestrA Alarming Overview
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.

Only one wildcard character is allowed per alarm query.


ArchestrA Alarming Overview
Using Multiple Queries
Multiple queries can be submitted by an Alarm Client. For example, if
Area1 and Area2 are two mutually exclusive areas, the following two
queries can be submitted at once:
\Galaxy!Area1 \Galaxy!Area2
By using multiple queries, it is possible to retrieve alarms from different
nodes (WinPlatform objects) at the same time, for example:
\\NodeNameA\Galaxy!Area1 \\NodeNameB\Galaxy!Area2
ArchestrA Alarming Overview
The Alarm Extension
An alarm extension can be added to a template or instance Boolean
attribute. If added to a template attribute, the alarm extension is
automatically locked in derived objects. Attribute arrays 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
ArchestrA Alarming Overview
Alarm Border Animation
Alarm Border animation shows a
highly visible border around a symbol
or graphic element when an alarm
occurs. The color and fill pattern of
the border indicates the severity and
current state of the alarm. Plant
operators can quickly recognize alarm
conditions when Alarm Border
animation is used.
ArchestrA Alarming Overview
Understanding the Behavior of Alarm Border Animations
Alarm Border animations appears around a graphic element based on
the current state of the object’s aggregated alarm attributes. The
appearance of the alarm border itself reflects the current alarm state
and the user’s interaction with the alarm.
• A symbol’s process value transition into an alarm state: Alarm Border
animation appears around the symbol based on alarm severity with
blinking
• The user acknowledges an alarm with the process value still in an
alarm state: Alarm Border animation appears around the symbol
without blinking
ArchestrA Alarming Overview
• The alarm value returns to normal without the user acknowledging
the alarm: Alarm Border animation remains around the symbol in a
defined Return to Normal visual style without blinking
• The alarm value returns to normal and the user acknowledges the
alarm: Alarm Border animation no longer appears around a symbol
• The user suppresses an alarm: Alarm Border animation remains
around the symbol in a defined Suppressed visual style; however, an
alarm indicator icon does not appear for a Suppressed state
Note: Alarm Border animation is not used for alarms in an inhibited or
a shelved state.
ArchestrA Alarming Overview
• 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
ArchestrA Alarming Overview
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.
ArchestrA Alarming Overview
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:
• AlarmMostUrgentInAlarm: Indicates the InAlarm status (True/False)
of the highest priority current alarm
• AlarmMostUrgentAcked: Indicates the acknowledgment status
(True/False) of the highest priority current alarm
• AlarmMostUrgentMode: Indicates the mode
(Enabled/Silenced/Disabled) of the highest priority current alarm
ArchestrA Alarming Overview
• AlarmMostUrgentSeverity: Indicates the severity as an integer (1-4)
of the highest priority current alarm; if no alarms are in an InAlarm
state or waiting to be acknowledged, the value is 0
• AlarmMostUrgentShelved: Indicates the shelved status (True/False)
of the highest priority current alarm
ArchestrA Alarming Overview
To set Alarm Border animation for individual alarms, users specify
references to the following alarm attributes or tags:
• InAlarm attribute
• Acked attribute
• Mode attribute
• Severity attribute
• Shelved attribute
ArchestrA Alarming Overview
Configuring Optional Alarm Border Animation Characteristics
Users can complete a set of optional tasks to customize the appearance
of an Alarm Border animation.
ArchestrA Alarming Overview
Changing the Alarm Border Indicator Icon
Alarm border animation shows an indicator icon at the top-left corner
of the border with alarm severity as a number from 1 to 4. Other
indicator images represent alarm suppressed, silenced and shelved
modes.
A default Alarm Border indicator image is assigned to each alarm mode
and severity level. The default images appear in the Image column of
the Alarm and Events Configuration dialog box. The images are saved
in an XML file located in the ArchestrA global data cache.
ArchestrA Alarming Overview
ArchestrA Alarming Overview
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
ArchestrA Alarming Overview
Modify Alarm Border Animation
Element Styles
The color and fill pattern of alarm
borders are set by the Outline
properties of a set of AlarmBorder
Element Styles.
The assignment of these Element Styles
to alarm conditions cannot be changed.
Only the assigned Element Style's
Outline properties can be changed to
modify the line pattern, line weight, and
line color of alarm borders.
ArchestrA Alarming Overview
Aggregating Alarm State Information
Alarm aggregation provides an efficient way to identify whether any
alarms on an object are currently in the InAlarm state, the overall
status of the most important of those alarms, and how many alarms
are active at each level of alarm severity and at each level of
containment. This makes it possible to follow a trail from one level to
the next to find the underlying cause of a complex object’s alarms.
ArchestrA Alarming Overview
Alarm aggregation functionality can be described for an:
• Object
• Area
• Attribute
ArchestrA Alarming Overview
Alarms are aggregated if they are in one of three states:
• UNACK_ALM
• ACK_ALM
• UNACK_RTN
ArchestrA Alarming Overview
Alarm Aggregation Attributes
ArchestrA Alarming Overview
Configuring Alarm State Aggregation
ArchestrA Alarming Overview
Monitoring Alarm State Information at Runtime
ArchestrA Alarming Overview
Shelving Alarms
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 triggered during system modifications or
repairs, allowing you to focus on correcting other more urgent alarms.
ArchestrA Alarming Overview
Enabling Alarm Shelving
Alarm shelving is configured from the ArchestrA IDE Configuration
menu, and is enabled on the Area object.
ArchestrA Alarming Overview
Shelving Alarms at Runtime
Use a runtime client to shelve and unshelve alarms. From Application
Server, you can use Object Viewer to monitor and control shelved
alarm attributes. From a Managed InTouch application, you can use an
embedded ArchestrA Alarm Control and at least one animation to write
to the AlarmShelveCmd attribute.
Module 4: Alarms and Events
Visualization
Contents
Section 1: ArhestrA Alarming Overview
 Lab 11 – Applying Alarm Border Animation
• Lab 12 – Building an Alarm Aggregation Overview
• Section 2: Live Alarms Visualization
• Lab 13 – Building a Live Alarm Display
• Lab 14 – Creating an Alarm Popup Symbol
• Section 3: Logged Alarms and Events Visualization
• Lab 15 – Building a Historical Alarm Display
Lab 11 – Applying
Alarm Border
Animation
Module 4: Alarms and Events
Visualization
Contents
Section 1: ArhestrA Alarming Overview
 Lab 11 – Applying Alarm Border Animation
 Lab 12 – Building an Alarm Aggregation Overview
• Section 2: Live Alarms Visualization
• Lab 13 – Building a Live Alarm Display
• Lab 14 – Creating an Alarm Popup Symbol
• Section 3: Logged Alarms and Events Visualization
• Lab 15 – Building a Historical Alarm Display
Lab 12 – Building an
Alarm Aggregation
Overview
Module 4: Alarms and Events
Visualization
Contents
Section 1: ArhestrA Alarming Overview
 Lab 11 – Applying Alarm Border Animation
 Lab 12 – Building an Alarm Aggregation Overview
Section 2: Live Alarms Visualization
• Lab 13 – Building a Live Alarm Display
• Lab 14 – Creating an Alarm Popup Symbol
• Section 3: Logged Alarms and Events Visualization
• Lab 15 – Building a Historical Alarm Display
Live Alarms Visualization
Introduction
The ArchestrA Alarm Client control is a graphic element that can be
used in ArchestrA symbols to show current and historical alarms and
events.
The ArchestrA Alarm Client control replaces the Alarm Viewer control
and Alarm DB View control in the InTouch HMI and extends alarm
visualization to the ArchestrA graphics environment.
Live Alarms Visualization
Once the control format has been designed, a user can make the
following adjustments to manipulate the data they are viewing in
runtime, such as:
• Refreshing the Alarm Client control grid to show the most current
alarms
• Using the status bar to view various information about the alarm
records
• Acknowledging, hiding, filtering, or sorting alarms
• Freezing the Alarm Client control grid
Live Alarms Visualization
• Switching between client modes
• Switching between languages
Live Alarms Visualization
The Alarm Client Control
supports five different
client modes, which can
be grouped depending on
their data source. Alarm
Client Control supports
the InTouch Database
(WWALMDB), the
ArchestrA Database
(A2ALMDB), and the
Historian History Blocks.
Live Alarms Visualization
The Alarm Client Control
allows users to view and
acknowledge all locally and
remotely generated alarms.
Live Alarms Visualization
Embedding the ArchestrA Alarm Client Control
Live Alarms Visualization
Configuration Options
Alarm Mode
Set the Alarm Client Control to show either:
• Current alarms
• Recent alarms and events
Live Alarms Visualization
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.
Live Alarms Visualization
In the Client Mode drop-down list, select which alarms to display:
• Current Alarms
• Recent Alarms and Events
• Historical Alarms
• Historical Events
• Historical Alarms and Events
Live Alarms Visualization
Live Alarms Visualization
The alarm query is configured in the Alarm Query field. To create a new
line in the Alarm Query field, press Ctrl + Enter.
If a default acknowledgment comment is needed, check the Use
Default Ack Comment check box and enter a comment in the text box.
Live Alarms Visualization
Colors
Different types of alarm records can be displayed in different colors so
that the operator can more easily identify certain types of alarms. The
Alarm Client control can be configured with priority breakpoints to
show alarm records within the resulting priority ranges in different
colors. The control background color, the grid color, and the heading
colors can also be customized.
Live Alarms Visualization
Live Alarms Visualization
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 columns or change
their order with the pointer.
Live Alarms Visualization
Live Alarms Visualization
Queries and Filters
Current and historical alarms can be filtered by using Queries and
Filters. A query filter is a collection of filter criteria in a logical
construct.
Filter queries can be reused from historical alarms for current alarms,
and vice versa. Filter queries can also be reused and defined at design-
time for runtime, and vice versa.
Note: Queries and Filters for current alarms and recent alarms and
events require at least a Provider and a Group as filter criteria. These
must use the equals sign.
Live Alarms Visualization
Live Alarms Visualization
Time Settings
Set the time zone in which the client shows the alarm and event
records. By default, the time zone is set to the client computer’s
current time zone at design-time. Use the TimeZone.TimeZone,
Time.Type, and Time.Format properties in scripting to set the time
zone, time type, and time format at runtime.
Live Alarms Visualization
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
Live Alarms Visualization
Live Alarms Visualization
Runtime 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
Live Alarms Visualization
• Specifying Alarm Client control freeze behavior
• Customizing the no records message
• Customizing the runtime shortcut menu
Live Alarms Visualization
Live Alarms Visualization
Data Binding
Data Binding binds the properties of an embedded client control to
attributes or element references. This enables attributes and element
references source and consume data for the client control properties.
Live Alarms Visualization
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
Live Alarms Visualization
Live Alarms Visualization
Event
Use Event to configure ArchestrA 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
Live Alarms Visualization
Module 4: Alarms and Events
Visualization
Contents
Section 1: ArhestrA Alarming Overview
 Lab 11 – Applying Alarm Border Animation
 Lab 12 – Building an Alarm Aggregation Overview
Section 2: Live Alarms Visualization
 Lab 13 – Building a Live Alarm Display
• Lab 14 – Creating an Alarm Popup Symbol
• Section 3: Logged Alarms and Events Visualization
• Lab 15 – Building a Historical Alarm Display
Lab 13 – Building a
Live Alarm Display
Module 4: Alarms and Events
Visualization
Contents
Section 1: ArhestrA Alarming Overview
 Lab 11 – Applying Alarm Border Animation
 Lab 12 – Building an Alarm Aggregation Overview
Section 2: Live Alarms Visualization
 Lab 13 – Building a Live Alarm Display
 Lab 14 – Creating an Alarm Popup Symbol
• Section 3: Logged Alarms and Events Visualization
• Lab 15 – Building a Historical Alarm Display
Lab 14 – Creating
an Alarm Popup
Symbol
Module 4: Alarms and Events
Visualization
Contents
Section 1: ArhestrA Alarming Overview
 Lab 11 – Applying Alarm Border Animation
 Lab 12 – Building an Alarm Aggregation Overview
Section 2: Live Alarms Visualization
 Lab 13 – Building a Live Alarm Display
 Lab 14 – Creating an Alarm Popup Symbol
Section 3: Logged Alarms and Events Visualization
• Lab 15 – Building a Historical Alarm Display
Logged Alarms and Events
Visualization
Introduction
Alarm and event data can be logged with Process 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.
Logged Alarms and Events
Visualization
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 process
data and events. Similar to process data, Alarm and Event historization
also supports Store and Forward, Application Engine fail-over, and dual
Historians.
Logged Alarms and Events
Visualization
Selecting Alarm and Event Categories to Historize
Logged Alarms and Events
Visualization
Setting Up the Engine
Logged Alarms and Events
Visualization
Object Setup
Logged Alarms and Events
Visualization
Configuring the Alarm Client Tool
The Alarm Client tool can be configured for historization by selecting
one of the historical options in the Client Mode drop-down list.
Logged Alarms and Events
Visualization
Alarm DB Logger Manager
The legacy Alarm DB Logger application can be used to start and stop
logging operations. The Alarm DB Logger Manager can start as a service
or a normal application.
The Alarm DB Logger Manager shows the percentage fill of the Smart
Cache with alarm records. The alarms are cached when the SQL Server
connection is down or when alarms occur faster than Alarm DB Logger
can log them to the alarm database.
Logged Alarms and Events
Visualization
Configuring Alarm Database Logging
To log Galaxy alarm and event data to the alarm database, do the
following from within the Alarm DB Logger Manager:
• Configure the connection to the alarm database
• Select which alarms to log to the alarm database
• Set the interval to log records to the alarm database
• Select which method to run the Alarm DB Logger
Logged Alarms and Events
Visualization
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 query.
Use the following query syntax for remote nodes:
\\NodeName\Provider!AlarmGroup
Use the following query syntax for the local node:
\Provider!AlarmGroup
Logged Alarms and Events
Visualization
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
Logged Alarms and Events
Visualization
Historical Alarms
When the Alarm Control is configured in the Historical Alarms mode,
only alarms stored in the Alarm Database are shown.
Logged Alarms and Events
Visualization
Historical Events
When the Alarm Control is configured in the Historical Events mode,
only events stored in the Alarm Database are shown.
Logged Alarms and Events
Visualization
Historical Alarms and Events
When the Alarm Control is configured in the Historical Alarms and
Events mode, both alarms and events stored in the Alarm Database are
displayed.
Logged Alarms and Events
Visualization
Configure the Alarm Control to show historical alarms or events, or
both, which includes the following:
• Server name hosting the Alarm Database
• Authentication information to connect to the Alarm Database
• Maximum number of records to retrieve from the Alarm Database
• Time range or duration to show in the Alarm Control
• If the Alarm Control should update to the current client time
Module 4: Alarms and Events
Visualization
Contents
Section 1: ArhestrA Alarming Overview
 Lab 11 – Applying Alarm Border Animation
 Lab 12 – Building an Alarm Aggregation Overview
Section 2: Live Alarms Visualization
 Lab 13 – Building a Live Alarm Display
 Lab 14 – Creating an Alarm Popup Symbol
Section 3: Logged Alarms and Events Visualization
 Lab 15 – Building a Historical Alarm Display
Lab 15 – Building a
Historical Alarm
Display
Agenda
Contents
Module 1: Introduction
Module 2: Getting Started
Module 3: ArchestrA Symbols
Module 4: Alarms and Events Visualization
Module 5: Trend Visualization
• Module 6: Security
Module 5: Trend Visualization
Contents
Section 1: ArchestrA Historization Overview
• Section 2: Real-Time Trending
• Lab 16 – Adding Trending to Graphics
• Section 3: ArchestrA Trend Client Control
• Lab 17 – Creating a Trend Popup Symbol
• Section 4: Historian Client Trend Control
• Lab 18 – Building a Historical Trend Display
ArchestrA Historization Overview
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 ArchestrA software requirements.
ArchestrA Historization Overview
History Configuration
Historizable Data Types for Attributes
Attributes of the following data types support historization:
• Float (numerical)
• Double (numerical)
• Integer (numerical)
• Boolean (nonnumerical)
• String – Unicode (nonnumerical)
ArchestrA Historization Overview
• CustomEnum (nonnumerical) maps to Process Historian Integer
• ElapsedTime (numerical) maps to Process Historian Float, converted
to seconds

Entire arrays or portions of arrays are not supported. All numerical


attributes are sent to the Process Historian in the engineering units
form exposed by the attribute, and Process Historian does not scale the
value. Additionally, the historized object performs all change detection
and value deadbanding.
ArchestrA Historization Overview
Configuration of a Nonnumerical Attribute for Historization
For an object that has nonnumerical historizable attributes, the
ArchestrA IDE user can enable history for each attribute. No other
configuration data is provided by the user, since these attributes are
historized upon change of value. Also, a change in data Quality,
regardless of whether the Value changed too, always causes a new
record to be historized.
ArchestrA Historization Overview
Configuration of a Numerical Attribute for Historization
For an object that has numerical historizable attributes, the ArchestrA
IDE user can enable history for each attribute. Once enabled, certain
configuration settings can be specified. These settings determine how
often data is historized.
ArchestrA Historization Overview
The following configuration settings can then be specified:
• Value Deadband: The threshold value (measured in engineering
units) that the absolute value of the difference between the new and
last-stored values must differ, before storing the new value to history.
A value of 0 is valid as the default, and means that some change is
required prior to storing the value. A change in Quality always causes
a new record to be stored, regardless of whether the Value has
changed.
ArchestrA Historization Overview
• Force Storage Period: This is the time interval, in seconds (floating
point), at which the 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
• Trend Lo: Specifies the initial minimum trend value for clients.
ArchestrA Historization Overview
Dynamic, Automatic Configuration of Process Historian at
Object Deploy Time
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.
ArchestrA Historization Overview
Reconfiguration of Process Historian at Object Redeploy
Time
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.
ArchestrA Historization Overview
Reconfiguration of Process Historian at Object Undeploy
Time
When an AutomationObject is undeployed that has been historized,
the object does not cause any dynamic reconfiguration of Process
Historian. In other words, the Process Historian tag and all its history is
left in the Process Historian. This means that the history data can still
be examined in the future, even if the AutomationObject is no longer
deployed.
ArchestrA Historization Overview
Process Historian Installation and Deployment
Process Historian is installed and deployed using its standard
mechanism. Process Historian can be deployed on any PC in the Galaxy,
or on a PC outside the Galaxy, but on the local network.
Process Historian requires a SQL Server Database for its configuration
data. This SQL Server Database can be the same or different one used
by the Galaxy Repository. More than one Process Historian can be
utilized by a single Galaxy. However, a single engine sends its history to
only one Process Historian. A single Process Historian can receive
historical data from a single Galaxy only
ArchestrA Historization Overview
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,
ArchestrA will convert the NaN value to a Null value representation just
prior to sending to Process Historian.
ArchestrA Historization Overview
Historian Quality Mapping
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 is a form of Bad), and
Uncertain states are in the low-order byte per the OPC standard.
ArchestrA Historization Overview
Historian Timestamp Mapping
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.
ArchestrA Historization Overview
Configure an AppEngine Object to Store Historical Data
If an AppEngine is deployed before Process Historian is started, no
history data is stored until the objects successfully register with the
Process Historian.
Note: Except for Late Data, the ViewEngine object contains the same
historical attributes as the AppEngine object.
ArchestrA Historization Overview
Configuration
• Enable storage to historian: If enabled, the values for attributes that
have historization enabled will be stored to the specified historian.
• Enable Tag Hierarchy: If enabled, the Model view is automatically
replicated to the Process Historian node associated with the Galaxy.
You can control this behavior at runtime without undeploying and
redeploying the engine of any affected objects.
• Historian: The string to use for the connection to the Process
Historian. For the Process Historian, this is the node name.
ArchestrA Historization Overview
• TCP Port: The TCP port on the Process Historian node to which history
data will be sent. The TCP port is configured when Process Historian is
installed. The default is 32568
• Enable compression: If enabled, history data is compressed before it
is sent over the network to the Process Historian. This is used to
reduce network utilization, but enabling this setting will increase the
CPU load.
• Throttling network bandwidth: Specifies limit of bandwidth usage, in
Kbps, for network communication used by HCAL, when
communicating with Process Historian
ArchestrA Historization Overview
• Wait to send incomplete packets: Specifies the maximum time, in
milliseconds, for keeping a partially-filled Historian Client Access Layer
(HCAL) buffer, before sending it to the Process Historian.
• Pre-processing buffer size: The total size, in MB, of all buffers used by
Historian Client Access Layer (HCAL). The default and minimum value
is 8. If you have very high data bursts, then you should increase this
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.
ArchestrA Historization Overview
• Store forward threshold: The size, in MB, of free space to reserve on
the HCAL storeand-forward disk. The space designated will not be
used during store-and-forward. This value cannot be a negative
number.
• Store forward minimum duration: The minimum duration, in
seconds, for HCAL to function in store-and-forward mode. HCAL will
function in store-and-forward mode for this length of time even if the
condition that caused HCAL to function in store-and-forward mode no
longer exists.
ArchestrA Historization Overview
• Reconnect as soon as possible & do not mark disconnects: Specifies
how trends appear during communication disconnects between
Application Server and Process Historian. It does not affect how
trends of history data appear after communications have been
restored. If TRUE, no gap will appear in client-side trends for the
disconnect interval. While disconnected, the interval is filled in with
the last-received value before the disconnect. If FALSE, a gap will
appear in client-side trends for the disconnect interval. NULL values
are injected on disconnect to create the gap. In both cases, after
reconnect, the interval will be filled in with store-and-forward data.
ArchestrA Historization Overview
Module 5: Trend Visualization
Contents
Section 1: ArchestrA Historization Overview
Section 2: Real-Time Trending
• Lab 16 – Adding Trending to Graphics
• Section 3: ArchestrA Trend Client Control
• Lab 17 – Creating a Trend Popup Symbol
• Section 4: Historian Client Trend Control
• Lab 18 – Building a Historical Trend Display
Real-Time Trending
Trend Pen Symbols
The Trends toolset includes two symbols:
• SA_Trend_SinglePen
• SA_Trend_MultiPen
Real-Time Trending
SA_Trend_SinglePen
The SA_Trend_SinglePen can be
configured as either:
• Tail Trend: Simple floating pen with
some very basic choices
• Simple Trend: One-pen trend with
optional grid, timescale, and ability to
display a meter attached to the right
vertical axis
Real-Time Trending
SA_Trend_MultiPen
The SA_Trend_MultiPen will be used to configure multiple pens to
display different historical data.
Module 5: Trend Visualization
Contents
Section 1: ArchestrA Historization Overview
Section 2: Real-Time Trending
 Lab 16 – Adding Trending to Graphics
• Section 3: ArchestrA Trend Client Control
• Lab 17 – Creating a Trend Popup Symbol
• Section 4: Historian Client Trend Control
• Lab 18 – Building a Historical Trend Display
Lab 16 – Adding
Trending to
Graphics
Module 5: Trend Visualization
Contents
Section 1: ArchestrA Historization Overview
Section 2: Real-Time Trending
 Lab 16 – Adding Trending to Graphics
Section 3: ArchestrA Trend Client Control
• Lab 17 – Creating a Trend Popup Symbol
• Section 4: Historian Client Trend Control
• Lab 18 – Building a Historical Trend Display
ArchestrA Trend Client Control
Introduction
The ArchestrA Trend Client control is delivered as part of the Symbol
Editor. This control can be used in ArchestrA symbols to chart attribute
current values from Wonderware Application Server and to tag current
values from the InTouch HMI software. The Trend Client can use real-
time data from Wonderware Application Server and the InTouch HMI
software and historical data from the Wonderware Historian or InTouch
.lgh files.
ArchestrA Trend Client Control
Embed the ArchestrA Trend Client Control
In the Symbol Editor, in the Tools pane, click the TrendClient tool
and then click the canvas to place the object in the symbol.
ArchestrA Trend Client Control
Trend Client Configuration
Pens
When a Trend Client is first
added to the canvas, no pens
are defined. To show a trend,
add at least one pen and
configure it so that the system
can identify what trend
information to chart. Each pen
must have an associated
expression or reference.
ArchestrA Trend Client Control
Appearance
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.
ArchestrA Trend Client Control
Options
Set a number of general chart options, including the trend background
color, freeze options, refresh interval, and retrieval options.
ArchestrA Trend Client Control
Historical Sources
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:
• Windows Integrated: Uses the running process credentials
• Alternate Windows account (specifying the domain name, username,
and password): The alternate credentials are used to do a Windows
impersonation, before connecting to the database using Windows
Integrated Security
ArchestrA Trend Client Control
• SQL Server Authentication: Specify the username and password of a
SQL Server account; these credentials are used to log in to the
database
ArchestrA Trend Client Control
When a Application Server application is started, it is not automatically
logged on to every previously configured server. A server is logged on
to only when a pen is configured to use that server.
ArchestrA Trend Client Control
Data Binding
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 of one can affect the
other, depending on the
Direction setting.
ArchestrA Trend Client Control
Event
Use the custom event editor to build scripts to handle trend events.
Module 5: Trend Visualization
Contents
Section 1: ArchestrA Historization Overview
Section 2: Real-Time Trending
 Lab 16 – Adding Trending to Graphics
Section 3: ArchestrA Trend Client Control
 Lab 17 – Creating a Trend Popup Symbol
• Section 4: Historian Client Trend Control
• Lab 18 – Building a Historical Trend Display
Lab 17 – Creating a
Trend Popup
Symbol
Module 5: Trend Visualization
Contents
Section 1: ArchestrA Historization Overview
Section 2: Real-Time Trending
 Lab 16 – Adding Trending to Graphics
Section 3: ArchestrA Trend Client Control
 Lab 17 – Creating a Trend Popup Symbol
Section 4: Historian Client Trend Control
• Lab 18 – Building a Historical Trend Display
Historian Client Trend Control
Historian Client Controls
Historian Client provides some of its applications and functionality as
.NET controls. Using the Client Controls functionality of ArchestrA,
Historian Client .NET controls can be imported into the Galaxy as Client
Controls that are embedded into ArchestrA Symbols.
The installation of Historian Client will automatically install the .NET
controls available. Using the ArchestrA IDE, the .NET controls can be
imported into the Galaxy from the following default location:
C:\Program Files (x86)\Common Files\ArchestrA.
Historian Client Trend Control
An application-level control runs within the container application, but
functions as if it were a standalone application. This type of control
does not require extensive scripting to function. Applicationlevel
controls include:
• aaHistClientTrend Control
• aaHistClientQuery Control
Historian Client Trend Control
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
• aaHistClientTimeRangePicker Control
• aaHistClientActiveDataGrid Control
Historian Client Trend Control
aaHistClientTrend Control
The aaHistClientTrend control runs the Historian Client Trend program
(or a functional subset) from within the Wonderware 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.
Historian Client Trend Control
Historian Client Trend Control
aaHistClientQuery Control
The aaHistClientQuery control runs the Historian Client Query program
(or a functional subset) from within the Wonderware 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.
Historian Client Trend Control
Historian Client Trend Control
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" );
Historian Client Trend Control
Historian Client Trend Control
aaHistClientTimeRangePicker Control
The aaHistClientTimeRangePicker control allows date and time
parameters to be selected.
Historian Client Trend Control
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.
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.
Historian Client Trend Control
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";
aaHistClientActiveDataGrid1.SQLString = "SELECT * FROM History
WHERE Tagname = 'SysTimeSec’”;
aaHistClientActiveDataGrid1.Connected = 1;
Historian Client Trend Control
Historian Client Trend Control
aaHistClientSingleValueEntry
Control
Use the aaHistClientSingleValueEntry
control to manually add a tag value to
the Process Historian database.
Module 5: Trend Visualization
Contents
Section 1: ArchestrA Historization Overview
Section 2: Real-Time Trending
 Lab 16 – Adding Trending to Graphics
Section 3: ArchestrA Trend Client Control
 Lab 17 – Creating a Trend Popup Symbol
Section 4: Historian Client Trend Control
 Lab 18 – Building a Historical Trend Display
Lab 18 – Building a
Historical Trend
Display
Agenda
Contents
Module 1: Introduction
Module 2: Getting Started
Module 3: ArchestrA Symbols
Module 4: Alarms and Events Visualization
Module 5: Trend Visualization
Module 6: Security
Module 6: Security
Contents
Section 1: Security Overview
• Lab 19 – Using Security Features in Graphics
• Section 2: Signed Writes
• Lab 20 – Signing Writes from InTouch
• Section 3: Customization of the Runtime Environment
• Lab 21 – Locking Down Your Application
Security Overview
ArchestrA-Based Security
The ArchestrA 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. ArchestrA
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.
Security Overview
Configuring Security
Before the security editor for a Galaxy is opened, ensure that:
• No other user is connected to the Galaxy
• All objects in the Galaxy are checked in
• The user profile has configuration permissions to change Framework
Configuration/Modify Security Model, if security is previously
configured
Security Overview
Key Points
ArchestrA-based security is based on security roles (configuration,
system administration, and runtime permissions) and security groups,
which determine the runtime permissions for a particular security role
on an object-level basis.
When configuring a node to use ArchestrA security, the InTouch HMI
uses methods and dialog boxes from Application Server for log on and
log off operations. Users are configured in the Application Server
ArchestrA IDE.
Security Overview
ArchestrA-based 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
Security Overview
Authentication Modes
Select from three authentication modes to assign security:
• Galaxy
• OS User based
• OS Group based
Security Overview
General and Operational Permissions
Create and manage user roles that apply to processes of the
organization and work-based authorities. Two roles are defined by
default: Administrator and Default.
You can specify General and Operational Permissions for each role:
• General permissions relate to application configuration and
administration tasks
• Operational permissions relate to the security groups listed on the
Security Groups page; by default, the Administrator has all
permissions
Security Overview
Security Overview
Configuring ArchestrA Security for Symbols
Set ArchestrA security permissions, so that at design time, the user
cannot:
• Import or export symbols
• Create, modify, or delete symbols in the Graphic Toolbox
• Create, modify, or delete symbols in any AutomationObject template
• Create, modify, or delete symbols in any AutomationObject instance
• Create, modify, or delete View Applications, such as the InTouch View
Applications
Security Overview
• Deploy or undeploy View Applications, such as InTouch View
Applications
• Edit the configuration of the Quality and Status Display
Security Overview
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 when the
attempt was made.
Security Overview
System Tags in InTouch Related to Security
The following system tags are available to deal with security.
Security Overview
InTouch Script Functions Related to Security
The following InTouch functions are available to work with ArchestrA
security from an InTouch script:
• Logoff
• AttemptInvisibleLogon
• ChangePassword
• InvisibleVerifyCredentials
• LogonCurrentUser
• PostLogonDialog
Module 6: Security
Contents
Section 1: Security Overview
 Lab 19 – Using Security Features in Graphics
• Section 2: Signed Writes
• Lab 20 – Signing Writes from InTouch
• Section 3: Customization of the Runtime Environment
• Lab 21 – Locking Down Your Application
Lab 19 – Using
Security Features in
Graphics
Module 6: Security
Contents
Section 1: Security Overview
 Lab 19 – Using Security Features in Graphics
Section 2: Signed Writes
• Lab 20 – Signing Writes from InTouch
• Section 3: Customization of the Runtime Environment
• Lab 21 – Locking Down Your Application
Signed Writes
Assigning Users to Roles
After creating users and roles, assign users to roles. On the Users page,
all users in the Galaxy and the roles they are assigned are listed. By
default, the new user is associated with the Default role, but not the
Administrator role. This cannot be changed as every user belongs to
the Default role. Double-click in a text box to change, if needed.
Signed Writes
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
• 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
Signed Writes
About OS Group-Based Security
If the OS Group-based Authentication Mode is used, understand the
Windows operating system, particularly its user permissions, groups,
and security features. ArchestrA 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.
Signed Writes
Connecting to a Remote Node for the First Time
A newly-added user working on a computer with no access to the
Galaxy Repository node cannot write to an attribute on a remote node,
if that user has never logged on to the remote node. This is true, even
if the user is given sufficient runtime operational permissions to do
writes. To enable remote writing capabilities, log on to the remote
node at least one time.
Signed Writes
Using InTouch Access Levels Security
The Roles page includes the Access Level column. The Access Level is
an InTouch function.
In InTouch, access levels are a schema for prioritizing runtime
functions. In the ArchestrA 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 with different access levels, the higher
access value is passed to InTouch.
Signed Writes
Using Secured and Verified Writes
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:
• 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
Signed Writes
• 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 button on a
counter, or any other such actions
• A script that uses the SignedWrite() function
Signed Writes
Operators can write to attributes configured with Secured Write or
Verified Write security classification, even if another user is logged on.
This does not affect the session of the logged on user. To do this:
• The operator must have the Can Modify “Operate” Attributes
Operational permission to perform the Verified Write, and
• The verifier must have the Can Verify Writes Operational permission
to confirm the Verified Write
Signed Writes
Secured Write or Verified Write Dialog Boxes and Script
Functions
At runtime, the Secured Write or Verified Write dialog boxes appear
when the operator attempts to write to an attribute configured with
Secured Write or Verified Write. The dialogs enable configurable user
input that can be used to provide information about the Secured or
Verified Write.
Create a symbol and associate with an attribute configured with
Secured or Verified Write. Add the script function to the symbol. The
source to be written is passed as a parameter to the function.
Signed Writes
Use the SignedWrite() script function to configure
these inputs. The script function can only be used
for ArchestrA attributes configured with Secured
Write or Verified Write and symbol scripts, not for
application object scripts.
Signed Writes
Reason Description
The reason description is specific to an ArchestrA 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.
Signed Writes
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.
Module 6: Security
Contents
Section 1: Security Overview
 Lab 19 – Using Security Features in Graphics
Section 2: Signed Writes
 Lab 20 – Signing Writes from InTouch
• Section 3: Customization of the Runtime Environment
• Lab 21 – Locking Down Your Application
Lab 20 – Signing
Writes from
InTouch
Module 6: Security
Contents
Section 1: Security Overview
 Lab 19 – Using Security Features in Graphics
Section 2: Signed Writes
 Lab 20 – Signing Writes from InTouch
Section 3: Customization of the Runtime Environment
• Lab 21 – Locking Down Your Application
Customization of the Runtime
Environment
InTouch WindowViewer Timeouts
Configure WindowViewer to automatically log off an inactive operator
from an InTouch application. An operator must log on again, after being
logged off for inactivity. Setting an automatic inactivity log off period
prevents unauthorized access to the InTouch application, when
operators leave their workstations unattended.
A timer measures the period the operator has not interacted with the
running InTouch application. The timer resets each time the operator
uses a mouse or any other input device to enter data.
Customization of the Runtime
Environment
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. 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.
Customization of the Runtime
Environment
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 $AccessLevel security tag to 0.
c. Write a script to automatically log off the operator if the
$InactivityTimeout tag is set to 1.
Customization of the Runtime
Environment
Customizing the Runtime Environment
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.

Note: WindowViewer must be restarted to apply changes.


Customization of the Runtime
Environment
Module 6: Security
Contents
Section 1: Security Overview
 Lab 19 – Using Security Features in Graphics
Section 2: Signed Writes
 Lab 20 – Signing Writes from InTouch
Section 3: Customization of the Runtime Environment
 Lab 21 – Locking Down Your Application
Lab 21 – Locking
Down Your
Application
Thank You 

You might also like