Professional Documents
Culture Documents
Training Manual
Revision A
November 2007
Part Number 05-2087
© 2007 by Invensys Systems, Inc. All rights reserved. No part of this document may be reproduced, stored in
or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical,
photocopying, recording or otherwise), or for any purpose, without the express written permission of Invensys
Systems, Inc. Except where noted, the companies, organizations, products, domain names, e-mail
addresses, logos, people, places and events depicted herein are fictitious and no association with any real
company, organization, product, domain name, e-mail address, logo, person, place or event is intended or
should be inferred.
Invensys and the author(s) assume no responsibility for errors or omissions and no liability is assumed for
damages resulting from the use of the information contained herein. Use of the Invensys software described
in this document is subject to the terms of the applicable Wonderware Corporation or Invensys Systems, Inc.,
license. These terms include provisions that limit your rights such as use restrictions, disclaimers of
warranties and limitations of Wonderware and Invensys liability. A copy of the applicable license will be
displayed upon initial installation of the software. If a copy of the license is not displayed or you require an
additional copy of the license, you may obtain one from Invensys' Wonderware business unit upon request by
calling 1.949.727.3200 or by sending an e-mail to support@wonderware.com.
Table of Contents
Module 1 Introduction ................................................................................1–1
Section 1 – Course Introduction.........................................................................1–3
Section 2 – InTouch HMI and ArchestrA Integration........................................1–17
Lab 1 – Creating and Importing Applications Into the Galaxy ...................1–33
Wonderware Training
Module 1
Introduction
Section 1 – Course Introduction 1-3
Section 2 – InTouch HMI and ArchestrA Integration 1-17
Lab 1 – Creating and Importing Applications Into the Galaxy 1-33
1-2 Module 1 – Introduction
Module Objective
z Introduce the InTouch® 10.0 Advanced Course and review how to build standard
InTouch® applications.
Wonderware Training
Section 1 – Course Introduction 1-3
Section Objectives
z Introduce the InTouch® HMI 10.0 Advanced Application Development course.
z Review System Requirements, ArchestrA® Licensing and Technical Support options.
This section will familiarize you with the objectives and agenda for the InTouch® HMI 10.0
Advanced Application Development course as well as Wonderware® basics, System
Requirements, Licensing and Technical Support.
Course Description
InTouch® 10.0 HMI Advanced Application Development Course is a 4-day instructor led class
designed to teach advanced functionality of the Wonderware® visualization module. The focus of
this course is on distributed applications. Students will gain the InTouch knowledge necessary to
develop networked HMI systems for their specific plant floor environment using the following
features/functionality: ArchestrA Graphics, Network Application Development (NAD), Indirect
Tags, Dynamic Reference Addressing, Remote Tagname Referencing, SuperTags, I/O Failover,
InTouch and Operating System Security, Distributed Alarms, Distributed History, SuiteLink, OPC,
VTQ, .NET, ActiveX, Services and Internet functionality. Students will also be introduced to
InTouch for Terminal Services, and on a Tablet PC, as well as a demonstration of how to view
their InTouch applications over their intranet or the internet using the Wonderware® Information
Server web portal.
Course Objective
Upon completion of this course, students should be able to:
z Create client/server InTouch applications and distribute them over networks
z Use InTouch as part of the Wonderware® System Platform
z Implement advanced tag strategies
z Configure I/O Failover
z Configure security
z Distribute alarms and history
z Secure InTouch Applications
z Work with ActiveX controls
z Develop communication solutions
z Create ArchestrA Graphics
Audience
System integrators, plant floor operators and managers, system administrators, and other
individuals who need to use the advanced features of InTouch HMI in a distributed environment.
Prerequisites
The prerequisites for this course are:
z Completion of the InTouch™ HMI 10.0 Fundamentals of Application Development Course
z Familiarity with networking
z Extensive knowledge of Microsoft Windows
z InTouch scripting experience
Wonderware Training
Section 1 – Course Introduction 1-5
Functional Capabilities
The Wonderware System Platform contains an integral core set of capabilities and services to
support sustainable production and operations performance improvements via a comprehensive
set of six capability areas:
z Industrial domain services for industrial computing functions that are not provided by
commercial operating systems or products
z Software and device connectivity services for easy communication to any plant or
business information source
z Information and data management services for management of real-time and historical
information
z Information-delivery and visualization services for functions that provide information to
the right user at the right time, and in the form in which they expect it
z Application development services that provide easy and intuitive development of
modular industrial software solutions that are easily changed to meet future needs
z System management and extensibility services that provide easy management,
expansion, and modification of the application or host computing architecture
3rd Party
Clients
Wonderware Clients
Wonderware Clients
Functional
Modules Wonderware System Platform
Device Integration
Wonderware Training
Section 1 – Course Introduction 1-7
Product Offerings
The Wonderware Production and Performance Management Software Solutions consist of a
variety of products:
z Wonderware System Platform providing a core set of service capabilities as a
foundation for application development, operations, and information delivery
z InBatch™ flexible batch management software
z Manufacturing Execution Module (formerly known as InTrack™) resource and WIP
tracking software
z Equipment Operations Module for formula management including product definitions
and equipment setups, and for capturing and storing information from production events
including product and production history and genealogy
z Equipment Performance Module (formerly known as DT Analyst™) equipment
downtime tracking and performance management software
z QI Analyst™ for using real-time and historical data to monitor, analyze, and predict
potentially harmful process variations, allowing for online adjustments for improved
production quality and consistency
Product Offerings
The Wonderware Supervisory HMI Software Solutions consist of a variety of products:
z Wonderware System Platform providing a core set of service capabilities as a
foundation for application development, operations, and information delivery
z InTouch human-machine interface (HMI) software for process visualization and control
z InControl™ real-time control software
Wonderware Training
Section 1 – Course Introduction 1-9
These solutions offer several unique features that can greatly benefit companies looking to
implement a new SCADA solution or upgrade an existing system.
z The easiest and most efficient, open software solution for SCADA
z Highly available, reliable, and scalable SCADA applications
z Single-click software redundancy
z Leverages ArchestrA architecture for easy configuration and management of operational
and system security that is compatible with existing IT security capabilities
z Empowers users to design, build, deploy, and maintain standardized SCADA applications
z Lowest total system lifecycle costs
Product Offerings
The Wonderware Geo-SCADA Software Solutions consist of a variety of products:
z Wonderware System Platform providing a core set of service capabilities as a
foundation for application development, operations, and information delivery.
z InTouch human-machine interface (HMI) software for process visualization and control
z SCADAlarm™ event notification software for real-time alarm notification, data acquisition,
and remote control from telecommunication devices to industrial automation software
systems
Wonderware Training
Section 1 – Course Introduction 1-11
System Requirements This section describes the hardware and software requirements to install
InTouch HMI version 10. For updates to this information, see the Wonderware Technical Support
website at www.wonderware.com/support.
Hardware Recommendations
The following lists show the recommended hardware specifications to install InTouch HMI 10.0 by
itself or the InTouch HMI with the ArchestrA IDE. These recommendations are for development
systems. Run-time requirements may be different, depending on the InTouch application and
other factors.
Note: The Microsoft Windows Vista operating system imposes hardware requirements that
exceed the minimum requirements for InTouch HMI version 10. If you intend to run InTouch
HMI version 10 with Windows Vista, see the following Microsoft web site for current hardware
requirements: www.microsoft.com/windows/products/windowsvista/editions/
systemrequirements.mspx
Software Requirements
This section describes the operating system and other software requirements to install InTouch
HMI version 10.
Operating Systems
The following table lists the supported operating systems that can be installed on computers
running InTouch server and client components.
Note: InTouch HMI version 10 does not support any version of the Microsoft Windows 2000
operating system.
Note: Microsoft Windows Server 2003 SP2 is the recommended operating system to run InTouch
server components.
Note: Microsoft Windows XP Professional SP2 is the recommended operating system to run
InTouch client components.
Wonderware Training
Section 1 – Course Introduction 1-13
ArchestrA graphics make use of the client layer when accessing InTouch tags, and appear
as a third-party client trying to access WindowViewer as a data server. As a result,
ArchestrA symbols cannot communicate with InTouch tags when used with an
InTouchView license.
z InTouch HMI cannot be configured to run as a Windows Vista service. Windows Vista
security prevents started Windows services from interacting with desktop objects. When
the InTouch HMI is installed on a computer running Windows Vista, scripts do not run
correctly if they include the InTouch ActivateApp() and SendKeys() functions. These
functions interact with desktop objects by starting Windows programs and sending
keystrokes to these programs.
ArchestrA Licensing
Your Wonderware system license information can be viewed through the license viewing utility
from the Windows Start menu:
Start / All Programs / Wonderware / Common / License Utility
\\<Computer Name
Your license file needs to be in the Program Files \ Common Files \ ArchestrA \ License
directory in order to run FactorySuite programs.
Your license file is typically contained on a floppy disk or mini-CD and is not included on the
Wonderware installation CDs. For more licensing information, see your online System
Administrator's Guide.
If you purchase a license only for InTouch, you will only be able to use the $InTouchViewApp
Template. All other Templates in the IDE will be unavailable. In order to use other Templates, you
must purchase a license for the System Platform.
Wonderware Training
Section 1 – Course Introduction 1-15
Note: Older versions of InTouch applications need to be converted to InTouch 10.0. After the
conversion process, these applications will no longer run with InTouch versions previous to 10.0.
Detailed installation instructions are included in the InTouch Installation Guide. It is recommended
that you read the InTouch Installation Guide prior to beginning the installation process.
InTouch 10.0 uses Microsoft SQL Server™ Standard Edition for its alarm database.
If Microsoft SQL Server is installed on the same system on which InTouch is being installed, the
InTouch setup program may require you to reboot the system during the installation procedure.
The reboot is required because Microsoft SQL Server 2000 installs MDAC™ version 2.6, but
InTouch requires MDAC version 2.6 Service Pack level 2 (SP2). The InTouch setup program will
install this Service Pack during installation. Once the system has been rebooted, InTouch
installation will resume automatically.
Due to this reboot, the off node communication account User Name and Password that were
entered before this reboot must be re-entered after InTouch installation is resumed. This applies
only if you are installing InTouch on Microsoft Windows 2000 operating system(s).
If Microsoft SQL Server 2000 SP2, which installs MDAC version 2.6 SP2, is installed on your
system prior to InTouch installation or if Microsoft SQL Server 2000 is not installed on your
system, the InTouch setup program will not require a reboot during installation.
If InTouch 7.11 is installed on your system and you have Alarm DB Logger set to run as a service,
you must change the mode to manual before you uninstall InTouch and reboot your system. If you
uninstall InTouch 7.11 with Alarm DB Logger in automatic mode, InTouch 10.0 installation will not
complete properly.
Technical Support
Wonderware Technical Support offers a variety of support options to answer any questions on
Wonderware products and their implementation.
Prior to contacting technical support, please refer to the relevant chapter(s) in this training manual
or your InTouch User's Guide for a possible solution. If you find it necessary to contact technical
support for assistance, please have the following information available:
z Your software Serial Number.
z The version of InTouch you are running.
z The type and version of the operating system you are using (including service packs). For
example, Microsoft Windows 2000 Server with Service Pack 3.
z The exact wording of system error messages encountered.
z Any relevant output listing from the Logger, the Windows Event Viewer, or any other
diagnostic applications.
z Details of the attempts you made to solve the problem(s) and your results.
z Details of how to recreate the problem.
z If this is an ongoing issue, the Wonderware Technical Support case number that has been
assigned.
For more information on Technical Support, see your online FactorySuite System Administrator's
Guide.
Wonderware Training
Section 2 – InTouch HMI and ArchestrA Integration 1-17
You can enhance your InTouch applications with graphic objects or symbols from the ArchestrA
Graphics Library. This course will explain the differences in your ability to edit these symbols
depending on the type of application listed above.
ArchestrA Symbols
In addition to the benefits of managing InTouch applications within the ArchestrA IDE, you can
model your manufacturing environment by creating graphics with the ArchestrA Symbol Editor.
The ArchestrA Symbol Editor is fully integrated into the ArchestrA IDE and supports powerful
modelling possibilities.
You can embed the ArchestrA Symbols into your managed InTouch applications, which can then
be used as published InTouch applications.
Wonderware Training
Section 2 – InTouch HMI and ArchestrA Integration 1-19
Wonderware Training
Section 2 – InTouch HMI and ArchestrA Integration 1-21
Exporting and Importing Tag Data Associated with a Managed InTouch Application
You can export tag data that is associated with a managed InTouch application to a .csv file. This
is equivalent to the DB Dump function of the InTouch Application Manager.
You can import the exported tag data from a .csv file back into a managed InTouch application in
the same way as the DB Load function. The exported .csv files from a managed InTouch
application and those of a stand-alone InTouch application are fully interchangeable.
Wonderware Training
Section 2 – InTouch HMI and ArchestrA Integration 1-23
ArchestrA Symbols
The ArchestrA IDE includes a Symbol Editor that you can use to create symbols that visualize
production processes and provide an HMI interface to ArchestrA AutomationObjects.
The following diagram shows you how symbols that are created with the ArchestrA Symbol Editor
can be used in InTouch applications.
Wonderware Training
Section 2 – InTouch HMI and ArchestrA Integration 1-25
Note: The examples below show the objects installed with the Base_InTouch galaxy type.
The Base_Application_Server galaxy type installs several more objects.
f. Select InTouchView Application to create an InTouch application that uses only ArchestrA
references as an external data source.
g. Click Next.
WindowMaker starts.
Wonderware Training
Section 2 – InTouch HMI and ArchestrA Integration 1-27
z Click Yes to convert the InTouch application to the current system resolution and open it.
z Click No to open and edit the InTouch application in its original resolution.
To start WindowMaker from an InTouchViewApp template
a. Open the ArchestrA IDE.
b. Locate the InTouchViewApp template that includes the managed InTouch application you
want to modify.
c. Double-click the InTouchViewApp template.
WindowMaker starts as the object’s default editor and opens the InTouch application.
You are ready to edit the managed application.
Note: If you select the Don’t ask me again check box and click Yes, the next time you open
an InTouchViewApp instance, the managed InTouch application is automatically opened from
the associated InTouchViewApp template.
You can change this setting using the User Information dialog box, which you open from the
Edit menu.
Wonderware Training
Section 2 – InTouch HMI and ArchestrA Integration 1-29
Wonderware Training
Section 2 – InTouch HMI and ArchestrA Integration 1-31
g. If needed, type a new name in the Application Name box and a description in the Description
box. The name and description appear in the Application Manager when the managed
InTouch application is deployed.
h. Click Next.
The next panel appears and shows you the import progress.
i. Click Done.
InTouch WindowMaker is started and you can edit the InTouch application as a managed
InTouch application.
Wonderware Training
Lab 1 – Creating and Importing Applications Into the Galaxy 1-33
Objectives
Upon completion of this lab you will be able to:
z Create and connect to a new Galaxy in the ArchestrA IDE
z Import an existing InTouch application
z Launch InTouch from the ArchestrA IDE
Note: This is an advanced class, please note that the instructions are scaled down based on
your assumed familiarity and comfort level with InTouch. The labs in this book do not include
each and every step. Please ask your instructor if any additional information is needed.
.
Summary Lab Instructions
Following is a summary of the general steps you will complete for this lab. For detailed
instructions, please refer to the Detailed Lab Instructions on subsequent pages.
Wonderware Training
Lab 1 – Creating and Importing Applications Into the Galaxy 1-35
10. Double-click $AdvancedClass and select Import existing InTouch application and click
Next.
Wonderware Training
Lab 1 – Creating and Importing Applications Into the Galaxy 1-37
Wonderware Training
Module 2
Module Objective
z Use the appropriate tag strategies - Indirect Addressing, SuperTags, and Remote
Tagname Referencing – to solve a problem.
Wonderware Training
Section 1 – Review of Basics 2-3
Section Objective
z Review how to use I/O tags in an InTouch application.
We are assuming that you are attending the InTouch 10.0 Advanced Application Development
course having done the following:
z Created tags and used “.” (dot) fields
z Created windows and graphic objects
z Used animation links
z Created basic scripts and built-in functions
z Used alarming and history on single node applications
We are also assuming that you have:
z A basic understanding of networks
z A basic understanding of communications
Wonderware Training
Lab 2 – Standard Tag Addressing 2-5
Objectives
z Configure Modbus Com Port Settings, Topic Definition, and Server Settings
z Create necessary tags
z Add an Access Name
z Create animation links in the Mixing Operation window
:
I/O Discrete Tags AccessName Item
Start_PLC1 ModbusPLC1 2049
Gate_PLC1 ModbusPLC1 2050
Valve_A_PLC1 ModbusPLC1 2051
Valve_B_PLC1 ModbusPLC1 2052
Agitator_PLC1 ModbusPLC1 2053
Drain_Valve_PLC1 ModbusPLC1 2054
f. Open the Mixing Operation window and assign the appropriate tags with animations to the
objects on the screen.
g. Switch to Runtime and verify communication with the PLC.
Wonderware Training
Lab 2 – Standard Tag Addressing 2-7
2. Select Configure / Com Port Settings and match the entries below.
7. Enter PLC as the topic name and change the Update Interval to 100 msec.
Change to 100
Wonderware Training
Lab 2 – Standard Tag Addressing 2-9
9. Select Configure/Server Settings. Retain the default settings and click OK.
Warning: The I/O Server must be running to acquire data from the PLC.
If it is accidentally closed, the data acquisition will stop.
12. Click Add and create a new Access Name that connects to the PLC at your workstation:
13. You will now see your new Access Name in the list.
Click Close when finished.
Wonderware Training
Lab 2 – Standard Tag Addressing 2-11
:
I/O Discrete Tags AccessName Item
Start_PLC1 ModbusPLC1 2049
Gate_PLC1 ModbusPLC1 2050
Valve_A_PLC1 ModbusPLC1 2051
Valve_B_PLC1 ModbusPLC1 2052
Agitator_PLC1 ModbusPLC1 2053
Drain_Valve_PLC1 ModbusPLC1 2054
Note: There are other tags already in the Tagname Dictionary. Do not delete these tags!
They will be used in future labs.
15. Open the Mixing Operation window if it is not open, and assign the appropriate tags with
animations to the objects on the screen.
For example, the valve that drains the tank (Drain Valve) would be assigned a Discrete Color
Fill animation link. The tag assigned would be Drain_Valve_PLC1.
Hint: Hold down the Shift key when you click (or double-click) on an object to prevent it from
moving accidentally.
The following graphic will assist you with assigning tags to graphics.
The numbers are described with instructions below:
1 5
3 4
8
Wonderware Training
Lab 2 – Standard Tag Addressing 2-13
Hint: Use Shift+arrow keys to move the stainless steel tank in the foreground to access the
impeller. Shift+arrow key moves objects 10 pixels at a time when Grid is turned off.
Blue polygon object located behind the stainless steel tank (use hint on previous page to move
tank) that displays the current tank level as a graphic update. Percent Fill, Vertical Link.
Expression: Tank_Level_PLC1. Enter following Properties:
8. Valve used for draining tank. Fill Color, Discrete Link to Drain_Valve_PLC1.
Select On/Off colors.
Switch to WindowViewer (Runtime) to verify communication to the PLC and that the animations
are working correctly.
As Time Permits:
There are preconfigured objects in the Scrap Objects window you can use to enhance this
window. Your instructor will give you more information about how to use them.
Wonderware Training
Section 2 – Using SmartSymbols 2-15
Section Objectives
z Generate a SmartSymbol
z Edit a SmartSymbol
z Use the SmartSymbol Manager
Introduction
SmartSymbols integrate object-oriented technology with InTouch graphics to transform them into
reusable templates. Changes made to the templates automatically propagate throughout an
application, even across multiple networked PC nodes. As a result, engineers spend less time
creating, modifying, validating and re-validating HMI applications.
Using the SmartSymbol Manager, application developers can create templates from graphics that
can connect to ArchestrA Objects, local InTouch tags, and InTouch tags through remote
references. These symbol templates are saved in the SmartSymbol Library and can be
instantiated by selecting them and dropping them onto an InTouch window.
Any graphic in an InTouch window that has been made into a cell can be converted into a
SmartSymbol. In addition, libraries of SmartSymbols can be exported to other applications and
plants, enabling companies to standardize on graphics throughout the entire organization. Once a
SmartSymbol instance is deployed, if users need to change an instance, they simply modify the
SmartSymbol template and the change automatically propagates throughout the application, to
every window in which the SmartSymbol instance is used. This makes changing, upgrading and
modifying applications very fast and easy. Validating and re-validating applications after
modification is also simplified with SmartSymbols.
SmartSymbol Generation
Any graphic can become a SmartSymbol, once it is converted to a cell. However, the most
versatile SmartSymbol has tag data references and animation. You may decide to go through your
existing InTouch applications to identify similar or identical graphical objects to determine what you
should build into your SmartSymbol library. Or, you may decide to create all of your SmartSymbols
prior to building any applications. Either way, you must start with a graphic.
Once generated, a SmartSymbol can then be converted to an ArchestrA Graphic.
Generate SmartSymbol
a. Right-click on the graphic, and select SmartSymbol / Generate SmartSymbol.
The new symbol will appear in the SmartSymbol - Management Mode window, with a name of
NewSymbol.
Click Yes.
Wonderware Training
Section 2 – Using SmartSymbols 2-17
e. The SmartSymbol now displays open handles in your window. This indicates it is a
SmartSymbol, and not just a cell.
SmartSymbol Wizard
a. Click the SmartSymbol Wizard icon to place a SmartSymbol into your application window.
Template References: The tagname associated with the SmartSymbol you originally generated
(Template).
Instance References: The tagname associated with the SmartSymbol placed in your InTouch
window (Instance).
c. In the SmartSymbol Properties window, click the Show Text Strings checkbox.
d. Click the ellipses button in the Instance References column. This will access the Tagname
Browser.
e. Select the appropriate tagname.
f. Press the tab key after selecting the Tagname to ensure the selected Tagname is accepted.
g. Click OK.
h. The SmartSymbol will appear in your application window.
Wonderware Training
Section 2 – Using SmartSymbols 2-19
Replace
Alternatively, if several Tagnames and Text Strings require the same Instance Reference
change, use the Replace feature.
a. Click the SmartSymbol Wizard icon to place a SmartSymbol into your application
Wonderware Training
Section 2 – Using SmartSymbols 2-21
d. Click your cursor on an open area of the window to temporarily place the SmartSymbol during
editing.
Wonderware Training
Section 2 – Using SmartSymbols 2-23
Commit Edit
h. A list of all windows in your application containing the SmartSymbol displays. Verify the edit
should be instantiated to the SmartSymbols on these windows, and choose Commit Edit.
Note: When editing a SmartSymbol, keep in mind the following: Increasing the footprint, or total
space the SmartSymbol occupies on the window while in edit mode will only affect the footprint of
instantiated SmartSymbols if you select Update Size of Symbols in Application. If you do not
select Update Size, they will maintain their original size, and the image will automatically adjust to
fit within the original space.
Wonderware Training
Section 2 – Using SmartSymbols 2-25
Manage SmartSymbols
The SmartSymbol Manager is used for several purposes, including:
z View SmartSymbol Attributes
z Organize your SmartSymbols into folders
z Copy and Delete SmartSymbols
z Import / Export SmartSymbols
Organize SmartSymbols
SmartSymbols may be organized in folders by type, category, room, product line, or whatever
organization method is meaningful in your company. To organize SmartSymbols, begin by
accessing the SmartSymbol Manager.
a. Click Special / SmartSymbols / Manage SmartSymbol. The SmartSymbol - Management
Mode window displays.
Wonderware Training
Section 2 – Using SmartSymbols 2-27
To Delete a SmartSymbol
a. Click on the SmartSymbol to give it focus.
b. Click File / Delete.
The Confirm Symbol Delete window displays.
c. Name your SmartSymbol exported file as desired, and place in the desired directory.
d. Click Save. The exported SmartSymbol library is now available to import into any InTouch
application.
Wonderware Training
Section 2 – Using SmartSymbols 2-29
i. Click on the .www file you wish to import, and click Open.
If any SmartSymbols exist in your application with the same name as those being imported,
you may choose to Skip them, Overwrite them, or Rename them.
j. Click OK.
Wonderware Training
Module 3
ArchestrA Graphics
Section 1 – Creating and Managing Symbols 3-3
Section 2 – Using ArchestrA Symbols in WindowMaker 3-85
Lab 3 – Symbol Creation 3-93
Section 3 – Using Custom Properties 3-103
Lab 4 – Defining Custom Properties 3-109
Section 4 – Animating Graphic Elements 3-117
Lab 5 – Animation 3-193
Lab 6 – Referencing a Symbol 3-203
Section 5 – Associating Scripts with Symbols 3-209
Lab 7 – Scripting 3-221
3-2 Module 3 – ArchestrA Graphics
Module Objectives
z Select the appropriate communication protocol.
z Use the appropriate tag strategies to solve a problem.
z Use Dynamic Reference Addressing as a troubleshooting tool.
z Monitor Value, Time and Quality.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-3
Section Objectives
z Create ArchestrA Symbols.
z Use the Graphic Toolbox to manage a library of symbols.
This section explains what ArchestrA Symbols are, how they are stored in the ArchestrA
environment, and how they can be managed using the IDE tools.
About Symbols
ArchestrA Symbols are graphical symbols that you can use to visualize data in an InTouch HMI
application. They are managed by the IDE.
Using the IDE, you can:
z Create a new symbol.
z Open the symbol for editing with the ArchestrA Symbol Editor.
z Organize symbols within the Graphic Toolbox.
z Import and export symbols.
z Delete a symbol.
z Configure security for a symbol.
z Open the symbol in read-only mode with the ArchestrA Symbol Editor.
Note: You can press the following keys to create a new ArchestrA symbol: Ctrl + Shift + S.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-5
Wonderware Training
Section 1 – Creating and Managing Symbols 3-7
To draw an image
a. Click the image icon in the Tools panel.
b. Click the canvas and drag the shape of the image element.
c. Release the mouse button.
The Open dialog box appears.
d. Browse to the image file, select it, and then click Open.
The image file is loaded into the image element.
Drawing Buttons
You can draw a button on the canvas. You can configure a button with a text label or an image.
To draw a button
a. Click the button icon in the Tools panel.
b. Click the canvas and drag the shape of the button element.
c. Release the mouse button.
The button text appears in edit mode.
d. Type a text label for the button and then press Enter.
Placing Text
You can place text on 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.
You can also drag the handles of the Text element to resize it.
To place text
a. Click the text icon in the Tools panel.
b. Click the canvas where you want to place the text.
c. Type the single line of text you want.
d. When you are done, do one of the following:
z Press Enter to type a new line of text.
This new line is a new element.
z Click the canvas outside the text element.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-9
Dragging Elements
After you draw elements on the canvas, you can drag them to a new position.
To drag elements on the canvas
a. Select one or more elements.
b. Click one of them and hold the mouse button down.
c. Drag the mouse to the new position.
d. Release the mouse button.
Note: The Properties Editor not only supports values, but also allows input of color, font, and
file information in the respective dialog boxes.
Properties are organized in categories so you can find them more easily. The following table
shows the categories:
Wonderware Training
Section 1 – Creating and Managing Symbols 3-11
Selecting Elements
You can select one or more elements by:
z Clicking on them with the mouse.
z Dragging the lasso around them with the mouse.
z Selecting them with a menu option or with a shortcut key.
z Selecting them in the Elements List.
When you select an element, it appears with handles that give you control over its size and
orientation.
When you select multiple elements, the last selected element is the primary element. All other
previously selected elements are secondary elements.
To select a group, you must click one of the elements contained in the group.
b. To select further elements, press Shift + click. The other elements become selected.
Note: Note You can see in the Elements List which elements are selected.
Note: Note You can also press the F2 key to select all elements.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-13
Note: Note The color setting of the Elements List depends on the setting for the Selected Items
option in the operating system’s Display Properties Appearance panel.
Unselecting Elements
You can unselect one or more selected elements. You can do this by clicking on them individually
on the canvas or in the Elements List.
If you want to remove the selected elements in a specified rectangular area, you can use the
lasso.
To unselect elements individually
a. Do one of the following:
z Shift + click the selected element on the canvas.
z Ctrl + click the selected element name in the Elements List.
b. 2 Repeat the previous step for all elements you want to unselect.
To unselect elements from a specified rectangular area
a. Shift + click the canvas outside of any element.
b. Drag the mouse so that the lasso surrounds the elements that you want to unselect.
c. Release the mouse button. The selected elements within the lasso are unselected, and the
selected elements outside the lasso remain selected.
Inline Editing
After you place certain elements on the canvas, you can edit them by selecting them and clicking
on them again. This is called inline editing. The following elements can be edited in this way:
z For polylines, polygons, curves, and closed curves, the control points of the element
appear. Use these to change the shape of the element. You can also add and delete
control points.
z For arcs, pies, and chords, the handles for the start angle and sweep angle appear. Use
these to change the start angle and sweep angle.
z For groups, the group handle is replaced with a shaded outline. You can select individual
elements and groups within the group to edit and move them.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-15
Copying Elements
After you select an element, you can copy it by using menu options or you can Ctrl + click.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-17
Duplicating Elements
Duplicating elements allows you to select an element or elements and quickly make copies of
them.
You can also specify the amount of overlap when you duplicate.
To duplicate elements
a. Select one or more elements.
b. Do one of the following:
z Click Duplicate on the Edit menu.
The selected element is duplicated and appears offset to the original element.
z Press Ctrl + D.
The selected element is duplicated and appears offset to the original element.
z Ctrl + click one of the selected elements to duplicate all selected elements.
You can keep the mouse button down and drag them to the new position on the canvas.
To set the overlap when you duplicate
a. Duplicate an element or elements. The element is copied overlapping the original.
b. Move the duplicated element to the location relative to the original. For example, move the
duplicated element five grid spaces above the original element.
c. Duplicate the element again. The new duplicate is placed in the same offset you specified in
the preceding step. For example, five grid spaces above the original element.
Resizing Elements
You can resize selected elements by:
z Dragging the handles of a single element to increase or decrease its horizontal or vertical
size.
z Changing the Width and Height properties of one or more elements using the Properties
Editor.
z Proportionally resizing multiple elements.
z Making multiple objects the same width and/or height.
Some elements cannot be resized or can only be resized in certain directions, such as the
Calendar control or DateTime Picker. If the primary element has such restrictions, then any
secondary elements resize proportional to the change in primary element's size and do not resize
independently.
b. Drag one of the handles. The object is resized while you drag.
c. Release the mouse button.
To resize a single selected element with the mouse and keeping a fixed width/height ratio
a. Select an element. The handles of the selected element appear.
b. Press and hold the Shift key.
c. Drag one of the handles.
The object is resized while you drag, the width/height ratio stays unchanged.
d. Release the mouse button and Shift key.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-19
Wonderware Training
Section 1 – Creating and Managing Symbols 3-21
Rotating Elements
You can rotate elements to any orientation (0 - 359 degrees):
z Graphically with the rotation handle.
z Numerically by typing the orientation angle in the Properties Editor.
z By rotating them by 90 degrees in a clockwise or counter-clockwise 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.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-23
Flipping Elements
You can flip elements on their horizontal or their vertical axis. The axis for each element is
determined by its point of origin.
To flip elements vertically
a. Select one or more elements.
b. On the Arrange menu, point to Transform, and then click Flip Vertical. The selected elements
are flipped vertically on their horizontal axis.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-25
Ungrouping
After you create a group, you can ungroup it if you no longer want it.
If the group included elements and other groups, when you ungroup, the original elements and
groups again exist as independent items. To ungroup any subgroups, you must select each one
and ungroup it separately.
If you ungroup a set of elements and elements already exist with the names of the grouped
elements, then the newly ungrouped elements are renamed.
To ungroup
a. Select the groups you want to ungroup.
b. On the Arrange menu, point to Grouping, and then click Ungroup.
The groups is converted to the original elements.
The group name is removed from the Elements List and the element names appear.
Note: Note You can also add elements to existing groups by using the Elements List in similar
way.
Note: Note You can also remove elements from existing groups by using the Elements List in
similar way.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-27
c. Edit the element with the Properties Editor, by mouse or by menu according to your
requirements.
d. Click outside the group.
To edit components within a group by using the Edit Group command
a. On the canvas, select the group that you want to edit.
b. On the menu Edit, click Edit Group ‘GroupName’.
The group is outlined with a diagonal pattern.
Note: Note If you move the position of an element in a group outside the group, the group
size is automatically changed to incorporate the new position of the element.
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.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-29
z Path Tool:
z Example – create a shield:
Wonderware Training
Section 1 – Creating and Managing Symbols 3-31
Wonderware Training
Section 1 – Creating and Managing Symbols 3-33
Note: You can also set the element’s line properties in the Line Format properties group in
the Properties Editor.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-35
Note: Extreme weight settings can cause unexpected behavior, especially with curves and line
end styles.
Note: You can also set the line pattern by changing the LinePattern property in the Properties
Editor.
Note: You can also set the element’s line style in the Properties Editor. If you do this, you can
configure the solid color, gradient, pattern, or texture in the Style Selection dialog box.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-37
Note: You can also change the text color in the Properties Editor with the TextColor property.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-39
Note: You can also set the text alignment in the Properties Editor by setting the Alignment
property.
If the element is a text box or a button, then the text is aligned accordingly.
If the element is a text element and you then modify the text at design time or run time, the text is
anchored to the point of alignment.
z Text right alignments move additional text further over to the left.
z Text left alignments move additional text to the right.
z Changes in font size leave the point of alignment unchanged and modify the frame
accordingly.
Substituting Strings
You can search and replace strings of any element that have the Text property on your canvas.
You can use the basic mode to replace strings in a list.
You can also use advanced functions, such as find and replace, ignore, case-sensitivity, and
wildcards.
You cannot substitute static strings that are used in an Radio Button Group, List Box or Combo
Box.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-41
Setting Style
You can set the fill, line, and text style from various places in the ArchestrA Symbol Editor using
the Style Selection dialog box. The Style Selection dialog box is common to any element for which
you can set a solid color, gradient, pattern, or texture. You can also set the transparency of the
style.
Because you can open the Style Selection dialog box from different places in the ArchestrA
Symbol Editor, the dialog box header can be different.
Also, not all tabs may be available. For example, for setting one color of a gradient in the
Properties Editor, you can only select a solid color from the Style Selection dialog box.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-43
b. In the Standard Palette area, click a color. The new color appears in the New color box on the
right of the dialog box.
c. Click OK.
d. Click OK.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-45
Wonderware Training
Section 1 – Creating and Managing Symbols 3-47
Setting a Gradient
You can configure gradients by the:
z Number of colors - 1, 2 or 3.
z Direction - horizontal, vertical, radial, point based, or customized.
z Variant - depending on your selection for the number of colors and direction.
z Color distribution shape - bell or triangular with options to configure the center and falloff.
z Focus scales - width and height.
You set a gradient on the Gradient tab in the Style Selection dialog box.
c. Click the color selection box to open the Select Solid Color 1 dialog box. Select a solid color
and click OK. For more information about this dialog box, see Setting a Solid Color on page
164.
d. Move the slider between Dark and Light. The new gradient appears in the New color box on
the right of the dialog box.
e. Click OK.
To set a gradient using two colors
a. In the Style Selection dialog box, click the Gradient tab.
b. In the Colors area, click Two. Two color selection boxes appear.
c. Click the Color 1 or Color 2 color field to select a color from the Select Solid Color dialog box.
The new gradient appears in the New color box on the right of the dialog box.
d. 4 Click OK.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-49
c. Click the Color 1, Color 2 or Color 3 color field to select a color from the Select Solid Color
dialog box.
The new gradient appears in the New color box on the right of the dialog box.
d. Click OK.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-51
The new gradient appears in the New color box on the right of the dialog box.
c. Click OK.
z In a triangular distribution, the gradient from one color to the next rises and falls at the
same rate.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-53
0 0
50 0
0 50
50 50
Setting a Pattern
You can set a pattern for an element. The following table describes the pattern options:
Pattern Options
Horizontal Simple, Light, Narrow, Dark, Dashed
Vertical Simple, Light, Narrow, Dark, Dashed
Percent 05, 10, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90
Grid Small, Large, Dotted
Checker Board Small, Large
Diagonals Forward, Backward, Dashed Upward/Downward, Light/Dark/Wide
Upward/Downward
Diamond Dotted, Outlined, Solid
Cross Diagonal
Brick Horizontal, Diagonal
Confetti Small, Large
Others Zig Zag, Wave, Weave, Plaid, Divot, Shingle, Trellis, and Sphere
Patterns consist of the foreground color and the background color that you can change.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-55
To set a pattern
a. In the Style Selection dialog box, click the Pattern tab.
b. Select a pattern. The new pattern appears in the New color box on the right of the dialog box.
c. If you want to change the foreground color of the pattern, click the Foreground color selection
box. The Style Selection dialog box appears. Select a solid color and click OK.
d. If you want to change the background color of the pattern, click the Background color selection
box. The Style Selection dialog box appears. Select a solid color and click OK.
e. Click OK.
Setting a Texture
Textures are images you can use as styles for lines, fills and text. You can stretch the image or tile
the image across the entire element to be filled.
To set a texture
a. In the Style Selection dialog box, click the Textures tab.
b. Click Select Image. The Open dialog box appears. You can import the following image
formats: .BMP, .GIF, .JPG, .JPEG, .TIF, .TIFF, .PNG, .ICO, .EMF. Animated GIF images are
not supported.
c. Browse to and select an image file and click Open. The new pattern appears in the New color
box on the right of the dialog box.
d. Configure the size mode. Do one of the following:
z Click Tile to create a pattern that repeats itself.
z Click Stretch to enlarge (or shrink) the pattern across the selected element.
e. Click OK.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-57
The No Fill style appears as a red cross-through line in the New color box on the right of the
dialog box.
b. Click OK.
Note: You can also set the transparency level by changing the Transparency property in the
Properties Editor.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-59
You must also make sure that the TabStop property of each element is set to true. When the
TabStop property is set to true, you can use the tab key at run time to switch to the selected
element.
To edit the element’s tab order
a. Select the element for which you want to set the tab order.
b. In the Properties Editor, ensure that the TabStop property is set to True.
c. Type a unique value for the TabOrder property.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-61
z Allow or prevent the opening of more than one symbol or display from a symbol. One
example is a symbol with multiple Show Symbol animations. If this option is enabled, you
can open more than one pop-up and each pop-up is modeless.
To edit the description of a symbol
a. Click on the canvas so that no elements are selected.
b. In the Properties Editor, type a meaningful description for the Description property.
To use smoothing (anti-aliasing) for a symbol
a. Click on the canvas so that no elements are selected.
b. In the Properties Editor, select True for the Smoothing property.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-63
Rounded rectangles maintain their radius when their size is changed. If the symbol containing
rounded rectangles is embedded into an InTouch window and resized, the radius is not affected.
This can have adverse affects on the graphic representation of your symbol.
To enlarge the radius of a rounded rectangle
a. Select one or more rounded rectangles on the canvas.
b. Press and hold Shift and the + key on the numeric keypad.
The radius is enlarged, and the rounded rectangle becomes more round.
z In the Line Start list, click a shape for the start of the line.
z In the Line End list, click a shape for the end of the line.
z Click OK.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-65
Note: You can also set the line end shapes by changing the StartCap and EndCap properties
in the Properties Editor.
z For auto scaling, the text is resized to fit the text box.
z For word wrapping, the text in a text box continues in the next line.
To auto scale the text in a text box
a. Select one or more text boxes.
b. In the Properties Editor, set the AutoScale property to true.
To word wrap the text in a text box
a. Select one or more text boxes.
b. In the Properties Editor, set the WordWrap property to true.
Using Images
You can place images on the canvas. This is a two step process:
a. Draw a frame which specifies the target size of the image.
b. Import the image from an image file.
After you place an image on the canvas, you can:
z Set the display mode (ImageStyle).
z Set the image alignment (ImageAlignment).
z Set the transparency color (HasTransparentColor, TransparentColor properties).
z Open the image in an image editing application.
z Select a different image for the image element.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-67
Note: You can also set the image alignment in the ImageAlignment property in the Properties
Editor.
Note: You can also select a transparency color with the TransparentColor property in the
Properties Editor.
To edit an image
a. Select the image element with the image you want to edit.
b. On the Edit menu, click Edit Image. The image is opened with the associated image editing
application.
c. Make changes to the image as needed, save the image and close the image editing
application. The image is updated on the canvas.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-69
c. Browse to and select the executable of the image editing application and click Open. The
image editor is added to the list.
Note: You can also select a different image by clicking the browse button in the Image
property in the Properties Editor.
Using Buttons
You can use buttons in ArchestrA Symbols. Buttons show a text caption or an image. If they show
a text caption, you can:
z Automatically scale the font size
z Configure the text to wrap within the button
Wonderware Training
Section 1 – Creating and Managing Symbols 3-71
c. Click a control point you want to change and drag it to the new location. The element is
updated accordingly.
d. Repeat the previous step for all control points you want to change.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-73
Note: You can also change the tension of a curve or closed curve by changing the value for the
Tension property in the Properties Editor.
Note: You can also change the start or sweep angle of an arc, pie or chord in the StartAngle or
SweepAngle properties in the Properties Editor.
c. If you want to the angle to be multiples of 15 degrees, press and hold the Shift key.
d. If you want to the angle to be multiples of 45 degrees, press and hold the Ctrl key.
e. Grab the start angle or the sweep angle handle and drag it to the new location. The element is
updated accordingly.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-75
To change the start and sweep angle of an arc, pie, or chord together
a. Select the arc, pie, or chord.
b. On the Edit menu, click Edit Start and Sweep Angles. The start and sweep angle handles
appear on the selected element.
c. Select the start angle or the sweep angle handle and keep the mouse button down.
d. Press and hold the Alt key.
e. If you want additionally either angles to be multiples of 15 degrees, press and hold the Shift
key.
f. If you want additionally either angles to be multiples of 45 degrees, press and hold the Ctrl
key.
g. Drag the mouse. The start angle and sweep angle are changed accordingly.
h. When you are done, release the mouse button and then any keys.
Note: To move the symbol to the top level in the Graphic Toolset hierarchy, drag the symbol
to the Galaxy name icon.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-77
Renaming Symbols
You can rename a symbol at any time. Renaming a symbol does not affect the functionality of any
its child symbols.
Note: Symbol names must be unique within the whole hierarchy of the Graphic Toolbox.
d. Type a new unique name for the symbol and press Enter.
The symbol is renamed.
Note: You can only delete Graphic Toolsets that do not contain any symbols. Move the symbols
to another Graphic Toolset or delete them before deleting the Graphic Toolset.
d. Click Yes.
The Graphic Toolset is deleted.
Note: To move the Graphic Toolset to the top level in the Graphic Toolset hierarchy, drag the
Graphic Toolset to the Galaxy name icon.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-79
c. To hide Graphic Toolsets, clear the check box next to the Toolsets you want to hide.
d. To show Graphic Toolsets, check the check box next to the Toolsets you want to show.
e. To select or unselect all Toolsets, click the Check All or Uncheck All buttons.
f. When you are done, click Close.
The selected Graphic Toolsets are either shown or hidden depending on your settings.
Note: You can open multiple instances of the ArchestrA Symbol Editor at the same time.
However, you cannot edit the same symbol in multiple instances of the ArchestrA Symbol Editor
c. Double-click it.
The ArchestrA Symbol Editor opens.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-81
Note: To leave the symbol checked-out, click Keep Checked Out in the ArchestrA Symbol
Editor. This ensures that no other user can check out your symbol for editing.
Importing Symbols
You can import symbols and graphic toolsets from a symbol .aaPKG file.
To import symbols from a symbol .aaPKG file
a. On the Galaxy menu, point to Import, and then click Object(s).
The Import Automation Object(s) dialog box appears.
b. Select one or more symbol .aaPKG files you want to import and click Open.
The Import Preferences dialog box appears.
c. Select the appropriate options for the object version mismatch and object name conflict and
click OK. The symbols and graphic toolsets are imported.
d. Click Close.
Exporting Symbols
You can export symbols to a symbol .aaPKG file.
To export symbols to a symbol .aaPKG file
a. In the Graphic Toolbox, select the symbols that you want to export.
b. On the Galaxy menu, point to Export, and then click Object(s).
The Export Automation Object(s) dialog box appears.
c. Browse to the save location and type a name for the symbol .aaPKG file.
d. Click Save. The symbols and their toolset folders are exported.
e. Click Close.
Wonderware Training
Section 1 – Creating and Managing Symbols 3-83
Deleting a Symbol
You can delete a symbol you no longer want. Deleting a symbol removes it completely from the
Industrial Application Server. You can delete a symbol from the Graphic Toolbox or from an
Automation Object in the ArchestrA Symbol Editor.
z When you delete a symbol, you are shown where the symbol is used. This lets you
understand the impact of deleting the symbol before you actually delete it.
z You cannot delete symbols that someone else has open for editing or left checked out.
z If you delete a symbol from an Automation Object, the symbol still appears to other users
until you check in the Automation Object.
z If you delete a symbol that is used in an InTouch window, it is not deleted from that
window. However, the ArchestrA animation links no longer work and you cannot edit the
symbol with the ArchestrA Symbol Editor.
To delete a symbol
a. Do one of the following:
z Open the Graphic Toolbox.
z Open the Automation Object with the symbol you want to delete.
Click the Graphics tab.
b. Select the symbol you want to delete and click Delete.
The Delete confirmation dialog box appears.
c. At the prompt, review the places this symbol is being used, if any.
d. Click Yes. The symbol is deleted.
Note: You can also delete multiple symbols at the same time.
Copying a Symbol
You can copy a symbol by saving it to another location and renaming it.
To copy a symbol:
a. Select a symbol.
b. Export the symbol to the Graphic Toolbox.
c. Rename the symbol in the Graphic Toolbox.
d. Re-import the object.
Note: If you open a symbol in read-only mode, you still have access to all functions in the
ArchestrA Symbol Editor that do not change the symbol.
Wonderware Training
Section 2 – Using ArchestrA Symbols in WindowMaker 3-85
Section Objectives
z Embed ArchestrA Symbols in InTouch.
You can use ArchestrA Symbols that are created with the ArchestrA Symbol Editor in the IDE in
your IDE-managed InTouch application.
InTouchViewApp
IDE-Managed InTouch
Automation Manages
Applications
Object (Template)
Provides
ArchestrA
Symbols InTouch WindowViewer
Templates and
Instances
IDE-Managed InTouch
Provides Applications
ArchestrA
Symbol Functionality
You can:
z Insert ArchestrA symbols into an InTouch window.
z Configure inserted ArchestrA symbols.
z Start the ArchestrA IDE Symbol Editor.
z Test the ArchestrA Symbols in WindowViewer.
z Create a new Instance of the Automation object that is hosting the inserted ArchestrA
Symbol.
Note: You cannot insert ArchestrA Symbols into windows of stand alone InTouch applications.
Instead, convert the IDE-managed InTouch applications to stand alone InTouch applications.
ArchestrA symbols are converted, but can not be edited.
b. Click the Graphic Toolbox icon. The Graphic Toolbox list appears on the left.
c. Select the ArchestrA symbol you want to insert and click OK.
The insertion icon appears if the mouse is over the InTouch window.
d. Click on the InTouch window where you want to insert the ArchestrA symbol.
The object is inserted on the InTouch window.
Wonderware Training
Section 2 – Using ArchestrA Symbols in WindowMaker 3-87
Note: The animation links configured in WindowMaker are independent from those configured in
the ArchestrA Symbol Editor. They do not inherit the settings of the ArchestrA symbol and take
precedence when run in WindowViewer.
Wonderware Training
Section 2 – Using ArchestrA Symbols in WindowMaker 3-89
Note: For more information about dynamic size propagation, see Creating and Managing
ArchestrA Graphics User’s Guide.
b. Accept the changes in WindowMaker by clicking on the Symbol Changed icon in the
status bar. The changes are then propagated to WindowMaker.
Wonderware Training
Section 2 – Using ArchestrA Symbols in WindowMaker 3-91
Modify
Create
ArchestrA
ArchestrA
Symbol and
Symbol
Save
WindowMaker
Insert
ArchestrA Accept
Symbol into Changes in
InTouch WindowMaker
Window
WindowViewer
Test ArchestrA
Fast Switch to Fast Switch to
Symbol in
WindowViewer WindowMaker
WindowViewer
Note: You can fast-switch back to WindowMaker to make changes to the way the ArchestrA
symbol is inserted.
Note: After you have made changes to an ArchestrA symbol and saved it, it is faster to close
WindowViewer and to re-open WindowViewer than to wait for the changes to propagate to the
open WindowViewer session.
Wonderware Training
Lab 3 – Symbol Creation 3-93
Objectives
Upon completion of this lab, you will be able to:
z Use the ArchestrA Symbol editor and the drawing tools
z Create a new tank symbol
Wonderware Training
Lab 3 – Symbol Creation 3-95
6. Use the 3-Point Arc tool and draw an arc like the one shown below.
Hint: Click following the numbers shown below.
7. Use the PolyLine tool and draw a polyLine like the one shown below.
Hint: Click following the numbers shown below.
9. Click the Path Combine icon from the toolbar above the canvas to transform the
PolyLine and the Arc into a solid shape.
10. Using the Elements list or the Properties pane, rename the object MainTank.
Note: The name will change in both places any time an edit is made.
Wonderware Training
Lab 3 – Symbol Creation 3-97
11. Using the Fill Color button on the toolbar, bring up the Gradient options and select a gradient
color similar to the one shown below.
Note: Using a Point Based gradient with a Height of 100 and a Bell Color distribution allows
the gradient shading to more accurately follow the shape of a complex object.
Note: Once shaded, you can adjust he size of the object as necessary.
12. Use the Rounded Rectangle tool to draw a fill section for a view into the tank.
Choose an appropriate color for the fill element and rename it TankFill.
For the input and output piping, draw rectangles with gradient shading and the line weight set
to No Line.
13. Draw two rectangles as shown below for the first set of input and output piping.
15. Once the objects are named, group them and rename the group GatePipe.
Wonderware Training
Lab 3 – Symbol Creation 3-99
16. Duplicate the GatePipe group three (3) times for total of four sets of pipes.
17. Name the new groups:
z ValveAPipe
z ValveBPipe
z DrainPipe
18. Position the pipes as shown, omitting the text labels.
Resize the pipes as necessary.
Optional: You may also want to select MainTank and set its line weight to No Line.
Wonderware Training
Lab 3 – Symbol Creation 3-101
25. Select your Main_Reactor symbol and place it on the NewReactor Window.
Wonderware Training
Section 3 – Using Custom Properties 3-103
Section Objective
z Configure and apply Custom Properties.
This section shows you how to configure and use custom properties to extend the functionality of
symbols and also to use in combination with InTouch tagnames.
Data Type:
- Boolean
- Integer
- Float
- Double
- String
- Time Default Value:
- Elapsed Time - Value
- Reference (Element or Attribute)
- Expression
CUSTOM PROPERTY 1
Description
CUSTOM PROPERTY 2
SYMBOL
CUSTOM PROPERTY 3 Visibility:
- Public Custom Property
...
CUSTOM PROPERTY N
Wonderware Training
Section 3 – Using Custom Properties 3-105
You can see the name of the symbol and the custom property in the header of the right side of
the dialog box.
e. Configure the custom property on the right side of the Edit Custom Properties dialog box.
For more information see Creating and Managing ArchestrA Graphics User’s Guide - Chapter
10 Using Custom Properties - Configuring Custom Properties.
f. When finished, click OK.
To delete a custom property
a. Click the canvas to deselect any elements.
b. On the Special menu, click Custom Properties.
The Edit Custom Properties dialog box appears.
c. Select the custom property you want to delete and click the Remove icon.
A confirmation message appears.
d. Click Yes.
The custom property is removed from the custom properties list.
e. When you are done, click OK.
Note: The header of the configuration section shows you the symbol name, for example
Symbol_001, on the right and the custom property name on the left, for example
MyCustomProperty. It can be accessed from scripting as Symbol_001.MyCustomProperty.
d. In the Data Type list, select the data type of the custom property.
You can select one of the following:
Elapsed Time
Float
Integer
Wonderware Training
Section 3 – Using Custom Properties 3-107
Time
z Select the T icon to indicate that the default value is a static value.
z Select the label icon to indicate that the default value is a reference to a value.
h. In the Visibility box, select either:
z Public, so that the custom property is visible and can be used in a parent symbol if the
symbol is embedded or inserted.
z Private, so that the custom property is not visible outside of the defining symbol and
cannot be used if the symbol is embedded or inserted.
i. In the Description box, type a meaningful description for the custom property.
c. Select the custom property you want to validate and click the Validate icon.
Required boxes are highlighted by a red box, possible errors appear in the status area under
the custom properties list.
Note: For more information, see Connecting Animations with Custom Properties on page
219, Connecting Animations with InTouch tags on page 220 and the InTouch ArchestrA
Integration Guide.
Note: When you override the custom property, it appears bold in the custom property list.
a. In the Edit Custom Properties dialog box, click the Revert icon.
The custom property value is reverted to the original custom property value.
Wonderware Training
Lab 4 – Defining Custom Properties 3-109
Objectives
Upon completion of this lab, you will be able to:
z Create Custom Properties for ArchestrA symbols
a. From InTouch NewReactor window, open the Main_Reactor symbol in the Symbol Editor and
add the following Custom Properties:
Note: Pay close attention to the symbol names. This will help you avoid mistakes.
Wonderware Training
Lab 4 – Defining Custom Properties 3-111
4. Click the Add Custom Property icon to create a new Custom Property.
5. Name the new Custom Property Level.
By default its Data Type will be Boolean.
6. Change the Data Type to Integer.
Leave the Default Value as 0, and leave the Visibility selected as Public.
You may add a Description if you wish.
7. Create another Custom Property named Agitator with a Data Type as Boolean.
Accept the defaults for Default Value and Visibility.
Click OK to exit the dialog box.
You should see the two Custom Properties listed in the Properties pane of the Symbol Editor.
Wonderware Training
Lab 4 – Defining Custom Properties 3-113
11. In the Elements list in the left pane, right-click on the GateValve symbol and select
Custom Properties.
You will see that there are two Custom Properties associated with this object: FillColor and
Value. These Custom Properties are used to drive predefined animations for the valve.
Also note that you cannot create any new Custom Properties for this object. To do that, you
would have to Edit the Embedded ArchestrA Graphic.
12. Click OK to exit the dialog.
Wonderware Training
Lab 4 – Defining Custom Properties 3-115
13. Repeat the previous steps and place 3 additional valves onto the symbol, renaming their
instances as shown, omitting the text labels.
15. Save and Close your symbol and add the appropriate Check-in comments.
16. Switch to WindowMaker.
17. Double-click the Symbol Changed icon in the bottom right corner to see your changes.
18. Double-click on the tank to see the Custom Properties now associated with the object.
Wonderware Training
Section 4 – Animating Graphic Elements 3-117
Section Objective
z Configure and apply Animation to objects.
z Observe Animation in Runtime.
You can use animations to specify how the element appears at run time. Animations are driven by
data that comes from ArchestrA attribute values and expressions as well as element properties,
and InTouch tags.
You can use:
z Visualization animations, such as visibility, fill style, line style, text style, blinking, percent
fill horizontal, percent fill vertical, horizontal location, vertical location, width, height,
orientation, value display or tooltip.
z Interaction animations, such as disablement, user input, horizontal slider, vertical slider,
pushbutton, action script, show symbol or hide symbol.
z Element-specific animations for Status element and Windows Common Control elements.
Each element in your ArchestrA symbol can have one or more animations.
You can disable and enable individual animations for debugging purposes.
You can also cut, copy and paste animations between elements, regardless of their type. Only
animations that are supported by the target element are pasted.
You can also substitute references and strings in animations.
Note: Not all animations are available for all element types, as some do not make logical sense,
such as line style with a text element. You are not able to select or copy these invalid
combinations.
Wonderware Training
Section 4 – Animating Graphic Elements 3-119
d. Select an animation from the list. The animation is added to the animation list and you can
configure the selected animation on the right side of the Edit Animations dialog box.
Note: Depending on the animation type you may get an animation state selection panel
instead.
Wonderware Training
Section 4 – Animating Graphic Elements 3-121
e. Repeat for any other animations you want to disable and click OK when you are done.
To enable an animation
a. Select the element.
b. On the Special menu, click Edit Animations. The Edit Animations dialog box appears.
c. Locate the animation you want to enable from the animation list on the left side of the dialog
box.
d. Select Enabled from the list of that row.
e. Repeat for any other animations you want to enable and click OK when you are done.
Wonderware Training
Section 4 – Animating Graphic Elements 3-123
If the configuration has an error, an exclamation mark is shown next to the animation icon.
d. Click the Validate icon on the right side of the Edit Animations dialog box.
The currently selected animation is validated and possible errors are highlighted in the right
side of the dialog box.
Note: You cannot connect animations to properties of elements that are part of an embedded
symbol on the canvas.
Wonderware Training
Section 4 – Animating Graphic Elements 3-125
Note: To configure a reference to use an InTouch SuperTag, use the following syntax:
attribute(“intouch:SuperTag\Member”).
Wonderware Training
Section 4 – Animating Graphic Elements 3-127
Managing Animations
You can easily manage animations in the Edit Animations dialog box. You can:
z Change the way the list of animations appears.
z Switch easily between multiple animations of an element.
The configuration panel changes to the configuration panel of the previous or next animation.
d. In the Boolean box, type either a boolean numeric value, attribute reference or expression.
e. Select True, 1, On, if you want the element to show, when the expression is true, otherwise
select False, 0, Off.
Wonderware Training
Section 4 – Animating Graphic Elements 3-129
e. In the Boolean box, type either a boolean numeric value, attribute reference or expression.
f. Unselect Color in the True, 1, On area OR False, 0, Off area if you do not want a different fill
style for the true or false condition than the default fill style.
g. In the True, 1, On area, click the color box to configure the fill color when the expression is
true. The style selection dialog box appears.
h. In the False, 0, Off area, click the color box to configure the fill color when the expression is
false. The style selection dialog box appears.
i. When you are done, click OK.
To set the default fill style for a truth table fill style animation
a. Open the Edit Animations dialog box, Truth Table Fill Style panel.
b. In the Element Fill Style area, click the color box. The style selection dialog box appears.
To use the default fill style in a truth table fill style animation
a. Open the Edit Animations dialog box, Truth Table Fill Style panel.
b. Locate the condition for which you want to set the style to default style.
c. Uncheck the mark for that condition in the Color column of the truth table.
The associated style is the same as the style for the Element Fill Style.
Wonderware Training
Section 4 – Animating Graphic Elements 3-131
Example:
The table below shows an analog fill color animation that describes the following behavior:
z When the attribute TankLevel_001.PV is 0 then the fill style is solid black.
z When the attribute TankLevel_001.PV is smaller than 20, then the fill style is solid red.
z When the attribute TankLevel_001.PV is greater than the attribute Standards.TankMax
then the fill style is red with a diagonal pattern.
z In all other cases, the fill style is solid blue.
Wonderware Training
Section 4 – Animating Graphic Elements 3-133
e. In the Boolean box, type either a boolean numeric value, attribute reference or expression.
f. In the True, 1, On area, click the Color box to configure the line style when the expression is
true. The style selection dialog box appears.
g. In the Weight box, type a value for the line thickness when the expression is true.
h. From the Pattern list, select a line pattern for the line when the expression is true.
i. Repeat the above steps for the false condition in the False, 0, Off area.
j. When you are done, click OK.
To set default line style, thickness and/or pattern in a boolean line style animation
a. Open the Edit Animations dialog box, Boolean Line Style panel.
b. In the Element Line Style area, select a style, type a value for the width and select a pattern
for the default boolean line style.
To use default line style, thickness and/or pattern in a boolean line style animation
a. Open the Edit Animations dialog box, Boolean Line Style panel.
b. In either the True, 1, On or False, 0, Off areas, unselect Color, Weight and/or Pattern to use
the corresponding default style, weight and/or pattern.
Wonderware Training
Section 4 – Animating Graphic Elements 3-135
To set the default line style, width or pattern for a truth table line style animation
a. Open the Edit Animations dialog box, Truth Table Line Style panel.
b. In the Element Line Style area, select a style, type a value for the width and select a pattern
for the default truth table line style.
To use the default line style, width or pattern in a truth table line style animation
a. Open the Edit Animations dialog box, Truth Table Line Style panel.
b. Locate the condition for which you want to change the line style, width or pattern.
c. To use the default line style for the condition, uncheck the mark in the Color column of the
truth table.
d. To use the default line width for the condition, uncheck the mark in the Width column of the
truth table.
e. To use the default line pattern for the condition, uncheck the mark in the Pattern column of the
truth table.
a. In the Edit Animations dialog box, Truth Table Line Style panel, click the Add icon.
An additional condition is added to the truth table.
b. Configure color, weight, pattern, operator and breakpoint value according to your
requirements.
e. In the Boolean box, type either a boolean numeric value, attribute reference or expression.
f. In the True, 1, On area, click the Color box to configure the text style when the expression is
true.
The Style Selection dialog box appears.
g. Click the Browse button for the Font box, to select a font, font style and size for the text when
the expression is true.
h. Repeat the above steps for the false condition in the False, 0, Off area.
i. When you are done, click OK.
Wonderware Training
Section 4 – Animating Graphic Elements 3-137
To set default text style and/or font in a boolean text style animation
a. Open the Edit Animations dialog box, Boolean Text Style panel.
b. In the Element Text Style area, select a style and/or a font for the default boolean text style.
To use default text style and/or font in a boolean text style animation
a. Open the Edit Animations dialog box, Boolean Text Style panel.
b. In either the True, 1, On or False, 0, Off areas, unselect Color and/or Font to use the
corresponding default style and/or font.
c. Configuring a Truth Table Text Style Animation.
d. You can configure an element with a truth table text style animation.
To set the default text style or font for a truth table text style animation
a. Open the Edit Animations dialog box, Truth Table Text Style panel.
b. In the Element Text Style area, select a style and a font for the default truth table text style.
To use the default text style or font in a truth table text style animation
a. Open the Edit Animations dialog box, Truth Table Text Style panel.
b. Locate the condition for which you want to change the text style or font.
c. To use the default text style for the condition, uncheck the mark in the Color column of the
truth table.
d. To use the default font for the condition, uncheck the mark in the Font column of the truth
table.
a. In the Edit Animations dialog box, Truth Table Text Style panel, click the Add icon.
An additional condition is added to the truth table.
b. Configure style, font, operator and breakpoint value according to your requirements.
Wonderware Training
Section 4 – Animating Graphic Elements 3-139
d. In the Boolean box, type either a boolean numeric value, attribute reference or expression.
e. In the Blink When Expression Is area, select either:
z True, 1, On to enable blinking when the expression is true.
z False,0 ,Off to enable blinking when the expression is false.
f. In the Blink Speed area, select either Slow, Medium or Fast for the blinking speed.
g. In the Blink Attributes area, select either Blink Visible With These Attributes or Blink Invisible.
h. If you selected Blink Visible With These Attributes, you can configure the styles that are
used at run time for the text, line and fill component of the element. Click on the corresponding
color box, and the style selection dialog box appears.
i. When you are done, click OK.
Note: The fill orientation is a common setting to the percent fill horizontal and percent fill vertical
animations. If you configure an element with both these animations, then the last set orientation is
the setting that is used.
You can also preview how the percent fill horizontal animation appears at run time.
To configure an element with a percent fill horizontal animation
a. Select the element you want to configure.
b. On the Special menu, click Edit Animations.
The Edit Animations dialog box appears.
c. Click the Add icon and select % Fill Horizontal. The percent fill horizontal animation is added
to the animation list and the % Fill Horizontal configuration panel appears.
Wonderware Training
Section 4 – Animating Graphic Elements 3-141
e. In the Value - At Min Fill box, type an analog value, attribute reference or expression that
causes the minimum percent of filling at run time.
f. In the Value - At Max Fill box, type an analog value, attribute reference or expression that
causes the maximum percent of filling at run time.
g. In the Fill - Min% box, type an analog value, attribute reference or expression to specify the
minimum percent of filling.
h. In the Fill - Max% box, type an analog value, attribute reference or expression to specify the
maximum percent of filling.
i. In the Colors area, click the:
z Fill Color box to select a style from the style selection dialog box.
This is the fill style of the element.
z Unfilled Color box to select a style from the style selection dialog box.
This is the background fill style of the element.
j. In the Direction area, select either:
z Right - to fill from left to right.
z Left - to fill from right to left.
k. In the Orientation area, select either:
z Relative to Graphic - so that the filling is in relation to the element and the filling rotates
with the element.
z Relative to Screen - so that the filling is in relation to the screen and the filling does not
rotate with the element.
l. You can preview your configuration by using the slider in the Preview area.
Drag the slider to see how different values affect the appearance at run time.
Wonderware Training
Section 4 – Animating Graphic Elements 3-143
h. In the Fill-Max% box, type an analog value, attribute reference or expression to specify the
maximum percent of filling.
i. In the Colors area, click the:
z Fill Color box to select a style from the style selection dialog box.
This is the fill style of the element.
z Unfilled Color box to select a style from the style selection dialog box.
This is the background fill style of the element.
j. In the Direction area, select either:
z Up - to fill from bottom to top.
z Down - to fill from top to bottom.
k. In the Orientation area, select either:
z Relative to Graphic - so that the filling is in relation to the element and the filling rotates
with the element.
z Relative to Screen - so that the filling is in relation to the screen and the filling does not
rotate with the element.
l. You can preview your configuration by using the slider in the Preview area.
Drag the slider to see how different values affect the appearance at run time.
Wonderware Training
Section 4 – Animating Graphic Elements 3-145
Wonderware Training
Section 4 – Animating Graphic Elements 3-147
Wonderware Training
Section 4 – Animating Graphic Elements 3-149
j. If you use current as offset orientation, you can type an offset value in the text box next to Use
Current as Offset Orientation. This affects the orientation of the element on the canvas.
k. In the Current Relative Origin area, type values in the dX and dY boxes to specify the
rotation origin as offset from the element center point. This affects the point of origin of the
element on the canvas.
l. Select either:
z Replace Current Angle to ignore the design-time rotation setting of the element as it
appears on the canvas.
z Apply Current Angle as Offset to rotate the element at run time in relation to its design-
time rotation angle on the canvas.
m. You can preview the orientation and how run-time values affect the appearance of the
element, by dragging the slider in the Preview area.
Note: Make sure that the input modes of the True Message and False Message are
set correctly. Click the input mode icon to set either a static value or an attribute reference or
expression.
Wonderware Training
Section 4 – Animating Graphic Elements 3-151
e. In the Time or Elapsed Time box, type a time or elapsed time value, attribute reference or
expression.
z In the Text Format box, type a format for the value output.
If you change this value, the TextFormat property of the element also changes.
Use the following letters to set the time format:
Abbreviation Item to Display
h hours
hh hours in double digit display
m minutes
mm minutes in double digit display
s seconds
ss seconds in double digit display
d day of month
dd day of month in double digit display
ddd day of week in short notation
dddd day of week in long notation
ampm 12 hour display
M numeral month
MM numeral month in double digit display
MMM month in 3 letter notation
MMMM month as full name
yy year in two digit display
yyyy year in four digit display
Wonderware Training
Section 4 – Animating Graphic Elements 3-153
e. Select:
z Tag Name to show the tag name of the hosting Automation object.
z Hierarchical Name to show the hierarchical name of the hosting Automation object.
z Contained Name to show the contained name of the hosting Automation object.
f. When you are done, click OK.
Note: The tooltip animation does not work with Windows Common Controls.
Wonderware Training
Section 4 – Animating Graphic Elements 3-155
d. In the Boolean box, type either a boolean numeric value, attribute reference or expression.
e. In the Disabled When Expression is area, select either:
z True,1, On in which case the element is disabled at run time whenever the expression is
true.
z False, 0, Off in which case the element is disabled at run time whenever the expression is
false.
f. When you are done, click OK.
e. In the Boolean box, type an attribute reference or browse for one by using the Browse button.
f. In the Message to User box, type a value, attribute reference or expression.
This is the text that appears as prompt on the boolean value input dialog box at run time.
g. In the Prompt - True Message box, type a value, attribute reference or expression.
This is the text that appears on the button that causes the attribute to be set to true.
h. In the Prompt - False Message box, type a value, attribute reference or expression.
This is the text that appears on the button that causes the attribute to be set to false.
i. If you want the input dialog box to appear by pressing a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
j. If required, select Input Only to suppress that the discrete value display element shows the
True Message and False Message.
Wonderware Training
Section 4 – Animating Graphic Elements 3-157
k. In the Display Value - True Message box, type a value, attribute reference or expression.
This is the text that appears on the canvas when the associated attribute is true.
l. In the Display Value - False Message box, type a value, attribute reference or expression.
This is the text that appears on the canvas when the associated attribute is false.
m. Make sure that the input modes of all boxes are set correctly.
Click the input mode icon to set either a static value or an attribute reference or expression.
n. When you are done, click OK.
e. In the Analog box, type an attribute reference or browse for one by using the browse button.
f. In the Message to User box, type a value, attribute reference or expression.
This is the text that appears as prompt on the analog value input dialog box at run time.
g. Make sure that the input mode of the Message to User box is set correctly.
Click the input mode icon to set either a static value or an attribute reference or expression.
h. If you want to restrict the range of input values, you can do so in the Value Limits area by:
z First selecting Restrict Values.
z The Typing values, attribute references or expressions for the Minimum and Maximum
boxes.
i. If you want the input dialog box to appear by pressing a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
j. If required, select Input Only to suppress that the analog value display element shows the
analog input result on the canvas.
k. To use the keypad to type the analog value, select Use Keypad.
l. If you want to format your text during input, type a valid text format in the Text Format box.
For example: PV = #,###.##
m. When you are done, click OK.
e. In the String box, type an attribute reference or browse for one by using the browse button.
f. In the Message to User box, type a value, attribute reference or expression.
This is the text that appears as prompt on the string value input dialog box at run time.
g. Make sure that the input mode of the Message to User box is set correctly.
Click the input mode icon to set either a static value or an attribute reference or expression.
h. If you want the input dialog box to appear by pressing a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
i. If required, select Input Only to suppress that the string value display element shows the
string input result on the canvas.
Wonderware Training
Section 4 – Animating Graphic Elements 3-159
j. If you want to use the keypad to type the string value, select Use Keypad.
k. If you selected Input Only and want to see placeholders during the input at run time, select
Echo Characters.
l. If you are configuring a password input:
z Select Password.
z Type in the replacement character in the adjacent box.
z Select Encrypt if you want to encrypt the string that holds the password.
m. When you are done, click OK.
e. In the Time box, type an attribute reference or browse for one by using the browse button.
f. In the Message to User box, type a value, attribute reference or expression.
This is the text that appears as prompt on the time value input dialog box at run time.
g. Make sure that the input mode of the Message to User box is set correctly.
Click the input mode icon to set either a static value or an attribute reference or expression.
h. If you want the input dialog box to appear by pressing a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
i. If required, select Input Only to suppress that the time value display element shows the time
input result on the canvas.
j. To use the current date and time as default, select Use Current Date/Time as Default.
k. Select either:
z Use Input Dialog to use the Time User Input dialog box at run time to type date and time
values in individual boxes.
z Use Calendar to use the Time User Input dialog box at run time to select a date with the
calendar control.
l. If you selected Use Input Dialog to type the time value, you can either select:
z Date and Time to type date and time.
z Date to only type a date.
z Time to only type a time.
Select Show Seconds if you also want to input seconds.
m. If you want to format your text during input, type a valid text format in the Text Format box.
For example: PV = #,###.##
n. When you are done, click OK.
e. In the Elapsed Time box, type an attribute reference or browse for one by using the Browse
button.
f. In the Message to User box, type a value, attribute reference or expression. This is the text
that appears as prompt on the elapsed time value input dialog box at run time.
Wonderware Training
Section 4 – Animating Graphic Elements 3-161
g. Make sure that the input mode of the Message to User box is set correctly.
Click the input mode icon to set either a static value or an attribute reference or expression.
h. If you want the input dialog box to appear by pressing a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
i. If required, select Input Only to suppress that the elapsed time value display element shows
the time elapsed input result on the canvas.
j. Select Use Dialog to use the Elapsed Time User Input dialog box to type the elapsed time
value at run time.
k. If you selected Use Dialog to type the elapsed time value, you can optionally select:
z Show Days if you also want to input days.
z Show Milliseconds if you also want to input milliseconds.
l. When you are done, click OK.
d. In the Analog box, type an attribute reference or browse for one by using the Browse button.
e. In the Value - Left Position box, type an analog value, attribute reference or expression that
corresponds to the offset specified by the Movement - To Left value.
f. In the Value - Right Position box, type an analog value, attribute reference or expression that
corresponds to the offset specified by the Movement - To Right value.
g. In the Movement - To Left box, type an analog value, attribute reference or expression for the
maximum offset to the left.
h. In the Movement - To Right box, type an analog value, attribute reference or expression for
the maximum offset to the right.
i. You can select where the cursor is anchored to the element when it is dragged at run time. In
the Cursor Anchor area, select either:
z Left to anchor the element at its left side.
z Center to anchor the element at its center point.
z Right to anchor the element at its right side.
z Origin to anchor the element at its point of origin.
j. You can select if position data from the slider is written continuously to the attribute, or only
once when the mouse button is released. In the Write Data area, select either Continuously
or On mouse release.
k. If you want a tooltip to appear on the element showing the current value during dragging,
select Show Tooltip.
l. If you want to preview the movement as it appears in run time, drag the slider in the Preview
area.
Wonderware Training
Section 4 – Animating Graphic Elements 3-163
d. In the Analog box, type an attribute reference or browse for one by using the Browse button.
e. In the Value - Top Position box, type an analog value, attribute reference or expression that
corresponds to the offset specified by the Movement - Up value.
f. In the Value - Bottom Position box, type an analog value, attribute reference or expression
that corresponds to the offset specified by the Movement - Down value.
g. In the Movement - Up box, type an analog value, attribute reference or expression for the
maximum offset upwards.
h. In the Movement - Down box, type an analog value, attribute reference or expression for the
maximum offset downwards.
i. You can select where the cursor is anchored to the element when it is dragged at run time. In
the Cursor Anchor area, select either:
z Top to anchor the element at its top side.
z Middle to anchor the element at its middle point.
z Bottom to anchor the element at its bottom side.
z Origin to anchor the element at its point of origin.
j. You can select if position data from the slider is written continuously to the attribute, or only
once when the mouse button is released. In the Write Data area, select either Continuously
or On mouse release.
k. If you want a tooltip to appear on the element showing the current value during dragging,
select Show Tooltip.
l. If you want to preview the movement as it appears in run time, drag the slider in the Preview
area.
g. In the Boolean box, type a boolean attribute reference or browse for one by using the Browse
button.
Wonderware Training
Section 4 – Animating Graphic Elements 3-165
e. In the Analog box, type an attribute reference or browse for one by using the Browse button.
f. From the Action list, select either:
z Direct so the value becomes Value1 when the element is clicked and the mouse button
held. The value returns to Value2 when the mouse button is released.
z Toggle so the value becomes Value1, if it is Value2 and Value2 if it is Value1 when the
element is clicked.
z Set so the value is set to Value1 when the element is clicked.
z Increment so the value is increased by Value1.
z Decrement so the value is decreased by Value1.
z Multiply so the value is multiplied with Value1.
z Divide so the value is divided by Value1.
g. In the boxes Value1 and, if applicable, Value2, type analog values, attribute references or
references.
h. You can configure the value to be written when the mouse button is released instead.
Select On button release. This does not apply if you selected Direct as action.
i. You can configure the value to be written:
z Continuously by selecting the Continuously while button is pressed. Also specify the
frequency the value is to be sent, by typing a value in the Delay between value send box.
z Once by unselecting the Continuously while button is pressed.
j. This does not apply if you selected Toggle as action.
Wonderware Training
Section 4 – Animating Graphic Elements 3-167
k. If you want the pushbutton action to be executed by pressing a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
l. You can preview the pushbutton run-time behavior by clicking Button in the Preview area.
Click the button multiple times to preview the value changes over a period of time.
e. In the String box, type an attribute reference or browse for one by using the Browse button.
f. From the Action list, select either:
z Direct so the value becomes Value1 when the element is clicked and the mouse button
held. The value returns to Value2 when the mouse button is released.
z Toggle so the value becomes Value1, if it is Value2 and Value2 if it is Value1 when the
element is clicked
z Set so the value is set to Value1 when the element is clicked.
g. In the boxes Value1 and, if applicable, Value2, type string values, attribute references or
references.
h. Make sure that the input modes of the Value1 and Value2 boxes are set correctly. Click the
input mode icons to set either a static values or an attribute references or expressions.
i. You can configure the value to be written when the mouse button is released instead.
Select On button release. This does not apply if you selected Direct as action.
j. You can configure the value to be written:
z Continuously by selecting the Continuously while button is pressed. Also specify the
frequency the value is to be sent, by typing a value in the Delay between value send box.
z Once by unselecting the Continuously while button is pressed.
k. This does not apply if you selected Toggle as action.
l. If you want the pushbutton action to be executed by pressing a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
m. You can preview the pushbutton run-time behavior by clicking Button in the Preview area.
Wonderware Training
Section 4 – Animating Graphic Elements 3-169
Note: To expand the available space for your script you can use the expansion buttons
to hide the script header and/or the animation list.
See Section 5, “Associating Scripts with Symbols” for more details regarding Scripting.
d. From the Trigger type list, select the trigger that activates the action script at run time.
e. If you selected a trigger type that starts with While, type how frequently the action script is
executed at run time in the Trigger period box.
f. If you selected the trigger types On Mouse Over or On Mouse Leave, type a value in the
Trigger Period box. This value specifies after what delay the action script is executed at run
time.
g. If you selected a trigger type that involves pressing a key, type a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
h. Create your script in the action script window.
i. When you are done, click OK.
Note: For more information about scripts, see Associating Scripts with Symbols on page 299.
Wonderware Training
Section 4 – Animating Graphic Elements 3-171
d. In the Reference box, type a symbol name or browse for one by using the Browse button.
e. If you want to add a title bar to the symbol, select Has Title Bar.
f. If you want to use the symbol name as window title,
select Use Symbol Name for Window Title.
g. Select the window type, either Modal or Modeless.
h. If you want the symbol to have a close button, select Has Close Button.
i. If you want the symbol to have resize controls, select Resizable.
j. Select where you want the window to appear by selecting a position in the Position list.
You can select one of the following:
z Center Screen to position the symbol in the center of the screen.
z Top Left Mouse Position to position the symbol’s top left corner at the position of the
mouse pointer.
z Top Right Mouse Position to position the symbol’s top right corner at the position of the
mouse pointer.
z Bottom Left Mouse Position to position the symbol’s bottom left corner at the position of
the mouse pointer.
z Bottom Right Mouse Position to position the symbol’s bottom right corner at the position
of the mouse pointer.
z Center Mouse Position to position the symbol’s center point on the mouse pointer.
z Top Left X,Y Position to position the symbol’s top left corner at a specified position.
z Center X,Y Position to position the symbol’s center point at a specified position.
z Top of Screen to position the symbol at the top center of the screen.
z Left Side of Screen to position the symbol at the left middle of the screen.
z Right Side of Screen to position the symbol at the right middle of the screen.
z Bottom of Screen to position the symbol at the bottom center of the screen.
z Top Left Corner of Screen to position the symbol at the top left corner of the screen.
z Top Right Corner of Screen to position the symbol at the top right corner of the screen.
z Bottom Left Corner of Screen to position the symbol at the bottom left corner of the
screen.
z Bottom Right Corner of Screen to position the symbol at the bottom right corner of the
screen.
k. If you selected Top Left X,Y Position or Center X,Y Position as position, you can type the
desired coordinates in the X and Y value boxes.
l. Select how large you want the window to be in the Size list. You can select either:
z Symbol Size (1x) to make the window size the same as the size of the symbol.
z Symbol Size plus 25% (1.25x) to make the window size 25% larger than the size of the
symbol.
z Symbol Size plus 50% (1.5x) to make the window size 50% larger than the size of the
symbol.
z Symbol Size plus 75% (1.75x) to make the window size 75% larger than the size of the
symbol.
z Double Symbol Size (2x) to make the window size twice the size of the symbol.
z Triple Symbol Size (3x) to make the window size three times the size of the symbol.
z Quadruple Symbol Size (4x) to make the window size four times the size of the symbol.
z 25% Screen Size to make the window size cover 25% of the screen.
z 50% Screen Size to make the window size cover 50% of the screen.
z 75% Screen Size to make the window size cover 75% of the screen.
z Full Screen Size to make the window size cover the entire screen.
z Custom Width and Height to specify a width and height.
Wonderware Training
Section 4 – Animating Graphic Elements 3-173
m. If you selected Custom Width and Height as size, you can type the desired width and height
in the W and H boxes.
n. If you want the symbol to be stretched to fit the window size, select Stretch symbol to fit
window size.
o. If you want the window to be stretched to fit the screen width, select Stretch window to
screen width. If the size is Custom Width and Height, you can type a value for the height in
the H box.
p. If you want the window to be stretched to fit the screen height, select Stretch window to screen
height. If the size is Custom Width and Height, you can type a value for the width in the W box.
q. If you want the symbol window to appear by pressing a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
r. When you are done, click OK.
c. Select either:
z Current Symbol, if you want to close the currently shown symbol or window.
z Symbol shown by an element, if you want to close a symbol that is shown by that
element. Type the element name in the adjacent box.
d. If you want the symbol window to be hidden by pressing a key or key combination, in the
Shortcut area select a shortcut key in the Key list, and select Ctrl and/or Shift to combine the
shortcut key with the Ctrl key and/or Shift key.
e. When you are done, click OK.
Note: The Status Graphic animation is only used by the Status element and cannot be removed
from the Status element.
c. From the Available Graphic Elements list, select all elements for which you want to monitor
their attribute quality and status.
d. Click the >> button to add them to the Selected Graphic Elements list.
Note: You can click the << button to remove any elements you do not want to select.
Wonderware Training
Section 4 – Animating Graphic Elements 3-175
f. In the Value or Expression list type a value or expression that can either be a literal, or a
reference or element property.
Note: You can also browse for the value or expression by clicking the browse button.
c. In the Reference box, type an attribute reference to store the selected value at run time.
d. In the Static Values and Captions list, configure the captions of the radio button group and
also the values that correspond to them to:
z Add an option, click the Add icon.
z Delete an option, select it in the list and click the Remove icon.
z Move an option up the list, select it in the list and click the Arrow up icon.
z Move an option down the list, select it in the list and click the Arrow down icon.
e. If you want to use the values themselves as captions, select Use Values as Captions.
f. You can either orientate the radio button group in vertical or horizontal direction.
Select either Vertical or Horizontal.
g. When you are done, click OK.
Wonderware Training
Section 4 – Animating Graphic Elements 3-177
d. In the Reference box, type an attribute reference to store the selected value at run time.
e. In the Array Reference box, type or browse for an array attribute.
The Array Values and Captions list is populated with the values from the array reference.
f. To define your own captions, unselect Use Values as Captions and type them in the list.
g. If you want to format the value before it is shown as a caption, type a text format string in the
Format box, for example #.###.
h. Set Items Sorting to either:
z None to show the items in the order they are in the enum attribute.
z Ascending to show the items sorted in ascending order.
z Descending to show the items sorted in descending order.
i. You can either orientate the radio button group in vertical or horizontal direction.
Select either Vertical or Horizontal.
j. When you are done, click OK.
d. In the Enum Reference box, type an enum attribute reference. The Enum Values and
Captions list is populated with the values from the enum reference.
e. To define your own captions, unselect Use Values as Captions and type them in the list.
f. Set Items Sorting to either:
z None to show the items in the order they are in the enum attribute.
z Ascending to show the items sorted in ascending order.
z Descending to show the items sorted in descending order.
g. You can either orientate the radio button group in vertical or horizontal direction.
Select either Vertical or Horizontal.
h. When you are done, click OK.
Wonderware Training
Section 4 – Animating Graphic Elements 3-179
c. In the Checked value - Boolean box, type an attribute reference. The attribute reference
contains the selected state of the check box control at run time.
d. If you want to set the caption of the check box at run-time, select Override caption at
Runtime with the following expression and type a string value or attribute reference or
expression in the String Expression box.
e. When you are done, click OK.
Wonderware Training
Section 4 – Animating Graphic Elements 3-181
c. In the Reference box, type an attribute reference to store the selected value at run time.
d. In the Static Values and Captions list, configure the captions of the combo box and also the
values that correspond to them:
z Add an option, click the Add icon.
z Delete an option, select it in the list and click the Remove icon.
z Move an option up the list, select it in the list and click the Arrow up icon.
z Move an option down the list, select it in the list and click the Arrow down icon.
e. If you want to use the values themselves as captions, select Use Values as Captions.
f. If you want to alphabetically sort the captions, select Sorted.
g. If you want to allow duplicate captions, select Allow Duplicates.
h. You can select the type of combo box from the Type list. Select either:
z Simple - at run time you can type a value, but not select any.
z DropDown - at run time you can either type a value, or select one from the list.
z DropDownList - at run time you can only select a value from the list, but not type one.
i. When you are done, click OK.
d. In the Reference box, type an attribute reference to store the selected value at run time. The
Array Values and Captions list is populated with the values from the array reference.
e. To define your own captions, unselect Use Values as Captions and type them in the list.
f. If you want to format the value before it is shown as a caption, type a text format string in the
Format box, for example #.###.
g. Set Items Sorting to either:
z None to show the items in the order they are in the enum attribute.
z Ascending to show the items sorted in ascending order.
z Descending to show the items sorted in descending order.
h. When you are done, click OK.
Wonderware Training
Section 4 – Animating Graphic Elements 3-183
c. In the Date Reference box, type a Time attribute reference to store the selected value at run
time.
d. If you want to restrict the date the user can select at run time, you can specify limits as follows:
z In the MinDate box, type a lower limit for the date.
z In the MaxDate box, type an upper limit for date.
e. If you want some dates to appear bold, in the Bolded Dates box type a reference that points
to an attribute array with time data type.
f. If you want today’s date shown on the calendar control, select Show Today.
g. If you want to change the colors of the calendar control, click in the Calendar Colors area the
following color boxes:
z Month Background.
z Month Trailing Forecolor.
z Title Background.
z Title Foreground.
The style selection dialog box appears and you can select a solid color.
h. When you are done, click OK.
Wonderware Training
Section 4 – Animating Graphic Elements 3-185
c. In the Time Reference box, type a Time attribute reference to store the selected value at run
time.
d. To set the datetime format, select from the Format list one of the following:
z Long to show the date and time in the dddd MMMM dd, yyyy format, for example:
Thursday, August 03 2006.
z Short to show the date and time in the dd/MM/yyyy format, for example: 8/3/2006.
z Time to show just the time in the hh:mm:ss format, for example: 3:46:09 PM.
z Custom to specify your own time format. Use the following letters to set the time format.
e. If you want to restrict the date the user can select at run time, you can specify limits in the:
z MinDate box - type a lower limit for the date.
z MaxDate box - type an upper limit for date.
z If you want to change the colors of the calendar control that drops down, click in the
Calendar Colors area the following color boxes:
z Month Background.
z Month Trailing Forecolor.
z Title Background.
z Title Foreground.
The style selection dialog box appears and you can select a solid color.
c. In the Reference box, type an attribute reference to store the selected value at run time.
d. In the Static Values and Captions list, configure the captions of the list box and also the
values that correspond to them. To:
z Add an option, click the Add icon.
z Delete an option, select it in the list and click the Remove icon.
z Move an option up the list, select it in the list and click the Arrow up icon.
z Move an option down the list, select it in the list and click the Arrow down icon.
e. If you want to use the values themselves as captions, select Use Values as Captions.
f. If you want to alphabetically sort the captions, select Sorted.
g. If you want to allow duplicate captions, select Allow Duplicates.
h. When you are done, click OK.
Wonderware Training
Section 4 – Animating Graphic Elements 3-187
d. In the Reference box, type an attribute reference to store the selected value at run time.
e. In the Array Reference box, type or browse for an array attribute. The Array Values and
Captions list is populated with the values from the array reference.
f. To define your own captions, unselect Use Values as Captions and type them in the list.
g. If you want to format the value before it is shown as a caption, type a text format string in the
Format box, for example #.###.
h. Set Items Sorting to either:
z None to show the items in the order they are in the enum attribute.
z Ascending to show the items sorted in ascending order.
z Descending to show the items sorted in descending order.
i. When you are done, click OK.
d. In the Enum Reference box, type an enum attribute reference. The Enum Values and
Captions list is populated with the values from the enum reference.
e. To define your own captions, unselect Use Values as Captions and type them in the list.
f. Set Items Sorting to either:
z None to show the items in the order they are in the enum attribute.
z Ascending to show the items sorted in ascending order.
z Descending to show the items sorted in descending order.
g. When you are done, click OK.
Wonderware Training
Section 4 – Animating Graphic Elements 3-189
Note: The boolean expression is a trigger that determines when the value is written from the
control to the tag or attribute. If the value changes in the tag or attribute, then the value is
written to the control, regardless of the trigger setting or condition.
Note: If you try to paste an animation to an element that is already configured with that animation,
an appropriate dialog box appears.
SYMBOL4
SYMBOL3
SYMBOL1 SYMBOL2
ELEMENT1 CustomProperty1
ANI CustomProperty2
MA
T IO
N CustomProperty3
InTouch Tags
tag3
SYMBOL1 tag2
tag1
ELEMENT1 CustomProperty1
ANI CustomProperty2
MA
T IO
N CustomProperty3
USES INTOUCH
TAG AS REFERENCE
Wonderware Training
Section 4 – Animating Graphic Elements 3-191
When you insert an ArchestrA symbol in an InTouch window, the references in the animation links
are converted as follows:
Note: You can restore the original value of the custom property by clicking the Restore icon.
Wonderware Training
Lab 5 – Animation 3-193
Lab 5 – Animation
Introduction
In this lab, you will add animation to the tank symbol you created in Lab 3 and modified in Lab 4.
You will use a % Fill Vertical animation to show the tank filling and draining. You will also animate
a text box to display the agitator status and then test these animations in Runtime.
Objectives
Upon completion of this lab, you will be able to:
z Create and apply animation to an ArchestrA Symbol
Add Custom Properties to the tank object created in the earlier lab.
a. From the InTouch NewReactor window, edit the Main_Reactor1 symbol.
b. Rename the Rounded Rectangle in the middle of the tank to LevelIndicator.
c. Add a % Fill Vertical animation to LevelIndicator that references the Level property of
Main_Reactor.
Set At Max Fill to 1000, Fill Color to any color you choose, and Unfilled Color to No Fill.
d. Add a Text Box to the Main_Tank, change the text to Agitator Status.
e. Add a Value Display animation with a State of Boolean and Expression Or Reference of
Agitator.
f. Add a Fill Style animation with a State of Boolean and the colors of Green for On and Red
for Off.
g. Switch to WindowMaker and Update the symbol.
h. Link the Agitator_PLC1 tag to the Agitator Custom Property OR
Assign the Custom Properties in the symbol to the tags shown below:
i. Test in Runtime.
Wonderware Training
Lab 5 – Animation 3-195
7. Click the ellipsis button to the right of the Expression Or Reference field to open the Galaxy
Browser.
9. Click OK.
Note: Although it is possible to assign a property to the Min/Max fill properties, you will set the
property for this lab.
Wonderware Training
Lab 5 – Animation 3-197
11. The fill color for the element should be whatever color it was drawn in.
Click on the UnFilled Color selector and change the color to No Fill.
Click OK when finished.
Note: You can test your animation configuration using the Preview section in the lower right
corner.
13. Use the Text Box tool to insert a text box into the symbol.
Change the text to Agitator Status.
14. Double-click the Text Box to open the animations and add a Value Display animation.
16. Without exiting the Edit Animations dialog box, add another animation
Select the Fill Style animation.
Wonderware Training
Lab 5 – Animation 3-199
17. Select the State of Boolean and define the animation as shown below using:
z Expression Or Reference: Agitator
z Green for On
z Red for Off
20. Switch back to WindowMaker and update the symbol by double-clicking the update icon.
This will open the InTouch Tag Browser and you will be able to select the appropriate tags to
link to the custom Properties to drive the animation.
Note: Recall that when symbols are embedded into other symbols, their custom properties
come across with them. For example, the Custom Property to drive the animation for Valve_A
is named ValveA.Value.
Note: You also have the option in some cases, to override the color for an embedded symbol.
For example, you can change the Default Value for DrainValve.FillColor to Red to change
the OnColor.
Wonderware Training
Lab 5 – Animation 3-201
Wonderware Training
Lab 6 – Referencing a Symbol 3-203
Objectives
Upon completion of this lab, you will be able to:
z Call one symbol from within another
a. From the IDE’s Graphic Toolbox, in the Class Symbols Graphic Toolset, create a new symbol
named StatusPanel similar to the one shown below.
b. Assign each Default Value to an appropriately named InTouch Tag with the syntax:
InTouch:Tagname.
c. Open the Main_Reactor Symbol and draw a button labeled Status Panel next to the tank.
d. Add a Show Symbol animation to the button and show the Status Panel.
e. Switch back to WindowMaker and Update the symbol.
f. Test the animation in Runtime.
Wonderware Training
Lab 6 – Referencing a Symbol 3-205
1. If the IDE is not already open, launch the ArchestrA IDE and connect to your Galaxy.
2. From the IDE’s Graphic Toolbox, create a new symbol named StatusPanel in the Class
Symbols Graphic Toolset.
3. Open the symbol and draw a graphic similar to the one shown below.
4. Rename the Elements as shown below.
6. Link the Value Custom Property to InTouch:Start_PLC1 by typing it in the Default Value field.
Note: For a reminder of the tags you created earlier, see step 14 on page 2-11.
7. Repeat the steps for each of the other symbols, linking them to the appropriate InTouch tag.
8. Save and Close this symbol.
Wonderware Training
Lab 6 – Referencing a Symbol 3-207
9. Open the Main_Reactor Symbol and draw a button object next to the tank.
Change the button label to Status Panel.
10. Double-click the button and add the animation Show Symbol.
Wonderware Training
Section 5 – Associating Scripts with Symbols 3-209
Section Objective
z Configure scripts and associate them with objects.
z Test scripts in Runtime.
This section shows you how to associate symbols with one or more scripts. Scripts can run code
that animates the symbol or its elements, or perform any other task. The script language used for
this purpose is nearly identical to the one used in InTouch.
Note: Any named script that is triggered by the DataChange trigger type is executed the first time
the symbol is shown. This behavior is different than the DataChange trigger behavior of Industrial
Application Server scripts.
For more information about Industrial Application Server scripting, see the Industrial Application
Server User’s Guide.
You can:
z Configure the predefined scripts of a symbol.
z Add named scripts to a symbol.
z Edit existing named or predefined scripts in a symbol.
z Rename named scripts in a symbol.
z Remove named scripts from a symbol.
z Substitute references in named or predefined scripts.
z Use Element Methods in named or predefined scripts.
Note: The Predefined Scripts animation cannot be deleted. It can contain scripts for each trigger
type On Show, While Showing and On Hide.
Wonderware Training
Section 5 – Associating Scripts with Symbols 3-211
Note: Every named script can contain only one trigger type.
Wonderware Training
Section 5 – Associating Scripts with Symbols 3-213
Wonderware Training
Section 5 – Associating Scripts with Symbols 3-215
Wonderware Training
Section 5 – Associating Scripts with Symbols 3-217
Wonderware Training
Section 5 – Associating Scripts with Symbols 3-219
Wonderware Training
Lab 7 – Scripting 3-221
Lab 7 – Scripting
Introduction
In this lab you will add a meter symbol to the tank created earlier. You will configure a script so that
when you hover over the symbol, it will enlarge and be easy to read. When you move your mouse
off the symbol, it will shrink to its original size. This lab modifies the Main_Reactor symbol created
and modified in earlier labs.
Objectives
Upon completion of this lab, you will be able to:
z Configure and implement Scripting within ArchestrA Graphics
a. In WindowMaker, open the NewReactor window if it is not open, and then Edit the
Main_Reactor symbol.
b. Embed the AnalogMeterRound symbol from the ArchestrA Graphics Library onto your
Main_Reactor symbol.
c. Rename the AnalogMeterRound to TankMeter.
d. Set the Runtime Behavior TreatAsIcon to True and resize the symbol so it is small and
unobtrusive.
e. Create the four following Custom Properties:
Wonderware Training
Lab 7 – Scripting 3-223
Wonderware Training
Lab 7 – Scripting 3-225
8. Deselect everything and right-click on the canvas and create the four Custom Properties in the
table below:
9. Double-click on the TankMeter Element and add an Action Script for a Trigger type
On Mouse Over.
10. Enter the following script in the white space below the yellow bar.
GrowMe = True;
ShrinkMe = False;
Wonderware Training
Lab 7 – Scripting 3-227
14. Right-click on a blank part of the canvas to deselect everything and select Scripts.
16. Click on the and add the following Named Script named GrowMeter with the Expression
of GrowMe and a Period of 50 ms.
TankMeter.Height = TankMeter.Height * 1.10;
TankMeter.Width = TankMeter.Height;
If TankMeter.Height >= GrowSize then
GrowMe = False;
Endif;
17. Add an additional Named Script named ShrinkMeter with the Expression of ShrinkMe. and a
Period of 50 ms.
TankMeter.Height = TankMeter.Height / 1.10;
TankMeter.Width = TankMeter.Height;
If TankMeter.Height <= InitialSize then
ShrinkMe = False;
Endif;
18. Click OK, then Save and Close the Main_Reactor symbol.
Wonderware Training
Lab 7 – Scripting 3-229
20. Double-click on the Update Symbol icon to see the change to the symbol.
21. Double-click on the symbol and link the Custom Property TankMeter.Value to the InTouch
Tag Tank_Level_PLC1 as shown.
Wonderware Training
Module 4
Module Objectives
z Introduce security options available with InTouch®.
z Configure InTouch® Security.
z Configure Operating System Security when using InTouch®.
z Create and use a custom Security Log On window.
z Configure and use Script Functions in InTouch related to security.
Wonderware Training
Section 1 – Indirect Addressing 4-3
Section Objective
z Use Indirect Tags to create scalable solutions.
Note: If the Indirect assignment does not exist or the tag has not been created, the last
assignment is retained.
Wonderware Training
Lab 8 – Indirect Addressing and Remote Data Access 4-5
Objectives
Upon completion of this lab, you will be able to:
z Create new tags
z Replace standard tags with indirect tags
z Create a new QuickFunction
z Create a Data Change script
a. Open the same InTouch application used in the previous lab, start WindowMaker if it is not
already running, and create a new Access Name as shown in the table below:
c. Open the Mixing Operation window and replace all the standard tags with the indirect tags.
d. Create a new QuickFunction named IndirectAssign with an Integer argument called N.
Use the dimension statement (DIM) to define a local message variable named Number.
Assign Number to the returned value of the function, Text(N, #).
e. Add the following script:
DIM Number AS MESSAGE;
Number = Text(N,”#”);
Wonderware Training
Lab 8 – Indirect Addressing and Remote Data Access 4-7
4. Open the Mixing Operation window and replace all the standard tags with the indirect tags
using the following steps.
5. Click inside the window to activate it. Press F2 to select all the objects on the screen.
6. Press Ctrl+E (or Special/Substitute Tags…) to replace the tags.
A dialog box will appear with all the tags being used on the screen:
7. First, click on Convert and then Local to convert the SystemNumber tag.
8. Next, click on the Replace button.
9. In the Replace Text dialog box, enter _PLC1 in the Old Text field and leave the New Text
field blank. This will delete the _PLC1 text from all of the tags (except spinblade).
When finished, you will have used all of the newly created indirect tags.
Click OK.
Wonderware Training
Lab 8 – Indirect Addressing and Remote Data Access 4-9
11. Create a new QuickFunction named IndirectAssign with an Integer argument named N.
Use the dimension statement (DIM) to define a local message variable named Number.
Assign Number to the returned value of the function, Text(N, #). This function will convert the
current value of N, an integer value, into its string equivalent so it can be used in the following
indirect assignment.
The body of the function will reassign the .Name field of the indirect tags to the name of actual
I/O tags coming from the correctly selected system. The I/O tags created earlier allow you to
use the ending character (1 or 2) to implement a generic, dynamic re-assignment strategy.
For example, one assignment in the script could be:
Wonderware Training
Lab 8 – Indirect Addressing and Remote Data Access 4-11
16. In the Mixing Operation window, right-click in the blank area and edit the
On Show – Window Script script to call the IndirectAssign QuickFunction.
Add the following line: CALL IndirectAssign(SystemNumber);
17. Locate the two buttons on the Indirect Site Selector window that read System #1 and
System #2. When the System #1 button is pressed, it should assign the value 1 to the tag
SystemNumber. When System #2 is pressed it should assign the value 2.
19. Click on Convert and Local. This will convert the tag associated with the colored boxes
surrounding the two System buttons.
Wonderware Training
Section 2 – SuperTags 4-13
Section 2 – SuperTags
Section Objective
z Use SuperTags to reduce development time.
Note: If an existing SuperTag template is modified, all existing instances of that SuperTag are
not affected. Instances are tagnames defined in the Tagname Dictionary that use a SuperTag for
their type. In other words, modifications that you make to a SuperTag are not retroactive.
However, all new instances defined using the modified SuperTag will use the new composition.
Similarly, if a member tagname is added to a SuperTag instance through an alternative method, its
template is not updated.
Using a parent template as a tag type provides the flexibility to use both Memory and I/O tags as
well as the ability for each tag member to point to a completely different I/O source if required. It
also allows for some points to not be used at all, but be kept as Memory types and forgotten about.
SuperTag Syntax
Since InTouch tagnames are limited to 32 characters, each SuperTag
ParentInstance\ChildMember\Sub-member is restricted to a maximum of 32 characters. A
SuperTag reference can only be a maximum of two templates (ParentInstance\ChildMember) and
one member deep as illustrated below:
Each member in a SuperTag template is accessible in the standard format currently used to
access the .fields of normal InTouch tagname types. The SuperTag reference syntax is
supported throughout InTouch where normal tagnames can be used. For example, a valid
SuperTag reference would be:
ColdRoom4\EvapUnit1\FanMotor2.MaxEU
Remote tagname references also support SuperTags. For example:
PLC1:"Turkey\EvapUnit2\PrsRegVlv.EngUnits"
Wonderware Training
Section 2 – SuperTags 4-15
Without the use of SuperTag templates, we would need to manually define each individual
tagname for each data value in each cold room multiplied by the total number of cold rooms. In
other words, we would have to organize and define dozens of tagnames in the Tagname
Dictionary!
By using SuperTags we can save hours of development time and minimize the chance of making
errors. Using the Cold Room scenario described above, we will create one SuperTag parent
template called "EvapUnit." This EvapUnit will later become a child member of the ColdRoom
parent template. This is a "detail-up" design concept.
EvapUnit will be defined with seven sub-member tagnames:
Wonderware Training
Section 2 – SuperTags 4-17
e. Enter a name for the New Member Tag in the Name text field.
f. Select the Type as another template.
g. Enter a Comment.
h. Click OK.
Note: Once you have completed the SuperTag Template, you can immediately create
tagname instances that use the template for their tagname type.
Wonderware Training
Section 2 – SuperTags 4-19
Note: If you press the ESC key to close the TemplateMaker instead of OK, the template will
not be deleted. When a template is deleted, all of its associated member tagnames in the
template are also deleted.
c. All the members of the SuperTag as defined by the Template can be selected from the
Member List drop down list. From here, you are able to select the appropriate Member tag
and modify its details and alarms.
Wonderware Training
Section 2 – SuperTags 4-21
Note: When adding a new member tagname to an existing SuperTag instance, the spelling of
the instance name must match exactly. Otherwise, a brand new SuperTag instance and
member will be added.
c. Click Type and select the type for the SuperTag member.
Selection of the remaining options is not required in this example.
In this case, I/O Real.
d. Click Save or Close to add the member.
e. To view the member tagname in the Turkey SuperTag without exiting the Tagname Dictionary,
click either the left or right double-arrow buttons. The Members details dialog box opens:
h. Click Yes to create another SuperTag instance that is an exact duplicate of the displayed
SuperTag instance. The Enter Name dialog box opens:
Advantages of SuperTags
z All SuperTag sub-member tagnames behave exactly like normal tagnames
z Supports alarms and history trends
z Supports .fields
z Development tool
z Template file can be copied
Disadvantages of SuperTags
z One SUPERTAG.DAT file
z No individual SuperTag member deletion
z Slight increase in tag count
Wonderware Training
Lab 9 – Creating SuperTags 4-23
Objectives
Upon completion of this lab, you will be able to:
z Create a Template
z Add Members
z Create a Parent/Child relationship
z Change Data Access & assign Item Names
z Use the new tag structures to animate a link
h. In the Mixing Operation window, enter the following Analog Value Display:
The correct syntax will be automatically inserted: Reactor1\Vessel\TankLevel
Wonderware Training
Lab 9 – Creating SuperTags 4-25
Wonderware Training
Lab 9 – Creating SuperTags 4-27
7. Now include the Vessel template as a member of the Reactor template. This will create a
parent/child relationship between the Reactor template and the Vessel template.
To do this, select the Reactor template and click on Add Member. Enter Vessel (arbitrary
name) as the member Name and then scroll down the drop-down list and select Vessel as the
member Type.
8. Now that the template is complete, you can use it to create a structured tag in WindowMaker.
Click OK to close the TemplateMaker and save the template. It is automatically saved to the
SuperTag.dat file in the InTouch directory.
9. Open the Tagname Dictionary and click New.
Enter Reactor1 for the tagname.
Click Type. Notice that, along with the normal tag types, there are four new entries, Reactor,
Indirect Reactor, Vessel, and Indirect Vessel. Note that SuperTags can also be Indirect.
10. For this example, select Reactor and click OK.
Wonderware Training
Lab 9 – Creating SuperTags 4-29
Notice that a drop-down box appears containing all of the members of the SuperTag template:
Members are selected via the drop-down box, then the type of Data Access can be edited:
Note: Your Member List may be in a different order, depending on the order in which the
members were created.
If Data Access is I/O, be sure to check the Read Write status of that member. If the point is
to be written to, ensure that the status of that member is Read Write!
This provides the flexibility to use both Memory and I/O tags as well as the ability for each tag
member to point to a completely different I/O source if required. It also allows for some points
to not be used at all, but be kept as Memory types and forgotten about.
11. For the SuperTag Members you just created, change the Data Access to I/O instead of
Memory and assign each Member the Item below. Assign the equivalent members to the
appropriate I/O data sources (Access Names and Items) as shown below.
Important Note: This is a special dialog box that supports auto saving as it is edited. Once
an entry is made or edited and you leave that field, it is automatically saved.
You will see I/O or Memory options depending on the Data Access Tag Type selected.
For example:
TankTemp is the only tag member that will not be used (i.e., left as a Memory type):
Wonderware Training
Lab 9 – Creating SuperTags 4-31
Animate a Link
12. Now you will use the new tag structure to animate a link.
Note: Remember that these tags can be implemented like any standard tag. Values can be
edited and used in scripts and all .fields are available. The only difference is the syntax used.
Instead of entering TankLevel, you would enter Reactor1\Vessel\TankLevel.
In the Mixing Operation window, enter the text shown below and add an Analog Value
Display animation link.
Notice that when you browse for the tag, SuperTags appear with folder icons .
Simply double-click on the folder to drill into Reactor1.
Wonderware Training
Section 3 – Dynamic Referencing 4-33
Section Objective
z Introduce I/O parameters accessible and/or modifiable at Runtime.
What is DRA?
Dynamic Reference Addressing allows you to address multiple data sources with a single
tagname. One method of DRA is to assign a valid reference to the .Reference field of an I/O type
tagname, you can dynamically change the address of the data source for the tagname. Each I/O
type tagname has a reference associated with the address of its data source. The valid syntax for
the .Reference field includes
Note: If the Access Name or Item is not specified, the current value for that field is retained.
Dynamic references are used to view data points whose values are only needed temporarily, such
as in diagnostic applications. Since the data source of a tagname can be changed, dynamic
references should not be used for any data that needs to be permanently stored or continuously
monitored for alarm conditions.
.ReferenceComplete
Each I/O type tagname has a .ReferenceComplete field. This discrete field provides confirmation
that the item requested in the reference field is reflected in the .Value field.
The .ReferenceComplete field initializes to false (0) at startup of WindowViewer. When it is
confirmed that the .Value field is being updated by the source specified in the .Reference field, the
.ReferenceComplete value is set to true (1). If the .Reference field is changed, the
.ReferenceComplete field is automatically set to false (0), and then updated to true(1) when the
new value is updated.
IOSetItem Function
Another method of DRA is to use the IOSetItem function is used to set an I/O type tagname's
.Reference field:
Syntax IOSetItem("Tagname", "AccessName", "Item");
Parameters Description
Tagname Any InTouch IO tagname enclosed in quotes.
AccessName The Access Name to change the tagname to.
Item The Item to change the tagname to.
The Tagname, AccessName, and Item values may be specified as literal strings, or they may be
string values provided by other InTouch tags or functions. For example, the .Reference field of
tagname "MyTag1" can be changed to point to the "excel" access name and the "R1C1" item by:
IOSetItem("MyTag1", "excel", "R1C1");
These values may be retained by using a “Null” value (having nothing between the quotation
marks).
The value will be blanked out by placing spaces between the quotation marks, thereby creating an
empty string.
If an empty string (" ") is specified for both the Access Name and Item values, then the tagname is
deactivated. For example, the tagname MyTag2 is deactivated by:
IOSetItem("MyTag2", " ", " ");
If a null is specified only for an Item, then the tag’s current Item value is retained and its
AccessName value is updated. For example, the following changes the Access Name for tagname
MyTag3 to "excel2" without affecting its current Item value:
IOSetItem("MyTag3", "excel2", "");
Likewise, if a null is specified only for an AccessName, then the tag’s current AccessName value
is retained and its Item value is updated. For example, the following changes the Item for tagname
MyTag3 to "R1C2" without affecting its current Access Name value:
IOSetItem("MyTag4", "", "R1C2");
Advantages of DRA
z Single tag can represent any Access Name.Item
z Dynamically change address of the data source of a tagname
z Tags can be de-activated
z Can be used as a troubleshooting tool
Disadvantages of DRA
z May have an adverse impact on alarming or history
Wonderware Training
Section 3 – Dynamic Referencing 4-35
IOSetAccessName Function
The script function IOSetAccessName modifies the application or topic name portions of an
Access Name during runtime. This allows the implementation of hot-backup strategies for
InTouch.
Syntax IOSetAccessName(“AccessName”, “NodeName”, “AppName”, “TopicName”);
Parameters Description
AccessName The existing Access Name to assign the new AppName and Topic
Name values to. Actual string or message tagname.
NodeName The new Node Name to assign. Actual string or message tagname.
AppName The new Application Name to assign. Actual string or message
tagname.
TopicName The new Topic Name to assign. Actual string or message tagname.
The Access Name, Application Name and Topic Name values may be specified as literal strings or
they may be string values provided by other InTouch tags or functions.
Note: If an empty string (“”) is specified for an argument, that argument retains its current value.
For example, the Access Name MyAccess1 can be changed to point to the EXCEL application
and the Book1 topic, without affecting the current NodeName, by using the following script
function:
IOSetAccessName("MyAccess1", "", "EXCEL", "Book1");
If an empty string is specified for a Topic, the Access Name’s current Application value is updated
and its Topic value is retained.
For example, the following script changes the Application Name for the Access Name MyAccess2
to EXCEL without affecting its current Topic value:
IOSetAccessName("MyAccess2", "", "EXCEL", "");
Likewise, if an empty string is specified only for an Application Name, the tag’s current Topic value
is updated and its Application value is retained.
For example, the following script changes the Topic for tagname MyAccess3 to Book2 without
affecting its current Application Name value:
IOSetAccessName("MyAccess3", "", "", "Book2");
Likewise, if an empty string is specified only for an Application Name, the tag’s current Topic value
is updated and its Application value is retained.
For example, the following script changes the Topic for tagname MyAccess3 to PLC2 without
affecting its current Node Name or Application Name value:
IOSetAccessName("MyAccess3", "", "", "PLC2");
This example would be used when PLC redundancy is a requirement.
Note: When IOSetAccessName is processed, there is a time delay as the existing conversation is
terminated and the new conversation is initiated. During this time, any attempted POKEs or writes
to the new topic will be lost.
IOGetNode Function
Returns the node information (address) defined for a specific Access Name to the specified
tagname.
Syntax IOGetNode(“AccessName”);
Parameters Description
AccessName The existing Access Name to return node information for.
The Access Name may be specified as a literal string, or it may be a string value provided by other
InTouch tagnames or functions. The following example would return the node information for the
Access Name MyAccess1, to the tagname MyTag1:
MyTag1 = IOGetNode("MyAccess1");
IOGetTopic Function
Returns the topic name defined for a specific Access Name to the specified tagname.
Syntax IOGetTopic(“AccessName”)
Parameters Description
AccessName The existing Access Name to return the topic for.
The Access Name may be specified as a literal string, or it may be a string value provided by other
InTouch tagnames or functions. The following example would return the topic name for the
Access Name MyAccess1, to the tagname MyTag1:
MyTag1 = IOGetTopic("MyAccess1");
IOGetApplication Function
Returns the application name defined for a specific Access Name to the specified tagname.
Syntax IOGetApplication(“AccessName”)
Parameters Description
AccessName The existing Access Name to return the application name for.
The Access Name may be specified as a literal string, or it may be a string value provided by other
InTouch tagnames or functions. The following example would return the application name for the
Access Name MyAccess1, to the tagname MyTag1:
MyTag1 = IOGetApplication("MyAccess1");
Wonderware Training
Lab 10 – Dynamic Reference Addressing (DRA) 4-37
Objectives
Upon completion of this lab, you will be able to:
z Add an Access Name
z Select different Access Names & Item Names
z Animate objects on the Dynamic Referencing window
a. Open the same application used in the last lab, start WindowMaker, and close any open
windows.
b. Create or verify the existence of the Access Name ModbusPLC2 that connects to the
I/O Server located elsewhere in the room.
c. Create a new I/O Integer tag called DRA_Tag. This will be the tag used to display current
values in other tags. Assign it to the ModbusPLC2 Access Name with an item of 40002.
Assign it a MinEU and MinRaw of 0 and MaxEU and MaxRaw of 1000.
d. Open the window named Dynamic Referencing and animate the # signs at the bottom of the
screen.
Animation On Off
Text Left of # Tagname
Type Message Message
Tagname.Reference User Input DRA_Tag.Reference
String
Tagname.Value User Input DRA_Tag.Value
Analog
.ReferenceComplete Value Display DRA_Tag.ReferenceComplete Yes No
Discrete
e. Create a DataChange Script based on the tag DRA_AccessName that executes the
IOSetItem( ) function to reassign DRA_Tag.
{If a new Access Name is selected, reassign DRA_Tag to point at that
Access Name.}
Wonderware Training
Lab 10 – Dynamic Reference Addressing (DRA) 4-39
3. Create a new I/O Integer tag called DRA_Tag. This will be the tag used to display current
values in other tags. Assign it to the ModbusPLC2 Access Name with an item of 40002.
Assign it a MinEU and MinRaw of 0 and MaxEU and MaxRaw of 1000.
Note: DRA_Tag could have been defined as an Indirect Analog as well. However, before
reassigning, it would have to be assigned to an actual I/O tag. This approach is faster.
Select Different Access Names, Item Names & Create Animation Links
5. Open the window named Dynamic Referencing. The purpose of this window is to provide an
easy way to select different Access Names and Item Names to view via DRA.
6. Animate the objects at the bottom of the screen:
7. The Dynamic Referencing window has some built-in functionality to assist you. Notice that
each of the “buttons” behind the list of Access Names and Item Names are animated. Open
these and view the settings. Please do NOT change the settings.
Linked to an Action
Touch Pushbutton.
Script is:
DRA_ItemName =
"2050";
Wonderware Training
Lab 10 – Dynamic Reference Addressing (DRA) 4-41
9. Create a second DataChange Script based on the tag DRA_ItemName changing only the
Tagname[.field] trigger.
10. Once completed, switch to WindowViewer and verify that you can monitor any of the tags
shown on the window. To do this, click on either an Access Name or Item Name (or both) and
watch the display for changes. Bring up the Mixing Operation window so you can control the
starting and stopping of the Reactor, compare values, etc.
If Time Permits: See if you can deactivate a tag using the IOSet…( ) functions.
Wonderware Training
Section 4 – Remote Tag Referencing 4-43
Section Objective
z Use Remote Tagname Referencing to access data from other nodes and FactorySuite®
applications.
In this example, you can retrieve the value of the tagname "TempTag" on Node2 in two ways:
1. Create an I/O type tagname in Node1's Tagname Dictionary that uses "Node2" as the Node
Name in the Access Name associated with the I/O tagname.
2. Use a remote reference directly to "TempTag." For example, PLC1:"TempTag".
In other words, in a window or QuickScript, you can either reference the local tagname or use
AccessName:"item" to reference a remote tagname.
To directly reference a remote tagname in any other FactorySuite® application, only
AccessName:"item" is required. You do not have to define the remote tagname in your local
Tagname Dictionary. Remote references can also access data from any I/O data source, such as
a Wonderware® I/O Server or Microsoft® Excel®.
When using remote tagname references and importing a window or QuickScript, just convert the
placeholder tagnames to remote tagname references. The tagnames do not need to be defined in
your local Tagname Dictionary.
Warning: You cannot string concatenated item names or remote tagname reference item names.
For example, let's assume that you created a string output link using the following expression:
When the system executes the above expression, it will use the Access Name PLC2 and go
through the Allen-Bradley I/O Server to retrieve the string stored in the string file ST10:1. Then it
will append the string 37 to the end of the string it retrieved in ST10:1. If "Green Paint" is stored in
ST10:1, the string output object linked to the expression will display Green Paint37. Therefore,
the operator would not see the contents of ST10:137.
Note: These procedures will also be used when converting placeholder tagnames to remote
tagname references.
a. Open the Tag Browser and click on the Define Tag Sources button .
The Define Tag Sources dialog box appears:
Wonderware Training
Section 4 – Remote Tag Referencing 4-45
Note: The Tag Browser button is only available for a tag containing a script or an animation
link.
If tag sources are already defined, they will be listed when the dialog box appears. The list will
include the user-defined Name for the tag source, the Location of the tag source (path) and
the local network Access Name associated with the application.
When the Define Tag Sources dialog box closes, you must click the Tag Source arrow in the
Tag Browser and select the new tag source in the list. The Tag Browser is then refreshed and
tagnames for the selected tag source are displayed.
b. To remove a tag source(s) from the Tag Source list, click the Define Tag Sources button.
The Define Tag Sources dialog box appears.
Select the tag source in the list and click Delete.
c. To edit a defined tag source, select it in the list and click Edit.
The Define Tag Source dialog box appears displaying the configuration for the selected tag
source.
d. To define a new tag source, click New.
The Define Tag Source dialog box appears:
Note: If no Access Name is defined in your local application, a message box saying this will
appear. You will not be allowed to define a new tag source. Tag sources must be associated
with a local network Access Name.
e. In the Tag Source Name field, enter a name to identify the tag source.
f. Click the Access Name arrow and select the Access Name in the local application to
associate with the tagnames in the tag source.
g. Click the Tag Source Type arrow and select the source for the tag source's tagname
database. InTouch is displayed by default.
h. The Location field displays the full path to the tag source.
i. In the directory tree pane, locate the tag source, and click OK.
The Define Tag Sources dialog box reappears displaying the selected tag source:
k. Click the Tree View tool to display all defined tag sources:
If you are not using the tree view mode, click the Tag Source arrow and select the name for
the tag source to display in the list. The Tag Browser will refresh and the tag sources'
tagnames will be displayed.
The first time you access the Tag Browser, by default, <local> will be selected for the Tag
Source. Thereafter, the tagnames for previously accessed tag source will be displayed.
l. Click OK.
Wonderware Training
Section 4 – Remote Tag Referencing 4-47
Application Application
Database Database
I/O I/O
Server Server
WindowViewer WindowViewer
Operator
Workstation
View
Application
Database
Contains windows
with references
to remote tagnames
Note:
1. Implementation of remote tagname references does not require conversion of applications that
were created with earlier versions of InTouch (not supporting this feature). However, once
implemented, the applications will not be backwards compatible with the earlier versions.
2. WindowViewer supports 32767 references to local tagnames and x references to active remote
references, where x = 61,402 minus the number of tagnames defined in the local Tagname
Dictionary.
4. The IOSetAccessName function is supported for remote references and works the same as it
does for local tagnames.
Wonderware Training
Section 4 – Remote Tag Referencing 4-49
Wonderware Training
Lab 11 – Remote Tagname Referencing 4-51
Objectives
Upon completion of this lab, you will be able to:
z Dynamically create a Remote Reference
z Create Remote Reference tag sources
z Convert imported windows to Remote References
d. In Runtime, verify that the tag is updating with the current level in the Reactor.
Wonderware Training
Lab 11 – Remote Tagname Referencing 4-53
Node Name
provided by
instructor.
6. Start WindowViewer and verify that the tag is updating* with the current level in the Reactor.
There may be a slight initial delay as the connection to the other node is established.
* The other application must be running in WindowViewer for the updates to occur.
7. Now that the Access Name is created you can create other links to the remote system as long
as you know the names and correct spelling of the other tags. You cannot browse to them
here.
10. Notice that there is a drop-down list box located at the top of the screen that currently reads
<local>.
If you click the down arrow Default Galaxy should be the only other entry.
Locate the ellipsis button next to the down arrow and click on it.
The Define Tag Sources dialog box appears:
This dialog box allows you to configure paths to remote data sources. These sources could be
located on the same node, but typically will be found on remote nodes networked together.
Additionally, this dialog box is used to create paths to other Wonderware application
databases. For example, this local InTouch node could be monitoring tags on a remote node
that is running an InControl or InBatch project. Or, if InTouch and InControl are running on the
same node, this dialog box is used to browse and select the tags to be monitored by InTouch
from the InControl project!
11. Click on New to create a new Tag Source. Our goal is to browse the tags in the DemoApp1
(Reactor Demo) application located on the remote node. Once this link is created, it will
always exist unless deleted. Therefore, you can restart WindowMaker and always browse
these tags, providing the remote node is online.
Wonderware Training
Lab 11 – Remote Tagname Referencing 4-55
12. Enter ReactDemo for the Tag Source Name. Select ReactDemo for the Access Name
(note that this is the Access Name created in Method 1) and select InTouch as the Tag
Source Type.
13. Expand My Network Places to view the directory tree. Locate the instructor specified PC*.
Drill down until you locate the path \\<Node>\InTouch Demos\DemoApp1 (or path provided
by instructor) and click OK.
*A share must be created on the node being accessed in order to establish the link.
14. The Define Tag Sources dialog box will reappear with the new tag source information
displayed:
15. Click on Close to exit the dialog box.
The tag source can now be deleted or edited.
Notice that the expression syntax is exactly the same as it was in Method 1. The advantage is
that anytime you want to link a tag from the remote node to your animations, you simply use
the new tag source. Of course, filters can be applied to the browsers to limit the search
criteria.
Also, notice that when using the browser you can use the .field list box as well.
Remote referencing gives you access to all fields, just like standard tags.
18. Switch to Runtime and verify that the remote link is working.
Wonderware Training
Lab 11 – Remote Tagname Referencing 4-57
23. Once imported, open the window. Press the F2 key to select all the objects on the window.
To convert the tags, either press Ctrl+E or select the Special/Substitute Tags… command.
24. Click on the Convert button. The following dialog box appears:
27. Switch to Runtime and verify that the tags are updating.
Wonderware Training
Section 5 – Redirecting Remote References 4-59
Section Objective
z Change data display based on IOSetRemoteReferences script function.
IOSetRemoteReferences Function
InTouch users can run a QuickScript function called IOSetRemoteReferences to modify the
datasource for ArchestrA Objects and InTouch tag references at runtime. This can be used to
change Remote Tag References based on particular conditions or directly via user interaction
such as clicking a button. By adding a button, users can opt to view information from different
devices, object, areas and plants. The runtime component expands the amount of information a
user can access within one window with minimal effort.
Syntax IOSetRemoteReferences(BaseAccess, NewAccess, MatchString,
SubstituteString, Mode);
Parameters Description
BaseAccess This string parameter specifies the original configured Access Name to match to in
the reference(s).
NewAccess The new Access Name. This is applied to all references for which the original
Access Name matches the string provided in BaseAccess and for which the original
Item Name matches the MatchString (if one is specified).
MatchString The string to match in the original configured Item Name in the reference(s). If this is
an empty string, it is treated as a match for any Item Name.
SubstituteString The string to substitute into the original configured Item Name, replacing the
MatchString, to produce the active Item Name for the reference(s). If this is an empty
string, no substitution is made.
Mode Determines the way in which the MatchString must match the original configured
Item Name. Matching is always from the beginning of the Item Name, never in the
middle. 0 denotes that the match must be for the entire Item Name or up to a "." 1
denotes that a partial match is allowed, even if the next character is not a ".".
Examples
IOSetRemoteReferences("Galaxy", "", "pumpX", "pump001", 0);
IOSetRemoteReferences("Galaxy", "TagServer1", "pumpX", "p2", 0);
IOSetRemoteReferences("TagServer1", "TagServer2", "pumpX", "backpump3", 0)
IOSetRemoteReferences("TagServer1", "", "Tank", "Plant", 1)
IO Redirecting References
IOSetRemoteReferences only changes remote references. It only affects those for which the
original, configured Access Name matches the indicated BaseAccess, and for which the original,
configured Item Name string begins with the indicated MatchString.
A single call to IOSetRemoteReferences affects all remote references in open windows, for which
their original, configured name strings match BaseAccess and MatchString.
If you leave BaseAccess empty (i.e. ""), IOSetRemoteReferences does not perform any functions.
If MatchString is empty (i.e. ""), IOSetRemoteReferences affects all remote references for which
the original AccessName matches BaseAccess.
The new active name for a remote reference is obtained by using NewAccess as the "active"
Access Name and by copying the original Item Name and replacing SubstituteString with
NewString.
When the Match Mode flag is set to '0', replacement in the Item Name is only done for full object
names (or tagnames), or full attribute names (or dot fields). MatchString must match the entire
original Item Name or up to a character followed by a period (".").
When the Match Mode flag is set to '1', partial replacement of the item string will be allowed when
the item string starts with the match item string. That is, MatchString must match some portion of
the original item string, but that sub-portion must start at the beginning of the item string and the
last character does not need to be followed by a "."
The original, configured names for a remote reference remain unchanged. Subsequent calls to
IOSetRemoteReferences do not need to recognize the current active name. Calls to
IOSetRemoteReferences( ) can take place in any order.
Restoring References
If SubstituteString is empty (i.e. ""), IOSetRemoteReferences restores the active Access Name to
the original base Access Name.
If MatchString is empty (i.e. ""), IOSetRemoteReferences restores the active Item Name to the
original Item Name.
Note: Even if SubstituteString is not empty, if MatchString is empty, the Item Name will be
restored to the original Item name. Inserting text at the beginning of the name is not allowed. For
example, running the script IOSetRemoteReferences("Access1", "" , "","Valve",0); will not append
the string Valve at the beginning or end of the all original item names.
If SubstituteString is empty (i.e. ""), the IOSetRemoteReferences restores the active Item Name to
the original Item Name. Using a non-empty MatchString with an empty SubstituteString enables
you to select a subset of remote references on the indicated original base access and restore
them to their original Item names.
Wonderware Training
Section 5 – Redirecting Remote References 4-61
Show "Window2";
IOSetRemoteReferences("xxx","TagServer1","","",0);
b. In WindowMaker, click Runtime.
It may appear that links on Window2 would be updated correctly because the script function is
run after opening the window. However, the script function runs before the window is fully
initialized. Therefore, the references on the window are not redirected.
To address this, you could use the action button to set values for tags that would represent the
script function parameters and open a popup window. You can configure a window script on
the target window for OnShow that would use these tags to call the IOSetRemoteReferences.
For example, on the action button, you could configure the following:
NewAccessNameTag="Tagserver1"
Show "Window2";
On the OnShow window script, configure the following:
IOSetRemoteReferences("xxx",NewAccessNameTag,"","",0);
Wonderware Training
Module 5
Data Monitoring
Section 1 – Value, Time and Quality (VTQ) 5-3
Lab 12 – Troubleshooting With VTQ 5-15
Section 2 – Quality and Status in ArchestrA 5-19
Lab 13 – Implementing Quality & Status In ArchestrA Graphics5-23
Section 3 – I/O Failover 5-29
Lab 14 – Monitoring I/O Communication 5-31
5-2 Module 5 – Data Monitoring
Module Objectives
z Select the appropriate communication protocol.
z Use the appropriate tag strategies to solve a problem.
z Use Dynamic Reference Addressing as a troubleshooting tool.
z Monitor Value, Time and Quality.
Wonderware Training
Section 1 – Value, Time and Quality (VTQ) 5-3
Section Objective
z Monitor the Value, Time and Quality .fields of data coming from an I/O server.
.Value
Contains the value of the specified tagname. This is also the default .field for every InTouch
tagname within the system. If no other .field is specified, this .field is assumed.
Usage Tagname.Value
Parameters Description
Tagname Any tagname except Hist Trend tagname types.
Remarks This is the default .field for every InTouch tagname within the system. If no other
.field is specified, this .field is assumed. Rarely would you need to use this .field,
but in some instances, it makes a calculation or parameter usage more clear.
Data Type Depends on (is the same as) the specified tagname's type (read/write).
Example The following statement sets the value of the Memory Integer Tag named MyTag
equal to 100.
Tagname.Value=100;
Which is functionally identical to:
Tagname=100;
.TimeDate
Integer Tagname .field used to display the whole number of days since 01/01/1970 which have
passed since an I/O value provided by an I/O Server when the I/O connection is valid.
Usage Tagname.TimeDate
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Integer (read-only)
.TimeDateString
String that displays the date in the same format set in the WIN.INI file.
Usage Tagname.TimeDateStrin
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Message (read-only)
.TimeDateTime
Real Tagname .field used to display the fractional number of days since 01/01/1970 which have
passed since an I/O value provided by an I/O Server when the I/O connection is valid.
Usage Tagname.TimeDateTime
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Real (read-only)
.TimeDay
Integer Tagname.field used to display the day an I/O value provided by an I/O Server when the I/O
connection is valid.
Usage Tagname.TimeDay
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Integer (read-only)
Valid Values Value may be 1 - 31.
.TimeHour
Integer Tagname .field used to display the hour of the day that an I/O value provided by an I/O
Server when the I/O connection is valid.
Usage Tagname.TimeHour
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Integer (read-only)
Valid Values Value may be 0 - 23.
Wonderware Training
Section 1 – Value, Time and Quality (VTQ) 5-5
.TimeMinute
Integer Tagname.field used to display the minute that an I/O value provided by an I/O Server when
the I/O connection is valid.
Usage Tagname.TimeMinute
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Integer (read-only)
Valid Values Value may be 0 - 59.
.TimeMonth
Integer Tagname.field used to display the month that an I/O value provided by an I/O Server when
the I/O connection is valid.
Usage Tagname.TimeMonth
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Integer (read-only)
Valid Values Value may be 1 - 12.
.TimeMsec
Integer Tagname .field used to display the time in milliseconds that an I/O value provided by an I/
O Server when the I/O connection is valid.
Usage Tagname.TimeMsec
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Integer (read-only)
Valid Values Value may be 0 - 999.
.TimeSecond
Integer Tagname .field used to display the time in seconds that an I/O value provided by an I/O
Server when the I/O connection is valid.
Usage Tagname.TimeSecond
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Integer (read-only)
Valid Values Value may be 0 - 59.
.TimeTime
Integer Tagname .field used to display the time in milliseconds since midnight that an I/O value
was provided by an I/O Server when the I/O connection is valid.
Usage Tagname.TimeTime
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Integer (read-only)
Valid Values Value may be 0 - 86399999.
.TimeTimeString
Message Tagname .field used to display the time and day of an I/O value provided by an I/O
Server when the I/O connection is valid.
Usage Tagname.TimeTimeString
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Message (read-only)
.TimeYear
Integer Tagname .field used to display the year is four digits that an I/O value was provided by an
I/O Server when the I/O connection is valid.
Usage Tagname.TimeTime
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog and Message tagname type.
Data Type Integer (read-only)
Valid Values Any year in the format ####. For example 1998.
Wonderware Training
Section 1 – Value, Time and Quality (VTQ) 5-7
.Quality
To completely understand the Quality .fields used by Wonderware, a brief definition of quality
standard is stated. The Wonderware Data Quality standard is based on the OLE for Process
Control (OPC) proposed quality, which in turn is based on Fieldbus Data Quality Specifications.
Quality flags represent the quality state for an item's data value. This design makes it fairly easy
for both Servers and Client applications to determine how much functionality they want to
implement.
The low 8 bits (Least Significant Byte) of the Quality flags are currently defined in the form of three
bit fields; Quality, Substatus and Limit status arranged as follows: QQSSSSLL
The Quality field allows the user to access the quality of an I/O tagname as provided by an I/O
Server.
Note: If the I/O connection becomes invalid, the quality .fields are automatically reset to the initial
value of zero. The .ReferenceComplete flag is also set to zero at this time.
Quality Fields
Usage Tagname.Quality
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog, or Message tagname type.
Data Type Analog / Integer (read only)
Valid Values Value may be 0 to 255
Example IF I0Tag.Quality <> 192 THEN
LogMessage("This data is not Good!");
ENDIF;
Wonderware I/O Servers can report six (6) mutually exclusive states of quality of data being sent
back to their clients. They are as follows:
When the client application is unable to communicate with the Server .QualityStatus is 0.
The conditions under which each of these quality states will be reported are as follows:
Wonderware Training
Section 1 – Value, Time and Quality (VTQ) 5-9
.QualityLimit
Integer used to display the quality limit of an I/O value provided by an I/O Server when the I/O
connection is valid.
Usage Tagname.QualityLimit
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog, or Message tagname type.
Data Type Integer (read-only)
Valid Values (LLL)
Value String
0 Not Limited
1 Low Limited
2 High Limited
3 Constant
.QualityLimitString
Used to display the quality limit string of an I/O value provided by an I/O Server when the I/O
connection is valid.
Usage Tagname.QualityLimitString
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog, or Message tagname type.
Data Type Message (read-only)
.QualityStatus
Integer used to display the quality status of an I/O value provided by an I/O Server when the I/O
connection is valid.
Usage Tagname.QualityStatus
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog, or Message tagname type.
Remarks The Substatus Bit-Field (SSSS) is dependent on the value of the Quality Field
(QQSSSSLL).
Data Type Integer (read-only)
Valid Values (SSSS)
0 Bad
1 Uncertain
3 Good
Wonderware Training
Section 1 – Value, Time and Quality (VTQ) 5-11
.QualityStatusString
Used to display the quality status string of an I/O value provided by an I/O Server when the I/O
connection is valid.
Usage Tagname.QualityStatusString
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog, or Message tagname type.
Data Type Message (read-only)
.QualitySubstatus
Integer used to display the quality substatus of an I/O value provided by an I/O Server when the I/
O connection is valid.
Usage Tagname.QualitySubstatus
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog, or Message tagname type.
Data Type Integer (read-only)
Valid Values (SSSS) and (QQ)
Substatus (SSSS) for BAD
Quality (QQ=0):
0 Non-specific
1 Configuration Error
2 Not Connected
3 Device Failure
4 Sensor Failure
5 Last Known Value
6 Com Failure
7 Out of Service
0 Non-specific
1 Last Usable Value
4 Sensor Not Accurate
5 Engineering Units
Exceeded
6 Sub-Normal
0 Non-specific
6 Local Override
.QualitySubstatusString
Used to display the quality substatus string of an I/O value provided by an I/O Server when the I/O
connection is valid.
Usage Tagname.QualitySubstatusString
Parameters Description
Tagname Any Discrete, Integer, Real, Indirect Analog, or Message tagname type.
Data Type Message (read-only)
Wonderware Training
Section 1 – Value, Time and Quality (VTQ) 5-13
.MaxRaw
The high clamp setting for the actual raw value received from an I/O Server by WindowViewer as a
client. The value for .MaxRaw field comes from the Max Raw value field in the tagname database
for the specified I/O tagname. Any raw value exceeding this setting is clamped to this value.
Usage tagname.MaxRaw
Parameters Description
Tagname Any I/O Discrete, Indirect Discrete, I/O Integer, Memory Real, Indirect Analog, I/O
Message and Indirect Message tagname type.
Remarks This read-only .field is used to display the Max Raw high clamp setting.
Data Type Real or Integer (read-only)
Valid Values Any analog value.
Example The following could be used to determine if a tagname is out of normal operating
range and thus its value was clamped:
.MinRaw
The low clamp setting for the actual raw value received from an I/O Server by WindowViewer as a
client. The value for .MinRaw field comes from the Min Raw value field in tagname database for
the specified I/O tagname. Any raw value that falls below this setting is clamped to this value.
Usage tagname.MinRaw
Parameters Description
Tagname Any I/O Discrete, Indirect Discrete, I/O Integer, Memory Real, Indirect Analog, I/O
Message and Indirect Message tagname type.
Remarks This read-only .field is used to display the Min Raw high clamp setting.
Data Type Real or Integer (read-only)
Valid Values Any analog value.
Example The following could be used to determine if a tagname is out of normal operating
range and thus its value was clamped:
.RawValue
The actual value received from an I/O Server by WindowViewer as a client. The raw value field
allows the user to access the value of an I/O tagname before InTouch applies scaling.
Usage tagname.RawValue
Parameters Description
Tagname Any I/O Discrete, Indirect Discrete, I/O Integer, Memory Real, Indirect Analog, I/O
Message and Indirect Message tagname type.
Remarks This read-only .field is used to display the actual discrete or analog I/O value before
InTouch applies scaling.
Data Type Integer (read-only)
Valid Values Where discrete or analog values can be specified.
Example The following could be used to determine if a tagname is out of normal operating
range:
Wonderware Training
Lab 12 – Troubleshooting With VTQ 5-15
Objectives
Upon completion of this lab, you will be able to:
z Monitor Value, Time, and Quality fields of a specific tag
z Monitor PLC status
z Monitor Communication Server status
a. Open the VTQ window, and convert all the tags to local.
b. Define the IOstatus and status I/O discrete tags as follows:
d. Monitor in Runtime.
Convert Tags
1. Open the VTQ window.
This window has been animated for you, but the tags need to be converted.
2. With the window open, press F2 to select all objects.
3. Now press Ctrl+E or click on Special/Substitute Tags.
The following dialog box appears.
Wonderware Training
Lab 12 – Troubleshooting With VTQ 5-17
The IOstatus topic monitors the DDE/SuiteLink conversations between WindowViewer and
the I/O servers.
When IOstatus is true or 1, the connection is good.
When IOstatus is false or 0, the connection is bad.
9. Close the Tagname Dictionary and then click OK.
When IO Status configuration is complete, you will be prompted to create the status tag.
10. Use the following attributes for the status tag:
The status bit monitors the connection between the I/O Server and the PLC.
When status is true or 1, the connection is good.
When status is false or 0, the connection is bad.
11. Close the Tagname Dictionary when status configuration is complete.
Note: The VTQ window is only monitoring the tank level in the PLC connected to the remote
PC. All of the VTQ .(dot) fields are based on the tank level. For example:
Tank_Level_PLC2.QualityStatusString
Wonderware Training
Section 2 – Quality and Status in ArchestrA 5-19
Section Objective
z Configure visual clues regarding the status of your data and/or plant operations.
z Observe visual clues in Runtime.
Preview of settings
Wonderware Training
Section 2 – Quality and Status in ArchestrA 5-21
Status Graphics
You can use a Status Graphic element to indicate the status or quality of:
z One or more specified ArchestrA attributes.
z All ArchestrA attributes that are used in one or more specified elements in the same
hierarchical level.
Deliver values
(and also quality
and status) to
animate the
elements
Deliver quality and
status directly from
ArchestrA attributes
Element 1
Element 2
Element 3
To avoid this problem, paste a new Status Graphic element in the hierarchical level you want to
monitor, or associate it directly with the attributes you want to monitor.
Wonderware Training
Lab 13 – Implementing Quality & Status In ArchestrA Graphics 5-23
Objectives
Upon completion of this lab, you will be able to:
z Expose and configure Quality and Status indicators
z Observe Quality and Status indicators in Runtime
a. From the IDE, Change the Quality and Status display settings for line color, pattern, and
outline for Bad data and place a Data Status Icon on the LevelIndicator element.
b. Open the Main_Reactor symbol.
c. Place a Status icon on the LevelIndicator element.
d. Apply the quality options to the LevelIndicator Graphical Element.
e. Test in Runtime.
f. Disconnect the PLC or shutdown the DA Server to test the quality behavior of your object
and observe the results.
g. Experiment with several different settings and overriding animations.
Wonderware Training
Lab 13 – Implementing Quality & Status In ArchestrA Graphics 5-25
3. Verify that the Enable Quality and Status Display checkbox is checked.
This will allow all objects to display information regarding quality.
Note: Not all Status Style Overrides are available to InTouch applications, as some are
intended for Application Server based data. The two primary options that are available to use
with InTouch are the Communication Error and Bad overrides.
4. Change the settings for the Bad Status Style override, setting the Outline color to red,
Line Pattern to a dashed line., and checking the Blink option.
8. Select the LevelIndicator Graphical Element and click on >> to apply the quality options.
Note: If the NewReactor window was open during this lab, update the symbol.
Wonderware Training
Lab 13 – Implementing Quality & Status In ArchestrA Graphics 5-27
14. Disconnect the PLC or shutdown the DA Server to test the quality behavior of your object
and observe the results.
Wonderware Training
Section 3 – I/O Failover 5-29
Section Objective
Introduce the I/O failover configuration and functionality.
This feature provides the ability to easily configure I/O failover using dialog boxes and options in
the user interface. I/O failover allows you to switch between access names when an I/O
communication fails and back again when the connection recovers.
To configure I/O failover for an Access Name, click the “Enable Secondary Source” option on the
Add Access Name or Modify Access Name dialog box. This expands the dialog box so you can
enter a secondary source. The Failover button is available for accessing optional configuration
settings. These include:
z Disable Failover is for enabling and disabling failover for this access name.
z Failover Expression is the discrete tag can be used to trigger the failover.
z Failover Deadband is the delay before switching to the secondary source from the
primary source when I/O communication fails. The default value 0 seconds.
z Switch back to Primary when Failover conditions clear specifies whether InTouch
should switch back to the primary source when I/O communication returns.
z Fail-back Deadband is the delay before switching back to the primary source from the
secondary source when I/O communication returns. The default value is 0 seconds.
Note: With default value of 0 seconds, failover and fail-back are immediate.
Script functions for I/O failover are also provided. These can be used in any InTouch script and are
based on triggers related to Access Names.
The modes defined below describe the IOGetAccessNameStatus Script Function above.
Mode Description
0 Status of the Active Access Name I/O Source
1 Status of the Access Name Primary I/O Source
2 Status of the Access Name Secondary Source
The example below indicates the script syntax using the IOGetAccessNameStatus ScriptFunction.
Syntax: Result = IOGetAccessNameStatus(AccessName, Mode);
The Result tag returns the status of the Active, Primary, and Secondary nodes.
Note: This will only work with at least one active I/O point in the window.
Wonderware Training
Lab 14 – Monitoring I/O Communication 5-31
Objectives
Upon completion of this lab, you will be able to:
z Configure an Access Name for failover using the Secondary Source option
z Monitor Failover status
z Display the active node
z Force a Failover and Failback
a. Modify the ModbusPLC1 Access Name for Failover by checking Enable Secondary Source
and configuring the Secondary Source as follows:
Suggestion: The IOForceFailover script function does not return a result, but you can
change the value of a message tag as appropriate when you execute the script function via an
Action script.
Wonderware Training
Lab 14 – Monitoring I/O Communication 5-33
Define a Failover
InTouch uses Access Names to communicate with other plant equipment. Modify the
ModbusPLC1 Access Name for Failover.
1. Expand Configure in the Tools pane.
2. Double-click Access Names.
The Access Names dialog box appears:
5. In the Node Name field (below the Enable Secondary Source check box),
enter the node name of a computer next to you, for example Train05.
6. Enter Modbus for the Application Name.
7. Enter PLC for the Topic Name.
8. Click Failover.
Wonderware Training
Lab 14 – Monitoring I/O Communication 5-35
You will now be prompted to define a tag named failure as a Memory Discrete.
11. Click OK when finished.
12. With any window open, test in Runtime by unplugging the PLC and stopping the I/O Server.
Check to see if there is any difference in the outcome.
13. Re-establish communication with the PLC / Server.
Check to see if the I/O reverts back to the original computer.
14. For this section, open the window named Failover and implement scripting to monitor failover
status.
The section of the window labeled Failover Monitoring – Status has three text objects
(“XXX”) with appropriate labeling as locations to display the status of the Active, Primary and
Secondary data sources.
Suggestion: Use a Window While Showing script for the IOGetAccessNameStatus script
function and Discrete Value Displays to display the status.
Wonderware Training
Lab 14 – Monitoring I/O Communication 5-37
Force a Failover
It may be desirable to switch between the primary and secondary data sources without having a
failover condition active. This is called a “Forced Failover” and can be done in two ways.
The first way is via a discrete tag. When you modified the access name for failover, you included a
Failover Expression like the one shown below.
In this example, a memory discrete tag failure was defined. Changing the value of this tag from
true to false will switch between the primary (false) and secondary (true) data sources.
The second method of forcing a failover is with the script function IOForceFailover.
This function acts as a toggle. For example:
IOForceFailover( “ModbusPLC1”);
It is also possible to disable failover switching. The failover configuration dialog box (see above),
has this option, but it can also be implemented at Runtime with the script function
IODisableFailover. For example:
IODisableFailover( "ModbusPLC1",1);
will disable failover switching for the access name ModbusPLC1 and
IODisableFailover( "ModbusPLC1",0);
will re-enable failover switching. The current implementation of this function will disable failover
switching for all methods except for the IOForceFailover script function.
18. For this section, use the portion of the Failover window labeled Forcing Failover.
Buttons have been placed as appropriate for your use in implementing the above methods of
forcing failover and enabling/disabling failover.
Suggestion: The IOForceFailover script function does not return a result, but you can
change the value of a message tag as appropriate when you execute the script function via an
Action script
Wonderware Training
Lab 14 – Monitoring I/O Communication 5-39
Wonderware Training
Module 6
Security
Section 1 – Application Security 6-3
Section 2 – Security Models and Functionality 6-7
Lab 15 – Implementing Security 6-23
6-2 Module 6 – Security
Module Objectives
z Introduce security options available with InTouch®.
z Configure InTouch® Security.
z Configure Operating System Security when using InTouch®.
z Create and use a custom Security Log On window.
z Configure and use Script Functions in InTouch related to security.
Wonderware Training
Section 1 – Application Security 6-3
Section Objectives
z Select appropriate Security Type for your application.
z Utilize Script Functions for Security.
z Verify credentials without logging in.
z Configure Operating System Based Security.
Introduction
InTouch security includes options for a variety of applications. Securing an InTouch application
means different things to different people. Application Developers may want to secure the
operating system, audit operators' actions, or secure the InTouch application itself. In some cases
the top concern is to limit the operator's access to other Windows applications or the operating
system. There are script functions available to lock the use of keys like <ALT> or <TAB>. There
are ways to configure WindowViewer™ (View) to always run maximized and/or to hide its menu so
that operators can't close it.
In other instances security is all about auditing the operator's actions and keeping track of what
was done when. InTouch events and "inactivity" system tags can track these actions.
In some other cases security means restricting features of the application based on privileges set
forth for the current user (like a User ID) or the group the user belongs to (like Roles). This
functionality is accomplished by setting a visibility or disable link to the object with limited access
(for example, a push button to open another window).
The InTouch security type is based on a binary file containing a list of users of the application with
passwords and access levels.
The Operating System security type utilizes Windows Operating System Security to secure
InTouch Applications. The operating system security option allows InTouch to meet security
requirements in regulated industries. These specifications are established by the Food and Drug
Administration (FDA) in CFR 21 Part 11. The deployment details are contained in Appendix E in
this Training Manual.
The ArchestrA security type utilizes the security built into the Industrial Application Server to
secure InTouch applications. The details for security features available with the Industrial
Application Server are covered in a separate course.
InTouch: Users are authenticated against a binary file (password.bin) that contains information
about users, passwords, and access levels.
Operating System: Access is tied to Microsoft Operating System security.
ArchestrA: Access is tied to ArchestrA and the Industrial Application Server.
None: No authentication at all.
The major aspects of security are:
z Securing the OS
z Auditing
z Securing the Application
Wonderware Training
Section 1 – Application Security 6-5
Note: This will change if a theme other than “Classic” is used. For example, XP is slightly taller.
Auditing
Keeping track of what the operators do doesn't make an InTouch application more secure but it is
an important aspect of security. When users and groups (or roles) are created to be used in an
InTouch application, audit trails can tie operators to all alarms/events that occur during the time
that they are logged onto the system. Alarms and events are very similar in nature; a condition has
occurred and should be logged. The difference between the two is that events, unlike alarms, do
not require an acknowledgment.
InTouch includes an alarm object based on ActiveX technologies that also provides easy access
to summary and history of alarms. It exposes a number of properties and methods that simplify
configuration both during development and runtime. We will be discussing this object in detail in
Module 6 – Alarm Distribution.
Note: InTouch logs activities of the user who is logged in. It is up to the operators and
enforcement of security policies to make sure the person performing the activities is the person
logged in.
Note: See the InTouch Reference Guide for a complete documentation on System Tags and
script functions.
$AccessLevel is the tag that is normally used to secure InTouch applications. InTouch can also
use a system tag to modify what a user ($Operator) can and cannot do during runtime. For
example, to disable a pushbutton just set a Disable or Visibility type link to it with an expression
like $AccessLevel < 9000 or $Operator == “JohnDoe”.
Wonderware Training
Section 2 – Security Models and Functionality 6-7
Section Objectives
z Select the InTouch Security mode.
z Create User Names.
z Configure scripts to Log On and Off.
z Configure Credential Verification.
z Assign animation links.
InTouch Authentication
The commands used to establish security in an application are located under Security on the
Special menu in WindowMaker™ (Development Mode). The security commands are used to log
on and off the application, change passwords and to configure the list of valid user names,
passwords and access levels.
InTouch Security Type is based on the concept of the operator "logging on" to the application,
typing his/her name and password. You must configure a user name, password, and access level
for each operator. There is no association between Microsoft operating system security and
InTouch security.
When you create a new application, by default, the user name is set to "Administrator" with an
access level of 9999 which allows access to all security commands. After you add a new user
name to the security list and restart WindowMaker or WindowViewer, the default user name is
automatically reset to "None" with an access level of "0" which prevents access to the Configure
Users command in both WindowMaker and WindowViewer. By default however, the Administrator
account and password remain and can still be used.
You can also link a User Input – Discrete to a button using the $ConfigureUsers tagname. This
would allow, for example, an authorized operator with an access level of equal to or greater than
9000 to access the Configure Users dialog box to edit the security user name list. When the
operator clicks the button, the value of the $ConfigureUsers tagname is set to 1 and the
Configure Users dialog box appears. When the operator closes the dialog box, the system resets
the value to 0. This is a system discrete tagname intended for write operation only.
If the Special menu will not be displayed in WindowViewer, you can create a custom logon window
that the operator uses to log on to the application. You can also link a User Input - Discrete to a
button to the $ChangePassword tagname to show the Change Password dialog box and allow
the operator to change his/her password. When the operator clicks the button, the value of the
$ChangePassword tagname is set to 1 and the Change Password dialog box appears. When the
operator closes the dialog box, the system resets the value to 0. This is a system discrete tagname
intended for write operation only.
The None and Administrator names are reserved and only the password of the Administrator
may be changed. Once you have configured user names for your application, you should change
the Administrator name's password since it will more than likely become commonly known to most
users of the system. The Administrator default access level (9999) is the highest and allows
access to everything including the Configure Users menu command.
OS Authentication
With OS authentication, users and groups in the local machine or the domain are assigned
different access levels via the AddPermission() function. The access level given to groups and
users has nothing to do with the rights that such groups and users have on the local machine or
the domain. For example, nothing prevents you from giving the Guests group an access level of
9999 or the Administrators group an access level of 100.
OS Users can be part of one or more groups; if multiple access levels are set to multiple groups, a
user logging on to the InTouch application will get the highest access level assigned to any of the
groups he/she is part of.
Note: Once the OS Security Type has been selected, the user registered during the InTouch
installation is the only user who has permission to change the Security Type.
ArchestrA Authentication
Users and roles can be verified against the ArchestrA security model if the InTouch application is
getting its values from the Industrial Application Server. When ArchestrA authentication is to be
used, the Galaxy itself should also be set for ArchestrA authentication.
A galaxy can be configured for different security models; None(default), Galaxy, OS User Based,
or OS Group Based. The Galaxy mode uses local galaxy configuration to authenticate the user
against the Galaxy database.
The details regarding ArchestrA Authentication are covered in the Industrial Application Server
course.
No Authentication
This is the default mode for new InTouch applications in version 8.0 and later. When no
authentication is used, $Operator and $OperatorName are both set to None and $AccessLevel
is 9999. The Special/Security options in the menu bar in View are all disabled. Also, the binary
file password.bin is not included in the application directory.
Wonderware Training
Section 2 – Security Models and Functionality 6-9
In the Warning box, type the number of seconds that can elapse with no operator activity (mouse
clicks or keystrokes) before the system discrete tagname $InactivityWarning is set to 1 (True).
When the Inactivity Warning is set to zero, there will not be an inactivity warning.
Tip: You can use $InactivityWarning in a Condition QuickScript to show a window warning the
operator that he/she is about to be logged off the system. If the operator clicks the mouse, presses
a key, or performs an action using any other pointing device before the specified time-out elapses,
they are not logged off. $InactivityWarning and the timer are reset.
Wonderware Training
Section 2 – Security Models and Functionality 6-11
In the Timeout box, type the number of seconds that can elapse with no operator activity (mouse
clicks or keystrokes) before the system discrete tagname $InactivityTimeout is set to 1 (True).
When $InactivityTimeout is true, the system sets the logged on operator name to the reserved
name None and sets the security tagname, $AccessLevel, to 0.
Tip: You can use $InactivityTimeout in a Condition QuickScript to show a window telling the
operator that he/she has been logged off the application.
You can use the Timeout feature independently of the Warning feature. However, the Timeout
value must be greater than the Warning value for proper use of both system tagnames.
For example, set $InactivityWarning to 30 and $InactivityTimeout to 45. The operator will be
logged off 15 seconds after the $InactivityWarning variable is set to 1.
InvisibleVerifyCredentials()
Checks to verify the credentials of the given user without logging the user on to InTouch.
Syntax
AnalogTag=InvisibleVerifyCredentials
( "UserId","Password", "Domain" );
Remarks
If the supplied combination of user, password and domain are valid then the corresponding access
level associated with the user is returned as an integer, in all other cases -1 is returned. This call
does not change the currently logged on user.
Set the Domain argument to blank (“”) or InTouch if the Authentication Mode is InTouch and to
Galaxy if the Authentication Mode is ArchestrA.
PostLogonDialog()
Brings up the InTouch Logon Dialog and returns TRUE.
Syntax
DiscreteTag=PostLogonDialog();
Remarks
Brings up the InTouch Logon Dialog and returns TRUE.
AttemptInvisibleLogon()
Attempts to logon to InTouch using the supplied credentials.
Syntax
DiscreteTag=AttemptInvisibleLogon
( "UserId","Password", "Domain" );
Remarks
An attempt is made to logon to InTouch using the supplied credentials. The domain is ignored if
the security mode is not OS. If the logon attempt succeeds, then TRUE is returned and the
system tags $OperatorDomain, $OperatorName, $AccessLevel and $Operator are updated
accordingly. If the Logon attempt fails, then FALSE is returned and the currently logged on user ( if
any ) continues to be the current user.
Logoff()
Logs the user off of InTouch.
Syntax
DiscreteTag=LogonOff();
Remarks
Logs the user off.
Wonderware Training
Section 2 – Security Models and Functionality 6-13
AddPermission()
Sets the Access Level to a particular group or user in the specified domain.
Syntax
DiscreteTag=AddPermission
( "Domain", "Group", AccessLevel);
Remarks
Valid for OS security mode only. An attempt is made to reach the account Account located on
domain Domain. If successful, a TRUE is returned and the access level AccessLevel is assigned
to the account in the internal records in InTouch for use during authorization when a user logs on.
In all other cases, a FALSE is returned.
The "Group" parameter can be any valid group or user defined in the specified "Domain"
parameter. It is also important to note that the access level set for each group does not have
anything to do with the rights for each group. For example, nothing prevents you from giving the
Guests group an access level of 9999 or the Administrators group an access level of 100.
GetAccountStatus()
Used to determine when a user’s password will expire.
Syntax
GetAccountStatus( Domain, UserID );
Remarks
Used to determine when a user’s password will expire. Return value will display the number of
days (positive value) until the user’s password expires. GetAccountStatus also displays the
following account status values:
Account password expired = -1
Account password will never expire = -2
Account locked out = -3
Account disabled = -4
Account info failed = -5
Users can write a script to pop up a window displaying either the number of days until the user’s passcode
expires, or the proper message/warning which corresponds to the return value of the function.
LogonCurrentUser()
Whoever is logged onto the computer will be logged in to InTouch.
Syntax
LogonCurrentUser();
Remarks
This script function is designed for InTouch to run in security OS mode. When the script function is called,
whoever is logged onto the computer will be logged in to InTouch.
QueryGroupMembership()
Syntax
DiscreteTag=QueryGroupMembership("Domain","Group");
Remarks
Valid for OS security mode only and applies to the currently logged on user. If a user is currently
logged on and if he is part of the group which is located on the domain then a TRUE is returned
and in all other cases a FALSE is returned.
IsAssignedRole()
Used to find out if current logged on user has the indicated role.
Syntax
DiscreteTag=IsAssignedRole( "RoleName" );
Remarks
Valid for ArchestrA security mode only and applies to the currently logged on user. If a user is
currently logged on and if he has the role RoleName assigned to him in Galaxy IDE, then a TRUE
is returned. In all other cases a FALSE is returned.
Wonderware Training
Section 2 – Security Models and Functionality 6-15
Note: You must shut down and restart WindowViewer for changes in Security Type to take effect.
Note: The passwords here are for demonstration purposes only. Using the same password
for all users is NOT recommended in an actual deployment situation.
Each User Name requires you to create a Password and enter the Access Level.
Wonderware Training
Section 2 – Security Models and Functionality 6-17
b. Add the following Action Script to the button labeled Log On.
c. Add the following Action Script to the button labeled Log Off.
d. Add a Value Display - String animation link to the $Operator system tag.
Double-click the text XXXXXX to start this process.
f. Switch to Runtime and test to make sure you can Log On and Log Off from security using
each of the User Names you created in this lab.
Note: Using this example, there are three colored rounded rectangles that will be visible
under different $AccessLevel values:
• Red is when the AccessLevel is greater than or equal to 9000.
• Yellow is when $AccessLevel is less than 9000 and greater than 7000.
• Green is when $AccessLevel less than or equal to 7000 and greater than 0.
This will not work if the tags have not been converted to local.
Wonderware Training
Section 2 – Security Models and Functionality 6-19
Credential Verification
In this example, you will need to add Verification functions into InTouch security. At the bottom of
the Security – InTouch window is a button labeled Continue. This button will be disabled until
the proper verification user information has been entered.
For the Continue button to be enabled, the verification user must have an $AccessLevel greater
than 9000 and cannot be the same user that is currently logged in. This verification will be done
with the script function InvisibleVerifyCredentials.
The InvisibleVerifyCredentials function requires an argument such as a User Name and
Password. It will return an integer value for the access level of the verified user. You will need to
create the tags listed below for the verification process.
a. Create the following Tags to hold the user verification information.
b. Enter the following On Show script for the window so that all verified user information is reset
when the window opens.
c. Create animation links on the objects specified in the lower (Verification) part of the
Security – InTouch window:
d. Add a TouchLink / User Input / String to the tag VerifiedUser by double-clicking the text
XXXXXX next to Verification User.
e. Add a TouchLink / User Input / String to the tag VerifiedPassword on the rectangle next to
Verification Password.
f. Add a Value Display / String animation link to the ResultMessage tag on the text labeled
ResultMessage.
g. Add a Value Display / Analog animation link to the tag VerifiedAccessLevel on the text
labeled Verified Access Level = ######.
Wonderware Training
Section 2 – Security Models and Functionality 6-21
h. Add the following TouchLink / Touch Pushbutton / Action script to the button labeled
Verify User.
i. Add the following Misc / Disable animation link to the button labeled Continue.
j. Go to Runtime and try it out by entering user information from the users you have created.
You may need to log off and log back on as a different user for this to work.
Note: Remember to press Enter after typing your User and Password information.
This is the result you will see when the log on level is too low.
This is the result you will see when the log on is successful.
Wonderware Training
Lab 15 – Implementing Security 6-23
Domain Users/Groups
The following network users have already been created in the Wonderware training rooms:
Objectives
Upon completion of this lab, you will be able to:
z Configure Operating System Based Security for InTouch
z Test Operating System Based Security
This lab contains several intricate parts that cannot easily be summarized.
Please refer to the Detailed Lab Instructions on the next page.
Note: For this lab you need to use either network domain users and groups OR local users
and groups.
If you have the network domain and users identified, go directly to step 3.
If you are only configuring local users and groups, skip to page 6-29 step 15 now.
Wonderware Training
Lab 15 – Implementing Security 6-25
Wonderware Training
Lab 15 – Implementing Security 6-27
13. Double-click the text XXXXXX below Current logged in user is a member of.
Create or verify that there is a Value Display/String animation link to the tag
GroupMembership.
Wonderware Training
Lab 15 – Implementing Security 6-29
Note: For this lab you need to use either network domain users and groups OR local users and
groups.
If you have already implemented scripting for domain users and groups OR if you cannot configure
local users and groups, skip to page 6-36 step 33 now.
Note: This section of the lab requires that the users are logged in on their computer as a local
administrator.
15. From the Windows Start menu, point to Start / All Programs / Administrative Tools
and select Computer Management.
Expand System Tools.
Expand Local Users and Groups.
Select Users.
Note: This will have a slightly different look on Windows 2000 vs. Windows XP or 2003.
16. Right-click Users and select New User to add a new local user.
Your resulting Computer Management dialog should look something like this:
Wonderware Training
Lab 15 – Implementing Security 6-31
Wonderware Training
Lab 15 – Implementing Security 6-33
23. Select your local computer Node Name and click OK.
Note: If you have created other users, they will also be visible.
27. Create two additional groups called InTouch Operators and InTouch Developers by
repeating steps 19-26 above.
Assign the users you have created as you see fit.
28. Click OK when finished.
29. Exit Computer Management when finished.
Wonderware Training
Lab 15 – Implementing Security 6-35
Updating Application
Since the security will now be based on the local Operating System security, in addition to Domain
security, the rights will have to be assigned to reflect this change.
30. Create or Modify the Application On Startup script shown in step 3 by adding the following
three lines:
When you log in to verify the user, the domain argument will either be your computer’s node
name for a local user or the network domain for a network user.
Remember to use the User Names that are part of the appropriate Domain.
34. Create the following Window/On Show Script for the window Security – OS so that all
verified information is reset when the window is opened.
Wonderware Training
Lab 15 – Implementing Security 6-37
39. Double-click the text ResultMessage underneath the Verify User button.
Create or verify that it has a Value Display / String link to the tag ResultMessage.
Wonderware Training
Lab 15 – Implementing Security 6-39
43. Verify that the same pushbutton has a Miscellaneous / Visibility link to the tag Verified.
Your finished screen will show details about both the Operator and the Verification User like
the example below.
Wonderware Training
Module 7
Module Objective
z Use ActiveX Controls in InTouch applications.
Wonderware Training
Section 1 – ActiveX Controls 7-3
Introduction
ActiveX controls, originally known as OLE controls or OCXs, are standalone software components
that perform specific functions in a standard way. ActiveX controls define standard interfaces for
reusable components. ActiveX controls are not separate applications. Instead, they are servers
that are placed into a control container. To use ActiveX controls, they must be placed in an
ActiveX container. InTouch is an ActiveX container. Microsoft VisualBasic and internet browsers
are also ActiveX containers.
ActiveX controls behave exactly like InTouch Wizards, except they bring compelling new
functionality to InTouch applications. ActiveX controls can be created using Visual Basic, Visual C,
Delphi or other 3rd party development tools. ActiveX controls can also be bought from third-
parties for specific functionality. These controls are packaged in the OCX form. Wonderware's
FactorySuite InTrack component also provides several ActiveX controls. Additionally,
ActiveFactory’s iTrend allows you to run the ActiveFactory Trend program (or a functional subset)
from within InTouch. ActiveEvent allows you to notify the IndustrialSQL Event sub-system when
an event has occurred in another application.
There are three main components of ActiveX controls: properties, methods and events.
z Properties are very similar to variables that can be modified, e.g., Calendar.day,
Control.height, etc.
z Methods are similar to script functions that can be called from the container. For
example, Browser.Navigate("http://www.wonderware.com"), Engine.start().
z Events occur through the ActiveX container. For example, Control.click (shift),
FileViewer.DoubleClick (name), etc.
InTouch allows access to ActiveX control properties, methods and events. These properties can
be associated with InTouch tagnames or can be accessed through InTouch QuickScripting.
Note: In order for an ActiveX Event script to function properly, the ActiveX control for which the
script was created must be loaded into memory. If the window containing an ActiveX control is
closed, its ActiveX Event scripts or any other InTouch QuickScripts containing script functions
associated with that ActiveX control, will not execute properly.
One or more ActiveX controls can be used in your InTouch application. InTouch allows you to
easily select and paste an ActiveX control into any application window and add them to the
Wizards/ActiveX Toolbar. ActiveX Event scripts can also be imported from one application to
another.
Wonderware Training
Section 1 – ActiveX Controls 7-5
c. Click the Control Name tab and enter a unique name for the ActiveX control in the
ControlName field.
Note: You must define a unique name for each ActiveX control used in your InTouch
application. The Control Name is used in script functions to identify the control. For example:
#Calendar2.day = Tag1;
#Calendar2.year = 2006;
If you use the default Control Name, e.g., Calendar2 and you subsequently duplicate the
ActiveX control, InTouch will automatically increment the Control Name. In this case, the
duplicate ActiveX control's name would be Calendar3.
c. In the Installed ActiveX controls list, select the control(s) to remove from your application
and then click Remove. A message appears asking you to confirm the deletion.
Note: To select a group of controls, click your first selection, hold down the SHIFT key and
select your last selection. All controls in between will be selected as well. To select multiple
controls that are not consecutively listed, click the first control and then hold down the CTRL
key as you click another.
Note: When you remove a control, it is not deleted. However, it is no longer loaded into
memory. Therefore, it will not function properly.
e. To install ActiveX controls, select them in the Available ActiveX controls list and then click
Install.
Note: The Install button is active only when controls are selected in Available ActiveX
controls list.
f. Click Close.
Wonderware Training
Section 1 – ActiveX Controls 7-7
Note: To add the ActiveX control to the Wizards/ActiveX Toolbar, click Add to toolbar.
When a control is added to the Wizards/ActiveX Toolbar, it can be selected and pasted into
your open window at any time. The number of ActiveX controls that can be added to the
toolbar is limited to system resources.
d. The cursor will change to the corner symbol , when you return to the window.
Click the location in the window to paste the ActiveX control.
e. Double-click the control to configure its properties.
Wonderware Training
Section 1 – ActiveX Controls 7-9
Note: When certain items in the Range column are clicked, an arrow appears. This arrow can be
clicked to view the list of possible values for the item. The items in the list are for viewing purposes
only and cannot be changed.
a. Click the Properties tab in the ActiveX control's Properties dialog box:
b. Click in the middle of each cell in the Associated Tag column and enter a tagname for the
respective property.
If a tagname is entered that has not been defined in the Tagname Dictionary, you will be
prompted to define it now.
If you double-click a blank cell, or click the button, the Tag Browser will appear displaying
the tagnames for the selected tag source. Double-click the desired tagname or select it and
click OK. The tagname is automatically inserted into the cell.
c. There are actually two fields in each cell in the Associated Tag column. The association
direction selection and the tagname entry. The ActiveX control determines the association
direction and the property type determines the tagname type that must be used.
When the tagname is specified, double-click in the cell to the left of the tagname. Select the
association direction for the tagname to its respective property. Continuously double-clicking
will cycle you through the various association direction choices.
You can select one directional or bi-directional association. However, if the association
direction you select is not valid for the property or tagname, the control will automatically
change it accordingly. For example, if you select when the tagname's value changes, its
associated property is changed accordingly. A certain subset of the symbols below will appear
based on the potential relationship between the property and the tagname.
For example, if you associate a property to a writeable tagname, you will see a different set of
associations than if you associate the same property to a read-only tagname. Select the
appropriate association symbol as follows:
The value can be set from either the tagname or the property.
(Tagname takes precedence.)
d. Click OK.
Note: Properties can be accessed or changed through ActiveX Event scripts and/or other
InTouch QuickScripts. All ActiveX script functions are qualified by the # (pound) sign. The
valid syntax to access ActiveX properties is:
#ControlName.PropertyName
Examples:
#Calendar2.Day = 29;
Tag1 = #Calendar2.year;
Wonderware Training
Section 1 – ActiveX Controls 7-11
Note: In order for an ActiveX Event script to function properly the ActiveX control for which the
script was created must be loaded into memory. If the window containing an ActiveX control is
closed, its ActiveX Event scripts, or any other InTouch QuickScripts containing script functions
associated with that ActiveX control, will not execute properly.
a. In the ActiveX control's Properties dialog box, click the Events tab:
b. Double-click a blank cell in the Script column. The ActiveX Event Scripts editor appears:
d. In the Control Name list, select the ActiveX control whose methods or properties you want to
access.
The names of all ActiveX controls currently being used in your application will be listed.
Note: If you select This Control instead of the actual Control Name, the methods and
properties displayed will be those for the ActiveX control currently selected in your application.
By selecting This Control instead of the actual Control Name, you can create generic
ActiveX Event script functions. You can then copy and paste these functions into any other
ActiveX Event script or any other InTouch QuickScript without having to change the Control
Name in the new script. For example:
#ThisControl.Value (“11/10/2005”);
#ThisControl.Value(Date); { where Date is a Memory Message tag }
This Control is accessible only through ActiveX Event scripts. It is not accessible through any
other type of InTouch QuickScript.
e. In the Method / Property list, select the method or property that you want to use in your script.
Properties are the items in the list that include parentheses. For example, Display().
f. Click Done.
The selected control name and method or property are automatically inserted into your script.
ActiveX control's methods and properties are also accessed through the Insert menu in all
other InTouch QuickScripts types.
Wonderware Training
Section 1 – ActiveX Controls 7-13
Note: In order for an ActiveX Event script to function properly the ActiveX control for which the
script was created must be loaded into memory. If the window containing an ActiveX control is
closed, its ActiveX Event scripts (or any other InTouch QuickScripts containing script functions
associated with that ActiveX control) will not execute properly.
a. Double-click the ActiveX control for which you want to create an ActiveX Event script.
The selected ActiveX control's Properties dialog box will appear.
b. Click the Events tab:
c. In the Event column, select the event to which you want to associate an ActiveX Event Script.
d. In the respective cell in the Script column, enter a unique name for the ActiveX Event Script
that you want to create and then double-click the name or click OK. The following message
appears:
e. Click OK.
The ActiveX Event script editor appears displaying the name you entered in the Name field.
If you double-click a blank Script cell when the ActiveX Event script editor appears, you must
then enter a name for the ActiveX Event script.
If the ActiveX Event script that you want to use already exists, click the button. The
Choose ActiveX Script dialog box appears listing all existing ActiveX Event scripts in your
application.
f. Click on Insert/ActiveX.
The ActiveX Control Browser appears:
Wonderware Training
Section 1 – ActiveX Controls 7-15
g. In the Control Name list, select This Event to access the parameters for the selected event.
In this case, the selected event is Error.
Note: This Event is accessible only through ActiveX Event scripts. It is not accessible
through any other type of InTouch QuickScript. You must select This Event to access the
event parameters for an ActiveX control.
Events may or may not pass parameters in runtime. Event parameters can be accessed by
using the ThisEvent keyword. For example:
MyActiveXErrorNumber = #ThisEvent.ErrorNumber;
Where: # indicates that this is an ActiveX script function, ThisEvent relates to the event
selected in the ActiveX control's Event property sheet, and ErrorNumber is the parameter
passed by the selected event.
h. In the Method/Property list, select the event to use in your ActiveX Event script.
i. Click Done.
The selected control name, e.g., This Event, and selected event parameter are both
automatically inserted into your script at the cursor location. For example:
j. Click OK to save your ActiveX Event script and close the script editor.
The ActiveX control's Properties dialog box reappears.
k. Click OK to close the Properties dialog box or continue to create ActiveX Events scripts.
b. Double-click a blank cell in the Script column or enter a name for the ActiveX Event script and
click OK.
Wonderware Training
Section 1 – ActiveX Controls 7-17
c. If an ActiveX Event script for the name you enter does not currently exist, a message will
appear asking you if you want to create it now. Click OK.
The ActiveX Event Scripts editor appears:
d. In the Name field, enter the name to identify the ActiveX Event script.
e. ActiveX control methods are similar to ActiveX control properties.
To access the ActiveX control methods, click on the Insert/ActiveX command.
The ActiveX Control Browser appears:
The ActiveX Control Browser will display the names of all ActiveX controls being used in
your application. When you select a control's name, its respective methods will be displayed.
Select the method to insert into your script and then click Done.
c. In the Script column for the respective event, click the button.
The Choose ActiveX Script dialog box appears:
Wonderware Training
Section 1 – ActiveX Controls 7-19
Note: This dialog box will only display the ActiveX Event scripts that were written for the same
type of ActiveX control and the same selected event.
For example, let's assume that you are creating an ActiveX Event script for a second ActiveX
Calendar control's "Click" event. You have already created two other ActiveX Event scripts
named Click1 and Click2 in your application. Click1 was created for a different ActiveX
Calendar control's "Click" event and Click2 was created for an ActiveX InSQLTrend control's
"Click" event. When you click the button and the Choose ActiveX Script dialog box
appears, it will only display the Click1 script since it was created for the same type of ActiveX
control and the same event.
d. Select the ActiveX Event script that you want to use and click OK.
The name of the selected script is automatically inserted into the Script cell where you
Note: When you import ActiveX Event scripts from one application to another, all ActiveX Events
scripts are imported. Additionally, in order for an imported ActiveX Event script to function properly
in the new application, the same ActiveX control and the same event for which the script was
originally created must also be used in the new application. And it must be loaded into memory. If
the window containing an ActiveX control is closed, its ActiveX Event scripts or any other InTouch
QuickScripts containing script functions associated with that ActiveX control will not execute
properly.
Wonderware Training
Lab 16 – Using ActiveX with InTouch 7-21
Objectives
Upon completion of this lab, you will be able to:
z Create a new InTouch window and install a specified ActiveX Control
z Configure a Data Change Script
3. On the ActiveX Control Installation tab, locate Microsoft Web Browser from the
Available ActiveX controls list box in the lower pane and click Install:
Wonderware Training
Lab 16 – Using ActiveX with InTouch 7-23
Next, the browser needs to know when that tag changes and when it needs to navigate to the
new address.
When this item is selected a dialog box will appear showing all ActiveX objects being used on
the left side and all the methods and properties available for the currently selected ActiveX on
the right:
10. Select the Navigate method and click on OK.
The Navigate method supports several parameters, but not all have to be used.
Delete them all and replace them with just URL:
Wonderware Training
Lab 16 – Using ActiveX with InTouch 7-25
11. Switch to Runtime and enter a valid URL for the browser (e.g., www.msn.com).
Verify that the browser works.
Wonderware Training
Section 2 – Using .NET Client Controls 7-27
Section Objective
z Organize and embed .NET client controls.
IMPORT
Graphic Toolbox Automation Object Template or Instance
Properties
EMBED EMBED
Symbol Symbol
Properties Properties
Methods Client Control Client Control Methods
Events Events
.AAPKG
FILE
Wonderware Training
Section 2 – Using .NET Client Controls 7-29
Note: After importing client controls, you can organize them in the Graphic Toolbox as you would
with ArchestrA symbols. For more information, see Organizing Client Controls.
You can also import client controls that have previously been exported in an ArchestrA package
(.aaPKG) file.
Note: If you select .NET or .DLL files that do not contain client controls, the import process
ignores these and continues at the next .DLL file.
Note: If the import fails, a message indicates the error in the Import Client Control(s) dialog.
Wonderware Training
Section 2 – Using .NET Client Controls 7-31
Note: It is recommended to not overlap client controls with other elements on the canvas.
Otherwise the client controls may not work correctly.
d. Select a client control from the right panel and click OK.
The mouse pointer changes to paste mode.
e. Click on the canvas where you want to embed the client control.
The client control is pasted onto the canvas.
Wonderware Training
Section 2 – Using .NET Client Controls 7-33
Wonderware Training
Section 2 – Using .NET Client Controls 7-35
read/write property
read-only property
write-only property
f. If you want to configure scripts for other events, select the event from the Event list.
The script area is cleared and you can write the script for the newly selected event.
g. When you are done, save and close.
Wonderware Training
Section 2 – Using .NET Client Controls 7-37
Example for configuring an event script for the ActiveFactory TagPicker control
Install and embed the ActiveFactory TagPicker Control in a symbol as described in. In this
example, when one of the tags is picked, a message is logged in the Log Viewer.
a. In the ArchestrA Symbol Editor, double-click on the embedded ActiveFactory TagPicker
control.
b. In the animation list, select Event.
c. From the Event list, select the event OnTagsPicked.
d. In the script area, type the following:
LogMessage(“User picked one or more tags.”);
e. Save and close the Edit Animations dialog box.
f. Save and close the ArchestrA Symbol Editor.
g. Embed the symbol in an IDE-managed InTouch application.
h. Switch to Runtime and connect to a valid InSQL source.
i. Select the SysTimeSec variable in the TagPicker control.
j. Check the SMC Log Viewer. The message “User picked one or more tags” appears.
Note: Actually, the above example doesn’t work right now because of validation failure for the
LogMessage script.
Note: You can import the client controls again from the exported .aaPKG files.
Note: The client control properties are different than the properties of the embedded client control.
The client control properties can be viewed in the IDE directly. The properties of the embedded
client control can be viewed in the Properties Editor of the ArchestrA Symbol Editor.
Wonderware Training
Section 2 – Using .NET Client Controls 7-39
Wonderware Training
Lab 17 – Using Client Controls 7-41
Objectives
Upon completion of this lab, you will be able to:
z Add and configure a third-party client control in an InTouch Managed Application
z Create and deploy an object in the IDE
Wonderware Training
Lab 17 – Using Client Controls 7-43
3. In the Import Client Control(s) dialog, browse to the following location and select the
System.Windows.Forms.dll .NET Framework control file.
C:\Windows\Microsoft.NET\Framework\v2.0.50727
Note: If this file is in a different location, your instructor will provide the location.
4. Click Open to begin the install of the .NET controls.
The new controls imported into the Graphic Toolbox are now visible in the root list.
Wonderware Training
Lab 17 – Using Client Controls 7-45
7. Create a new Graphic Toolset named .NETControls and move the imported controls into this
toolbox.
9. Place this symbol in your toolset and then open it in the Symbol Editor.
10. Click the Emebed Graphic button and select WebBrowser from the .NETControls Graphic
Toolbox you created.
Click OK.
Note: This object will need to be almost full screen within the InTouch Window you will place
it in. In most cases you would size the object after it has been placed in InTouch. However,
there will be additional objects within this symbol that you will not want resized along with the
browser, so you will draw everything at an appropriate scale in relation to the other objects.
13. From the main menu, select View / Zoom to / Zoom to Selection to adjust your view to see
the entire object.
Wonderware Training
Lab 17 – Using Client Controls 7-47
14. Below the browser object, draw a Text Box using the drawing tools.
Change the font of the text box to an appropriate size.
15. Draw two button objects below the Text Box and Substitute Strings to label them
Back and Forward respectively.
Change the font of the buttons to an appropriate size.
Your placement to be similar to as shown below.
16. Add a Custom Property URL to the symbol, setting its Data Type to String.
17. Double-click on the text box and add a User Input / String animation for the Custom Property
URL as shown.
19. Click the Element Browser tab and select the BrowserWindow Element.
20. Select the GoHome( ) method and click OK.
Wonderware Training
Lab 17 – Using Client Controls 7-49
22. In the same Edit Scripts window, click the Add Script + button to add a Named Script and
configure it as shown below.
23. Double-click the Back button and add the following Action script.
24. Double-click the Forward button and add the following Action script.
25. Save and Close the Symbol Editor, adding check in comments as appropriate.
Wonderware Training
Module 8
Alarm Distribution
Section 1 – Alarm Subsystem Overview 8-3
Section 2 – Alarm Viewer Control 8-9
Lab 18 – Working With the Alarm Viewer Control 8-25
Section 3 – Alarm Suppression 8-39
Lab 19 – Alarm Suppression 8-43
Section 4 – Alarm Tree View Control 8-49
Lab 20 – Configure an Alarm Tree View Control 8-55
Section 5 – Alarm Hot Backup Manager 8-61
Lab 21 – Configure the Alarm Hot Backup Manager 8-75
Section 6 – Alarm Printer 8-79
Section 7 – Alarm Databasing Tools 8-89
Lab 22 – Alarm Database Logger & Alarm Database View Control 8-101
Lab 23 – Configure an Alarm Pareto Control 8-113
8-2 Module 8 – Alarm Distribution
Wonderware Training
Section 1 – Alarm Subsystem Overview 8-3
Section Objective
z Use the InTouch Distributed Alarms system to monitor and acknowledge remote and
local alarms.
The InTouch Distributed Alarm System provides a notification system to inform operators of
process and system conditions. This system supports the displaying, logging, and printing of
process alarms and system events. Alarms represent warnings of process conditions, while events
represent normal system status messages. InTouch supports a Distributed Alarm System that
allows the display of alarms and events generated by the local InTouch application and by alarm
systems of other networked InTouch applications.
The basic alarm communication protocol uses Wonderware's TCP/IP-based SuiteLink protocol.
This uses a minimal amount of CPU and network resources. Alarm update time is very fast and
includes an accurate timestamp. InTouch provides up-to-the-millisecond timestamps of your
alarms when the alarm occurs, not when the consumer receives the alarm.
The Alarm Objects can be provided to an application user to enable preconfigured (by the system
designer) views to be selected at runtime, either by a simple right-click command menu or via
scripting.
Alarms can be acknowledged on the local InTouch node or from a remote node on the network.
Alarms can also be enabled or disabled directly or indirectly under full control of the application.
Alarm suppression can be applied to single alarm classes, tags, or groups to prohibit the display of
alarm information on a specific view node. System-wide disablement can block alarm activity at
the source.
A separate alarm comment field allows you to provide more feedback about the alarm. Expanded
dot field support allows you greater control over alarms.
The InTouch Distributed Alarm Subsystem supports logging alarms and events to a Microsoft SQL
Server or MSDE database. This provides the power of a relational database, regardless of the
size of your application – and your budget. Visualization tools allow easy and open access to
these data tables via the Alarm DB View Control.
The Alarm DB Logger can be manually started on demand or can be configured to run as a
Windows service. Alarm logging uses UTC (GMT) timestamping and provides compatibility with
DST and across time zones.
The Distributed Alarm System allows you to configure a secondary backup alarm provider, thus
establishing a fail-safe system. Alarm provider pairs are configured using a supplied utility. Should
a primary alarm provider fail, the Distributed Alarm Subsystem seamlessly acquires alarm
information from the backup system. On reconnection of the primary node, the Distributed Alarm
Subsystem ensures that alarm acknowledgements are resynchronized prior to the returning
primary system becoming live.
Wonderware Training
Section 1 – Alarm Subsystem Overview 8-5
To quickly access the dialog box, in the Application Explorer under Configure, double-click
Distributed Name Manager.
If you right-click a text box in any alarm configuration dialog box, a menu will appear displaying
the commands that you can apply to the selected text.
b. In the Group Properties section, type the name of the query in the Name box.
Wonderware Training
Section 1 – Alarm Subsystem Overview 8-7
c. In the Members box, type the list of InTouch nodes and Alarm Groups that you want to include
in your query. The valid syntax for these lists include:
Standard Group Entries:
\\Node\InTouch!Group
Fully qualified path to an Alarm Group on a remote node
\InTouch!Group
Same as above, but Node assumed to be local
GroupList
Another Group List
Shortcut Group Entries:
Node.Group
Shortcut that equates to \\Node\InTouch!Group
.Group
Shortcut that equates to \InTouch!Group
Where Node identifies the name of the InTouch remote node and .Group identifies the Alarm
Group on that node. If the Alarm Group is local, you can enter just the Alarm Group name with
a period. For example, .AlarmGroup.
The Shortcut Group Entries provide you with an easy way to enter node and Alarm Group
information into the dialog box. It's important to remember that this information is translated
into the Standard Group Entry format when you save the Alarm Group List.
Note: The Node.Group and .Group syntax can only be used in this configuration dialog box.
It is not valid in the alarm display configuration or any alarm QuickScript function.
4. Click Add to add this list to your Alarm Group file. The syntax of the Members will
automatically be converted. For example, .$System will be converted to \InTouch!$System, as
shown below:
e. Click OK.
f. Double-click the Distributed Alarm Object.
Add the group list above to the query.
g. Note that new alarms are now visible.
Wonderware Training
Section 2 – Alarm Viewer Control 8-9
Section Objective
z Configure all necessary aspects of the ActiveX Alarm Object for display and
acknowledgment.
Introduction
InTouch provides an Alarm Viewer Control with built-in scroll bars, sizable display columns,
multiple alarm selections, an update status bar, dynamic display types, and display colors based
on alarm priority. The Alarm Viewer ActiveX Control is the preferred control for viewing alarms.
Wonderware Training
Section 2 – Alarm Viewer Control 8-11
Property Description
Perform Query on Automatically begins updating the display using default query properties, if
Startup selected. If not selected, you need to perform an almDefQuery or almQuery
before the display will update. The Requery option is also available on the right-
click shortcut menu.
Show Context Enables the activation of the right-click popup menu. Selecting this option
Sensitive Menu enables the Configure Context Menus button and the Use Default Ack Comment
check box.
Use Default Ack Controls whether a default comment will be used when an operator ACKs an
Comment alarm. If this box is checked and a string is entered, the string will be used during
runtime as a default comment. If this box is not checked, when the operator
ACKs an alarm, a dialog box appears to let the operator enter a comment. The
dialog box can be filled in or left blank. Selecting this option enables the Ack
Comment field in which to enter the comment. This button is only available when
the Show Context Sensitive Menu box is checked.
Show Status Bar Toggles the display of the status bar.
Show Heading Toggles the display of the heading bar.
Row Selection Selecting this option allows you to select records in the alarm viewer. This allows
multiple selections of alarms and doesn't toggle previously made alarm
selections based on new selections.
Use Extended Allows multiple alarms to be selected by holding down Ctrl or Shift in conjunction
Selection with a mouse. The default is to toggle selection of alarms by simply clicking on
them. This is available only if Row Selection check box is selected.
Silent Mode If Silent Mode is selected, the distributed alarm display will not pop up error
messages in Runtime. If it is not selected, the alarm display will show pop up
error messages. Error messages are always sent to the Log Viewer.
Resize Columns If Resize Columns is selected, the user can resize columns in Runtime. If it is not
selected, the user will not be able to resize columns in Runtime.
Show Grid If Show Grid is selected, the Alarm Viewer shows a grid in the distributed alarm
display. If it is not selected, no grid is visible.
d. Click Apply. You can proceed to configure the next property or click OK to exit the properties
sheets.
Wonderware Training
Section 2 – Alarm Viewer Control 8-13
Note: The Configure Context Menus button is only enabled if the Show Context Sensitive
Menu option is selected.
d. Configure the context sensitive menu options and click OK. At least one context sensitive
menu item should be selected if the Show Context Sensitive Menu box is checked.
Note: If Ack Selected and Ack Others menu items are both unchecked at design time in the
Context Sensitive Menus dialog box, the Use Default Ack Comment check box and the text
box are disabled. Click Apply. You can proceed to configure the next property or click OK to
exit the properties sheets.
Wonderware Training
Section 2 – Alarm Viewer Control 8-15
d. From the Column Details dialog box, select the checkbox next to the Column Name to
display the column in the alarm object. The columns in the Column Details dialog box are
Name, Width and Original Name. Original Name shows what the columns were named
before any changes were made. The original column names that you can select to display are
described below.
Note: All column names are selected by default except for Operator and Comment.
e. To rearrange the columns, select the column name and use the up and down arrow keys. The
column name appearing at the top of the Column Details dialog box is the column displayed
to the furthest left of the alarm display.
f. To edit the column name and width, double-click the column name or select a column name,
then click Edit. The Edit dialog box appears for that column.
g. Enter in a new name in the New Name text box if you want to display a column name other
than the default column name.
h. Enter in a column width in the New Width text box. The column width is measured in pixels
and can range from 1 to 999 pixels. The default column width is 100 pixels.
i. Click OK on the Edit dialog.
Note: Click Reset to Default to return to the default Column Details settings.
Wonderware Training
Section 2 – Alarm Viewer Control 8-17
c. Select the desired query options. The query options are described in the table below:
Property Description
From Priority Minimum alarm priority set to 1 by default. This value should always be less
than "To Priority" and the range of values is from 1 to 999.
To Priority Maximum alarm priority set to 999 by default. This value should always be
more than "From Priority" and the range of values is from 1 to 999.
Alarm State Default alarm state to query set to All by default. ALL indicates a query of all
alarms. UnAck indicates a query of unacknowledged alarms. Ack indicates a
query of acknowledged alarms.
Query Type Sets display type as either Summary or Historical.
Alarm Query Sets the initial Alarm query. This field accepts text only; it does not accept tags.
The default Alarm Query is \intouch!$system
The valid syntax for these lists include:
\\Node\InTouch!Group
Full path to Alarm Group
\InTouch!Group
Full path to local Alarm Group
GroupList
Another Group List
Sort Column Select the column to sort using the drop-down arrow. Options are alarm Time,
State, Class, Type, Priority, Name, Group, Provider, Value, Limit, Operator or
Comment.
Property Description
Query Favorites File The control will store alarm Queries. Click the button to browse for query
favorites.The differences between Query Favorites and the Alarm Query are:
z The Alarm Query files are XML.
z A filename should be given with the proper folder name to
enable the Query Favorites context sensitive menu option at
runtime.
z Existing filenames allow access to existing queries. New
filenames are created when new queries are created.
z The query file can be in any folder and does not need to be in
the application folder.
Auto Scroll to new This check box will be available only when the sort option selected is based on
Alarms Time.
Sort Direction Select the criteria by which to sort the query and click the Up or Down radio
buttons to sort in ascending or descending order respectively. By default, the
display is sorted by time in ascending order.
d. Click Apply. You can proceed to configure the next property or click OK to exit the properties
sheets.
Wonderware Training
Section 2 – Alarm Viewer Control 8-19
To assign Events:
a. Double-click on the Alarm Viewer Control display or right-click it, and then click Properties.
The AlarmViewerCtrlX dialog box appears with the Control Name property sheet active.
b. Click the Events tab to activate the Events sheet.
c. Insert the appropriate script to any of the four Events available.
d. Click Apply.
Wonderware Training
Section 2 – Alarm Viewer Control 8-21
Boolean Properties
String/Numeric Properties
Name Values
Alarm State Ack, All, Unack
Query Type Summary, Historical
Alarm Query {Keyed in by the user}
From Priority {Keyed in by the user}
To Priority {Keyed in by the user}
Date Format DD MMM, DD MMM YYYY, DD/MM, DD/MM/YY, MM/DD,
MM/DD/YY, MMM DD, MMM DD YYYY
Time Format HH:MM, HH:MM AP, HH:MM:SS, HH:MM:SS AP,
HH:MM:SS.SSS, HH:MM:SS.SSS AP
Displayed Time LCT, LCT but OAT on ACK, OAT
NewAlarmEventMode 0, 1, or 2
TotalAlarms {Read Only}
Color Properties
Events
Name Script
Click {Keyed in by the user}
DoubleClick {Keyed in by the user}
NewAlarm {Keyed in by the user}
ShutDown {Keyed in by the user}
StartUp {Keyed in by the user}
Wonderware Training
Section 2 – Alarm Viewer Control 8-23
Methods
The following Methods are available for use in configuring the Alarm Viewer Control.
Name Functionality
AckAll Acks all the alarms
AckVisible Acknowledges only those alarms that are currently visible in the Alarm
Viewer.
AckSelected Acks the selected alarms
AckSelectedGroup Acknowledges all alarms that have the same group name as one or more of
the alarms that are selected.
AckSelectedTag Acknowledges all alarms that have the same Tag (alarm) name as one or
more of the alarms that are selected.
AckSelectedPriority Acknowledges all alarms that have the same priority value as one or more of
the alarms that are selected.
AckGroup Acks the alarms that have same Group & Provider as specified by the
parameter
AckPriority Acks the alarms that are of the specified priority range having same provider
name and group name.
AckTag Acks the alarms of the given tag name having the same provider name and
group name within the given priority range.
AboutBox Shows the "About" dialog box.
ApplyDefaultQuery Performs a query using the following properties as specified at design time:
FromPriority, ToPriority, AlarmState, QueryType, AlarmQuery. The default
properties can only be changed at development time and are not overwritten
by other alarm queries.
ApplyQuery Performs the query as specified by its parameter’s Alarm Query, From and
To Priorities, State of alarms to query for, and the type of alarms to retrieve.
FreezeDisplay Freezes the display.
MoveWindow Scrolls the control as specified by Option and the repeat count.
Requery Queries the alarm provider again.
SuppressAll Suppresses all the alarms.
SuppressVisible Suppress the display of current and future occurrences of any visible alarm.
SuppressRecent Suppresses recent alarm.
SuppressSelected Suppresses the selected alarms.
SuppressSelectedGroup Suppresses all alarms that have the same group name as one or more of the
alarms that are selected.
SuppressSelectedTag Suppresses all alarms that have the same Tag (alarm) name as one or more
of the alarms that are selected.
SuppressSelectedPriority Suppresses all alarms that have the same priority value as one or more of
the alarms that are selected.
SuppressGroup Suppresses the alarms that have same Group & Provider as specified by the
parameter
SuppressPriority Suppresses the alarms that are of the specified priority range having same
provider name and group name.
SuppressTag Suppresses the alarms of the given tag name having the same provider
name and group name within the given priority range.
ShowContext Shows the context sensitive menu if any one of "RefreshMenu" or
"ResetMenu" or "SortMenu" property is enabled.
ShowQueryFavorites Displays the Query Favorites dialog.
ShowSort Shows the "Secondary Sort" dialog if the "SortMenu" property is enabled.
Methods
The following Methods are available for use in configuring the Alarm Viewer Control.
Name Functionality
ShowStatistics Displays the Statistics dialog.
ShowSuppression Displays the suppression dialog box, which contains all suppressed alarms.
SetQueryByName Sets the query as specified in the parameter (using Query Favorites)
SelectAll Toggles the selection of all the alarms
SelectItem Toggles the selection of an alarm record as specified by the parameter
SelectGroup Toggles the selection of all the alarms that contains the same alarm group
name and provider name.
SelectPriority Toggles all alarms that are of the specified priority range, having the same
provider name and group name.
SelectTag Toggles all alarms for a given tagname, having the same provider name,
group name and in the specified priority range.
UnsuppressAll Unsuppresses alarms, if any
UnselectAll Unselects the selection, if any
SuppressRetain Retains alarm suppression for all following queries
GetItem Returns a string corresponding to the alarm at the specified row and column.
ShowSortFavorite Shows “Sort Favorite” dialog
SetSort Sets the sort criteria as specified by the "SortColumn" and "SortOrder"
properties.
SuppressAllMenu Boolean Property that Enables/Disables "SuppressAll" menu item.
Wonderware Training
Lab 18 – Working With the Alarm Viewer Control 8-25
Objectives
Upon completion of this lab, you will be able to:
z Insert and configure the Alarm Viewer Control in an InTouch window
z Acknowledge actual alarms on the Alarm Viewer Control
z Change the Query Property and the associated Method Requery and test
z Use the Context Sensitive Menu
Acknowledgement
n. Switch back to Development and add an Action Script to the button labeled Ack Selected
Alarm that uses an Alarm Viewer Control Method to display an alarm acknowledgment
comment.
Use the method AckSelected( “String” ) in the script.
o. Switch to Runtime and test the Ack Selected Alarm button.
On Your Own - Add additional alarm acknowledgement capabilities to this window as you see
fit.
Wonderware Training
Lab 18 – Working With the Alarm Viewer Control 8-27
Queries
p. Switch back to Development. and add an Action Script to the button labeled Summary that
uses an Alarm Viewer Control Method to run a query display summary of active alarms.
q. Double-click on the button labeled Summary and bring up its Action script.
Make sure to clear out anything in the script buffer.
r. Click the Insert ActiveX Control button and select the property QueryType.
This property will accept either Summary or Historical values as a text string.
s. Click the Insert ActiveX Control button again and select the Method Requery().
Modify the On Left Click/Key Down script as follows:
#AlarmViewerCtrl4.QueryType = “Summary”;
#AlarmViewerCtrl4.Requery();
t. For the button Historical, use the same On Left Click/Key Down script,
but change the value for the QueryType property to Historical.
#AlarmViewerCtrl4.QueryType = “Historical”;
#AlarmViewerCtrl4.Requery();
This query displays a list of historical alarms.
u. Switch to Runtime to test.
On your own – Try working with some of the other properties, such as AlarmQuery, which
changes what alarm groups and providers you are getting alarms from; AlarmState, with
values of “All”, “Ack” and “UnAck”; and FromPriority and ToPriority, which allow you to
change the priority range displayed on the alarm object.
Basic Setup
1. Open the window named Alarm Display.
2. Click the Wizard hat and select the AlarmViewerCtrl from the ActiveX Controls group.
Wonderware Training
Lab 18 – Working With the Alarm Viewer Control 8-29
Note: This ControlName represents what you will see in the Wonderware Training Room.
This Number increments.You will start with 1 when starting a new InTouch Application.
5. Click the Query tab. Basic query configuration is done from the Query tab.
Note: Alarm Queries can be named using the Distributed Name Manager which will be
discussed later in this lab.
Configuration
8. Switch back to Development.
9. Double click on the Alarm Viewer Control.
10. Select the General tab.
The look and behavior of the alarm control is configured here.
11. Click the Column Details button.
12. Turn on the Alarm Comment column and the security based columns:
Operator, Operator Full Name, Operator Node, and Operator Domain.
13. Change the width of these columns as you feel is appropriate.
Note: You can change column widths at Runtime, but those changes are not retentive.
Setting the column widths here is retentive.
14. Switch to Runtime and note the information being displayed in the columns you have just
turned on. Try logging on as different operators with the Log On and Log Off buttons in this
window.
Wonderware Training
Lab 18 – Working With the Alarm Viewer Control 8-31
17. Create another group called RemoteAlarms whose member is the $System Alarms on the
remote node. [Instructor to provide remote node]
Remote Node
provided by
instructor.
Wonderware Training
Lab 18 – Working With the Alarm Viewer Control 8-33
18. Create another group called AllAlarms whose members are all alarms from the local
application and all alarms from the remote node. Use the Alarm Group RemoteAlarms as
one of the members to satisfy the requirement of all alarms on the remote node.
20. Enter one of the groups in the Alarm Query field by double-clicking on the Alarm Viewer
Control:
Acknowledgement
Alarm acknowledgement with the Alarm Viewer Control has all the same capabilities as the
Distributed Alarm Object, but instead of using standard InTouch Quick Script functions, ActiveX
methods will be used.
23. Switch back to Development.
24. Double click on the button labeled Ack Selected Alarm, and bring up its Action Script.
If you see a script in the buffer, please make sure to clear it out before you start writing the
new script.
25. From the script editing window, click the Insert ActiveX Control button.
Wonderware Training
Lab 18 – Working With the Alarm Viewer Control 8-35
28. Switch to Runtime and test the Acknowledge Selected Alarm button.
On Your Own - Add additional alarm acknowledgement capabilities to this window as you see
fit.
Queries
With the Alarm Viewer Control, there are several ActiveX Properties of the object that can affect
the query. The properties can either be linked to an InTouch tag, or they can be written to directly
into a script. Whenever any Query Property is changed, it must be followed by the Method
Requery, before any change will be made.
29. Switch back to Development.
30. Double-click on the button labeled Summary and bring up its Action script.
Make sure to clear out anything in the script buffer.
31. Click the Insert ActiveX Control button and select the property QueryType.
This property will accept either Summary or Historical values as a text string.
32. Click the Insert ActiveX Control button again and select the Method Requery().
Modify the script as follows:
33. For the button labeled History, use the same script,
but change the value for the QueryType property to Historical.
Wonderware Training
Lab 18 – Working With the Alarm Viewer Control 8-37
From here, you can see all the items on this menu that at Runtime can be turned off or on as
necessary.
These options can also be controlled individually via scripting, by working with the ActiveX
properties of the object.
39. Retain the defaults and click OK when finished.
40. Create the following Condition Scripts for the condition $AccessLevel >=9000.
Use the Insert ActiveX Control button to access the ActiveX Methods.
41. Create the following Window Script for the Alarm Database window:
Wonderware Training
Section 3 – Alarm Suppression 8-39
Section Objective
z Understand the concept of Alarm Suppression and use this feature effectively in InTouch.
With this model in mind, the following visibility controls are handled at the Alarm Provider:
z Alarm Disablement: An alarm can be disabled by setting a flag that marks it as
disabled. No other change to the alarm configuration is involved. While an alarm is
disabled, any checking may or may not continue regarding conditions that would put the
item into an alarmed state.
z Alarm Inhibition: An alarm state can be inhibited by identifying a tagname that marks it
as inhibited. This tagname is called an inhibitor tag. No other change to the alarm
configuration is involved. An alarm state can be inhibited by associating a tag with an
alarm state such as a HiHi, or a Rate of Change (ROC). When the inhibitor tagname is
FALSE (or zero), the alarm is handled normally; but when the inhibitor tagname is TRUE
(or non-zero), the item cannot alarm. In essence, it is treated the same as if the alarm
were disabled. We then say that the alarm is actively inhibited, but only for that specific
alarm state. Other alarm states for the tag may still be reported. Alarm inhibition is a two-
stage process:
z Alarm Suppression: With the alarm model in mind, we have the ability to break the
connection between the alarm state and the alarm annunciation. This visibility control is
known as Alarm Suppression. This section outlines both the concept and the steps
necessary to Suppress alarms in InTouch.
Alarm Suppression
One or more alarms are suppressed at an alarm consumer by filtering, identifying set of exclusion
criteria. If an alarm matches the exclusion criteria, it will not be visible at the alarm consumer,
meaning that it does not appear on a display at that particular alarm consumer. The actual
generation of alarms is completely unaffected by suppression. Essentially, suppression causes an
alarm consumer to ignore certain alarms.
An example of Alarm Suppression might be a scenario where you want an operator to see alarms
only for the section of the system he is responsible for.
Note: Each alarm consumer may see different results based on its own set of exclusion criteria,
thereby making different sets of alarms visible. Essentially, Suppression is a refinement on the
alarm query.
Alarm Suppression applies to the one instance of the Alarm Display Object it is performed from. It
does not apply to other instances of the display object in your application.
Note: Since the actual generation of alarms is unaffected, even while an alarm is suppressed by
one or more alarm consumers, common entries can still be made to the alarm history for the
alarm, assuming the alarm logger itself is not also suppressing the alarm.
Wonderware Training
Section 3 – Alarm Suppression 8-41
Right-Click Menu
A Right-Click menu is available from the Alarm Viewer Control for quick access to the commands
that you applied to the Control and/or one or more selected alarms, alarm groups, tag names and
priorities contained in the display at runtime.
Note: By default, the Right-Click menu is disabled. Enable the Right-Click menu by checking the
Show Context Sensitive Menu box from the General tab of the Alarm Configuration Dialog.
Script functions can be used to duplicate the options available from the Right-Click menu. The
following choices are available through the Right-Click menu for Alarm Suppression:
z Suppress Selected - Allows the runtime operator to quickly suppress the selected alarm.
z Suppress Others- Allows the runtime operator to quickly suppress all alarms within the
display, or only visible alarms, selected groups, selected tags, or selected priorities.
z Suppression - Allows user to view current suppressions and delete or cancel specific
Alarm Suppressions.
Wonderware Training
Lab 19 – Alarm Suppression 8-43
Objectives
Upon completion of this lab, you will be able to:
z Create buttons with scripts to suppress all alarms, suppress selected alarms, and
unsuppress all alarms
z Suppress and unsuppress alarms in Runtime using the context sensitive (right-click)
functionality
Note: Verify that all scripts end with a ; and that they Validate properly.
c. On the button labeled Suppress Selected, Select the SuppressSelected() ActiveX Method
for the Action Script.
d. On the button labeled Unsuppress All, select the UnsuppressAll() ActiveX Method for the
Action Script.
e. Switch to Runtime and test the buttons created above.
f. Make sure the Context Sensitive menu is enabled for the Alarm Viewer Control.
g. Switch to Runtime, right-click on the Alarm Viewer Control and test all the commands
available.
Note: AlarmViewerCtrl1 is the default name for the Alarm Viewer Control in a new
application.
Please verify the name in your own object before doing any scripting!
Wonderware Training
Lab 19 – Alarm Suppression 8-45
5. This script will suppress all alarms currently shown on the alarm display.
Add a ; to the end of the link and Validate.
6. As an alternate suppression method, select the SuppressSelected() ActiveX Method for the
Action Script on the button labeled Suppress Selected.
This will allow you to select one alarm on the alarm display and suppress just it.
7. In order to see the alarms again, select the UnsuppressAll() ActiveX Method for the Action
Script on the button labeled Unsuppress All.
10. Switch to Runtime and Right-Click on the Alarm Viewer Control to get the following menu.:
11. From here, many functions can be selected that can also be done via scripting.
Select Suppress Others > from the menu to bring up the submenu.
Wonderware Training
Lab 19 – Alarm Suppression 8-47
12. Most likely, many of the options will be disabled unless an alarm was selected prior to Right-
Clicking. The two options available here are Suppress All and Suppress Visible.
Select the Suppress Visible option.
13. Right-Click on the Alarm Viewer Control again and select Unsuppress All to unsuppress all
the alarms.
14. Select an alarm that is not coming from your local alarm provider, and then right-click on the
Alarm Viewer Control again. You will note that Suppress Selected is now available, and if
you click on Suppress Others, more options are available there as well.
Note: Best Practices in a production environment will typically suppress only remote alarms.
15. From Suppress Others select Suppress Selected Tags. This will allow you to suppress all
alarms of any type from the selected tag, rather than just the current alarm.
16. When alarms are suppressed, the Alarm Viewer Control visually indicates that alarms are
being suppressed on the status bar.
17. With one or more alarms suppressed, right-click on the Alarm Viewer Control and select
Suppression.
This will bring up a listing of all alarms that are currently being suppressed on the Alarm
Viewer Control.
18. From here you can unsuppress a particular suppression by selecting it and clicking on Delete.
This will delete it from the suppression list and allow it to be viewed by your alarm consumer.
Wonderware Training
Section 4 – Alarm Tree View Control 8-49
The Alarm Tree View can show multiple nodes and Alarm Providers. In the tree structure:
z Nodes are represented by a computer icon.
z Alarm Providers are represented by a speaker icon.
z Alarm Groups are represented by a bell icon.
With one or more Alarm Groups selected, you can generate queries for alarms that can be used in
the Alarm Viewer and the Alarm DB View Controls. To select multiple Alarm Groups, hold down
the shift key while clicking on a Group. To un-select all Groups, click on an empty area.
You can configure the Alarm Tree View Control to display any of the following commands on the
Context menu when a user right-clicks on the control in Runtime:
z Refresh – Forces a manual update of the alarms
z Freeze – Stops the alarms from updating
z Query Favorites – Opens the Alarm Query dialog box where you can select an alarm
query from a list of previously defined alarm queries
z Create Query Favorites – Opens the Add Query dialog box with a query string entered
based on the selected Groups (if any)
z Sort – Opens the Sort dialog box where you can sort Alarm Groups in ascending or
descending order
z Statistics – Opens the Alarm Statistics dialog box for viewing the percent of Alarm
Providers retrieved
On the General tab of the Alarm Tree View Control, you can set many of the same options as the
other alarm controls:
You can specify the same alarm queries used in other alarm objects. This field supports Alarm
Groups created using the Distributed Name Manager. You can also use the Query Favorites File
created in other objects.
Wonderware Training
Section 4 – Alarm Tree View Control 8-51
Wonderware Training
Section 4 – Alarm Tree View Control 8-53
Wonderware Training
Lab 20 – Configure an Alarm Tree View Control 8-55
Objectives
Upon completion of this lab, you will be able to:
z Place an ActiveX Alarm Tree View Control object in an InTouch window
z Configure the Alarm Tree View Control to connect to a database
a. Open the Alarm Display window and place an AlarmTreeViewCtrl ActiveX control on the
window and size it appropriately.
b. Define a query in the Alarm Tree View Control.
c. Add the following script named TreeClick to the Click event:
(use the ActiveX Control Browser to insert the control properties):
DIM sQuery AS MESSAGE;
sQuery=#AlarmTreeViewerCtrl1.GetAlarmQueryFromSelection();
#AlarmViewerCtrl1.AlarmQuery = sQuery;
#AlarmViewerCtrl1.Requery();
d. Draw a button labeled Default.
Apply a Touch / Action Script with a Condition Type On Left Click/Key Down.
#AlarmViewCtrl1.Apply Default Query;
e. Go to Runtime and test by clicking an Alarm Group in the Alarm Tree View Control.
Click the Default button to return to the default query.
f. On your own, create another Alarm Group, define a tag with alarm states, and assign the tag
to the Alarm Group. You could then add a Slider to the window to trigger alarms in that group.
Note: If this window has a different name, your instructor will provide it.
Wonderware Training
Lab 20 – Configure an Alarm Tree View Control 8-57
Note: Verify the number of your Alarm Viewer Control in these scripts.
Wonderware Training
Lab 20 – Configure an Alarm Tree View Control 8-59
14. Go to Runtime and test by clicking an Alarm Groups in the Alarm Tree View Control.
Click the Default button to return to the default query.
15. On your own, create another Alarm Group, define a tag with alarm states, and assign the tag
to the Alarm Group. You could then add a Slider to the window to trigger alarms in that group.
Wonderware Training
Section 5 – Alarm Hot Backup Manager 8-61
Section Objective
z Configuration the Hot Backup nodes for failover authentication.
Note: The alarms from the secondary provider should be displayed only when the primary
provider is inactive.
The idea of a backup configuration is that the Alarm Consumer (client) uses an alarm query that
references the name of the Hot Backup pair. For that pair the client sees only one set of alarms:
the alarms from the primary, or if the primary has failed, the alarms from the secondary. In
addition, the acknowledgements for the alarms on the primary and secondary are completely
synchronized. That is, if an alarm has been acknowledged on the primary Provider it is also
acknowledged on the secondary Provider.
The InTouch Distributed Alarm System Hot Backup and Synchronization feature accomplishes the
following:
a. Configuration utility that simplifies the process of establishing alarm backup pairs and
designating which is primary and which is secondary.
b. Configuration utility to perform alarm mapping.
c. Built-in synchronization of alarm acknowledgments.
d. Handshaking during the startup/shutdown of an Alarm Provider.
Wonderware Training
Section 5 – Alarm Hot Backup Manager 8-63
Note: By default, the utility automatically checks for the provacc.ini file in the last opened
InTouch application folder. If the file is available, the utility will configure itself with the file.
Otherwise, the utility will create a new file in the required folder.
Wonderware Training
Section 5 – Alarm Hot Backup Manager 8-65
d. For this example, type Pair1 in Hot Backup Pair Name box.
e. In the Hot Backup Pair Name box, type a unique name for the new pair.
Pair names can be up to 32 alphanumeric characters long.
Note: Duplicate pair names are not allowed. Underscore is the only special character that is
allowed at the beginning, middle or at the end of the Hot Backup pair name.
f. Since your primary Alarm Provider InTouch application is running on MachineA with Alarm
Group $System, configure the Primary Node group's fields as follows:
z Primary Node Name = MachineA
z Primary Node Provider = InTouch
z Primary Node Group is $System.
g. Since your secondary Alarm Provider InTouch application is running on MachineB with Alarm
Group $System, configure the Backup Node group's fields as follows:
z Backup Node Name = MachineB
z Backup Node Provider = InTouch
z Backup Node Group is $System
h. After this configuration is completed, click OK to save our new backup pair.
Note: You must execute the Save command on the File menu to save all your changes to the
INI files. You will be prompted to save changes before exiting the utility.
Next, you need to map your key fields, if the two InTouch Applications are not identical.
e. Since you are mapping alarms via the alarm name and the values are different for the two
providers. Select the Alarm Name and Design-Time options.
Wonderware Training
Section 5 – Alarm Hot Backup Manager 8-67
f. In the Alarm Record Fields group, select the fields that you want to include in the mapping
key list. The selected fields are added to the Selected Fields list box.
g. Select the Design-Time option for the respective alarm record fields whose possible values
are different and known at design time of the application. For example, in the case of an
InTouch Provider, the "Name" field value is known at design time because it takes on the value
of the tagnames defined in the primary and backup node applications. By default, Alarm
Name as Run-Time is pre-selected.
Note: The Alarm Record Fields can be configured during runtime or design time. All design
time fields are carried forward to the Map Alarm Records dialog box for any tagname
mappings.
Note: At runtime, if the design time key is a part of the composite key, and the primary
provider cannot find the mapping entry for that key in the mapping table, Hot Backup will
automatically find the alarm with the same tagname in the backup provider and send an
acknowledgement to the corresponding alarm and vice versa.
Note: The mappings are imported from a .csv (comma separated variable) file that you will need
to create using any simple text file editor or Microsoft Excel®. The alarm field names must match
those contained in the Map Alarms Records dialog box. Otherwise, the import will abort and
display a warning message box.
Each Hot Backup pair is identified by an application level unique name. Following our example:
Note: To simplify the work for you, if no map is provided, the Distributed Alarm System assumes
that the same alarms are on both the primary and the secondary.
You can combine the field values of alarm records – such as Group, name, and Priority – to
generate a "composite mapping key" that uniquely identifies alarm records.
An InTouch Alarm Provider equates the "Name" field to the name of the tagname that generated
the alarm. Therefore, when given Hot Backup pair, a mapping key can be generated using the
combination of Group and "Name" field.
For example:
If a provider has a name field and comment field together as a unique field then the mapping key
can be a combination of name and comment.
This could be true for any other field combination for a third provider.
Wonderware Training
Section 5 – Alarm Hot Backup Manager 8-69
The alarm record mapping ensures that when an alarm is acknowledged on one Alarm Provider,
the Distributed Alarm System knows which alarm to acknowledge on the other Alarm Provider.
Note: The alarm field names must match those contained in the Map Alarm Records dialog box.
Otherwise, the import will abort and display a warning message box.
You are now ready to import our .csv file containing all of your alarm record mappings.
Wonderware Training
Section 5 – Alarm Hot Backup Manager 8-71
Wonderware Training
Section 5 – Alarm Hot Backup Manager 8-73
Note: The node name for a particular application must be unique for the entire Hot Backup
listing. An appropriate error message box appears if you enter wrong or duplicate entries.
Note: You must execute the Save command on the File menu to save all your changes to the
INI files. You will be prompted to save changes before exiting the utility.
Note: You must execute the Save command on the File menu to save all your changes to the INI
files. You will be prompted to save changes before exiting the utility.
Wonderware Training
Lab 21 – Configure the Alarm Hot Backup Manager 8-75
Objectives
Upon completion of this lab, you will be able to:
z Configure the Alarm Hot Backup Manager for a Primary and Secondary node
z Configure the Alarm Display to query the Hot Backup pair
z View changes in Runtime as the Primary node is active and then inactive
a. Open the Alarm Hot Backup Manager and configure a New Pair.
b. Name the pair and enter the Node Names for the Primary and Backup nodes and save your
changes.
c. Activate the Alarm Viewer Control Properties dialog box and provide the name of your Hot
Backup Pair in the Alarm Query field of the Alarm Viewer Control.
d. Go to Runtime on all three nodes.
You should now see alarms from the Primary node on the Alarm Consumer’s Alarm Display.
Verify that your Alarm Display is collecting information from the respective nodes.
e. Shut down WindowViewer on the Primary node.
You should now see alarms from your Backup node on the Alarm Consumer’s Alarm Display.
Test back and forth.
3. Click the New Pair button in the Alarm Hot Backup Manager dialog box.
Wonderware Training
Lab 21 – Configure the Alarm Hot Backup Manager 8-77
4. Enter a Hot Backup Pair Name for your pair in the Add New Pair dialog box.
Enter the node information for the Primary and Backup nodes.
5. Click OK.
Note: You instructor will provide Node Names for the computers you will connect to.
6. Select File / Save to save your changes, and then close the dialog box.
You can also simply close the dialog box at which time you will be prompted to save your
work.
7. Double-click the Alarm Viewer Control to open the Alarm Viewer Control Properties
dialog box.
8. Click the Query tab and provide the name of your Hot Backup Pair in the Alarm Query field.
Click OK.
Note: InTouch WindowViewer should already be running on your instructor provided nodes.
You should now see alarms from the Primary node on the Alarm Consumer’s Alarm Display.
Verify that your Alarm Display is collecting information from the respective nodes.
10. Your instructor will shut down WindowViewer on the Primary node.
You should now see alarms from your Backup node on the Alarm Consumer’s Alarm Display.
Test back and forth.
Note: WindowViewer will need to be running on the specified nodes in order for you to view
the data. When your Primary node goes down you will note that the Backup node will
continue. Also, This is MUCH easier if Applications on the Alarm Providers are identical. If
they are not identical, you can “map” them.
Wonderware Training
Section 6 – Alarm Printer 8-79
Section Objective
z Configure an InTouch node to easily print alarms using Alarm Printer.
Overview
The Alarm Printer is an alarm consumer that can be used across multiple nodes in a separate,
standalone utility.
To improve performance, you can simultaneously run multiple instances of the Alarm Printer.
Tool Description
Create a new Alarm Printer configuration file.
Start/Stop a Query.
Enable/Disable Printing.
Enable/Disable Logging.
Wonderware Training
Section 6 – Alarm Printer 8-81
Note: Each alarm configured in InTouch has a priority value associated with it.
This value represents the severity of the alarm and can range from 1 to 999 with 1 being the
most severe.
c. Click the Alarm State arrow and select the state from the drop-down list.
The default is All.
Wonderware Training
Section 6 – Alarm Printer 8-83
Hint: Each option you select will appear as a separate field in the generated report. Fields
that are set to specific character lengths will be truncated at those limits.
b. Select Date to display the date in the alarm message and then click on the arrow to select a
format for the date. The available formats are:
Note: The time field of alarm records is always in GMT, regardless of the time zone settings
for the computer.
c. Select Time to display the time in the alarm message and then click on the arrow to select a
format for the time. The values in this field are used as a template to specify the format of the
time. For example, to specify the time as 10:24:30AM, use HH:MM:SS AP. The template
characters are as follows:
AP Selects the AM/PM format. For example, three o’clock in the afternoon is displayed as
3:00 PM. A time without this designation defaults to 24 hour military time format. For
example, three o’clock in the afternoon is displayed as 15:00.
HH Displays the hour the alarm/event occurred.
MM Displays the minute the alarm/event occurred.
SS Displays the second the alarm/event occurred.
SSS Displays the millisecond the alarm/event occurred.
d. In the sort order box below Time, select the order that the alarms will be sorted in the alarm
object. There are three choices:
Hint: The value should be large enough to provide the desired level of precision (15
characters maximum).
Wonderware Training
Section 6 – Alarm Printer 8-85
m. Select Limit to display the alarm limit value of the tagname. In the Length field, enter the
number of characters that you want displayed.
Hint: The size of this field should be large enough to provide the desired level of precision (32
characters maximum).
n. Select Operator to display the logged-on operator’s ID associated with the alarm condition.
Enter a value in the Length field to control the number of characters displayed (16 characters
maximum).
Select Comment to display the tagname’s comments. These comments were typed in the
Comments field when the tagname was defined in the database. In the Length field, enter
the number of characters that you want displayed (50 characters maximum).
o. Select User Defined to show the tagname.
Hint: The User Defined field length can be modified to display additional information by your
application developer. The size of this field should be large enough to provide the desired
level of precision (32 characters maximum).
Wonderware Training
Section 6 – Alarm Printer 8-87
Note: The printer that you use to print your alarm log reports should not be used for other
printing, as this will interfere with the Alarm Printer.
Note: Wonderware recommends a printer dedicated to alarm printing, even when used over a
network.
f. Click Apply.
g. Click OK.
Click the Enable/Disable Printing button on the toolbar to toggle the printing output on and
off.
Any or all of these tools can be used.
Wonderware Training
Section 7 – Alarm Databasing Tools 8-89
Section Objective
z Understanding and configuration the Alarm DB Logger Utility.
z Configure and use the Alarm Pareto Control ActiveX alarm object.
Note: MSDE is a de-featured version of SQL Server that has its own special attractions. High on
the list is the ease with which you can attach databases initially built for MSDE to a full SQL Server
service. There is no need to upsize the database or copy individual tables in a database from
MSDE to a full SQL Server. This makes it more suitable for environments where it isn't cost
effective to deploy vast computer resources. The maximum size of an MSDE database is 2 GB.
Alarm DB Logger is an Alarm Consumer. You configure it with an alarm query that defines which
alarms are to be logged. You use the Alarm DB Logger to specify alarm queries and to log the
resultant alarm records. These alarm queries are sent via the Alarm Consumer interface of the
Distributed Alarm System.
The Alarm DB Logger also has the ability to auto-reconnect. When the connection to the database
is lost, the logger continually checks for the database connection at regular intervals. When the
connection is re-established, logging proceeds.
The Alarm DB Logger reports all errors whether running as a service or a normal application to the
Wonderware Logger.
The Alarm DB Logger consists of the following two components:
Alarm DB Logger Manager Utility – This utility is a separate executable that solely takes care of
starting and stopping the logging operations. It is launched and starts working either as a service
or a normal application (depending upon the running mode you select in the Alarm DB Logger
Manager). The logging utility retrieves the setting information from the registry and performs the
logging.
Alarm DB Logger Configuration Utility – This utility takes care of user input and database
configuration. The Alarm DB Logger Manager allows you to select the mode in which the Alarm
DB Logger will run (either as a windows service or a normal application).
Note: The Alarm DB Logger Manager only saves the setting values into the registry. The utility is
responsible for starting and stopping the Alarm DB Logger. It is also responsible for displaying the
status of Smart Cache. When Alarm DB Logger Manager (almlogwiz.exe) is closed while
wwalmlogger.exe is running (either by pressing the Esc key or by clicking the “X” button on the
upper right of the dialog box), the logging operation does not stop.
The progress control status indicates the percentage fill of the in-memory buffer with alarm
records. The alarms are buffered when the SQL Server connection is down, and/or when the
alarms are coming at a rate faster than the logging rate of Alarm DB Logger.
The Alarm DB Logger Configuration Utility provides you with the ability to:
z Run the application as a Windows Service or as a normal application
z Select the database connection type – SQL Server or MSDE
z Create the necessary SQL tables in the database
z Specify the alarm query that will be a part of the logging instance
z Select the logging mode – Detailed or Consolidated
z Check/Uncheck logging of events
z Set performance tuning parameter – The auto reconnect rate is not the same as the
performance tuning parameter. It depends on the time out for a connection attempt
associated with SQL ServerServer.
z Store the setting in the registry
Wonderware Training
Section 7 – Alarm Databasing Tools 8-91
When minimized, the Alarm DB Logger Manager appears as an icon in the system tray. When
you right-click the icon, a popup menu appears displaying the following commands:
Start – Begins the alarm logging process.
Stop – Ends the alarm logging process.
Settings – Opens the Alarm DB Logger Manager - Configuration dialog box.
Hide Window –Minimizes the Alarm DB Logger Manager dialog box to an icon in the system
tray.
Show Window – Opens and maximizes the Alarm DB Logger Manager dialog box.
Close – Exits the Alarm DB Logger Manager Utility.
b. The Smart Cache Status indicates the percentage fill of the in-memory buffer with alarm
records.
c. Click Settings to configure the Alarm DB Logger. The Alarm DB Logger Manager -
Configuration dialog box appears.
For more information on configuring the Alarm DB Logger, see "Alarm DB Logger
Configuration."
d. Click Start to begin the alarm logging process.
e. Click Stop to end the alarm logging process.
In Detailed mode,
the record shows
the data at the time
of the event.
Consolidated mode
reduces the size of
the database.
c. In the SQL Server/MSDE group, click the Server Name arrow to open the listing of available
SQL/MSDE Servers and then select the name of the database server that you want to use.
d. In the User Info group, type in your User Name and Password in the respective entry boxes.
(All Password characters are displayed as ** for security reasons.)
e. Click Create to create new database/tables on the selected Server.
f. Click Test Connection to test your connection to the target database.
g. Click Next to access the Alarm DB Logger Manager - Query Selection dialog box.
Wonderware Training
Section 7 – Alarm Databasing Tools 8-93
Note: The Alarm State field displays the alarm state for logging. The Query Type field
displays the type of query. (These are both read-only fields.)
Note: The reconnect rate is not the same as the msec rate set.
It depends on the time out for a connection attempt associated with the SQL Server.
Setting the Performance Tuning parameter too low will impact system performance.
g. Click Finish to close the Alarm DB Logger Manager Utility and save all logger configuration
settings into the registry.
Wonderware Training
Section 7 – Alarm Databasing Tools 8-95
Wonderware Training
Section 7 – Alarm Databasing Tools 8-97
The Alarm Pareto Control supports three basic ways of measuring alarms:
z Count – Counts the occurrences of items
z Alarm Time– Adds the total time spent in alarm
z Ack Time– Adds the total time from onset of alarm to acknowledgment
You can configure the Alarm Pareto Control vertical or horizontal bars, color selection, font
selection, implementation of the “other” bar, plus all the capabilities in the Alarm DB View control,
including database access, time selection, filtering, and sorting.
Property Description
Refresh Enables the Refresh menu option at the right-click menu of the control. The
Refresh menu refreshes the control and displays the set of records in the range 1
to MaxRecords.
Query Favorites Opens the Query Favorites dialog box.
Reset Enables the Reset menu option at the right click menu of the control. The Reset
menu arranges all the columns to the settings saved at design time.
Bar Count Sets the number of bars to view in the Alarm Pareto control.
Display Mode This list shows the available view options. The options are Alarm & Event History,
Alarm History, and Event History.
No-Match Message Sets the message to show when no data is processed from the Pareto control.
Vertical Shows the bars on a vertical scale.
Horizontal Shows the bars on a horizontal scale.
Show Status Bar Enables the status bar.
Silent Mode If Silent Mode is selected, the Alarm Pareto control does not show runtime error
messages. If it is not selected, the alarm display shows error messages. Error
messages are always sent to the Logger.
Auto Font When the space available is not enough to show the text on the selected bar
correctly, Auto Font hides the text and only shows the text when the bar is
selected.
Show Node Name Shows the node name on the bar graph.
Show Selected in Status Bar This option shows the description of a selected bar on the Status Bar.
Consolidated Alarms Consolidate the alarm states into two states. For example, if an analog tag has a
threestate alarm: Hi, HiHi and Normal, the Hi and HiHi alarm states are classified
as one state.
Show Count in Percentages Shows the bars based on the percentage of count to the total count.
Show Time in State Shows the Alarm Pareto control based on the time each tag is in an alarm state.
This option is only enabled when the Display Mode is set to Alarm History.
Wonderware Training
Section 7 – Alarm Databasing Tools 8-99
Wonderware Training
Lab 22 – Alarm Database Logger & Alarm Database View Control 8-101
Objectives
Upon completion of this lab, you will be able to:
z Configure the Alarm DB Logger Manager to connect and log alarms to a database.
z Place the AlmDbViewCtrl object in an InTouch window and configure it to connect to the
alarm database.
a. Open the Alarm DB Logger Manager and create a connection to your local WWAlmDb SQL
Server database.
b. Start and Minimize the DB Logger Manager.
c. Open the window named Alarm Database.
d. Place the AlmDBViewCtrl in the window and resize it.
e. Configure AlmDBViewCtrl to connect to the WWAlmDb SQL Server database.
f. Configure Filter Favorites so you can set the filter criteria in Runtime.
Enter MyFilters in the Filter Favorites File field.
g. Go to Runtime.
h. Right-click on the AlmDBViewCtrl control you placed on the Alarm DB window and add a
filter by Name where the Value is ReactTemp.
i. Stay in Runtime and test this control.
j. View Alarms and test the right-click functionality available.
Wonderware Training
Lab 22 – Alarm Database Logger & Alarm Database View Control 8-103
3. The Alarm DB Logger Manager - Configuration dialog box appears. Using the drop down
arrow, select the SQL Server or MSDE Server Name that you will use to connect.
Also indicate the User Name and Password in the User Info section.
4. Select Detailed for the Logging Mode.
You will see a message indicating that the connection succeeded or failed.
7. Click OK.
8. Click Next.
9. This will take you to the Alarm DB Logger - Query Selection screen where you can verify
your Query settings.
Wonderware Training
Lab 22 – Alarm Database Logger & Alarm Database View Control 8-105
12. This will again display the initial Alarm DB Logger Manager screen we saw earlier.
Click Start and Minimize this dialog.
15. Place the object in your InTouch window and resize it.
Wonderware Training
Lab 22 – Alarm Database Logger & Alarm Database View Control 8-107
23. Go to Runtime.
24. Right-Click on the AlmDBViewCtrl object you placed on the Alarm DB window.
Select Filter.
Wonderware Training
Lab 22 – Alarm Database Logger & Alarm Database View Control 8-109
Wonderware Training
Lab 22 – Alarm Database Logger & Alarm Database View Control 8-111
Note: If you receive this message, check to see if your data source is producing alarms.
You will now be able to select your own filter criteria on the fly.
32. View Alarms.
33. Test the Right-Click functionality available.
Wonderware Training
Lab 23 – Configure an Alarm Pareto Control 8-113
Objectives
Upon completion
z Place an ActiveX Alarm Pareto Control object in an InTouch window.
z Configure the Alarm Pareto Control to connect to a database.
4. Double-click the alarm control to open its Properties and click the Database tab.
5. Enter the following database configuration:
Check Auto Connect, and Test your Connection and click Apply.
Wonderware Training
Lab 23 – Configure an Alarm Pareto Control 8-115
The Alarm Pareto Control is now configured for the Alarm Database.
10. Test this object in Runtime.
Use the filter you configured earlier.
Note: You can select an individual bar and see the data at the bottom of the object.
Wonderware Training
Module 9
History Distribution
Section 1 – Distributed History 9-3
Lab 24 – InTouch as a History Provider 9-11
Lab 25 – Wonderware Historian as a History Provider 9-21
9-2 Module 9 – History Distribution
Module Objectives
z Become familiar with the various ways to store and retrieve distributed and local data
from InTouch.
z Configure history data storage and retrieval from within InTouch.
z Configure history data storage and retrieval using the Wonderware Historian.
z Use the Wonderware Historian for InTouch history storage and view data from InTouch.
Wonderware Training
Section 1 – Distributed History 9-3
Section Objective
z Use the InTouch Distributed History system to view historical data from remote InTouch
and Wonderware Historian nodes.
InTouch provides a distributed history system that allows retrieval of historical data from any
InTouch application, even those across a network. This system extends the capabilities of the
standard InTouch history by allowing remote retrieval of data from multiple historical databases
simultaneously. These databases are referred to as history providers. Up to eight history
providers can be displayed simultaneously, one for each historical trend chart pen.
Using the capabilities of the distributed history system, you can easily configure a networked
system that provides access to multiple history providers:
Log / Retrieve
History File History File
View Node (Logger)
Each distributed history file is limited to one node writing (logging) to the file. However, there is no
restriction on the number or type of InTouch nodes that can view that file.
Note: Only applications developed in InTouch version 5.6 or later can be history providers. To
remotely view history files from an earlier version, you must first convert that application to version
5.6 or later.
A remote node retrieving data from a history file may not see data for the last hour of data (based
on the logger node's time). Remote trends can only view data that has been written to the logging
node's disk. The logging node will write data to disk after 22 samples have been collected.
Nodes 1 and 2 contain copies of the same InTouch application; however, the application is
configured to allow only Node 1 to log to a local history file, whereas either node can retrieve from
the local history file or the remote history file. Node 3 is also logging to and retrieving from the
same remote history. This provider is assigned the name HistPrv1. Node 1 is both a
development and runtime station, while Node 2 is just a runtime station.
The major steps you need to perform to create this application include:
a. Create a history provider list.
b. Create and configure a historical trend object.
c. Configure the application for distributed logging.
d. Distribute the application.
Wonderware Training
Section 1 – Distributed History 9-5
Note: When an application with the Enable Historical Logging option selected is distributed to a
WindowViewer node, that node checks this option to determine if it should log or not. If Enable
Historical Logging is selected, the possible settings are:
The History Provider Name should be the same as the associated Access Name. If not, you
will have to type the History Provider Name in place of the Access Name when selecting a tag.
If the UNC location is password-protected, you must first establish a connection using the
Windows Explorer.
Wonderware Training
Section 1 – Distributed History 9-7
d. Click the Configure InSQL Provider… button and enter the following information for the Data
Source, User and Password:
The Data Source is the remote node where the Wonderware Historian is running. User is a
valid Wonderware Historian user name (e.g., wwuser, wwadmin or a custom username).
Password is the password assigned to the user.
Note: If using the built-in user names (wwadmin and wwuser), the passwords are the same
as the user names.
Check the Node Name and User information and test again.
If all entries are correct, the following dialog box will appear as shown below.
f. Click on OK to close the dialog box.
Wonderware Training
Section 1 – Distributed History 9-9
Note: To edit the definition, click on the History Provider to be modified and then click on the
Modify button.
Important Note:
When data is queried in the Wonderware Historian database for the InTouch trend object, 100
evenly-spaced rows are retrieved for the given time period (a row count) and plotted on the
historical trend. The minimum and maximum values shown for a tagname in the historical
trend may not be the actual minimum and maximum values for the tagname.
You cannot use the InTouch HistData utility to retrieve data from history providers.
Note: The runtime Historical Trend Setup dialog box and .Pen# are not supported for remote
history providers.
Wonderware Training
Lab 24 – InTouch as a History Provider 9-11
Note: Historical logging has been configured for the following tags on the second PC:
ProdLevel, ReactLevel and ReactTemp
You will use the Tag Source configured in Module 4, “Remote Tagname Referencing.”
Objectives
Upon completion of this lab, you will be able to:
z Set up local history
z Retrieve distributed history from an InTouch provider
Wonderware Training
Lab 24 – InTouch as a History Provider 9-13
2. In the Tools pane, click on Configure and then double-click on Historical Logging.
3. Check the Enable Historical Logging option and use the other default settings and click OK.
7. Double-click on the Hist Trend wizard and then click the Pens button.
Notice that LocalHistory1 has been assigned to the first pen.
8. Switch to Runtime and move the sliders for a few seconds.
Verify that the tags are being logged and that the trend is displaying them.
9. Select today’s date as pointed out below.
Note: To dynamically reassign a pen to a different tag, use the script shown above.
Wonderware Training
Lab 24 – InTouch as a History Provider 9-15
Provided by
instructor.
Note: Your remote application must be in a shared directory. This share cannot use the C$
default name.
Wonderware Training
Lab 24 – InTouch as a History Provider 9-17
The ReactDemo tag source will be available from the drop-down menu in the Tag Browser:
23. Select the ReactDemo tag source.
Note: If the ReactDemo Tag Source is not available, perform the steps in Lab 11 for
Method 2 – Creating Remote Reference Tag Sources in Module 4 – Section 4.
25. The remote reference appears in the pen entry using the syntax HistoryProvider.Tagname.
Repeat this process for the ReactTemp tag as in the figure below.
Note: The remote reference can be typed in using this syntax or selected as shown above.
Wonderware Training
Lab 24 – InTouch as a History Provider 9-19
28. Start WindowViewer and verify that you can monitor both local and remote data.
In Runtime, you can click on the Trend object and bring up the following
Historical Trend Setup dialog.
Wonderware Training
Lab 25 – Wonderware Historian as a History Provider 9-21
Objectives
Upon completion of this lab, you will be able to:
z Configure Distributed History
z Configure the Historical Trend Object
4. Click on the Configure InSQL Provider button shown above and enter the information shown
in the figure below.
Enter wwUser in the User, Password and Re-enter password fields.
5. Click the Test button.
7. Click Apply.
Click OK.
Click OK in the Distributed Name Manager.
Wonderware Training
Lab 25 – Wonderware Historian as a History Provider 9-23
11. Start WindowViewer and verify the tags coming from the Wonderware Historian running on
the remote node.
Note: Once the tags are imported into Wonderware Historian, there may not be a compelling
reason to continue to log them in InTouch. In the Application Explorer, select Configure/
Historical Logging and de-select the Enable Historical Logging checkbox.
Wonderware Training
Module 10
Module Objective
z Configure a second language for an InTouch Application.
z Switch back and forth between the two languages in Runtime.
Wonderware Training
Section 1 – Runtime Languages 10-3
Section Objective
z Configure a second language for an InTouch Application.
z Switch back and forth between the two languages in Runtime.
Overview
InTouch is not limited to the available InTouch languages. InTouch has the capability of building
applications that can switch to different language interfaces during Runtime. Multiple language
interfaces in one application are supported. This means that a developer can develop an InTouch
application for customers in multiple countries or for a customer whose operators who speak
multiple languages. The developer configures the application with more than one language and
then the text strings shown at Runtime can be easily switched to any specified language.
After translation, Runtime Language Switching is controlled either by changing the value of the
system tag $Language to correlate with the international Locale ID, choosing the language from
the Language option of the Special pull-down menu at Runtime, or by using the QuickScript
function SwitchDisplayLanguage.
All static strings in an application can be configured for different languages, including:
z Text Labels and Button Text
z Discrete (on/off) Messages
z SmartSymbol Text
Scripts are NOT translated. They are not accessed in Runtime.
Fonts can be configured separately for each language, which may be necessary when the text
strings in one language are longer than another and do not fit within the space provided. InTouch
has the ability to mix single and multi-byte fonts in an application. In most languages, a single-byte
of data can represent a character in a font family. However, in some languages, such as Chinese,
Japanese, and Korean, two or more bytes are required to represent each character uniquely.
To enable an application for Runtime language switching, a developer defines which languages
the application will support, adds Runtime language switching trigger (such as a button that using
an Action script, when clicked, switches to a different language), and then exports an XML file of
all the text strings in the application. This file is sent for translation, where the translator can use a
common tool such as Microsoft Excel to enter the translated words and phrases. Then the
translated file is imported back into the application.
b. Enter the translation in the Translation column to the right of the corresponding Phrase in the
primary language.
Wonderware Training
Section 1 – Runtime Languages 10-5
Note: If no translation or translation criteria is defined, the application will retain the primary
language and its settings.
Warning: Use the Save As command. Select the file format XML Data! Do NOT same the file
as an XML Spreadsheet or Excel will alter the schema and InTouch will not recognize the data.
e. Click Save.
The following warning appears:
f. Click Continue.
g. Close the Excel file without saving.
The file is now ready for use.
Caution: Before exporting alarm and tag comments, back up any files in your target directory in
case of possible data corruption or errors.
Wonderware Training
Section 1 – Runtime Languages 10-7
c. In the Path box, type the folder to which you want to export the dictionary.
Click Browse to select an existing folder or create a new folder.
d. In the Two characters representing Unique application box, type the two characters.
The ID can only contain alphanumeric characters and it is case-sensitive.
Caution: If you previously exported alarm or tag comments from this application, you must
use the same two-character application ID when you export them the next time. If you enter a
new two-character application ID, the InTouch HMI regenerates the IDs for all the alarms and
tags, which causes all existing translations to be lost.
Note: Note If the size of the alarm comment configured in the tag dictionary is greater than
127 characters or the tag comment is greater than 46 characters, the alarm or tag comment is
not exported. You are notified that the comment was not exported to the dictionary file at the
end of the export process and an AlarmComment.log or TagComment.log file is created in the
export directory.
f. Click Close to return to the WindowMaker window or click Close and Launch Explorer to open
the folder containing the dictionary file.
Click Yes to update the existing dictionary files with any new strings and language information
added since you exported last. If the existing dictionary file contains translations for any phrases
and you imported it to InTouch previously, those translations are preserved. If you deleted any
phrases from the application since the last export, they are removed from the dictionary file.
Click Yes to All to update existing dictionary files for all languages configured in the InTouch HMI.
Click No or No to All to prevent overwriting the existing file or the existing files for all languages,
respectively.
The existing translations for any alarm comments, alarm fields and tag comments are preserved if
they are exported again.
Wonderware Training
Section 1 – Runtime Languages 10-9
Enter the translation for the translation strings. Do not change any of the other information.
You can override some of the Alarm State, Alarm Type, and Alarm Class values. The maximum
allowed length for these values is 50 characters.
The following Alarm State values can be overridden for InTouch generated alarms:
The following Alarm Type values can be overridden for InTouch generated alarms:
The following Alarm Class values can be overridden for InTouch generated alarms:
Wonderware Training
Section 1 – Runtime Languages 10-11
c. In the Path box, type the path to the dictionary file to import or click Browse to browse and
select the file.
d. Click Import. If there is no translation done in the dictionary file, a dialog box appears saying
that there are no translated dictionary files to import.
e. Click OK. If the import is successful, the Import Successful dialog box appears.
Wonderware Training
Section 1 – Runtime Languages 10-13
Note: You can use graphics instead of buttons for a visual clue. You might want to use the
country’s flag or a map for quick recognition of the language to switch to.
d. Create a Touch Pushbutton – Action link for the button to trigger new language and enter
the following script:
$Language=xxxx; {Use the number for the corresponding language}
For example, switching to Italian would use the following script:
$Language=1040; {Set to Italian}
e. Create a Touch Pushbutton – Action link for the button to return to the primary language and
enter the following script:
$Language=xxxx; {Use the number for the corresponding language}
For example, switching to American English would use the following script:
$Language=1033; {Set back to English}
You can also use the SwitchDisplayLanguage Miscellaneous script function. This script function
switches the display of visible, static texts in a desired language for which translated strings are
provided.
The syntax is SwitchDisplayLanguage(LocaleID);
LocaleID specifies the language in which static text strings should be displayed at runtime.
The following is an example of a script using this script function:
DIM German as INTEGER;
German=1031
SwitchDisplayLanguage(German);
where German is the language to be displayed at runtime.
Wonderware Training
Lab 26 – Configuring Languages for Runtime 10-15
Objective
Upon completion of this lab, you will:
z Configure a language in InTouch
z Add Runtime animation links to switch languages
z Export, translate, and import a dictionary file
Configure Languages
a. Configure the Runtime Language as Italian and change the font settings.
Note: If Symbol Factory is not installed, draw your own buttons for the switching function.
Warning: If you select another file type, such as XML Spreadsheet, Excel alters the schema
and InTouch cannot recognize the file.
m. Open the alarm Export XML file in Excel As XML List, enter the translations, and Save As
XML Data file type.
Wonderware Training
Lab 26 – Configuring Languages for Runtime 10-17
Configure Languages
First you will configure the languages to use in your application.
The Locale ID is automatically entered. You can select the language by name or by Locale ID.
Note: When developing your application, you may want to write down the Locale IDs of the
languages you are adding. You use the Locale IDs in the Action scripts you create for
switching languages.
4. Click Font.
This font will be the base font used for this language. This is necessary if a language requires
a special character set or is a significantly different length than the base language.
6. Click OK and Close to close the Configure Languages dialog box.
Note: If Symbol Factory is not installed, draw your own buttons or other symbols to represent
the languages for the switching function.
Note: You can also use the SwitchDisplayLanguage Miscellaneous script function.
11. Create a Touch Pushbutton – Action link for the USA flag symbol and enter the following
script:
$Language=1033; {Set back to English}
Wonderware Training
Lab 26 – Configuring Languages for Runtime 10-19
14. Select the language to export and the directory to export to.
Your instructor will provide this information.
16. You can close the dialog box, or you can close it and be taken immediately to the directory
where you exported the file.
17. Click Close and Launch Explorer.
Explorer opens to the directory where you saved the dictionary file.
The file name contains the Galaxy, InTouch application name, and Locale ID. For example:
ABCGalaxy_$AdvancedClass_1040.xml for the Italian language file.
Note: This lab only has one language configured. You will need to select the language if you
have more than one foreign language configured.
Wonderware Training
Lab 26 – Configuring Languages for Runtime 10-21
The first column, labeled Phrase, contains all the static text in the application.
The second column, labeled Translation, is where you enter the translated phrases.
The third and fourth columns, labeled TranslatedFontName and TranslatedFontProperty,
are for redefining the font for specific phrases. If you recall, we defined a base font for the
language earlier in this lab. Here you can change the font for specific text strings so the text
fits in the space allowed.
27. In the Translation column, enter some translations for the phrases in the Phrase column. You
can also enter font names and properties (for example Bold ; 10) in the third and fourth
columns if desired.
Note: You can enter anything you want for the translated phrases, or go to
http://www.google.com/language_tools to look up translations.
Warning: If you select another file type, such as XML Spreadsheet, Excel alters the schema
and InTouch cannot recognize the file.
Wonderware Training
Lab 26 – Configuring Languages for Runtime 10-23
Note: Two items are listed: Tagnames and their Comments and Alarm Comments.
40. Browse to the directory you saved the translated file in.
41. Click Import.
When the import is complete, the Import Successful dialog box appears.
42. Click OK.
43. From the Special menu, select Language / Import Alarm Fields.
44. Browse to the same path as the previous dictionary.
45. Click Import.
Wonderware Training
Lab 26 – Configuring Languages for Runtime 10-25
Note: If the window you translated has a different name, your instructor will provide it.
Wonderware Training
Module 11
Application Distribution
Section 1 – Copying the Application 11-3
Lab 27 – Publishing and Exporting the Application 11-7
Section 2 – Network Application Development 11-13
Lab 28 – Using Network Application Development 11-33
Section 3 – Using InTouch on a Tablet PC 11-39
Section 4 – Introduction to Terminal Services 11-47
Section 5 – Introduction to Information Server 11-61
11-2 Module 11 – Application Distribution
Module Objectives
z Use Network Application Development (NAD) to distribute client/server applications.
z Create an awareness for other distribution alternatives both locally and via the internet.
Wonderware Training
Section 1 – Copying the Application 11-3
Section Objective
z Use NAD, Update options and DRC to distribute client/server applications.
z Use NAD, Update options and DRC to distribute client/server applications.
Published Applications
You can publish a managed application from the derived InTouchViewApp template.
When you publish a managed application, a user-defined folder is created containing InTouch
application files and any ArchestrA symbols embedded in the application. You use Application
Manager’s Find utility to locate the folder. Thereafter, the converted application appears in
Application Manager as a published application.
Key Points
z After you publish a managed application, you cannot use the ArchestrA Symbol Editor to
edit the ArchestrA symbols embedded in the published application.
z After you publish a managed application, you can still use embedded ArchestrA symbols
to write data to a Galaxy or visualize data.
z After you publish a managed application, you can use WindowMaker’s graphic tools to
modify some basic characteristics of an embedded ArchestrA symbol, such as size,
orientation, and screen position.
z A published application cannot be imported again into a Galaxy.
Wonderware Training
Section 1 – Copying the Application 11-5
Wonderware Training
Lab 27 – Publishing and Exporting the Application 11-7
Objectives
Upon completion of this lab, you will be able to:
z Publish an InTouch application for standalone use
z Export an InTouch application that can be used with other Galaxies
Wonderware Training
Lab 27 – Publishing and Exporting the Application 11-9
A directory containing the new published InTouch application is created in the selected folder.
9. Select a folder to export to, specify an ArchestrA package (.aaPKG) file name and click Save.
The object and its managed InTouch application are exported.
10. Click Close.
Wonderware Training
Section 2 – Network Application Development 11-11
Section Objective
z Understand the different network and application architectures.
What is NAD?
Network Application Development or NAD is an architecture that combines the best of the client-
based and server-based architectures. NAD provides automatic notification of application
changes and automatic distribution of the updated applications to View nodes. NAD can even be
used to automatically distribute master/slave applications.
Note: You cannot use the NAD features if you are using WindowViewer as an NT service.
When a View node copies and runs a master application, it automatically monitors for changes in
the master copy. These changes are indicated by a flag in the master application directory. This
flag is set manually when the application developer uses the WindowMaker Special/Notify
Clients command while editing that application. When this flag changes, each View node has a
user-definable action that specifies the response of that node. This can range from ignoring the
flag to automatically shutting down and restarting the View node, which reloads the master
application.
Advantages
z Distributing the application
z Single client application to maintain
z View nodes automatically notified when application changes
z Each node defines action to take on change
z Unrestricted development of the application
Disadvantages
z Distributing a large, complex application takes time
z Limits flexibility of having different applications running on different nodes
z View is suspended while application is transferred and compiled
Note: The App Development tab provides several options that allow you to specify how NAD
will function. These settings are configured on each View node, NOT ON THE
DEVELOPMENT NODE. This allows unique configurations for each View node.
Wonderware Training
Section 2 – Network Application Development 11-13
Note: The initial copying of the master application may take longer than subsequent updates.
d. In the Local working directory field, type the directory that you want WindowViewer to copy
the master application to. If this is the development node, you can type a local directory path,
such as c:\InTouch\NAD. You can also type a networked remote UNC path, such as
\\node\share\path. This is convenient for file server based networks where most file storage
is kept in a central location. If this is a client node (runtime only), it will likely use a local
directory path. If you do not specify a directory, WindowViewer automatically creates a local
subdirectory named "NAD" in the directory from which WindowViewer is launched.
It is recommended that you use a local directory whenever possible to prevent network delays
and failures from affecting the operation of WindowViewer.
Caution! Do not use a "root" directory or a UNC path name that points to a root directory.
The View node will recursively delete all files and sub-directories in the specified destination
application directory before copying the master application directory. Therefore, NEVER use
the path of the master application directory or a UNC to the master application directory.
This directory should be considered a temporary directory and no files should be saved to it
except those copied by NAD itself.
e. Set the Polling period (sec): time. This value sets the interval (in seconds) at which the View
node will poll the development node to check for changes.
Note: Caution is advised when specifying this setting. If you set the value too small,
WindowViewer will waste time checking for master application changes. This can interfere
with WindowViewer servicing the running application.
f. In the Change Mode group, select the option for the action that you want WindowViewer to
take when the master application changes.
Action Description
Ignore changes Causes the runtime (WindowViewer) node to ignore any changes
made on the development node.
Restart Window Viewer The runtime node copies the updated master application (if
configured to do so) and then restarts WindowViewer on the runtime
node.
Prompt user to Restart Causes an interactive message box to appear, notifying the operator
WindowViewer that the application has changed. The operator is asked if they want
to restart WindowViewer.
Load Changes into Causes changes made in the development node to dynamically be
WindowViewer loaded into WindowViewer. This may affect performance for large
updates.
Prompt user to load changes Causes an interactive message box to appear, notifying the operator
into WindowViewer that the application has changed. The operator is asked if they want
to load the changes dynamically into WindowViewer.
g. Click OK.
Wonderware Training
Section 2 – Network Application Development 11-15
Note: To use these functions, in the NAD Configuration dialog box, the When Application
Changes option must be set to: Ignore changes - do not restart. Setting this option prevents
the system from interfering with customized functions defined.
Note: WindowViewer will recursively delete all files and subdirectories in the destination
application directory. This directory should be considered a temporary directory (no files should
be placed into it).
Note: If WindowMaker is abnormally shut down with an application loaded, the APPEDIT.LOK file
may not be automatically deleted. However, you can manually remove the lock by deleting the
APPEDIT.LOK file from the application directory.
Wonderware Training
Section 2 – Network Application Development 11-17
b. Click the Node Properties tool . See page 11-14 for more details.
Wonderware Training
Section 2 – Network Application Development 11-19
Note: The above entries affect the numeric keypad and the QWERTY keyboard. Other
InTouch dialog boxes and option boxes are not affected.
Note: For more information on setting time zones, see the following Wonderware Tech Notes:
#135, Setting Up Distributed History in InTouch and #144, How Time Zones and Daylight Savings
Time Affect InTouch Historical Logging.
Wonderware Training
Section 2 – Network Application Development 11-21
Client/Server Architecture
InTouch allows for a single tag configuration database to serve an entire network of InTouch
clients. This ability to deploy “thin” clients against a single database provides the HMI developer
with an even greater level of usability and performance.
Advantages
z Single tag database can serve entire network
z Remote Tagname Referencing
z Distributing Alarms and History
z FactorySuite component integration
z Lower traffic
z Lower cost
z Easy to distribute
z In concert with NAD – this is the recommended approach to distributing applications
Disadvantages
z Client can never be master
Considerations
z Planning up front
InTouch can just as easily act as a client to an InControl or InBatch node. In this architecture the
tags reside on the InControl or InBatch nodes and no tags are created on the InTouch Client node
(see diagram below).
Wonderware Training
Section 2 – Network Application Development 11-23
Distributed Alarms
Both InTouch’s Standard and Distributed Alarm Systems provide services to display, log, print and
acknowledge process alarms and system events (these subjects were covered in Module 8,
“Alarm Distribution”).
Under the Distributed Alarm system, InTouch nodes are classified as alarm “providers” and/or
alarm “consumers,” allowing the display and acknowledgment of alarms generated by the local
alarm systems of other InTouch applications on the network.
Since the distributed systems allows the view and acknowledgment of alarms not represented in
the local Tagname Dictionary, distributed alarms combined with Remote Tagname Referencing
facilitates the development of true client/server applications.
InTouch’s Distributed Name Manager may be used to combine both local and remote alarm groups
into customized queries that can be called under a single name. The distributed alarm system
also includes script functions that provide dynamic control over alarm display and
acknowledgement, as well as the ability to add comments to alarms when acknowledged.
Distributed History
InTouch provides for the retrieval across the network of historical data from any InTouch 5.6 (or
later) application. Data may be retrieved from up to eight historical providers simultaneously.
Distributed History may be combined with Remote Tagname Referencing and Distributed Alarms
to create true client/server applications. Under this architecture, “tagless” nodes may be
configured to view historical data from any history provider on the network.
Wonderware Historian
Wonderware Historian is a plant floor historian optimized for the acquisition, storage and retrieval
of real time data. Based on Microsoft SQL Server, Wonderware Historian combines the real-time
data acquisition and compression needed for plant floor applications with full relational access for
any ODBC compatible client. For these reasons, Wonderware Historian is the ideal choice for use
in distributed InTouch applications, providing tremendous improvement over the native InTouch
Historian.
While ActiveX client tools for querying and displaying the Wonderware Historian are available with
InTouch, Wonderware Historian data may still be accessed in the same manner used to access
native InTouch history. This native access allows applications developed with InTouch 5.6 or 6.0
to also access Wonderware Historian Server data.
Note: If you need to write to a file referred to by a UNC address, the share must be a read/write
share, even on a local node. If you create a share that is password-protected, you will not be able
to access the share with a UNC unless you first set up a network drive mapping. You can set up a
drive mapping from the remote node by using Windows Explorer
Wonderware Training
Section 2 – Network Application Development 11-25
Process
Computer Network
Wonderware Training
Section 2 – Network Application Development 11-27
The Access Names dialog box reappears displaying the new Access Name:
i. Click Close.
Process
Network
File Access
InTouch uses DOS files, FAT or NTFS to read and write reference data. Certain programs, such
as Recipe Manager, utilize files very heavily. In a distributed application, file references can be set
up as global addresses to a network file server or as local addresses to a local file.
Computer Network
Wonderware Training
Section 2 – Network Application Development 11-29
Computer Network
Wonderware Training
Lab 28 – Using Network Application Development 11-31
Objectives
Upon completion of this lab, you will be able to:
z Configure node properties to enable NAD
z Configure dynamic resolution conversion
Requirements
z NAD Development Node (Instructor Node) running Advanced InTouch Student App.
z Second Data Source Node–third PC running DemoApp1 and I/O Server to PLC2.
z NAD Runtime Client–PC running WindowMaker and WindowViewer
z Network connection between PC1, PC2, and PC3.
Additional Requirements
z Check Access Names in the applications to ensure they are pointing to the correct Node
Names.
z Check Distributed Alarms and Distributed History Name Managers to ensure that they
point to the correct shares, paths, directories, etc.
Enables NAD.
Directory containing
the local copy of the
application once
distributed by NAD.
Wonderware Training
Lab 28 – Using Network Application Development 11-33
The InTouch application list will now contain the path to the remote application.
Enables NAD.
Directory containing
the local copy of the
application once
distributed by NAD.
Note: Your instructor will make changes to the application and update the nodes in the
classroom. You will be able to see NAD working and test its behavior.
Wonderware Training
Lab 28 – Using Network Application Development 11-35
Note: If the default Desktop area is 1024 by 768, change the setting to 1280 by 1024.
11. Start InTouch Application Manager and click on the Node Properties icon.
Wonderware Training
Section 3 – Using InTouch on a Tablet PC 11-37
Section Objectives
z Introduce highlighted features of the Windows XP for Tablet PCs.
z Introduce highlighted features of Wonderware InTouch 8.0 SP2.
z Demonstrate the AnnotateLayout script function.
z Change screen orientation from landscape to portrait.
z Introduce Tips for Using Tablet PCs.
Tablet PCs have been used for years in the Utilities, Oil & Gas, and Emergency Response
environments. They are extremely durable and have several features that make them appropriate
for industrial settings.
Hardware
Ruggedized Tablet PCs are sealed units which are waterproof and vibration resistant. Most come
equipped with a light sensor which allows for automatic adjustment of screen brightness based on
the light surrounding them. They have dual batteries which allow batteries to be swapped out on-
the-fly when necessary. Most come with docking stations and a digital pan. A wireless network
card makes them completely portable in a wireless environment.
Operating System
Tablet PCs run on Microsoft Windows XP Tablet PC Edition which supports full functionality of all
software including pen extensions which allow data input with a digital pen. The digital pen is also
used as a pointing device.
Target Users
These features make tablet PCs an ideal tool to create efficiency in plant settings. They empower
users to access InTouch applications anywhere any time when in range of a wireless network.
They are perfect for users who need to move around, monitor plant activities, enter small pieces of
data, or enter data without a keyboard. They are also ideal for harsh environments.
Digital Ink
Digital Ink in practical terms is simply electronic handwriting. Using the digital pen, you can input
data, change set points, and make notes with handwriting. This is especially useful when the
tablet is undocked.
Windows Journal
Windows Journal is a note-taking application that lets you create and organize handwritten notes
in a Tablet PC using a digital pen. You can think of it as a version of Notepad that handles "digital
ink". It also provides character recognition capabilities so your handwriting can be converted to
text; although you can enter, manage and keep your notes in digital ink if you so desire.
Wonderware Training
Section 3 – Using InTouch on a Tablet PC 11-39
Screen Rotation
The XRT Screen Rotation tool is especially useful when the Tablet is undocked. This allows you to
change from landscape orientation to portrait. This is more comfortable when you're holding the
Tablet and taking notes. This is done by changing the screen resolution.
Write Anywhere
With the Write Anywhere feature, you can use most of the screen on your Tablet PC as a writing
area. This is especially useful for longer writing tasks.
The Write Anywhere feature converts your handwriting into typed text and inserts it in a location
that you specify, such as a word-processing document. You can use the Write Anywhere feature
to enter text anywhere that you can use a standard keyboard to enter text.
The Write Anywhere feature recognizes handwriting in English only.
This feature also allows you to write on or highlight a live application with the digital pen and can
function as a transparency.
Access this feature through the Tablet PC Input Panel.
a. Tools / Options and click the Write Anywhere tab.
b. Check Show the Turn on Write Anywhere button on the title bar.
c. Click Apply.
d. Click OK.
The Write Anywhere icon will now be visible on your Tablet PC Input Panel.
Wonderware Training
Section 3 – Using InTouch on a Tablet PC 11-41
Wonderware Training
Section 3 – Using InTouch on a Tablet PC 11-43
Screen Rotation
The XRT Screen Rotation tool is usable in InTouch. Please note that InTouch only checks for
Windows screen resolution when an application is started. Changes made while the application is
running will result in strange outcomes. You must configure InTouch Node Properties to allow
WindowViewer to dynamically change resolution.
Wonderware Training
Section 4 – Introduction to Terminal Services 11-45
Section Objectives
z This section will provide you with an overview of various Terminal Services
configurations.
z Understand the Advantages of using Terminal Services for InTouch.
ICA (Independent Computing Architecture) is a third party communication protocol from Citrix. It is
used in conjunction with Citrix Device Services or Citrix MetaFrame server-side software. ICA
provides greater flexibility than RDP, with client software available for Unix, Linux, OS/2, DOS,
Windows CE, PDA, Java, and Macintosh, in addition to Windows 3.11/95/98/NT and Windows
2000. The ICA protocol can be used over IPX, SPX, NetBIOS, and RAS remote access in addition
to TCP/IP. The ICA protocol is fully supported by Windows 2000.
Installing the RDP or ICA protocol on a traditional computer allows the traditional computer to
become a client that does its processing on the Terminal server and displays the Terminal server
desktop on its screen. This is a "fat client" because the computer has an operating system and a
hard drive, but connects and runs applications from the Terminal server. The fat client system is
often used to extend the life of aging computers. A Windows 3.11 computer can run Windows 2000
by loading a RDP or ICA client and running as a terminal. The disadvantage of fat clients is the
possibility of disk failure and the need for continued maintenance of the hard drive.
"Thin Clients" are clients that lack a hard drive and are designed for use with Terminal servers. The
machines either have the operating system and client software embedded on a chip or download
the operating system and client from the server. These connect to the Terminal server and run
their applications there. Thin clients are advantageous because they have a minimal amount of
required maintenance and they increase reliability by eliminating the chance of hard drive failure.
Thin clients that use the network download of the operating system can have its system updated
without replacing chips or components. Upgrading the downloading software on the server will
upgrade all those thin clients.
The idea of Total Cost of Ownership (TCO) is simple: Maximize the company's return on
investment (ROI) in technology while minimizing the cost involved in doing so. The costs you are
attempting to minimize can be broken down into two categories: hard costs and soft costs. Hard
costs are the costs of purchasing and deploying the hardware. Soft costs are associated with end-
user support, and training, as well as maintenance of your production environment. The use of thin
clients (defined as terminals without a hard drive), terminals, new appliance-like devices, and
scaled-down PCs promises to reduce the acquisition hard cost of computer hardware, especially
at the desktop level, while reducing administrative soft costs related to systems management. In
other words, by implementing thin client/server-centric computing models, IS managers can
significantly lower their Total Cost of Ownership for computer equipment while, at the same time,
improve their level of service provided to users.
User Environment
You access Terminal Services from a client by running the Terminal Services Client command on
the Windows Program menu. When you connect to the Terminal server, the environment on your
client machine looks the same as the Windows 2000 server and Windows 2000 Professional
environment. The fact that the application is not running locally is completely transparent to the
user.
The application opens in the Terminal Services window on the client desktop. All application
processing takes place on the server running Terminal Services and the server sends the display
to all clients.
Wonderware Training
Section 4 – Introduction to Terminal Services 11-47
Note: Wonderware only supports Microsoft Terminal Services clients running on Windows 9x, Windows
NT and Windows 2000.
Note: Neither Microsoft nor Citrix recommends running any BackOffice product, such as SQL
Server, on a Terminal Server except when the user load is very small. As the load increases,
the background processes queue while waiting to run, giving the appearance of a lockup.
Additionally, BackOffice-type products will run more slowly on a Terminal Server than on a
traditional server
Ethernet
Terminal server
PLC PLC
Proprietary Network
Wonderware Training
Section 4 – Introduction to Terminal Services 11-49
Remote Access
Operators and other end-users gain access to a terminal server over any Transmission Control
Protocol/Internet Protocol (TCP/IP) connection including Remote Access, Ethernet, the Internet,
wireless, wide area network (WAN), or virtual private network (VPN). Due to the reduced
bandwidth requirements of the RDP/ICA protocol, Terminal Services extend the capabilities of
InTouch to users who would otherwise be unable to access the FactorySuite.
Wireless networks have traditionally been unable to support the large amount of process
information for real-time monitoring and control. With Terminal Services for InTouch, applications
can run with the same response time and performance as their counterparts directly connected to
the local area network (LAN).
MTI can therefore support real-time monitoring and control for their mobile operators. The client
terminals need only the emulation software to connect to the terminal server. They can then
simply launch WindowViewer to monitor the operation of choice.
Internet Access
Using Microsoft's new Terminal Services Advanced Client (TSAC), remote users can access a
terminal server over the Internet. TSAC is based on the RDP 5.0 feature set, but comes in the form
of an ActiveX control. The ActiveX control can be downloaded and executed within Microsoft
Internet Explorer (I.E 5.0), allowing remote users to experience full InTouch with super-thin clients.
Microsoft Point-to-Point Tunneling Protocol (PPTP) provides secure access to a private network
for users operating over a public medium, such as the Internet.
MTI can therefore support real-time monitoring and control for their mobile operators with either
the Terminal Services Client software or by simply launching a web browser and downloading the
TSAC ActiveX control.
Note: Wonderware does not currently support Microsoft's Terminal Services Advanced Client
(TSAC).
Wonderware Training
Section 4 – Introduction to Terminal Services 11-51
Increased Availability
Network Load Balancing Services is a feature of Windows 2000 Advanced Server that enhances
the availability and scalability of applications. It provides constant support to end-users by
redirecting the connection from a failing or offline server to a backup. After necessary maintenance
is completed, the offline computer can transparently rejoin the cluster.
Remote Control is a feature of Terminal Services that provides the ability to take control of another
workstation in the event of a client hardware failure. Remote Control also provides an easy way to
train operators and monitor operations without being physically next to the terminal.
MTI can therefore be confident that even though failures may occur, their impact on production will
be a minimum. Remote Control enables a workstation to immediately take over another that has
failed. By adding a second server and installing Network Load Balancing, all the sessions are
protected.
Wonderware has not tested the suitability of load balancing for industrial applications. We strong
recommend you consult a Microsoft professional and perform adequate testing before deploying
load balancing into production.
ACP ThinManager 2.3 or later supports server fail-over for both Windows 2000 Server and
Advanced Server.
Note: Wonderware does not currently support Microsoft's Terminal Services Advanced Client
(TSAC). We strongly recommend limiting the ability to remotely control industrial applications
through the Internet.
Lastly, using Terminal Services for InTouch with Embedded NT and Windows CE provides a full
desktop experience on hardware that would otherwise be unable to support such operating
systems. Embedded clients are generally dedicated purpose devices. Due to InTouch licensing
and hardware requirements, full-featured HMI functionality has not been available for embedded-
type applications – until now. Terminal Services for InTouch fully supports very thin hardware –
hardware with less components than a desktop computer. Not only are these clients less likely to
fail but they can be replaced in less than 60 seconds, reducing the overall MTTR (mean time to
repair).
Note: Terminal Services scalability does not consider the impact on the control network. Data fan
out can occur when InTouch sessions exceed the number of topics/update rates that SuiteLink or
the I/O devices can support. For a more scalable solution, consider SuiteVoyager.
Wonderware Training
Section 4 – Introduction to Terminal Services 11-53
Note: Before you enable remote control of a session, you can inform the user by displaying a
message on the client machine and requiring client permission to view or take part in the
session. The settings of the remote control can be set so that control can take place without
user acceptance. The mouse and keyboard inputs can be enabled or turned off.
Wonderware Training
Section 4 – Introduction to Terminal Services 11-55
While Developing:
z Clients are limited to 256 colors. Aside from the 256-color palette reducing the image
quality, the lack of colors can cause a shift causing images that were transparent with
larger color palettes to no longer be transparent.
z Rapid Mouse Clicks on buttons are not sent to the host. A mouse button press is not
received by the InTouch application until the application screen has been updated.
z Script Execution. Delays in video processing on clients can also cause problems in script
execution because of timing issues. Actions designed to occur at a specific time, for
example, end of shift calculations, may not work because the amount of processing
requested by many sessions at exactly the same time can cause scripts to miss execution
triggers.
z Bitmaps and ActiveX Controls. There are certain Internet web pages that will disrupt
communication between the server and the client when displayed in an Internet Explorer
ActiveX that has been dropped into an application. Large Bitmaps and some ActiveX
controls may also cause significant performance degradation/issues.
z Graphics. Because changes in graphics must be sent to the client and redrawn on the
monitor, rapidly changing graphics or large amounts of graphics can overload the
processor and cause a queue of commands, giving the symptoms of a locked machine.
This is similar to the wait on the Internet when a site doesn’t display because of the large
amounts of graphics that need to be downloaded. Graphics should be optimized to
provide quick "downloads" to the client.
Vector-based graphics are much smaller than bitmapped graphics and work best on
clients. Bitmaps can be used, even full screen bitmaps if they are relatively static instead
of frequently changing.
z Screen Savers. Graphics-based screen savers should not be used with a thin client.
z Keyboard filter does not work in the Terminal server environment.
z Communication Object. Each screen should have a moving item, counter, or blink object
to keep the server sending communications to the thin client so that it will notice if a
connection is lost. The clock on the Windows Taskbar fulfills this requirement.
Unsupported:
z SPC Pro and InControl are not supported.
z InSQL is supported for Windows 2000 or later and SQLServer 7.0 or later on an external
SQLServer only.
Currently Wonderware only supports using the InSQL Configure tool from the console or
the InSQL server node. Additionally, Wonderware only supports logging data from the
console application not the session applications.
z BackOffice Products. Microsoft and Citrix do not recommend the use of BackOffice
products on the Terminal server because long SQL queries will interfere with the
interactivity of user applications.
z WindowViewer Start Local Servers option. InTouch cannot start a local I/O server in a
Terminal server environment. To avoid receiving an "Initializing I/O" error message when
WindowViewer starts, turn off the Start Local Servers option on the WindowViewer
General property sheet.
Wonderware Training
Section 4 – Introduction to Terminal Services 11-57
Suggested Work-Arounds
The following table describes the limitations and suggested work-arounds you may need to
implement when running applications on a terminal server.Wonderware is aggressively resolving
many of these issues in the next release.
Wonderware Training
Section 5 – Introduction to Information Server 11-59
Section Objectives
z Introduce the Wonderware Information Server.
z Review what Wonderware Information Server is and what it is not, who will likely use it,
what it will be used for, system requirements, licensing and localization.
Note: Wonderware Information Server clients all access the server using Internet Explorer 6.0 or
higher. They need no special hardware requirements. Most of this section will be focused on
setting up and maintaining the server.
The portal interface provides a secure framework, common navigation method and user-friendly
GUI for delivering access to factory floor information. The easy-to-use portal interface offers users
an organized, personalized view of factory floor information. The simple and easy to set-up
architecture requires no other knowledge of Web site construction or design. The architecture has
been designed for scalability, extensibility and centralized administration. Customizable sections
allow easy integration with Web sites, corporate applications, reports and resources. The portal
provides additional services including single sign-on and portal tagname search capability.
Security is fully integrated with Windows 2003.
Wonderware Information Server is built on the foundation of FactorySuite Web Server and Internet
Information Services (IIS). It was designed for Windows 2003, which includes significant security
to prevent malicious hacking. Please refer to Microsoft’s website for details of fixes.
Wonderware Information Server is designed to provide a subset of factory information to a wider
variety of people located in OR outside the company network. It does provide some control
capability with tight security.
Key Features
The Wonderware Information Server portal is not merely a "thin" graphic view of factory floor HMI
supervisory systems but also provides:
z Integrated -Web site or portal for many types of factory floor data.
z Easy - to install and requires no prior Web knowledge or knowledge of specific Website
building tools.
z Scalability - with the use of new "made-for-the-Web" technologies like XML (eXtensible
Mark-up Language), Web servers can be immediately scaled for greater than 300+
"casual" users. Little or no re-engineering is required to add new data sources, analysis
tools, or HMI windows.
z Information Management - companies can manage this new level of casual user by
controlling the type of access and their method of accessing information.
z Analysis Tools- the casual user may need an additional level of analysis beyond the
typical HMI windows. The Wonderware Information Server allows the integration in a
single framework with these additional tools.
z Reports - the casual user may need summary information in the form of reports.
Wonderware Information Server allows HTML reports to be linked directly to the portal.
z Documents - Wonderware Information Server will allow maintenance and control
engineers to access online documents and forms.
z Performance- by taking advantage of new Internet technologies like XML, users no
longer need to wait for long periods of time while components download to the client.
Access to components including HMI windows is immediate.
z Security -no compromise has been made on security. Companies can feel secure when
using Wonderware Information Server over the Internet as well as an intranet. Firewalls
do not need to be opened. Access can be fully controlled and managed.
z Extensibility - not only has the portal been designed for multiple data handlers like DDE,
SuiteLink, OPC, XML and ADO, but also Portals themselves can be linked.
Wonderware Training
Section 5 – Introduction to Information Server 11-61
Terminal Server
profit
low!
LAN
profit
profit
low!
profit
low!
InTouch
Control Stations
Internet
profit profit profit
low! low! low!
InTouch
Clients
IndustrialSQL
Server
Alarm
Suite
InTouch
Tag
Server
Domain
Controller
Wonderware
Information
Server
profit
LAN
low!
profit
low!
profit
low!
Internet
profit
low!
Wonderware Training
Section 5 – Introduction to Information Server 11-63
System Requirements
Wonderware recommends that someone familiar with maintaining and administering an operating
system install the Windows 2003 Server or Advanced Server operating system. Depending on
your company, this may be handled by a person from the IT department who knows how to
configure network and communication options.
Best practices are to start with a clean machine. That is, regardless of what is already installed on
the machines, format the hard drive and install Windows and any other required software.
The partition must be NTFS, regardless of which operating system is used. If the installation
partition is not NTFS, the user will be given a chance to upgrade it during the installation.
Windows 2003 Server is the platform we STRONGLY recommend for Wonderware Information
Server. Windows 2003 Server incorporates Internet Information Server 5.0 (IIS) and the Microsoft
Data Access Components (MDAC) into its installation. These components are necessary for
Information Server which relies on the Microsoft Transact Server (MTS) and COM+ that are a part
of Windows 2003 Server, but are not an integral part of Windows NT. It also has many additional
security features, better performance and improved reliability.
Current Windows security has been significantly enhanced over previous operating systems to
prevent malicious hacking.
All of the components we use with Wonderware Information Server are optimized to work in a
Windows 2003 environment. Our recommendation is to start with a clean machine and Windows
2003 Server.
Minimum Suggested
700 MHz Pentium II 1 GHz Pentium III
256 MB RAM 512 MB or more
2 GB Disk Space (NTFS required) 10 GB Disk Space (NTFS required)
SVGA Monitor 800x600 with 256 Colors XVGA Monitor 1024x768 with 24-Bit Color
Windows 2003 Server with the latest **MSSQL Server 2005 SP2 or later
Service Packs applied* Mixed Mode Authentication
IE 6.0 or above (No Netscape) MS FrontPage Server Exentions
MS Internet Information Server 5.0 Digital Dashboard 3.0 or later
Localization
The initial Wonderware Information Server product supports the English, German, French,
Japanese and Simplified Chinese languages. The SuiteVoyager software, which supports the
User Interface (UI) and the product documentation, has been localized to provide multiple
language capability.
Wonderware Information Server detects what language the browser client is running and
dynamically adjusts the language of the Wonderware Information Server Portal to match.
The Wonderware Information Server components that are localized include:
z Server Install
z Converter Install
z Factory built pages and framework
z “Popup” dialog
z Show window dialog
z Product documentation
z Help
z License agreement
Product documentation, Help, License agreement, and release notes is created in HTML format
and viewable via web browser.
Any updates or additions made will be posted on Wonderware’s website.
Licensing
Wonderware Information Server uses a server-based concurrent user licensing system. Unlike
other Wonderware products, Wonderware Information Server doesn’t care who the users are for
licensing purpose – only the number of users that can access the portal at the same time. There
are NO license files required on client machines, only on the server.
This licensing will not interfere with current Wonderware licensing or access to licensed InTouch
nodes through the internet / intranet so long as you “append” the current license file rather than
copy over it.
Wonderware Training
Module 12
Implementation Considerations
Section 1 – Implementation Considerations 12-3
Section 2 – Services 12-17
12-2 Module 12 – Implementation Considerations
Module Objective
z Review implementation considerations.
Wonderware Training
Section 1 – Implementation Considerations 12-3
Section Objective
z Understand what can go wrong in networked applications and which tools can be used to
monitor them.
System Loads
It is important to know where the load on a system is. For example:
What makes a tag active?
z Used in an active display
z Alarmed/Event logged
z Used in an active script
z Real-time/historically trended
z Requested by a client application
What about server operations?
z Requests
z Master Poll Lists
z Messages
Performance Monitor
The Microsoft NT Performance Monitor (PERFMON.EXE) can be used to monitor system
variables with respect to the operating system and the hardware. Performance Monitor is included
with both Windows NT Workstation and Windows NT Server and can be used to monitor a remote
computer that is also running the Windows NT operating system.
Note: SuiteLink can be monitored specifically by selecting any process beginning with SL or SLS.
This section provides some tips on how to use Performance Monitor to effectively monitor your
system and identifies some of the more useful objects and processes to monitor.
Wonderware Training
Section 1 – Implementation Considerations 12-5
d. By default, the chart will be pointed at your local computer (in this case, a computer named
"LABCT01"). To browse for another computer on the network, click the button to the right of
the Computer field.
e. Select an object in the Performance Object drop-down list.
f. In Select counters from list, click the counter to monitor.
g. As seen above, the %Processor Time Counter includes an instance of SuiteLink (slssvc).
Any instance preceded by SLS is related to SuiteLink.
h. Configure the color, scale, width, and style of the line that will designate this counter in the
Chart View.
i. Click Add to put this counter on your chart. As you add counters, the chart shows the data
dynamically.
Counters
Performance Monitor allows you to view different types of counters that have been incorporated
into the Windows NT operating system. Counters are associated with objects and with instances
of objects. Objects include memory, processes, servers, system, etc. Instances of objects identify,
for example, specific processes.
Once an object and one or more instances of an object are selected, specific counters are
selected to be monitored. Counters include such measurements as %processor time, private
bytes, available memory, etc. The counters that are available depend on the object and the
instances selected.
Use of counters and the Performance Monitor can provide valuable information to assist in system
tuning and to identify bottlenecks in a sluggish system. Use of the Pool Non-paged Bytes counter
of the memory object, for instance, can identify memory leaks that contribute to a poorly
responsive system.
The following counters give a useful indication of a computer's loading and what is causing it. This
is only a partial list of what can be monitored. Depending on your requirements, you might want to
perform a detailed review of all of the various counters that are available.
System Counters
The overall performance of the computer can be monitored using the system object. If the
computer utilizes multiprocessors, the system object represents them collectively. These are
counters for each processor under the processor object.
Counter Description
% Total Processor Time Total time for all processors in the system that the processor(s) is busy.
This counter does not include time that the processor is running the idle thread waiting for
something to do.
This counter provides an overview of what the system is doing. It should not be flat-lined at 100%
for an extended period of time, although it is not necessarily a problem if certain activities cause
this to happen. You will notice a specific pattern for the computer's loading and a quick check of
this variable will tell you what is happening on your system.
If this counter is high, further investigation is required to determine the cause. This can be done
using other Performance Monitor counters.
Counter Description
File Data Operations/sec Represents that rate at which the computer is issuing read/write
operations to file system devices.
This counter provides an overall indication of the disk activity in the system. It can be very
misleading as there is no indication if the activity is for single or multiple disks, possibly on multiple
controllers. There are two objects more useful for analyzing disk activity: LogicalDisk and
PhysicalDisk, which are summarized later in this section.
System Up Time Total time that the computer has been running since it was last started.
This counter is useful if your department must generate statistics on equipment performance.
Processor Queue Length of the processor queue in units of threads. It is zero unless you are
also monitoring a thread counter. It represents the "number" of threads that are waiting for
processor cycles. It does NOT include threads that are currently executing.
A sustained processor queue length that is greater than 2 generally indicates a processor
bottleneck. A processor queue length other than zero is indicating that the system is "too busy" to
even initiate another process. It does not give an indication of the performance of the processes
that the system is attempting to process.
Wonderware Training
Section 1 – Implementation Considerations 12-7
Processor Counters
Processor counters are very similar to the system counters, except that they are associated with a
specific processor in multiprocessor systems. In a single processor system, they will have the
same values as the system counters. The Process Object allows an individual process on the
computer to be investigated. It is possible to determine how much of the overall processor time is
being spent on this process, the disk activity it is generating, memory requirements, etc. It is
possible to determine which process(es) is causing a loading on the system by monitoring various
process counters with the system counters.
Counter Description
Interrupts/sec Number of device interrupts that the processor is experiencing. A value over 1000
may indicate a low efficiency of hardware I/O devices, such as the disk controllers and network
cards.
If this value changes dramatically without a corresponding increase in system activity, it may be an
indication of a possible hardware problem.
Counter Description
% Processor Time Percentage of elapsed time that all of the threads of this process used the
processor to execute instructions. It essentially represents this process’ (application) load on the
system and provides an indication of "how busy" the machine is.
If the % Processor Time is high and there does not appear to be a particular process responsible,
check the Interrupts/sec counter to determine if the processor load is being caused by hardware.
Note: This value does not include the "time" that the processor uses running the "idle" thread
while it is waiting for something to do.
Elapsed Time Total elapsed time (in seconds) the process has been running.
Page Faults/sec Rate of page faults by the threads executing in this process. This counter can be
used to determine which process is placing excessive memory demands on the system.
Refer to the Memory object for information on the cause of page faults.
Private Bytes Current number of bytes the process has allocated that cannot be shared with other
processes.
If you have determined that your system is short on memory, this counter can be used to
determine if a process is failing to free memory as it should.
LogicalDisk Counters
A logical disk represents a partition, stripe set, mirror, or volume set, such as a RAID configuration.
A logical disk is assigned a drive letter, such as "C." Logical disk counters differ from PhysicalDisk
counters because several logical disks could be located on the same physical disk or a logical disk
my be comprised of several physical disks.
Counters in the LogicalDisk object allow you to see the performance of your disk subsystem as
you have chosen to configure it. The PhysicalDisk object type must also be examined to
determine how the hardware components of the disk subsystem are performing.
Counter Description
% Disk Time Percentage of time that the disk is busy. There are also counters that can be used to
determine whether the activity is caused by Disk Reads and/or Disk Writes.
This value can be misleading. If the logical disk that is being examined is a three-disk volume set,
the work may be done by multiple drives, which means they are actually only busy part of the time.
You should also monitor the PhysicalDisk counters to get an accurate view of the disk subsystem.
Counter Description
Avg. Disk sec/Transfer Average time it takes to process each disk transfer. Higher figures
indicate that additional disk channels will help performance.
Free Megabytes Space (in Megabytes) remaining on the drive.
% Free Space Percentage of space remaining on the drive.
Disk Queue Length Number of requests waiting for the drive. This is a snapshot value, not the
average over the time period. Typically a value over 2 indicates disk congestion. Increasing the
number of disks or obtaining faster disks will help. This value needs to be checked for the
PhysicalDisk object to see if performance can be improved by changing the configuration of the
disks.
PhysicalDisk Counters
This object represents the physical disk and may represent multiple "drives" in Windows NT,
depending on the number of partitions.
Note: In order to monitor disk activity by using the PhysicalDisk counters, it is necessary to enable
them. By default, they are turned off because of the approximate 0.1-1.5% load they place on the
system. They can be enabled by entering disperf -y at the command prompt. It is necessary to
reboot the machine before they are activated.
Counter Description
% Disk Time Percentage of time the disk was busy servicing read and/or write requests. If this
value is consistently high, check the disk queue length. If it is greater than 2, you can be fairly
confident that your physical disk is a bottleneck in the system. There may be a number of
solutions to your problem, including: changing how your disks are configured, buying additional
disks, buying a faster disk, buying another disk controller, buying a faster disk controller, etc.
Average Disk sec/Transfer A high value (values greater than 0.3 seconds) may indicate that the
disk controller is continually retrying the disk because of failures.
Disk Queue Length Number of requests that are waiting for the drive. It is a snapshot value and
does not represent an average queue length over a time period.
If this value is high, you may want to consider changing how your disk subsystem is configured to
improve performance. It may be possible to improve the system by changing partitions and/or
where applications and data are being stored, assuming that you have a multiple disk system.
Average Disk sec/Transfer Average amount of time for a disk transfer (either reads or writes) to
complete.
Memory Counters
The counters in the Memory object provide information on the behavior of the memory in the
system, both real and virtual. Adequate memory (both real and virtual) is necessary for good client
performance.
A system that is short of real memory will require excessive use of virtual memory (paging file).
This, in turn, creates additional overhead on the disk subsystem, which will adversely affect
system performance.
Counter Description
Pages/sec Number of pages read from the disk or written to the disk to resolve memory
references to pages that were not in memory at the time of reference. This is the sum of Pages
Input/sec and Pages Output/sec. This is the primary counter to observe if you are concerned
about excessive paging.
Wonderware Training
Section 1 – Implementation Considerations 12-9
Available Bytes Amount of free physical memory. If the counter is consistently below 1 MB on a
Windows NT Server, paging is occurring and performance will be less than optimal.
Network Counters
The Network counters should be checked to ensure that the network is not a bottleneck in the
system. In particular, check the performance of the network connections used by the I/O Servers
to ensure that there are no network delays on data throughput.
Counter Description
% Network Utilization Percentage of network bandwidth in use. A high figure indicates that
splitting the network segment will improve performance.
Redirector Counters
The Redirector object manages the network connections to other computers on the network.
Counters for the Redirector object provide insight as to how much "work" is being done on a server
due to requests from clients.
Counter Description
Current Commands Number of requests pending service. If the number of pending requests
exceeds the number of network cards in your server by more than two, your server is overloaded.
However, requests can also be pending because:
z The server with which the redirector is communicating is slower than the redirector.
z The network may be experiencing capacity problems.
z The redirector is busier than the adapter can handle.
Network Errors/sec Number of serious network errors per second. Any value other than 0 needs
attention. Network errors will also create an entry in the Event Log, which should be checked.
Chart View
The Chart View shows the status of a number of selected counters, such as %Processor Time,
%Disk Time, etc. The Chart View allows the counter values to be displayed over a period of time.
Wonderware Training
Section 1 – Implementation Considerations 12-11
Report View
The Report View provides a tabular view of data. For example, a table showing the amount of free
disk space (in Megabytes) on each computer drive can be displayed.
Alert View
Use the Alert View to monitor a server and generate an alert (event) when a certain condition
occurs. The Alert View provides a similar functionality to configuring alarms for an InTouch
application. An alert can be configured to run a program, generate a record in the event log, send
a network message to a designated computer, etc.
In general:
z Alerts (alarms) can be generated on almost any aspect of a servers operation.
z Alerts can be generated on any computer running a Windows based operating system.
z Performance Monitor checks alarm conditions based on the alert interval.
Configured alerts are displayed in the bottom half of the alert window. Generated alerts are
displayed in the top half.
Wonderware Training
Section 1 – Implementation Considerations 12-13
Log Viewer
The Log Viewer is an ArchestrA utility that records information regarding the activity occurring on
the computer. For example, it records start-up data, error conditions, and DAServer information.
When running an ArchestrA™ application, the Logger runs as a system service. The Log Viewer
is a Microsoft Management Console (MMC) snap-in that provides a user interface for viewing
messages reported to the Logger. The MMC is a host or container utility for the Log Viewer with its
own generic functions.
Note: If a problem occurs while running an ArchestrA application, always check logged messages
by using the Log Viewer prior to calling Technical Support.
The Logger and Log Viewer are automatically installed when an ArchestrA™ component is
installed.
z Logger - This is the background process that stores messages and events in the system.
This process occurs without any prompting from or interaction necessary from the user.
The logging process can be customized with the LogFlag Editor Snap-In utility. The
Logger is installed as a system service, and can be configured to be an Auto Service or
Manual Service. As an Auto Service utility, the Logger is started when the PC is booted
up. As a Manual Service utility, the Logger requires a manual start through the System
Services utility in Windows’ Control Panel. In either case, the logging process is always
started when an ArchestrA™ component begins functioning.
z Log Viewer - This utility is used to view error and informational messages that are sent by
ArchestrA™ components. The look-and-feel and the format of the user interface can be
customized to suit individual needs.
Typical Log Viewer Usage
The Log Viewer is primarily a troubleshooting tool. After initially installing an ArchestrA-enabled
program and on occasion, you might check logged messages to determine whether all processes
are functioning well. But typically, you would use the Log Viewer to work through problems you
encounter with a DAServer, the IDE or other ArchestrA component.
Note: The Log Viewer displays error messages in red-highlighted stripes. These indicate
malfunctioning processes and should be resolved quickly. Warning messages are displayed in
yellow stripes. These indicate major events in the system.
The journey of a Log Message originates with the Application where Log Flags are generated.
These are passed to the Logger where they are then stored in the Log Message Storage.
They are then available for viewing by the LogFlag Viewer. The LogFlag Editor provides the
capability to edit the LogFlags. This is illustrated in the following diagram.
Wonderware Training
Section 1 – Implementation Considerations 12-15
c. It might be necessary to shut down one or more of the processes in the list below. You may not
have all of these processes running on your computer. For those you do have running, select
and click End Process for any *.exe file with the following names:
z wm (windowmaker)
z view
z Spcpro
z alarmmgr
z hd
z aaLogger
z wwAlarmLogger
Wonderware Training
Section 2 – Services 12-17
Section 2 – Services
Section Objective
z Understand how to use WindowViewer and I/O servers as services.
Note: All NAD features are disabled when WindowViewer is installed as an NT Service.
The Node Properties dialog box appears with the App Development tab active:
Note:
1) If WindowViewer is configured as an NT service and subsequently started directly (from
its icon, the Windows startup menu, etc.), there will be approximately a 15 second delay
before WindowViewer will display a window. This delay is due to WindowViewer attempting to
connect to the NT Service Control Manager. Upon failing to connect to the Service Control
Manager, WindowViewer will display the following message box:
Wonderware Training
Section 2 – Services 12-19
c. Select Automatic to start WindowViewer automatically when the operating system restarts.
Select Manual if a user or another process must explicitly launch the server. Select Disabled
to prevent a service from being started (usually used for troubleshooting purposes).
Troubleshooting Services
You may encounter the following error message after starting NT: “One or more services failed to
start”. To investigate this, click Start/Control Panel/Administrative Tools/Event Viewer. Use
the Event Viewer to see the system log – a file listing problems that occurred during startup. If
WindowViewer failed to start, it is likely to be one of the dependency issues described in the
previous section.
If WindowViewer has been configured to run as an NT service and you attempt to start it from a
shortcut icon or from the Windows Taskbar, WindowViewer will pause for 15 seconds and then
display the following message:
If you select Yes to start WindowViewer as a desktop application, the NT service will be disabled
and WindowViewer will run as a console or desktop application. If you click No, WindowViewer
will run as a Service. When running WindowViewer as a Desktop Service, it acts in every way like
the console application. For example, you can switch back and forth between WindowMaker and
WindowViewer while developing an application.
Note: It is highly recommended that the server is configured and communicating successfully
prior to running it as a Windows NT service.
Wonderware Training
Appendix A
Introduction
In order to create a more efficient work environment, InTouch allows several time saving keyboard
shortcuts to execute commands. This eliminates the need for extra mouse movements for some
common actions. Those listed below apply to InTouch 8.0 SP2 and higher.
Keyboard Shortcuts
Shortcut Command
F2 Select All
Ctrl + A Animation Links
Ctrl + E Substitute Tags
Ctrl + L Substitute Strings
Ctrl + T Tagname Dictionary
Ctrl + Z Undo
Ctrl + Y Redo
Ctrl + D Duplicate
Ctrl + X Cut
Ctrl + C Copy
Ctrl + V Paste
Del Erase
F9 Send to Back
Shift + F9 Bring to Front
Ctrl + H Space Horizontal
F6 Rotate CW
Shift + F6 Rotate CCW
F7 Flip Horizontal
Shift + F7 Flip Vertical
F5 Make Symbol
Shift + F5 Break Symbol
F3 Make Cell
Shift + F3 Break Cell
Wonderware Training