manual wsp 3 part 1-rev a gold

780
W O N D E R W A R E ® T R A I N I N G Training Manual Revision A September 2007 Part Number 05-2090 Wonderware ® System Platform 3.0 Course - Part 1 Wonderware ® Application Server 3.0 and Device Integration Products

Upload: luis-enrrique-arellano

Post on 02-Dec-2015

116 views

Category:

Documents


16 download

DESCRIPTION

Manual Wsp 3 Part 1-Rev a Gold

TRANSCRIPT

Page 1: Manual Wsp 3 Part 1-Rev a Gold

W O N D E R W A R E ® T R A I N I N G

Training Manual

Revision A September 2007

Part Number 05-2090

Wonderware ® System Platform 3.0 Course - Part 1

Wonderware ® Application Server 3.0 and Device Integration Products

Page 2: Manual Wsp 3 Part 1-Rev a Gold

INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE W ITHOUT NOTICE.

© 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 [email protected].

Invensys; Wonderware; ActiveFactory; ArchestrA; DT Analyst; FactorySuite; FactorySuite A2; InBatch; InControl; IndustrialSQL Server; InTouch; InTrack; QI Analyst; SCADAlarm; SPCPro; SuiteLink; SuiteVoyager; WindowMaker; WindowViewer; Every system in your plant, working in concert; and the Visualize, Analyze, Optimize logo are trademarks or service marks of Invensys plc, its subsidiaries and affiliated companies. All other brands and product or service names may be the trademarks or service marks of their respective owners.

Page 3: Manual Wsp 3 Part 1-Rev a Gold

Table of Contents 3

Table of Contents

Module 1 Introduction ............................. ....................................................1-1 Section 1 – Course Introduction......................................................................... 1-3 Section 2 – Wonderware System Platform ...................................................... 1-17

Lab 1 – Creating a Galaxy......................................................................... 1-35 Section 3 – The ArchestrA IDE ........................................................................ 1-41 Section 4 – Automation Objects....................................................................... 1-63 Section 5 – System Requirements, Licensing and Support ............................. 1-77 Section 6 – Application Planning ..................................................................... 1-85

Lab 2 – Identifying the Mixer ..................................................................... 1-91

Module 2 Application Infrastructure ............... ...........................................2-1 Section 1 – The Plant Model .............................................................................. 2-3

Lab 3 – Creating the Plant Model ................................................................ 2-5 Section 2 – The Deployment Model ................................................................. 2-11

Lab 4 – Creating and Deploying the Deployment Model ........................... 2-17 Section 3 – The Runtime Environment ............................................................ 2-27

Lab 5 – Using Object Viewer ..................................................................... 2-31 Section 4 – Connecting to the Field ................................................................. 2-41

Lab 6 – Connecting to the Field ................................................................ 2-51

Module 3 Application Objects ...................... ..............................................3-1 Section 1 – Templates and Instances ................................................................ 3-5 Section 2 – The $UserDefined Object ............................................................... 3-9

Lab 7 – Heat Exchanger............................................................................ 3-11 Section 3 – Change Control and Propagation ................................................. 3-27

Lab 8 – Change Control and Propagation ................................................. 3-29 Section 4 – The $AnalogDevice Object ........................................................... 3-35

Lab 9 – Meter ............................................................................................ 3-37 Section 5 – The $DiscreteDevice Object ......................................................... 3-41

Lab 10 – Valve, Pump and Motor .............................................................. 3-45 Section 6 – Containment.................................................................................. 3-61

Lab 11 – Mixer........................................................................................... 3-67

Module 4 Extending the Objects .................... ............................................4-1 Section 1 – UDAs............................................................................................... 4-3 Section 2 – Extensions ...................................................................................... 4-7

Lab 12 – Motor Speed ............................................................................... 4-11 Section 3 – Introduction to QuickScript .NET................................................... 4-19

Lab 13 – DDESuiteLinkClient Auto Reconnect ......................................... 4-51 Lab 14 – Automatic Reference Configuration ........................................... 4-57

Module 5 Alarms and History ....................... ..............................................5-1

Section 1 – Alarms ............................................................................................. 5-3 Lab 15 – Configuring Alarms ....................................................................... 5-9

Section 2 – Historization .................................................................................. 5-25 Lab 16 – Configuring History ..................................................................... 5-29

Module 6 Security ................................. .......................................................6-1

Section 1 – Security Overview ........................................................................... 6-3 Lab 17 – Security ...................................................................................... 6-13

Wonderware System Platform 3.0 Course - Part 1

Page 4: Manual Wsp 3 Part 1-Rev a Gold

4 Wonderware System Platform 3.0 Course - Part 1

Module 7 Galaxy Maintenance ....................... ............................................ 7-1 Section 1 – Exporting and Importing Objects ..................................................... 7-3 Section 2 – Configuring Instances Through a .CSV File .................................. 7-13 Section 3 – System Management Console (SMC) ........................................... 7-21 Section 4 – Network Account Utility ................................................................. 7-33

Module 8 Device Integration Products .............. ........................................ 8-1

Section 1 – Wonderware I/O Servers ................................................................. 8-3 Section 2 – Data Access Servers ....................................................................... 8-9 Section 3 – Device Integration Objects ............................................................ 8-19

Module 9 Multi-Node Applications .................. .......................................... 9-1

Section 1 – Application Redundancy.................................................................. 9-3 Lab 18 – Configuring Application Redundancy ......................................... 9-17

Section 2 – DI Redundancy.............................................................................. 9-31 Lab 19 – Configuring the Redundant DI Object ......................................... 9-35

Section 3 – Multi Node Application................................................................... 9-45 Lab 20 – Convert to Network Environment ............................................... 9-49

Module 10 InTouchView………………........................ ..................................10-1

Section 1 – Creating and Managing Symbols ....................................................10–3 Section 2 – Using ArchestrA Symbols in WindowMaker..................................10–85

Lab 21 – Symbol Creation .........................................................................10–93 Section 3 – Using Custom Properties ............................................................10–103

Lab 22 – Defining Custom Properties .....................................................10–109 Section 4 – Animating Graphic Elements ......................................................10–117

Lab 23 – Animation ..................................................................................10–193 Lab 24 – Referencing a Symbol ...............................................................10–203

Section 5 – Associating Scripts with Symbols ...............................................10–209 Lab 25 – Scripting ....................................................................................10–221

Section 6 – Quality & Statusg ….……………...............................................10–209

Appendix A Wonderware Application Server Glossary ...............................A-1

Appendix B Plant Model Planning Diagrams ......... .......................................B-1

Wonderware Training

Page 5: Manual Wsp 3 Part 1-Rev a Gold

Module 1

Introduction

Section 1 – Course Introduction 1-3

Section 2 – Wonderware System Platform 1-17

Lab 1 – Creating a Galaxy 1-35

Section 3 – The ArchestrA IDE 1-41

Section 4 – Automation Objects 1-63

Section 5 – System Requirements, Licensing and Support 1-77

Section 6 – Application Planning 1-85

Lab 2 – Identifying the Mixer 1-91

Page 6: Manual Wsp 3 Part 1-Rev a Gold

1-2 Module 1 – Introduction

Module Objective

� Introduce the Wonderware® System Platform and its architecture, environment, and requirements for installation and licensing.

Wonderware Training

Page 7: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Course Introduction 1-3

Section 1 – Course Introduction

Section Objective

This section identifies the objectives and agenda for the Wonderware System Platform 3.0 - Part 1 course as well as the key basics of Wonderware Application Server.

This section describes the Wonderware® System Platform 3.0 course - Part 1, (Wonderware Application Server 3.0), the objective of the course, intended audience, prerequisites, and the course agenda. It also includes a description of Wonderware Products.

Course Description

The Wonderware System Platform 3.0 - Part 1 course is a four-day, instructor-led course designed to provide a fundamental understanding of the basic principles of ArchestrA® and supply the knowledge necessary to develop and support applications for the Wonderware Application Server 3.0. The course utilizes a number of hands-on labs to reinforce concepts and features.

The focus of this course is to illustrate the use of ArchestrA® tools and services in the System Platform to develop a project utilizing connectivity to the field, data processing, scripts, alarms and history, using features and functionality such as Automation Objects, templates, template instances, ArchestrA® Integrated Development Environment and QuickScript .NET.

This course also provides a fundamental understanding of how to utilize the InTouch® Alarm DB Logger for real-time alarm recording as well as the security settings available for securing the applications.

Course Objectives

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

� Create new projects using ArchestrA® Integrated Development Environment

� Model the plant floor using automation objects

� Work with the alarm and history configuration in the Galaxy

� Configure ArchestrA® security in the Galaxy

� Troubleshoot Wonderware Application Server applications

Audience

This training class is targeted to engineers, application developers, system integrators, and other individuals whose jobs include creating and/or maintaining a Galaxy for use with the Wonderware System Platform.

Prerequisites

The prerequisites for this course are:

� Completion of Getting Started with Wonderware Application Sever web tutorial located at http://www.wonderware.com/training/online_training/tutorials.asp

� Manufacturing industry experience

Wonderware System Platform 3.0 Course - Part 1

Page 8: Manual Wsp 3 Part 1-Rev a Gold

1-4 Module 1 – Introduction

Agenda

Module 1 – Introduction

Section 1 – Course Introduction

This section describes the Wonderware® System Platform 3.0 course - Part 1, (Wonderware Application Server 3.0), the objective of the course, intended audience, prerequisites, and the course agenda. It also includes a description of Wonderware Products.

Section 2 – Wonderware System Platform

This section provides an overview of the Wonderware System Platform, the architecture of ArchestrA and the importance of how it is critical to plant automation, and an overview of the differences between Object-oriented and traditional Tag based HMI and SCADA products and how it applies to Wonderware System Platform applications. It also provides an understanding of what a Galaxy is, how it relates to the Galaxy Database and the Galaxy Repository and how a Galaxy is created.

Lab 1 – Creating a Galaxy

Section 3 – The ArchestrA IDE

This section provides an overview of the ArchestrA IDE, the Template Toolbox and Application Views and the object Check-in/Check-out process.

Section 4 – Automation Objects

This section provides an explanation of the various types of objects utilized in the ArchestrA IDE and an overview of when and how they are used. Additionally, it describes how to create and configure instances of objects and the hosting and containment relationships of objects.

Section 5 – System Requirements, Licensing and Support

This section provides a detailed explanation of the system requirements necessary for System Platform, discusses Licensing details and covers Support services.

Section 6 – Application Planning

This section provides an explanation of the need for adequately modeling your plant in order to achieve an application implementation that will be optimal for efficiency.

Lab 2 – Identifying the Mixer

Module 2 – Application Infrastructure

Section 1 – The Plant Model

This section provides an explanation of the importance of having a model of the plant facility. Additionally, it explains the concept of how to utilize ArchestrA Application Server to model a specific facility.

Lab 3 – Creating the Plant Model

Section 2 – The Deployment Model

This section provides an explanation of the Deployment Model and demonstrates the structure of the Deployment Model.

Wonderware Training

Page 9: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Course Introduction 1-5

Lab 4 – Creating and Deploying the Deployment Model

Section 3 – The Runtime Environment

This section provides an explanation of the Runtime environment and explains the use of the Object Viewer in monitoring the Runtime environment.

Lab 5 – Using Object Viewer

Section 4 – Connecting to the Field

This section provides an understanding of the Device Integration Objects, I/O Server and DA Server. It also provides an overview of DI Objects.

Lab 6 – Connecting to the Field

Module 3 – Application Objects

Section 1 – Templates and Instances

This section introduces you to the concept of templates and explain how to derive a template.

Section 2 – The $UserDefined Object

This section introduces you to the $UserDefined object and its functionality.

Lab 7 – Heat Exchanger

Section 3 – Change Control and Propagation

This section presents the concept of attribute locking and provides an illustrations on how locking attributes can propagate to previously derived instances.

Lab 8 – Change Control and Propagation

Section 4 – The $AnalogDevice Object

This section introduces you to the concept of the $AnalogDevice object and its functionality.

Lab 9 – Meter

Section 5 – The $DiscreteDevice Object

This section introduces you to the concept of the $DiscreteDevice object and its functionality.

Lab 10 – Valve, Pump and Motor

Section 6 – Containment

This section illustrates the concept of containment and how it works with Application Objects and Templates.

Lab 11 – Mixer

Module 4 – Extending the Objects

Section 1 – UDAs

This section introduces and explains UDAs and how they are configured and used.

Section 2 – Extensions

This section provides describes the Output Functionality for Application Objects in the Extensions environment.

Lab 12 – Motor Speed

Section 3 – Introduction to QuickScript .NET

Wonderware System Platform 3.0 Course - Part 1

Page 10: Manual Wsp 3 Part 1-Rev a Gold

1-6 Module 1 – Introduction

This section introduces and explains the scripting environment and the various scripting configuration attributes of the ApplicationObject

Lab 13 – DDESuiteLinkClient Auto Reconnect

Lab 14 – Automatic Reference Configuration

Module 5 – Alarms and History

Section 1 – Alarms

This section provides familiarization of the concept of alarms and events and how ArchestrA handles them.

Lab 15 – Configuring Alarms

Section 2 – Historization

This section provides familiarization with the background concept of historization and the details of historizable configuration.

Lab 16 – Configuring History

Module 6 – Security

Section 1 – Security Overview

This section provides an understanding of Security as it relates to Application Server.

Lab 17 – Security

Module 7 – Galaxy Maintenance

Section 1 – Exporting and Importing Objects

This section provides an understanding of fundamental functions dealing with Galaxy Maintenance. Specifically, it illustrates how to Export for future use and how to Import a galaxy created previously.

Section 2 – Configuring Instances Through a .CSV File

This section provides an understanding of fundamental functions dealing with Galaxy Maintenance. Specifically, it illustrates how to Export for future use and how to Import a galaxy created previously.

Section 3 – System Management Console (SMC)

This section provides an understanding of role of the System Management Console and how it can be configured.

Section 4 – Network Account Utility

This section discusses the role of changing the network account and how to use the Change Network Account and how to configure it.

Module 8 – Device Integration Products

Section 1 – Wonderware I/O Servers

This section will describe the configuration of a Wonderware I/O Server (Modbus).

Section 2 – Data Access Servers

This section provides familiarization with DAServer and its use with Wonderware Application Server.

Wonderware Training

Page 11: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Course Introduction 1-7

Section 3 – Device Integration Objects

This section provides familiarization with DI Objects and their use with Wonderware Application Server.

Module 9 – Multi-Node Applications

Section 1 – Application Redundancy

This section provides an understanding of the concept of redundancy, how it can be configured and key points to more effectively implement this feature. It also provides an understanding of the concept and functionality of Redundant DI Objects

Lab 18 – Configuring Application Redundancy

Section 2 – DI Redundancy

This section provides an understanding of the concept of redundancy, how it can be configured and key points to more effectively implement this feature. It also provides an understanding of the concept and functionality of Redundant DI Objects

Lab 19 – Configuring the Redundant DI Object

Section 3 – Multi Node Application

This section provides an understanding of how to migrate from a standalone configuration to a network configuration. At the conclusion of this section you will have an understanding of the steps necessary to migrate to a network environment.

Lab 20 – Convert to Network Environment

Wonderware System Platform 3.0 Course - Part 1

Page 12: Manual Wsp 3 Part 1-Rev a Gold

1-8 Module 1 – Introduction

Wonderware Software Solutions

Wonderware® Software Solutions provide valuable tools for optimizing and standardizing your industrial organization. They offer essential time- and cost-saving techniques that increase efficiency and reduce application engineering effort and deployment.

The solutions deliver manufacturing and operational performance improvements that can reduce the amount of project-specific work required to develop information and automation applications that are

integrated across entire operational enterprises. These solutions can also be implemented in the context of existing systems, at your own pace and to the extent that you choose.

The Wonderware solutions leverage a powerful, layered software architecture that enables a variety of features and capabilities.

� Microsoft® Technologies , such as Microsoft Windows®, Microsoft SQL Server, and .NET, are applied as a basis, enabling compatibility with commercial IT hardware and software.

� Wonderware System Platform and Wonderware Client Software provide a comprehensive set of services and capabilities to enable an industrial infrastructure that includes all the necessary functions needed by any industrial application solution.

� Function-Specific Modules make it easier than ever before to optimize production and performance management by providing common tools for a variety of functions, from tracking production orders to analyzing performance data.

� Wonderware QuickStarts provide examples of configuration best practices, pre-defined graphics, and Web reports, using a fully functional and documented demo application.

All Wonderware Software Solutions—whether in the areas of Supervisory HMI, Production and Performance Management, or Geo-SCADA—leverage the comprehensive ArchestrA® industrial automation and information software architecture.

Wonderware Training

Page 13: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Course Introduction 1-9

Wonderware System Platform

The Wonderware System Platform provides a single platform for all the SCADA, Supervisory HMI, and Production and Performance Management needs of industrial automation and information personnel. The Wonderware System Platform, built on ArchestrA technologies, is a strategic application infrastructure. Its modular approach allows new application components to be created now, with the understanding that the requirements, and even the application itself, could completely change tomorrow.

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:

� Industrial domain services for industrial computing functions that are not provided by commercial operating systems or products

� Software and device connectivity services for easy communication to any plant or business information source

� Information and data management services for management of real-time and historical information

� 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

� Application development services that provide easy and intuitive development of modular industrial software solutions that are easily changed to meet future needs

� System management and extensibility services that provide easy management, expansion, and modification of the application or host computing architecture

3rd Party Clients

Modular Industrial and Manufacturing Solutions

Wonderware Clients

Information Delivery and Visualization

Industrial Domain Features

Application Development

System Mgmt and Extensibility

ArchestrA

Applications Architecture

Information and Data Management

Database and

Historian

Software and Device Connectivity

Existing HMI’s, Historian, Lab Systems,

CMM’s

Software Applications - Business Systems, MES

Databases

Field Devices - PLC’s, RTU’s, DCS

Wonderware System Platform 3.0 Course - Part 1

Page 14: Manual Wsp 3 Part 1-Rev a Gold

Application Server (IAS)

Application Server (IAS)

Information Server (SuiteVoyager)

Information Server (SuiteVoyager)

Device Integration Device Integration

InTouch View

ActiveFactory Reporting Client (Information Server CAL)

InTouch View

InTouch View

ActiveFactory

ActiveFactory Reporting Client (Information Server CAL)

Reporting Client (Information Server CAL)

1-10 Module 1 – Introduction

System Platform Components

The Wonderware System Platform consists of a variety of software components.

Wonderware Clients

InTouch View ActiveFactory Reporting Client

(Information Server CAL)

Functional Modules

Wonderware System Platform

Application Server (IAS)

Historian (InSQL)

Information Server (SuiteVoyager)

Device Integration

3rd Party Data Sources HMI, LIMS

S/W Applications DB, MES

Field Devices PLC, RTU

DCS

Wonderware System Platform

� Wonderware Application Server (formerly known as Industrial Application Server) framework for system-wide, real-time data acquisition, alarm and event management, centralized security, data manipulation, remote deployment, and collaborative engineering

� Wonderware Historian (formerly known as IndustrialSQL Server™) plant data historian

� Wonderware Information Server (formerly known as SuiteVoyager®) industrial portal software for Internet/intranet visualization and content management

� Wonderware Device Integration Tools for field device connectivity

Wonderware Clients

� Wonderware InTouch® View human-machine interface (HMI) software as a visualization client for the System Platform

� ActiveFactory™ trending and analysis software

� Reporting Client-Access Licenses for Information Server to enable information-sharing and reporting over the Web

Wonderware Functional Modules To complement the capabilities and benefits offered by the Wonderware System Platform, Wonderware also offers a set of easily implemented add-on modules to assist you in the areas of Performance Management, Production Management, Supervisory Control, and Geo-SCADA.

Wonderware Training

Page 15: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Course Introduction 1-11

Production and Performance Management Software Solu tions

Wonderware provides tools that empower you to take a proactive approach to production and performance management. Appropriate for a wide range of manufacturing and production operations, these integrated software applications are designed to drive operational improvements and substantially decrease total cost of ownership.

These software solutions:

� Integrate with your existing plant, IT and business systems, creating one effective system for the entire organization

� Leverage a single, open and scalable software architecture called the ArchestrA industrial automation and information software architecture

� Complete MES and flexible batching capabilities that can help you actively manage production and collect data for analysis and reporting

� Enable secure, wide-scale delivery of reports on KPIs, downtime, OEE, and SPC through a powerful portal that delivers the information contextually

� Improve data analysis and information sharing with advanced trending and reporting capabilities

Wonderware System Platform 3.0 Course - Part 1

Page 16: Manual Wsp 3 Part 1-Rev a Gold

1-12 Module 1 – Introduction

Product Offerings

The Wonderware Production and Performance Management Software Solutions consist of a variety of products:

� Wonderware System Platform providing a core set of service capabilities as a foundation for application development, operations, and information delivery

� InBatch™ flexible batch management software

� Manufacturing Execution Module (formerly known as InTrack™) resource and WIP tracking software

� 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

� Equipment Performance Module (formerly known as DT Analyst™) equipment downtime tracking and performance management software

� 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

Supervisory HMI Software Solutions

The Wonderware market-leading Supervisory HMI Software Solutions can be applied in process, discrete, and hybrid markets where there is demand for an information and automation infrastructure for centralized monitoring and control. These software solutions enable plant personnel to:

� Easily design, build, deploy and maintain the most flexible and secure supervisory solutions with the lowest total life-cycle costs

� Scale from a single machine up to multiple networked supervisory stations

� Integrate plant devices, databases, and control systems

� Incorporate strong security at the data-element level and for every user in the system

� Rapidly expand production and performance management solutions

� Standardize on a common set of supervisory HMI tools at all levels of the plant with rugged Wonderware Industrial Tablets and Touch Panel Computers, which are pre- bundled with powerful visualization software

Product Offerings

The Wonderware Supervisory HMI Software Solutions consist of a variety of products:

� Wonderware System Platform providing a core set of service capabilities as a foundation for application development, operations, and information delivery

� InTouch human-machine interface (HMI) software for process visualization and control

� InControl™ real-time control software

Wonderware Training

Page 17: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Course Introduction 1-13

Geographically Distributed SCADA (Geo-SCADA) Softwa re Solutions

Since the late 1980s, the Wonderware Geographically Distributed (Geo-SCADA) Software Solutions have been present in almost every industry including water & wastewater, oil & gas, facility management, power delivery, transportation, and telecommunications.

These solutions offer several unique features that can greatly benefit companies looking to implement a new SCADA solution or upgrade an existing system.

� The easiest and most efficient, open software solution for SCADA

� Highly available, reliable, and scalable SCADA applications

� Single-click software redundancy

� Leverages ArchestrA architecture for easy configuration and management of operational and system security that is compatible with existing IT security capabilities

� Empowers users to design, build, deploy, and maintain standardized SCADA applications

� Lowest total system lifecycle costs

Product Offerings

The Wonderware Geo-SCADA Software Solutions consist of a variety of products:

� Wonderware System Platform providing a core set of service capabilities as a foundation for application development, operations, and information delivery.

� InTouch human-machine interface (HMI) software for process visualization and control

� SCADAlarm™ event notification software for real-time alarm notification, data acquisition, and remote control from telecommunication devices to industrial automation software systems

Wonderware System Platform 3.0 Course - Part 1

Page 18: Manual Wsp 3 Part 1-Rev a Gold

1-14 Module 1 – Introduction

Wonderware Individual Software Products

All the latest Wonderware software offerings leverage the latest ArchestrA technology and are essential to the Wonderware Production and Performance Management, GEO-SCADA, and Supervisory HMI Software Solutions.

The following Wonderware products offer increased functionality and flexibility as well as extensive connectivity:

� Wonderware Application Server (formerly known as Industrial Application Server) for system-wide, real-time data acquisition, alarm and event management, centralized security, data manipulation, remote deployment, and collaborative engineering

� ArchestrA Object Toolkit for creating application objects for use within the Wonderware Application Server

� InTouch human-machine interface (HMI) software for process visualization and control

� Wonderware System Platform providing a core set of service capabilities as a foundation for application development, operations, and information delivery

� Functional Modules for seamlessly integrating new functional capabilities into Wonderware Application Server applications using a modular approach, including:

� Equipment Operations Module for formula management and real-time production events collection

� Equipment Performance Module (formerly known as DT Analyst) for equipment downtime tracking and performance management

� Manufacturing Execution Module (formerly known as InTrack) for resource and WIP tracking

� Wonderware Historian (formerly known as IndustrialSQL Server) real-time historian for SCADA and factory data

� Wonderware Information Server (formerly known as SuiteVoyager) Web analysis software for Internet/intranet visualization and content management

� Device and Software Connectivity Tools offering a library of hundreds of DA Servers and I/O Servers, the DA Server Toolkit, and Device Integration (DI) Objects

� InTouch View human-machine interface (HMI) software as a visualization client for the System Platform

� ActiveFactory trending and analysis software for accelerating and improving decision- making at all levels within an organization

� QI Analyst statistical process and quality control software to predict process variations and enable online adjustments for improved production

� InControl real-time control software

� InBatch flexible batch management software

� SCADAlarm event notification software for real-time alarm notification, data acquisition, and remote control from telecommunication devices to industrial automation software systems

� InTouch for Terminal Services software for remote hosting of InTouch applications

Wonderware software offers robust, best-of-breed software components that empower customers to effectively develop and manage their automation and information applications in continuous, discrete, process, hybrid, and batch manufacturing environments.

The Wonderware mission is to power intelligent plant decisions in real time.

Wonderware Training

Page 19: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Course Introduction 1-15

Wonderware System Platform Framework

ArchestrA provides an infrastructure for simplifying the development, deployment, lifecycle maintenance, and administration of distributed automation applications.

The supervisory control and manufacturing information environment is served by a variety of systems, including (HMI), Distributed Control Systems (DCS), Supervisory Control and Data Acquisition systems (SCADA), Process Information Management systems (PIM), Manufacturing Execution Systems (MES), batch and recipe management systems, and advanced control/ simulation systems.

ArchestrA leverages advanced software technologies to fill the gap between ERP systems and the control systems. This architecture provides the following:

� Framework : supports common services and a core set of system objects

� Domain Objects : are industry-specific objects

� Object Development Toolkit : allows 3rd parties to create new domain objects customized for specific needs

The ArchestrA infrastructure, or Framework, supports core services that are required by most of the different types of supervisory control and manufacturing information systems mentioned above. These core services include the following:

� Integrated development environment

� Version management

� License management and centralized deployment

� System diagnostics and system administration

� Internationalization

� Data visualization and monitoring

� Event based processing, scripting, and calculation capabilities

� Alarm and event management, historization, and security

� Data acquisition and field device integration

� Inter-object communications and name service

� Reporting and ad-hoc query capability

� Support for industry standards such as OPC and SQL

The ArchestrA Framework consists of:

� Configuration and Deployment Related Components : which include the centralized object repository (called Galaxy Repository), integrated development environment (IDE)

and object deployment services (called Bootstrap). These components are installed just like any other Windows® application. They are required for centralized deployment of the

runtime components.

� Runtime Components : which include PCs with core infrastructure (called Platforms), key software applications (Engines) and objects (Framework Objects) that expose framework related functionality. These components are centrally deployed and administered.

Wonderware System Platform 3.0 Course - Part 1

Page 20: Manual Wsp 3 Part 1-Rev a Gold

1-16 Module 1 – Introduction

– Intentionally left blank –

Wonderware Training

Page 21: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Wonderware System Platform 1-17

Section 2 – Wonderware System Platform

Section Objectives

� Introduce the concept of ArchestrA and how it relates to the manufacturing environment

� Describe the benefits of migrating to an ArchestrA architectural environment

� Clarify how Object Oriented tag-based products relates to SCADA

� Explain the difference between Object Oriented development process and Tag Based development process

� Explain what a Galaxy is and how it relates to the Galaxy Database and the Galaxy Repository

� Demonstrate how a Galaxy is created

This section provides an overview of the Wonderware System Platform, the architecture of ArchestrA and the importance of how it is critical to plant automation, and an overview of the differences between Object-oriented and traditional Tag based HMI and SCADA products and how it applies to Wonderware System Platform applications. It also provides an understanding of what a Galaxy is, how it relates to the Galaxy Database and the Galaxy Repository and how a Galaxy is created.

System Platform

The Wonderware® System Platform provides a single platform for all the SCADA, Supervisory HMI, and Production and Performance Management needs of industrial automation and information personnel. It provides a common and strategic industrial application services platform on top of virtually any existing system, and is built upon the industry-standards based, ArchestrA® real-time SOA technology.

The Wonderware System Platform is designed to make it easier for manufacturers to adjust to the ever-changing needs of customers and the overall market. Its diverse functionality extends Wonderware customers’ software investments and encourages flexibility in application development.

It supports consistent and reliable operations across industrial operations and manufacturing facilities as well as promotes sustainable production and operational performance improvements.

The Wonderware System Platform contains an integral core set of capabilities and services to support sustainable production and operations performance improvement via a comprehensive set of six capability areas:

� Industrial domain services

� Software and device connectivity services

� Information and data management services

� Information-delivery and visualization services

� Application development services

� System management and extensibility services

Industrial Domain Services

The Wonderware System Platform offers industrial domain services that are not provided by commercial operating systems or generic IT products. It provides a powerful infrastructure that

Wonderware System Platform 3.0 Course - Part 1

Page 22: Manual Wsp 3 Part 1-Rev a Gold

1-18 Module 1 – Introduction

enables Wonderware customers to leverage lower-cost commercial PC hardware and operating systems in industrial applications.

Application functions are quickly customized. Whether you have no knowledge of computer programming or consider yourself an expert software engineer, the System Platform can empower you to conveniently interact with process systems from any remote location. The result is a reduction of personnel costs and improved response times because the software continuously monitors and deploys messages, 24/7.

Industrial Domain Services provide:

� Real-time, peer-to-peer communications and messaging, enabling instant responses

� High computing availability and redundancy for critical applications

� Centralized alarm- and event-monitoring for operational conditions

� Data-level security to protect plant equipment

� Audit logging and extended security protection for developers and system-maintenance personnel

� Pager, mobile phone, PA system and e-mail alerts for unattended operational monitoring

� A single global Namespace to access data elements anywhere, without tag limitations

� Plant information and supervisory functions to script special behavior and responses

� Support for slow and/or intermittent data networks

Software and Device Connectivity Services

The Wonderware System Platform enables cost-effective communication to virtually any plant information source. Unifying diverse systems can improve operations and information management. Integrating business and manufacturing activities can also increase plant profitability.

Software and Device Connectivity Services provide:

� Integration of manufacturing and business systems

� Easy importing and migration of legacy systems and external system configurations

� Conversion of non-structured devicecommunication models into structured systems to increase the maintainability of applications and systems

� Connectors and communication servers for control devices, applications and systems including:

� Automation devices, control systems and HMIs

� Historians and relational databases

� Quality and maintenance systems

� Enterprise resource management (ERP) and business systems

� Manufacturing execution systems (MES)

Information and Data Management Services

Furthermore, the Wonderware System Platform facilitates the management of all real-time and historical information — including data transformation and storage. This information management capability can increase a plant’s profitability because it enables immediate access to key

Wonderware Training

Page 23: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Wonderware System Platform 1-19

performance indicators (KPIs); SPC, downtime and OEE information; live data calculations; event and alarm notifications; and historical data.

More effective information and content management can also improve production management and enhance plant performance. For instance, the reliable information that the Wonderware System Platform provides enables not only data visualization, but actionable control. The platform also enhances batch management, real-time production monitoring and access to MES data.

Information and Data Management Services provide:

� Content management tools

� Streaming real-time data (available to all authorized users)

� A high-performance process historian and production database that offer:

� A production history archive for a single production line, an entire facility or the complete enterprise

� Data compression, which reduces disk storage and makes more data available online

� An historical archive that’s auto-configured, eliminating duplicate work

� Off-line and late data handling for:

� Manual data

� Labs and quality systems

� Remote terminal unit (RTU) environments

� Correlation of events and alarms with production history

� Data transformation and normalization

� Data Buffering and Store & Forward features

� Simple and fast configuration with powerful process event monitoring

Information-Delivery and Visualization Services

Delivering the right information, to the right user, at the right time, and in the form in which they expect it is a key service provided by the Wonderware System Platform. Wonderware customers can concurrently visualize manufacturing and business information, and dynamically implement changes to reach their business objectives.

Quickly access real-time and historical information using the open and easy-to-use HMI solution that seamlessly integrates with legacy and new plant systems. Proactively enhance your plants profitability by taking action on information in real time, obtaining real-time and historical data from beyond the boundaries of the secured process network. Create queries and run reports, even if you have no SQL database knowledge. The Wonderware System Platform can even help you

achieve regulatory compliance with simple and accurate automated reports.

Wonderware System Platform 3.0 Course - Part 1

Page 24: Manual Wsp 3 Part 1-Rev a Gold

1-20 Module 1 – Introduction

Capabilities

� Multiple client interfaces [i.e., Thick, Terminal Services Edition (TSE) or Web Client]

� Visualization and HMI

� Expansive graphical user interface (GUI)

� Access-level Windows authentication and data security, as well as enhanced password encryption

� Comprehensive alarm troubleshooting tools

� Information Analysis and Reporting

� Integration with trending tools and Microsoft Office products

� Production, SPC, downtime and batch analysis tools

� Automatic data retrieval calculations - reduction and aggregate methods

� Open SQL access, enabling simplified data queries with powerful retrieval modes

� Secure access across firewalls

� Multi-language client support

Application Development Services

The Wonderware System Platform and its underlying ArchestrA technology provide easy and intuitive development of modular industrial software solutions, which can be easily changed to meet Wonderware customers¡¦ future needs. As a result, you can drive standards by developing applications once and using them everywhere. The result is a decrease in the amount of time and costs associated with creating, modifying, deploying, maintaining and standardizing software applications.

Wonderware Training

Page 25: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Wonderware System Platform 1-21

Application Development Services provide:

� Flexible, comprehensive software development capabilities for HMI and/or MES applications

� Advanced ArchestrA technology, which facilitates the assembly of applications that are component-based and generated from standard templates

� SmartSymbol technology, enabling the creation of re-usable graphics

� Different development views, which show:

� How the application is related to the facility or plant

� How the application is distributed across the network

� Parent-child relationships for templates and runtime components

� Multi-Developer Environment for concurrent development

� Modeling - Applications can be structured based on a plant model; are self-documenting; and offer common security, validation and audit trails

� Unification with Microsoft products including:

� Microsoft Windows operating systems

� The Visual Studio development system

� SQL Server, BizTalk server

� SharePoint services

� Microsoft Office

� Internet Explorer internet browser

System Management and Extensibility Services

Furthermore, the Wonderware System Platform facilitates the easy management, expansion and modification of applications or the host computing architecture. These services provide a range of architectural choices, both during the initial system design phase and throughout the lifetime of an installed system.

Leverage the flexible and scalable ArchestrA software architecture for small and large systems — systems that can be easily expanded to meet future requirements. Improve system troubleshooting. Leverage Wonderware’s technological evolution and increased protection for operating systems and databases. Decrease lifecycle costs for plant IT solutions. Change and expand your system as a whole without disruption.

System Management and Extensibility Services provide:

� The ability to re-architect systems at any time to support different system topologies (i.e., Single Node, Client/Server, Peer-to-Peer or Web-centric

� Easy redistribution of server load

� Remote application installation and administration

� An online configuration database that centrally maintains software

� Remote change propagation

� Centralized computer diagnostics and distributed PC network management

In essence, the Wonderware System Platform facilitates consistent and reliable operations across manufacturing and industrial operations to protect brand integrity. It empowers Wonderware customers to extend their systems in virtually any direction to meet their current and future needs.

Wonderware System Platform 3.0 Course - Part 1

Page 26: Manual Wsp 3 Part 1-Rev a Gold

1-22 Module 1 – Introduction

ArchestrA

ArchestrA is a comprehensive plant automation and information architecture designed from the outset to extend the life of legacy systems by leveraging the latest software technologies.

Offerings built upon this architecture empower decision-makers to achieve their business goals, without abandoning prior investments in automation systems, production processes or intellectual property.

ArchestrA's complete approach to industrial architecture significantly reduces a plant's total cost of ownership through easy installation, operation, modification, maintenance and replication of automation applications.

In the ArchestrA environment, software applications can be rapidly assembled rather than programmed. New applications also can be created simply through the reassembly of existing applications.

The ArchestrA vision is to provide a unified and robust architecture that is the basis for collaborative production systems in support of industrial enterprises. Its open-development platform and tools uniquely enable Invensys and third parties such as OEMs, machine builders and system integrators to build domain knowledge and add significant value to the solutions they provide. End-users and suppliers will benefit from ArchestrA's unified platform, which enables the instant integration of application information.

ArchestrA is the comprehensive industrial automation and information architecture that orchestrates a new way to run or expand older plants more efficiently, and an optimal way to build new plants.

The Need for ArchestrA

Quality, responsiveness, and cost efficiency have always been necessary for any plant or factory that wishes to surpass the competition. Today, they are vital for any plant, factory, or enterprise to survive.

The pace of change accelerates. Product cycles become shorter and more complex. New or enhanced products must be commercialized at breakneck speed, or risk rapid failure. Such offerings must also be quickly customizable for use in today’s global business spaces. Again, as these markets grow ever more economically efficient, the choice for manufacturers is between agility and finality.

That’s why today a variety of computer-based systems are used to operate plants as well as to improve their efficiency. In most plants, multiple varieties of hardware and software systems provide machine and process control, information management, and decision support. These systems enable manufacturers to operate their businesses more effectively and add value to the raw materials they process. Without these systems, many highly engineered consumer and industrial products simply would not exist, because of the complexities involved in their manufacture.

Unfortunately, even today, in most plants these systems operate independently. This hinders a plant manager’s ability to synchronize and control production and business processes in a real- time

environment. In other words, the majority of manufacturers have not successfully integrated the functionalities of automation/business/information systems into a single, unified infrastructure.

In the past, this has been an expensive and time-consuming process. Those that have successfully integrated have done so at great cost in terms of money and resources. Moreover, despite the huge investments made by companies in these systems over the years, managers still find it difficult to quantify resulting tangible benefits.

Wonderware Training

Page 27: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Wonderware System Platform 1-23

The most compelling aspect of the problem now facing manufacturers is that the underlying technology of these systems is rapidly becoming obsolete. As general technology lifecycles shorten, manufacturers are pressed to procure and integrate new technologies with ever- increasing speed — making the ultimate goal of productivity improvement even more difficult to achieve.

In most plants today, “islands of automation” within business and manufacturing systems hinder the plant manager’s ability to synchronize business processes in real time.

Recognizing this challenge, Invensys has developed a solution, ArchestrA™ automation and information architecture (ArchestrA).

A powerful new infrastructure for industrial applications, ArchestrA promises to provide an information and control superstructure that will increase the productivity of a plant’s existing systems, while enabling the plant to easily integrate important new technologies over the longer term. Building on ArchestrA research and technology, the recently released I/A Series A2™ system (I/A Series A2) has taken the first major step toward reducing the risk of automation obsolescence and protecting manufacturers’ investments far into the future.

Wonderware System Platform 3.0 Course - Part 1

Page 28: Manual Wsp 3 Part 1-Rev a Gold

1-24 Module 1 – Introduction

Manufacturing Goals

For approximately a decade, manufacturers have been revising business practices, organization charts, and systems infrastructures to become more market-driven and customer-centric. Their overall objectives have been straightforward and consistent:

� Become more responsive to market shifts and the increased competition brought on by globalization

� Develop greater agility and a more collaborative, data-driven environment•

� Synchronize the manufacturing process with planning and scheduling functions to optimize enterprise performance

� Empower operators with critical information to foster improved plant performance

� Utilize existing assets more efficiently to increase production, without the need to expand the plant or build new capacity

� Ensure the greatest possible return on assets, and improve profitability, in the face of continuing manpower reductions

To achieve these goals, managers know they can no longer simply "invest in technology" and expect improvements to come about automatically. In fact, millions of dollars have already been invested with only marginal returns. However, management cannot afford to stand still, because there are significant rewards to be reaped by those who develop improved responsiveness, greater agility, and a higher return on assets.

Compounding the problem, many of yesterday’s automation and information systems are beginning to show their age, failing to offer the agility or rapid response that today’s producers require. Acting as a massive anchor, they actually impede the organization’s forward progress as they increasingly require greater amounts of maintenance and the corresponding expansion of infrastructure support. But the original investment in these systems was so extensive — and so visible to owners and investors — that it is understandably difficult to broach the subject of "bulldozing" and starting over with the latest generation of technology. Further, it means not only eliminating extensive hardware infrastructure, but also destroying an asset that is even more valuable — the intellectual capital unique to the manufacturing mission.

Synchronization of Systems

Today’s collaborative manufacturing environment requires that manufacturers synchronize automation systems with business/information systems to accomplish total supply chain management.

To facilitate this collaborative environment, many manufacturers are working toward a rational, cost-effective solution that does not require enormous investment and allows for the preservation of as much existing infrastructure as possible. They are preserving, to the maximum extent feasible, existing investments in hardware and software, as well as in intellectual properties contained in application-specific software. They are working to synchronize the various informational elements within the manufacturing domain, namely automation systems, business systems, and information systems, thereby fulfilling these systems’ original promise of improved manufacturing efficiency. They are identifying optimal long-term strategies based on total cost of ownership.

The pace of change has increased to a point at which it is difficult for manufacturers to execute a new strategy before market conditions change once again. Today’s manufacturer, however, must have the ability to respond to challenges that are virtually unanticipated. Response times have now become the cornerstones of manufacturing competitiveness, and will remain so for the foreseeable future.

Wonderware Training

Page 29: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Wonderware System Platform 1-25

The challenge has been to develop an architectural infrastructure that optimizes quality, customer satisfaction, and efficiency of operation, while facilitating quick response and easy reengineering. And to identify and deploy a plant information superstructure that embraces existing systems while providing expansion capabilities for the long term.

Such an architectural infrastructure is available through ArchestrA. This allows manufacturers to:

� Preserve a significant portion of their existing automation and information infrastructures

� Integrate and synchronize existing production systems and new applications

� Move ahead into the future, confident of shorter project execution times, reduced total cost of ownership, and a proven, long-term strategy that will remain in a leadership position for the life of the plant.

ArchestrA Architecture

ArchestrA, developed by Invensys, is a software infrastructure designed to unify combinations of Invensys, third-party, and customer internal applications, both current and emerging, into a synchronized, plant-level application model, and to foster their ongoing adaptation and improvement. It comprises a unique combination of new toolsets and new applications infrastructure services, allowing the rapid generation of new applications, products, and services. Because it enables easy upgrades via integration of existing systems with these new technologies, it offers manufacturers the promise of extending the lifecycle of an entire plant’s information and control system infrastructure.

ArchestrA facilitates the next logical extension of enabling software architecture designed to accommodate emerging technologies and to ease the reuse of engineering from one project to another. The objective of this unique technology is to dramatically reduce engineering and maintenance time and expense when a manufacturer must modify or expand his company’s process. Incorporating ArchestrA will considerably reduce the cost and time involved in executing strategic change.

Wonderware System Platform 3.0 Course - Part 1

Page 30: Manual Wsp 3 Part 1-Rev a Gold

1-26 Module 1 – Introduction

ArchestrA enables manufacturers to synchronize the various informational elements within the manufacturing domain and supply the information required by business systems in real time.

ArchestrA provides a number of key functions designed to free users from the complexities of dealing with current underlying technologies. So users require only assembly skills, not sophisticated programming knowledge, and are able to apply their time to functions in which they have more expertise. By embedding common application services directly into a common infrastructure, application engineers can design and reuse solutions that are instantly integrated. The key elements of the software infrastructure are the following:

� Common design and development environment

� Deployment, scripting, and calculation services

� Alarm and event subsystems with reliable delivery

� Built-in distributed architecture services for scalability

� Integration with various types of field devices

� Inter-object communication and name service management

� Version management services

� Security model services

� Centralized license management and deployment services

� Centralized system diagnostics and administration

� Internationalization of objects and application services

� Graphical user interface (GUI) editing services

Automation Information Pyramid

ArchestrA supports all layers of industry standard models. It is the basis for Supervisory, Production and Plant Intelligence solutions. In addition, it extends functionality across the enterprise enabling true manufacturing collaboration. The Automation Information Pyramid illustrates these points. It displays the complete effectiveness of ArchestrA across all levels of the manufacturing environment:

1. Plant Floor Connectivity

2. Supervisory

3. Production

4. Plant Intelligence

5. Manufacturing Collaboration

The following page illustrates these segments as they relate to the Automation Information Pyramid.

Wonderware Training

Page 31: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Wonderware System Platform 1-27

Manufacturing Collaboration

Plant Intelligence

Production

Supervisory

Plant Floor Connectivity

Wonderware System Platform 3.0 Course - Part 1

Page 32: Manual Wsp 3 Part 1-Rev a Gold

1-28 Module 1 – Introduction

Scalability

Wonderware Application Server provides a scalable and integrated architecture to meet the needs of small, simple applications all the way up to highly challenging manufacturing information management systems.

Wonderware Application Server resolves the problems associated with scaling automation applications because there are no limitations on system size and performance issues are easily addressed through the introduction of new nodes. New workstations and any data points defined are automatically integrated into the initial application through the plant model. The common distributed peer-to-peer Namespace means that all information is shared between the nodes without the user having to perform any additional engineering or configuration.

Object Oriented vs. Tag Based Supervisory Control

There are several fundamental differences between Object-oriented and traditional Tag based HMI and SCADA products. The following table illustrates the differences in how various processes are managed in Object Oriented vs. Tag Based systems.

Process Object Oriented Tag Based Structure Hierarchical Flat Graphics Development Done Last Done Early Background Process Developed in Objects Developed in Tags Promotion of Standards Strictly Enforced Not Strictly Enforced Global Application Change Progagated from Templates Changed in Tools like Excel Data Represented By Physical Devices as Objects Data Types and communication

Bits as Tags

From the inception of PC-based HMI and Supervisory products, the development of data access, scripting, alarming and data analysis has been based on the concept of tags. While simple and very portable from one project to another, a tag-based environment has the downfall of a flat Namespace, with no inherent ability to link elements together into more intelligent structures, with built in relationships and interdependencies. Global changes to a tag database are typically done externally to the development environment, in tools like Microsoft Excel or as a text file and then re-imported into the application. Reuse in a tag-based system is commonly instituted through dynamic or client-server referencing, that allows a common graphic to be created. Then a script is executed to switch the tags being viewed in run-time. Furthermore, because of the flat structure of the application, changes need to be sought out and analyzed as to the affect on the rest of the application.

Use of the word "Object-oriented" with SCADA

The phrase "Object-oriented SCADA" has been with us since the early 1990's. It is mostly used today to refer to the ability to build graphics and draw pictures based on classes or a hierarchy. This is referred to as Object Oriented Graphics. This allows you to build a symbol and replicate it across a screen or HMI application and have visual changes made to all the similar symbols at the same time. This is useful functionality, but SCADA applications are more than just pretty pictures. For example, the majority of work that goes into a supervisory application is for things like:

� Alarm Monitoring

Wonderware Training

Page 33: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Wonderware System Platform 1-29

� Animation Scripts

� Security Scripts

� Supervisory Scripts

� Historical data storage

� Integration with other applications and Databases

� Event Detection

� Flow and movement calculations

� Device integration

In order to fully realize the benefit of an Object-oriented architecture, a SCADA System today needs to depict all of these things, along with the graphics as objects.

Types of objects

In object-oriented SCADA, objects contain the aspects or parameters associated with the device they represent. For example, a valve object can contain all the events, alarms, security, communications and scripting associated with a device. Objects don't just represent plant equipment. They can also model common calculations, database access methods, Key Performance Indicators (KPIs), condition monitoring events, ERP data transfer operations and many more things that you want the plant information system to do. Because these operations are modular, it is easy to add them to any and all parts of the application. For example, let's say that there is a standard way your organization calculates and initiates a maintenance work order for a pump. By encapsulating this function as an object, it is possible to use it with any pump in the application.

Wonderware System Platform 3.0 Course - Part 1

Page 34: Manual Wsp 3 Part 1-Rev a Gold

1-30 Module 1 – Introduction

Using object-oriented tools in manufacturing applic ations

Manufacturing applications typically have a lot of common components. These include common types of:

� Plant devices and equipment

� Operating procedures

� Process measurements

� Calculations

� Graphics displays

This leads to a cookie cutter approach, where typically small software programs are developed as objects/code modules that can be stamped out and joined together to form an application. Almost all of the automation vendors have this capability today with their software. Where an object- oriented SCADA System is different, is that after the cookies are stamped out, you can change the stamp, and all of the cookies you already made are automatically changed.

This is possible because when a SCADA package is truly object-oriented, it has the notion of a parent-child relationship, where parent templates are developed and then "Child Objects" are replicated or instantiated from the parent templates. Now all of the children are tied back to the parent, so a change in the parent can be replicated to all of the children. This is an extremely powerful development capability in that:

� Application creation is optimized by using parent Templates and automated child object replication

� Project change orders are easily accommodated by making changes in the parent template and having the child objects inherit the changes via change propagation

� Ongoing system changes and expansions are easier and more cost effective because of automated object replication and change propagation

Wonderware Training

Page 35: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Wonderware System Platform 1-31

Traditional, Tag Based SCADA Development Process

From the inception of PC based HMI and SCADA software, users have built operator graphics and linked them to tags, which represented addresses in a PLC or a control system. The concentration was on the computer and the software application. Here is an example of how a traditional tag- based SCADA application is developed.

1. A new HMI application is created on a single computer

2. Windows or displays are created for the application

3. Graphics are created for the windows

4. Tag definitions are imported from the PLC or manually configured

5. Alarm and Event Detection Scripts are defined for each tag

6. Tags are linked to graphic elements

7. Graphics animation scripts or links are created

8. IO Tags are defined and linked to the application

9. If the application is to be deployed in a client-server environment, the application is re- architected to centralize alarming, event detection, history archiving, graphics and IO servers.

10. Changes to the system require shutting down the application, making changes to the many scripts and tag database references to enable the new functionality, and reloading the new HMI application on each workstation.

Object oriented Development Process- graphics are c reated last

Wonderware Application Server and the ArchestrA Integrated Development Environment (IDE) have brought a new era to SCADA Software development through the ability to create a complete plant device model. The developer is abstracted from the complexities of the computing environment and allowed to concentrate on "modeling" how the production facility is laid out and the different manufacturing cells and processes that comprise plant-wide supervisory control. Once the plant model is captured, it is easy to implement supervisory control functions. A small investment in creating Templates yields big results in engineering productivity. The ten easy steps to creating a supervisory application using the Application Server are:

1. A site survey is conducted to understand the layout of the manufacturing operation or process. Piping and Instrument Diagrams (P&ID) can also be referenced to understand the specific equipment in use.

2. A list is developed of similar pieces of equipment, like common types of motors, valves, transmitters, control loops, drives, etc. Distinct areas of operation are also identified.

3. Templates are configured for each common device or component in the facility. For example, there may be 100 transmitters of a particular type that can be modeled as a single device template. This process sets up the standards for the supervisory application and for any applications that are created in the future. These templates will be used to develop objects which represent a specific device, such as a level transmitter LIC101. In addition, templates contain all of the logic, input/outputs, scripting, history configuration, security and alarms and events for the device.

4. Device templates can be contained within each other to build-up a more complicated device, for example, a mixer may contain a level transmitter, pump, inlet / drain valves and agitator.

Wonderware System Platform 3.0 Course - Part 1

Page 36: Manual Wsp 3 Part 1-Rev a Gold

1-32 Module 1 – Introduction

5. Device templates have attributes which represent real I/O available in the PLC or control system. These attributes are then linked to the I/O through Device Integration Objects.

6. The application can then be assembled by using a simple drag and drop capability inside if the ArchestrA IDE. As templates are dropped into their individual plant areas, an object instance is created that is linked back to the template. This is the "Object-Oriented" nature of the Application Server, which provides incredible power when it comes time to modify anything in the system. The software does all the work as the user is simply configuring templates that represent the equipment in the plant.

7. Objects are then assigned to security groups. This can be done on an individual basis or by area of the plant. These security groups have common permissions. Roles are created to map rights onto each security group. Users can be given one or more roles. This offers a great amount of flexibility in changing user permissions and in managing the security model.

8. The model created in the ArchestrA IDE can now be deployed to the computers that will host the application. Notice that absolutely no consideration needs to be given to how the supervisory stations are going to be laid-out or which computer needs to have a specific part of the system running on it. The Application Server is a fully distributed system, which can reside on a single computer or on hundreds of computers. Standard system objects, such as Platforms and Engines, represent specific computers that are used to host objects when they are deployed.

9. Graphics are then configured using InTouch®, the world's most popular HMI software package. This can also be done using the Smart-Symbol functionality contained in InTouch 9.0 SP 2 which allows a graphic element to be created and linked to a template in the ArchestrA IDE. That way the display graphics are also object-oriented and tightly coupled to the plant model.

10. Once the application is developed, maintenance of the system is easy. Changes made to Templates can be propagated to the "Child Objects" linked to the Templates. For example, if the

units associated with a level transmitter need to change from gallons to liters, this can be done once in the template, and the changes can automatically propagate to all the operator

displays in the plant.

Wonderware Training

Page 37: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Wonderware System Platform 1-33

Plant Model for Developing Application Server Cours e Application

In this course, the manufacturing environment that is modeled centers on a Plant with various Tanks and assorted Tank related components. Initial focus is on one Area of the Plant and model that Tank System in the Integrated Development Environment (IDE) of the Application Server. Templates are then developed which allow for the simple creation of multiple instances of your Tank System.

The following Figure illustrates the Tank System Model that created in the application developed throughout the course of this class.

AGITATOR

LIT

INLET 1 PUMP 1

TT

INLET 2

PUMP 2

OUTLET

What is a Galaxy?

It’s important to understand what a Galaxy is before one is created. A Galaxy is your whole application. The complete ArchestrA system consisting of a single logical name space and a collection of WinPlatforms, AppEngines and objects. One or more networked PC’s that constitute an automation system. It defines the name space that all components and objects live in and defines the common set of system level policies that all components and objects comply with.

A Galaxy Database is the relational database containing all persistent configuration information for all objects in a Galaxy.

And a Galaxy Repository is the software sub-system consisting of one or more Galaxy Databases.

Wonderware System Platform 3.0 Course - Part 1

Page 38: Manual Wsp 3 Part 1-Rev a Gold

1-34 Module 1 – Introduction

Creating a Galaxy

Each ArchestrA IDE session requires connection to a specified Galaxy. In other words, the ArchestrA IDE cannot be started in a Galaxy-neutral state. When you attempt to start the ArchestrA IDE, the Connect to Galaxy dialog box is displayed.

This dialog box is comprised of three groups of options:

� Galaxy Repository/Galaxy connect selections: This consists of the GR Node Name and Galaxy Name boxes.

� Action buttons: Connect, New Galaxy, Delete Galaxy, About and Cancel.

� Licensing information

If the Galaxy Name box is empty, you have not yet created a Galaxy on the computer shown in the GR Node Name box. Before you can start the ArchestrA IDE, you must either browse for a Galaxy on another node or create a new Galaxy.

All new Galaxies are created with no security. They also have the following characteristics: two users (DefaultUser and Administrator, both with full access to everything), two security roles (Default and Administrator, both with full privileges) and one security group (Default).

If you previously created one Galaxy on the GR node shown, the Galaxy’s name is automatically shown. Click Connect to start the ArchestrA IDE and to connect to that Galaxy. If you previously created more than one Galaxy on the GR node shown, the most recently accessed Galaxy name is shown. Choose the desired Galaxy from the Galaxy Name list and click Connect to start the ArchestrA IDE and to connect to that Galaxy.

Wonderware Training

Page 39: Manual Wsp 3 Part 1-Rev a Gold

Lab 1 – Creating a Galaxy 1-35

Lab 1 – Creating a Galaxy

Introduction

This lab illustrates the steps necessary to create a default Galaxy and open the ArchestrA Integrated Development Environment (ArchestrA IDE). Throughout this class you will use this Galaxy to develop a sample application.

Objectives

Upon completion of this lab you should be able to:

� Create a Galaxy

� Open the ArchestrA development environment

Note: To better facilitate the clarity of individual work in this training environment, because of the Global Naming Space, ALWAYS preface the object name with your FIRST and LAST initial. (e.g., if the user is Ann Brown, Valve would be ABValve )

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.

Create a Galaxy

1. Create a new Galaxy named <your initials>Galaxy .

2. Connect to the new Galaxy and open the ArchestrA development environment.

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 40: Manual Wsp 3 Part 1-Rev a Gold

1-36 Module 1 – Introduction

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Create a Galaxy

1. Launch the Integrated Development Environment by selecting Start / All Programs / Wonderware / ArchestrA IDE. This will display the Connect To Galaxy dialog box.

The GR node name field will reflect the name of the local computer.

The Galaxy name drop-down list is initially empty since there are no Galaxies created in this node.

2. Click the New Galaxy button to create a new Galaxy. The New Galaxy dialog box is displayed.

Note: The different Galaxy types will be discussed later.

Wonderware Training

Page 41: Manual Wsp 3 Part 1-Rev a Gold

Lab 1 – Creating a Galaxy 1-37

3. For Galaxy name enter the ABGalaxy and make sure Galaxy type is set to Base_Application_Server.cab .

This must be the node that contains the Galaxy Repository (the Host name of the computer).

4. Click the Create button to continue.

This will display the Create Galaxy dialog box indicating the progress on creating the new Galaxy.

Wonderware System Platform 3.0 Course - Part 1

Page 42: Manual Wsp 3 Part 1-Rev a Gold

1-38 Module 1 – Introduction

5. As soon as the process is complete and the Close button is enabled, click Close .

6. At the Connect To Galaxy dialog box the name of the newly created Galaxy, ABGalaxy , is displayed in the Galaxy name drop-down list.

Click the Connect button.

Wonderware Training

Page 43: Manual Wsp 3 Part 1-Rev a Gold

Lab 1 – Creating a Galaxy 1-39

This closes the Connect To Galaxy dialog box and displays the Integrated Development Environment (ArchestrA IDE).

Wonderware System Platform 3.0 Course - Part 1

Page 44: Manual Wsp 3 Part 1-Rev a Gold

1-40 Module 1 – Introduction

– Intentionally left blank –

Wonderware Training

Page 45: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-41

Section 3 – The ArchestrA IDE

Section Objectives

� Discuss ArchestrA IDE

� Introduce the Template Toolbox and Application Views

� Discuss the object Check-in/Check-out process.

This section provides an overview of the ArchestrA IDE, the Template Toolbox and Application Views and the object Check-in/Check-out process.

The ArchestrA IDE User Interface

The Integrated Development Environment (IDE) is the integrated design and development tool from which all ArchestrA objects are configured and deployed to target PCs. It is used to maintain and configure the objects that comprise your application and the underlying infrastructure that supports your application.

Using the ArchestrA IDE, you can import new types of objects in to the Galaxy Repository, configure new ones, and deploy them to PCs on your network. Multiple users can work concurrently on different sets of objects from different ArchestrA IDEs.

The ArchestrA IDE can be installed on any PC that has ArchestrA’s Bootstrap software installed.

Key Functions of the ArchestrA IDE

The Main Window is the user interface in which you can create your application and deploy it to your enterprise. This main window provides the key platform where a wealth of functionality capability can be accessed and configured. Some of these key functions include the following.

� Galaxy Configuration

� Connect to an existing Galaxy on the network

� Create a new Galaxy

� Destroy a Galaxy

� Import/Export Objects (aaPackage, .csv)

� Import/Export script function libraries (.dll, .tlb, .olb, .wdf, .aaSLIB)

� Security Configuration

� Configure User security

� Configure Object security

� Object Configuration

� Create new objects

� Check out objects

� Edit objects

� Configure Historization through objects

� Configure objects for Alarms and Events

� Extending object functionality

� Check in objects with comments

� Deploy/undeploy objects

� Propagate changes to runtime objects

� View object’s configuration errors/warnings

Wonderware System Platform 3.0 Course - Part 1

Page 46: Manual Wsp 3 Part 1-Rev a Gold

1-42 Module 1 – Introduction

� Upload runtime changes to Galaxy database

� IDE Configuration

� Set user preferences

� Create a Tool Box

As the main aspects of the ArchestrA IDE Main View (e.g., Menu options, Toolbars, Template Toolbar and Application Views, etc.) are identified and discussed, they are elaborated on in greater detail as to how these Key Functions can be used

The ArchestrA IDE User Interface

Main View

The Main Window of the ArchestrA IDE is composed of the following components:

� Title bar

� Menu bar

� Toolbar

� Template Toolbox

� Application Views

� Object Editor Area

� Operations View

� Status bar

Wonderware Training

Page 47: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-43

When you first log in to the ArchestrA IDE, the Main Window displays the Template Toolbox and Application Views docked on the left, the Toolbar docked at the top, and the Object Editor Client Area on the right. Upon subsequent logins by the same user, the Main Window displays the positions for these controls as they were at the end of the last log in session.

The Title Bar displays the name of the utility. The other elements of the Main Window are described below.

Menu Bar

The ArchestrA IDE Menu Bar is a dynamic element that includes the following menus:

Galaxy, Edit, View, Object, Window , and Help . Depending on what object or Main Window element is in focus, what condition it is in, or whether certain functions are logically permitted, some menu commands may be deactivated. The following is a description of menu commands.

Galaxy menu – Providing Galaxy or user-level global commands, the Galaxy menu includes the following:

� New – For creating a new Instance, Derived Template, or Template Toolset.

� Open – For opening the editor of the object in focus. The editor appears in the Object Editor Client Area of the Main Window.

� Open Read-Only – For opening the editor of the object in focus, but only in read-only mode. There are several conditions that can place this restriction on opening an object’s editor. One example would be when the object is checked out to someone else. Additionally, if you do not have configuration permissions for the object in question.

Wonderware System Platform 3.0 Course - Part 1

Page 48: Manual Wsp 3 Part 1-Rev a Gold

1-44 Module 1 – Introduction

� Close – For terminating the object edit session in focus. This command is available only if the editor for one or more objects is open. If the object has been modified, you are prompted to save the new data to the Galaxy Repository. The same validation scenario applies as described in the Save menu command.

� Import – For importing Automation Objects, Script Function Library, and Galaxy Loads.

� Export – For exporting Automation Objects, All Automation Objects, Script Function Libraries, and a Galaxy Dump.

� Save – For saving the currently-opened object’s configuration, which is persisted to the Galaxy Repository. This command is available only if the editor for at least one object is

open and configuration data has been modified in at least one of them. Validation occurs on the editor level; if errors or warnings are identified during validation, they are displayed

in a message box and the user is given the choice to continue saving or cancel the save.

� Save All – For saving ALL the currently-opened object’s configuration, which is persisted to the Galaxy Repository. This command is available only if the editor for at least one object is open and configuration data has been modified in at least one of them. Validation occurs on the editor level; if errors or warnings are identified during validation, they are displayed in a message box and the user is given the choice to continue saving or cancel the save.

� Configure – For configuring Security, the Time Master, or to Customize Toolsets.

� Galaxy Status – For viewing information relating to the Galaxy such as the total number of instances, total number of templates and other related Galaxy information.

� Properties – For viewing the properties of the object in focus.

� Change Galaxy – For selecting a Galaxy repository that is different from the one to which you are currently connected, this command opens the Select Galaxy dialog box.

� Change User – For changing the logged in user of this ArchestrA IDE, this command opens the ArchestrA IDE Login dialog box.

Edit menu – providing edit capabilities, the Edit menu includes the following commands:

� Rename – For renaming the object in focus.

� Rename Contained Name – For renaming the contained name of the object in focus.

� Delete – For deleting the object in focus.

� Find – For locating specific items of information based on a variety of configurable search criteria.

� User Information – For viewing the Prompts, Initial Scan State, Scan State Defaults, and User Defaults.

Wonderware Training

Page 49: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-45

View menu – similar to a standard Microsoft View menu, this menu provides commands for controlling the Main Window display. On your initial ArchestrA IDE login, all four Main Window components listed below are visible (checked) and the client language is set to the one chosen during installation. Subsequent logins by the same user implement the previously saved ArchestrA IDE settings. This menu includes the following commands:

� Model – For bringing focus to the Model view of the Main Window.

� Deployment – For bringing focus to the Deployment view of the Main Window.

� Derivation – For bringing focus to the Derivation view of the Main Window.

� Template Toolbox – For bringing focus to the Template Toolbox of the Main Window.

� Graphic Toolbox – For bringing focus to the Graphic Toolbox of the Main Window.

� Operations – For displaying the progress and results of a set of Galaxy database operations that can be done at the same time as other application-building operations.

� Synchronize Views – For specifying that a selected object stay selected as you move through the views.

� Reset Layout – For resetting everything back to its original default locations.

� Toolbars – For toggling on/off the Toolbar of the Main Window.

� Status Bar – For toggling on/off the Status Bar of the Main Window.

Wonderware System Platform 3.0 Course - Part 1

Page 50: Manual Wsp 3 Part 1-Rev a Gold

1-46 Module 1 – Introduction

Objects menu – the Objects menu includes the following commands:

� Check-Out – For checking out an object from the Galaxy Repository so that you can maintain sole authority to configure that object. Nobody else connected to the Galaxy can affect the configuration of the object until you have checked it back in to the Galaxy.

� Check-In – For checking in to the Galaxy Repository an object which was previously checked out. This command opens the Check-In Object dialog box.

� Undo Check-Out – For reversing a previous check-out without affecting the configuration of the object in question. The result of this command is the object can be checked out by anyone connected to the Galaxy.

� Override Check Out – Use this command to disable the checked out flag on the selected object. This command typically requires special security permissions and should be used only in those circumstances in which it is certain that object configuration is not being done by the user who originally checked out the object. If the object’s editor is currently open, the override function fails.

� Validate – For checking allowable attribute value ranges, compiling its scripts, updating and binding its references, validating its extensions, updating its status, and validating other configuration parameters that may be unique to the object.

Note: See “Validating Objects” on page 1-49 for additional information regarding this feature.

� View in Object Viewer – For allowing the evaluation of attributes and conditions when the

objects are deployed. It provides a visual display of the actions being executed.

� Deploy – For deploying the object or objects currently in focus to the nodes their configurations denote, this command opens the Deploy Object dialog box.

� Undeploy – For undeploying the object or objects currently in focus from the nodes that currently host them, this command opens the Undeploy Object dialog box.

� Assign To – For assigning objects to a different platform.

� Unassign – For unassigning objects to a different platform.

� Set As Default – For setting a System Object, such as WinPlatform or AppEngine, as the default for assigning appropriate objects.

Wonderware Training

Page 51: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-47

� Upload Runtime Changes – For uploading a deployed object’s configuration to the Galaxy Repository. This function is useful when changes to certain attributes (Writeable_UC, Writeable_UC_Lockable, Writeable_USC, Writeable_USC_Lockable) are made in the configuration environment, but at a later time, the runtime object’s configuration is determined to be preferred. Select the desired object and click Upload. The runtime configuration overwrites the configuration environment data in the Galaxy Repository.

Window menu – For manipulating the Object Editor Client Area of the Main Window, this menu is available if at least one object’s editor is open. This menu includes the following commands:

� Cascade – Standard Windows command for cascading (layering) multiple object editors.

� Tile Horizontally – Standard Windows command for displaying the editors horizontally.

� Tile Vertically – Standard Windows command for displaying the editors vertically.

� Close All – For closing all open object editors. If any data was changed on any editor, you are prompted to save those changes individually for each editor.

� Windows – For selecting through a separate dialog box which editors to activate or how they are to be displayed.

Help menu – similar to a standard MS Help menu, the ArchestrA IDE Help menu includes the following commands:

� Help Topics – Standard Help command, used for opening the ArchestrA IDE’s HTML Help documentation system.

� Object Help – Provides information about the object in focus.

� About ArchestrA IDE – Opens the About ArchestrA IDE dialog box which provides software version and copyright information.

Operations Pane

The Operations pane displays the progress and results of a set of Galaxy database operations that can be done at the same time as other application-building operations. Currently, validating the configuration of objects is the only operation that uses this pane.

Important! Validation can be done on both templates and instances, but only on those that are checked in.

Wonderware System Platform 3.0 Course - Part 1

Page 52: Manual Wsp 3 Part 1-Rev a Gold

1-48 Module 1 – Introduction

Validating an object checks its configuration; that includes checking allowable attribute value ranges, compiling its scripts, updating and binding its references, validating its extensions, updating its status, and validating other configuration parameters that may be unique to the object.

Note: A primary use of validation is to validate objects that were configured prior to the importing of relevant script libraries. Such objects would have a status of Bad. Validating these Bad objects corrects references to the script libraries and updates their status to Good.

To display the Operations pane, either

� Right-click on an object (multi-select is allowed) and click Validate on the shortcut menu.

� Click Operations on the View menu.

The following pane is then displayed in the Main Window.

To hide the Operations pane, click the X close button.

During the validation of an object, its icon and name are displayed along with the status of the operation. The status of the object (Status column) is dynamically represented by an icon: no icon indicates Good status, an Error or Warning icon indicates either of those states. When validation is complete, the Command Result column displays either a "Succeeded" or "Failed" message, which may contain additional information about the validation results.

Note: You can validate all objects in the Galaxy by running the Validate operation on the Galaxy object. In that case, Command Result messages are displayed after all objects in the Galaxy are validated.

If multiple objects are validated, the list of objects is sorted by object name. You can click a column heading to re-sort according to alphanumeric or icon groupings. Use the check mark column heading to sort for objects that are checked out and, therefore, cannot be validated. The object’s icon indicates checked out status with a check mark.

You can perform any operation on an object listed in the Operations pane that is possible in the Template Toolbox or Application Views . Right-click on the object and select commands from the

shortcut menu. You can open an object's editor from the Operations pane by double-clicking it. To view an object’s properties (particularly, the Errors/Warnings page of the Properties dialog box), double-click its status icon. You can also copy a line of text in the Operations pane list by clicking Copy from the shortcut menu (or Ctrl+C). The Operations pane, like the Template Toolbox and Applications Views , is also updated as the status and conditions of objects in the Galaxy change.

Wonderware Training

Page 53: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-49

Validating Objects

Each object in a Galaxy has a set of possible configurations that authorizes its proper use in an application. That set of configuration possibilities is validated by the object either while you are configuring it or when you save that configuration to the Galaxy database.

Validation of an object’s configuration includes checking allowable attribute value ranges, compiling its scripts, updating and binding its references, validating its extensions, updating its status, and validating other configuration parameters that may be unique to the object.

Typically, each option on an object’s editor that requires a string or numeric input has an allowable range of inputs. If you type an input outside the allowable range and then attempt to change editor page, close the editor or save the object’s configuration, a message is displayed about the input error indicating the allowable range.

Some configuration settings are dependent on associations with external components, such as script function libraries and relative references to other objects’ attributes. The status of these external components can change, perhaps rendering some capability of the object inoperative.

For instance, an object may refer to a value of an attribute of another object, which is subsequently deleted. That scenario would break the configuration of the remaining object. Objects may be configured prior to the importing of associated script function libraries. In each case, the object would have a status of Bad. You can verify that an object’s configuration is valid and reset its status to Good by manually validating it with the Validate command on the Object menu.

Manual Validation

To manually validate one or more objects, select the object(s) and click Validate on the shortcut menu (by right-clicking the object) or on the Object menu. You can select objects from the Template Toolbox , the Application Views or the Find dialog box.

Important! Manual validation can be done on both templates and instances, but only on those that are checked in.

Using the Find dialog together with the Validate command is an especially useful tactic. For instance, you can find objects in Error state, select them all, right-click on one of them, and click Validate on the shortcut menu.

The Validate command opens the Operations pane in the ArchestrA IDE. See section on Operations Pane for more information.

Only one validation operation can be run at a time. But you can multi-select more than one object for each validation operation. The set of objects are validated serially.

Note: Validation operations cannot be canceled.

Continue using the ArchestrA IDE to perform other operations, if necessary, while validation is ongoing, including work on objects in the validation set. If an object is not available for validation when the command is initiated on it, validation is not be performed. Also, if validation is in process on an object, other operations initiated by you on the object fail. Failure to perform validation on an object is indicated in the Command Results column of the Operations pane.

To validate all objects in the Galaxy, validate the Galaxy object.

Wonderware System Platform 3.0 Course - Part 1

Page 54: Manual Wsp 3 Part 1-Rev a Gold

1-50 Module 1 – Introduction

Toolbar

The ArchestrA IDE Toolbar consists of icons for quick access to frequently used commands. It is shown below, and each icon, from left to right, is described afterwards. The description titles associated with each below are based on the tool tip that appears when you hover over each Toolbar icon.

Change Galaxy – For selecting a Galaxy repository that is different from the one to which you are currently connected, this command opens the Select Galaxy dialog box.

Import Automation Object – For importing a template definition file (.aapdf). This command opens the standard Microsoft Open dialog box with the default file extension (.aapdf). One or more files can be selected at a time. Validation is done with regard to the selected file(s) being a valid template definition file. A progress indicator then provides a visual view of the importing process. After the file(s) is imported, one or more new objects is added to Galaxy Repository and the Template Toolbox displays the new object(s).

Open – For opening the editor of the object in focus. The editor appears in the Object Editor Client Area of the Main Window.

Save – For saving the currently-opened object’s configuration, which is persisted to the Galaxy Repository. This command is available only if the editor for at least one object is open and configuration data has been modified in at least one of them. Validation occurs on the editor level; if errors or warnings are identified during validation, they are displayed in a message box and the user is given the choice to continue saving or cancel the save.

Find – For locating specific objects based on a variety of configurable search criteria.

Check-Out – For checking out an object from the Galaxy Repository so that you can maintain sole authority to configure that object. Nobody else connected to the Galaxy can affect the configuration of the object until you have checked it back in to the Galaxy.

Check-In – For checking in to the Galaxy Repository an object which was previously checked out. This command opens the Check-In Object dialog box.

Undo Check-Out – For changing an object’s status from checked out to checked in. Afterwards, any user can check out and configure the object. Undo Check Out places a notation in the object’s change log. Changes you made to the object when it was checked out are backed out. An error message is displayed when the object’s configuration editor is open.

Properties – For accessing the properties of the object in focus.

Wonderware Training

Page 55: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-51

Deploy – For deploying the object or objects currently in focus to the nodes their configurations denote, this command opens the Deploy Object dialog box.

Undeploy – For undeploying the object or objects currently in focus from the nodes that currently host them, this command opens the Undeploy Object dialog box.

Delete – For deleting the object in focus.

Customize Toolsets – For maintaining the toolset categories displayed in the Template Toolbox, this command opens the Customize Toolsets dialog box.

User Information – For configuring global user preferences for the ArchestrA IDE. Using this command opens the Configure User Information dialog box.

Galaxy Status – For accessing the status of the current Galaxy.

Model View – For displaying the Model view in the Main Window.

Deployment View – For displaying the Deployment view in the Main Window.

Derivation View – For displaying the Derivation view in the Main Window.

Template Toolbox – For displaying the Template Toolbox in the Main Window.

Graphic Toolbox – For displaying the Graphic Toolbox in the Main Window.

Operations View – For displaying the Operations View in the Main Window.

IDE Help – Standard Help command, used for opening the IDE’s HTML Help documentation system.

The availability of the previously described icons is dynamic depending on which part of the ArchestrA IDE’s Main Window is in focus, whether a particular action is allowed, or whether something has been changed in the configuration environment. Depending on these conditions, some icons may be unavailable.

Template Toolbox

This part of the Main Window hosts object template toolsets, which contain object Templates, from which instances are created or other object templates are derived. The Template Toolbox contains separate toolset bars for each toolset in the Galaxy Repository. Click the toolset bar to open that toolset and display the object templates contained in the chosen toolset.

Wonderware System Platform 3.0 Course - Part 1

Page 56: Manual Wsp 3 Part 1-Rev a Gold

1-52 Module 1 – Introduction

When you first log in, the default toolset with default object templates is opened. Once a user has logged in to the Galaxy Repository, the Template Toolbox is loaded with the toolset that was displayed during the last login session.

An example of a Template Toolbox view is as follows:

The items with “$” prefixes are templates or templates which were derived from other templates.

Wonderware Training

Page 57: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-53

Application Views

The Application Views pane displays the galaxy configuration based on how an object is related to other objects:

� Model View - This defines the Object relationship to the automation scheme layout. The Objects are organized into Areas to represent the physical plant layout.

� Deployment View - This view defines the Object instance relationship to the PC that the Object code is running on.

� Derivation View - This view displays what the derivation path is from Base Template to Instance. All templates and instances are displayed in this view.

The Model view is the default display when the ArchestrA IDE is first launched. Subsequent ArchestrA IDE sessions retain the user’s last setting.

Model View

The Model view presents objects in terms of their physical or containment relationships, and allows you to organize them through a folder structure. This view most accurately represents an application perspective of the processes that users are emulating: for instance, specific process areas, tanks, valves, pumps and their relationships based on containment.

An example of a Model view is as follows:

Galaxy Name

This view is used to display the assignment of Object Instances to their area. All Object instances belong to one and only one area.

Areas can be hierarchical. This means that an area can contain an area and the parent area collects the statistics for all its Objects and its sub-areas.

The above diagram represents the tree view that is displayed within the model view. This represents the area based relationships of each of the objects. The diagram is read left to right and top to bottom, so an Area can host Application objects, DeviceIntegrationObjects,.and Objects that contain Objects

If the instance does not have a defined host then the instance will be displayed under the "Unassigned Area" root of the tree.

The top of the tree is the GalaxyObject, This is displayed using the name that was given to the Galaxy when it was created.

To assign one object to another, drag-and-drop it. To unassign an object currently assigned to another object, drag-and-drop it to the Unassigned Area folder.

Wonderware System Platform 3.0 Course - Part 1

Page 58: Manual Wsp 3 Part 1-Rev a Gold

1-54 Module 1 – Introduction

Deployment View

Note: More detail of the Deployment View is discussed in Module 2, Section 2, “The Deployment Model”, page 2-11.

The deployment view is used to display the assignment of the automation scheme to physical machines and process engines. This view describes where the objects are running. This view does not represent your physical plant environment.

An example of a Deployment view is as follows:

This diagram represents the tree view that is displayed within the deployment view. This represents the topology view based on which PC and Engines the objects run on. The diagram is read left to right and top to bottom, so a Platform can host an AppEngine. Also, an AppEngine can host an Area.

If the instance does not have a defined host then the instance will be displayed under the "Unassigned Host" root of the tree.

To assign an object to another, drag-and-drop it onto the host object. An inappropriate assignment match is not allowed. Conversely, to unassign an object, drag-and-drop it to the Unassigned folder.

Derivation View

The Derivation view presents objects and templates in terms of their genealogy relationships. The derivation view is the only tree view that shows both templates and instances. The purpose of this view is to display to the user from which templates and derived templates an instance inherits its properties.

Wonderware Training

Page 59: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-55

An example of a Derivation view is as follows:

This view contains all templates and instances. The tree is displayed in alphabetical order at each level within the tree.

The base templates created within the ApplicationObject Toolkit is on the left, as all other templates and instances are derived from these an extra level will be added to the tree.

The items with “$” prefixes are templates or templates which were derived from other templates.

Base templates are shown in the second level of the tree structure, and derived templates and object instances are appropriately indented based on their relationship with parent objects. Templates with no associated instances are grouped together under Unused Templates. Under each branch of the tree, child objects are listed in alphabetical order. Default objects are displayed in bold.

Unlike the Model and Deployment views, you cannot drag-and-drop objects from one branch to another in the Derivation view. The parent-child relationship between a template and a downstream object cannot be changed dynamically. You can perform other commands on objects in this view.

match is not allowed. Conversely, to unassign an object, drag-and-drop it to the Unassigned folder.

Graphic Toolbox

The Graphic Toolbox contains the global ArchestrA graphics that can be used in the Galaxy. It lets you organize your symbols in special folders, called Toolsets. The Graphics Toolbox shows a treeview of toolsets which contains ArchestrA Symbols and Client Controls.

It allows you to define graphics as a standard that you can re-use, such as a generic valve symbol. Symbols in the Graphic Toolbox can later be used by Automation templates and instances. You can store ArchestrA Symbols here, if you only want to use them in InTouch and not in any other Automation object content.

Wonderware System Platform 3.0 Course - Part 1

Page 60: Manual Wsp 3 Part 1-Rev a Gold

1-56 Module 1 – Introduction

An example of a Graphic Toolbox is as follows:

Object Icons

When viewing the objects, there are several states that are reflected in the way the icons for that particular object are represented.

For instance, notice the different types of icons in the following example:

Wonderware Training

Page 61: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-57

Three Types of Status Indicators

There are three kinds of indicators that accompany object icons:

� deployment status (for instances only)

� configuration status (for templates and instances)

� redundancy status (for instances only).

Deployment status indicators include:

Icon Description

Undeployed (see AnalogDevice_001 and DDESuiteLinkClient_001 in example above)

(no indicator) Deployed (see AppEngine_002 in example

above)

Deployed with configuration changes (see AppEngine_001 in example above)

Deployed with software update required (see WinPlatform_001 in example above)

Wonderware System Platform 3.0 Course - Part 1

Page 62: Manual Wsp 3 Part 1-Rev a Gold

1-58 Module 1 – Introduction

Configuration status indicators include:

Icon Description

Configuration warning

Configuration error

(no indicator) Configuration good

Redundancy status indicators include:

Icon Description

AppEngine undeployed, its redundant pair deployed.

AppEngine deployed, its redundant pair not deployed.

AppEngine deployed, its redundant pair not deployed pending configuration updates.

AppEngine deployed, its redundant pair not deployed pending required software update.

InTouch status indicator:

Icon Description

Applies to InTouchViewApp deployment when files are being transferred.

Wonderware Training

Page 63: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-59

Checking Out/Checking In Objects

Users of the ArchestrA IDE reserve an object for making private changes by checking it out. The user can then modify the object and save private versions of it before releasing it to the Galaxy (check in) for others to see and use. You can also back out changes made to the object through the undo check out feature.

Note: All ArchestrA IDEs connect to a Galaxy display current status for each object in the Galaxy, and a change history for each object can be reviewed.

If any of the objects you attempt to check out are already checked out to other people then a dialog appears indicating their status. Also, if some of the objects you attempt to check out are already checked out to you, the operation is ignored.

The Galaxy marks the objects as checked out to you, making them unavailable for check out to other users, and it updates the object’s revision history. A check mark is shown next to an object’s icon in the ArchestrA IDE.

To check out unreserved objects

a. Select them in the Template Toolbox or Application Views .

b. On the Object menu, click Check Out.

Or, right-click on the object and select Check Out . Optionally, an object is automatically checked out to you when you open its configuration editor. If the object is already checked out, you can open its editor only in read-only mode.

To determine an object’s status and history, open the Properties dialog box.

Wonderware System Platform 3.0 Course - Part 1

Page 64: Manual Wsp 3 Part 1-Rev a Gold

1-60 Module 1 – Introduction

The user responsible for an operation at a specific date and time is listed on the Change Log page. Comments typed by a user in the Check In dialog box (see image later) are listed under the Comment heading.

To check an object in to the Galaxy database

a. Select it and, on the Object menu, click Check In

Or, right-click on the object and select Check In. The Check In dialog box is displayed.

Note: If the object was originally checked out to you when you opened its configuration editor, the check in function can be combined with the save and close functions of the editor. If you close the editor without making any changes to the object’s configuration, a check in operation effectively does an undo check out (no change log recorded).

Wonderware Training

Page 65: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The ArchestrA IDE 1-61

b. Enter a comment (optional) and click OK to finish checking in the object. Click Cancel to terminate the check in process.

The Galaxy indicates whether any of the objects you are attempting to check in are check-out to other people. If an object you are attempting to check in already is checked in, check in is ignored.

The Check In dialog box enables you to provide comments about configuration changes made while the object was checked out. It is comprised of the following options:

� Comment : Use this box to enter your comments about configuration changes made to the object.

� Don’t Prompt for Check-In Comments in the Future : Use this check box to turn off the comment feature when checking in objects in the future. If you decide to reinstate this feature, click User Information on the Edit menu and select Ask for Check In Comments in the Configure User Information dialog box.

Undo Checkout, Override Check Out

Two other ArchestrA IDE commands related to the concept of check out and check in include:

� Undo Check Out : Use this command to change an object’s status from checked out to checked in. Afterwards, any user can check out and configure the object. The check out/ check in function places a notation in the object’s change log. Use Undo Check Out to effectively check in the object without affecting the change log. Changes you made to the object when it was checked out are backed out. This command is not allowed when the object’s configuration editor is open.

� Override Check Out : Use this command to disable the checked out flag on the selected object. This command typically requires special permission, and should be used only in those circumstances in which it is certain that object configuration is not being done by the user who originally checked out the object. If the object’s editor is currently open, the override function fails.

Wonderware System Platform 3.0 Course - Part 1

Page 66: Manual Wsp 3 Part 1-Rev a Gold

1-62 Module 1 – Introduction

Object Viewer

Note: The Object Viewer is explained in more detail when the Runtime Environment is discussed in Module 2, Section 3, “The Runtime Environment,”, page 2-27

The Object Viewer monitors the status of the objects and their attributes and can be used to modify an attribute value for testing purposes.

To add an object to the Object Viewer Watch list, you can manually type the object and attribute names into the Attribute Reference box in the menu bar and select Go. When prompted to enter the Attribute Type, press the OK key.

You can save a list of items being monitored. Once you have a list of attributes in the Watch Window, you can select all or some of them and save them to an XML file. Right-click on the Watch window to save the selection or load an existing one. You can also add a second Watch window that shows as a separate tab in the bottom of the Viewer.

Refer to the Platform and Engine documentation for information about attributes that may indicate system health. These attributes provide alarm and statistics on how much load a platform or engine may have when executing application objects or communicating with I/O servers and other platforms.

Wonderware Training

Page 67: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Automation Objects 1-63

Section 4 – Automation Objects

Section Objectives

� Introduce the various objects in the ArchestrA IDE.

� Identify when and how they are used.

� Explain how to create and configure instances of objects.

� Introduce and explain the hosting and containment relationships of objects.

This section provides an explanation of the various types of objects utilized in the ArchestrA IDE and an overview of when and how they are used. Additionally, it describes how to create and configure instances of objects and the hosting and containment relationships of objects.

Objects

Within the Template Toolbox there are three main categories of objects. These are:

� Application objects

� AnalogDevice

� Boolean

� DiscreteDevice

� Double

� FieldReference

� Float

� Integer

� Sequencer

� String

� Switch

� UserDefined

� Device Integration objects

� DDESuiteLinkClient

� InTouchProxy

� OPCClient

� RedundantDIObject

� System objects

� AppEngine

� Area

� InTouchViewApp

� ViewEngine

� WinPlatform

Wonderware System Platform 3.0 Course - Part 1

Page 68: Manual Wsp 3 Part 1-Rev a Gold

1-64 Module 1 – Introduction

Application Objects

Application Objects are used to create devices in your Galaxy. These devices represent real objects in your environment.

AnalogDevice Object

This object can act as either an Analog Input (with optional Output) or as an AnalogRegulator that provides an external representation of a PID controller that exists elsewhere (typically a PLC or DCS).

The AnalogDevice can be configured to have a personality of one of the two basic types:

� Analog – a basic Analog Input or Analog Output

� AnalogRegulator – an analog controller that represents an external PID controller

When configured as Analog, this Template is very similar in functionality to the Analog Tag within InTouch today. Just as the InTouch Analog can be configured for Read or ReadWrite, the Archestra AnalogDevice configured as type Analog can be configured as an analog input (with no output capability) or as an analog output (with output capability). The Analog supports the basic alarming capabilities of level alarms, ROC alarms and deviation alarms from a SP target value. In addition, the Analog in ArchestrA provides additional functionality such as PV override enable, PV mode (auto, manual), bad PV alarming, and separate output reference capability.

When configured as an AnalogRegulator, this Template provides both PV and SP monitoring of an external PID controller. It provides SP output capability with an optional separate feedback address for the SP. Other controller-oriented features include controller mode (manual vs. cascade). All the alarm capabilities of the more basic AnalogDevice object are included, with the difference that the SP value for deviation alarms is based on the SP value read from the controller.

Some of the common features of the AnalogDevice regardless of type (Analog or AnalogRegulator) are:

� Supports optional scaling of input and output, both linear and square root conversions.

� Supports HiHi, Hi, Lo, and LoLo level alarms on PV with both value and time deadbanding.

� Supports Rate of Change (ROC) alarming on PV for both positive-slope and negative- slope ROC.

� PV Override – when true, allows the PV to be written by a user if the PV mode is set to Manual.

� Adds SP read and write capability with optional separate read-back address. For data integrity, the value of SP always represents the value read from the external controller, not the requested SP that is output to the external controller.

Wonderware Training

Page 69: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Automation Objects 1-65

� Supports minor and major deviation alarming when PV deviates from SP.

� Initial Control Mode – When in Cascade, the SP can only be written by other objects. When in Manual, a user can write the SP. When None, anything can write to it.

� Control Tracking – optional capability to read a Boolean control track flag from an external device or object. When tracking is on, the SP is pure read-only and cannot be changed.

Boolean Object

The Boolean object is derived from the FieldReference object and is used for evaluations that result in either of the truth values of ‘true’ of ‘false’, often coded 1 and 0 respectively.

DiscreteDevice Object

A Discrete Device is a general purpose Object that is used to represent a large class of physical equipment common in manufacturing such as pumps, valves, motors, and conveyors. These devices have two or more physical states (e.g. Open, Closed, Moving), and are optionally controlled using a combination of discrete outputs. Their actual state is monitored via a combination of discrete inputs.

The meaning of the states depends on the kind of Discrete Device. In the case of a pump, the states might be configured as “Off” and “On”, while for a valve they might be configured as “Open”, “Closed”, or “Moving”. Note that a control valve has a continuous position represented by 0 to 100% and is not typically represented with a Discrete Device, since its state is represented by a continuous signal rather than discrete signal.

When a Discrete Device is commanded to a new state, it sets an appropriate combination of discrete outputs for that state. When its monitored discrete inputs change, the Discrete Device determines the new actual state of the equipment and sets the “PV” (process variable) appropriately.

Through the use of the Discrete Device the operator is guaranteed that a value displayed on the screen is a good and reliable value. This object will automatically display the state as “Bad” if the quality of any of the inputs is bad or the inputs are in an invalid combination determined at configuration time by the application developer.

Some of the features of the Discrete Device object are as follows:

� Input and Output states of the DiscreteDevice object are totally independent of each other and can be configured as required by the user’s application.

� Input and Output can be linked by alarms, which allow the object to detect CommandTimeout and UncommandedChange alarms, when devices unexpectedly change, or fail to change when commanded.

� Supports devices with two to three commandable states (‘Passive’, ‘Active1’, and ‘Active2’) plus two additional states ‘Fault’ and ‘InTransition’ which cannot be commanded. All

those states with the exception of ‘InTransition’ and 'Passive' can trigger a state alarm.

� Supports the three input modes ‘Auto’, ‘Manual’, and ‘Simulate’.

� Supports the two control modes ‘Manual’ and ‘Cascade’.

� CtrlTrack allows a PLC to notify the Discrete Device that the PLC is in control of the state of the actual physical device, and is no longer accepting commands. If configured this way, the Command attribute of the DiscreteDevice object just tracks PV (i.e., the state indicated by its inputs).

Wonderware System Platform 3.0 Course - Part 1

Page 70: Manual Wsp 3 Part 1-Rev a Gold

1-66 Module 1 – Introduction

Double Object

The Double object is derived from the FieldReference object.

FieldReference Object

The FieldReference object is the generic object for accessing data from an external device. This object can act as both the field input and a field output.

The FieldReference Object can be configured into three basic access modes:

� ReadOnly – Input object

� ReadWrite – Output object with scanned Feedback

� WriteOnly – Output

This object is very simple; it only allows the value to be historized.

Float Object

The Float object is derived from the FieldReference object.

Integer Object

The Integer object is derived from the FieldReference object.

Sequencer Object

The Sequencer object allows you to configure, execute, and manipulate a sequence of operations associated with ArchestrA attributes within a Wonderware Application Server application.

You can use it to automate:

� repetitive manufacturing procedures with a finite number of steps

� supervisory processes with a finite number of steps

Note: There is an Online Seminar available for the ArchestrA Sequencer Object . To register, visit www.wonderware.com/training or call 1-866-WW-TRAIN (1-866-998-7246) or email Wonderware Training at [email protected] .

String Object

The String object is derived from the FieldReference object.

Switch Object

The Switch object is the object for accessing data from a simple discrete (0/1) device. This object can act as both a discrete input and a discrete output.

Wonderware Training

Page 71: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Automation Objects 1-67

The Switch Object can be configured into three basic access modes:

� ReadOnly – Input object

� ReadWrite – Output object with scanned Feedback

� WriteOnly – Output

The PV value can be historized, logged as an event, and alarmed when abnormal.

UserDefined Object

The UserDefined object is an empty object that you can use to create customized objects. You can use the UserDefined object in the following ways:

� As a "container" for other objects. An object relationship in which one object is comprised of other objects is called containment. Containment allows you to group various objects together to make complex objects. For detailed information on object containment, see the Integrated Development Environment (IDE) documentation.

To use the UserDefined object as a container object, you simply create an instance of the object, and add ApplicationObjects to it while in the Model View. The only indication of this containment structure is in the tree structure in the Template Toolbox or Model View. The UserDefined object editor does not provide any indication of this containment relationship. To edit the configuration of any contained objects, you must open the individual editors of those objects.

Note: A UserDefined object can only contain ApplicationObjects.

� As a base object to extend through user-defined attributes (UDAs), scripting, and attribute

extensions. For detailed information how to customize an object using these features, see the common editor documentation.

For example, you might create a UserDefined object called "Tank" and use it to contain ApplicationObjects that represent aspects of the tank, such as pumps, valves, and levels. You could create two DiscreteDevice object instances called "Inlet" and "Outlet" and configure them as valves, and create an AnalogDevice object instance called "Level" and configure an alarm to be triggered when it overflows. The containment hierarchy would be as follows:

--Tank --V101 (Inlet) --V102 (Outlet) --LT103 (Level)

The Tank object derived from the UserDefined object can be customized to raise an alarm when both the Inlet and Outlet valves are open. For example, you could add a Boolean UDA called "StateAlarm," extend it with an alarm extension, and add the following script:

if me.inlet == "Open" and me.outlet == "Open" then me.statealarm = true; else me.statealarm = false; endif;

You would now have a UserDefined object that forms the complex Tank object, which uses containment and has been extended to raise a specific process alarm.

Wonderware System Platform 3.0 Course - Part 1

Page 72: Manual Wsp 3 Part 1-Rev a Gold

1-68 Module 1 – Introduction

Device Integration Objects

A DeviceIntegration object (DIObjects) is an AutomationObject that represents communication with external devices. DIObjects run on an AppEngine, and include DINetwork Objects and DIDevice Objects. A DIDevice Object is a representation of an actual external device (for example, a PLC or RTU) that is associated with a DINetwork Object. A DINetwork Object is a representation of a physical connection to a DIDevice Object via the Data Access Server.

A more detailed discussion of the Device Integration Objects will take place later in this course in Module 2, “Application Infrastructure”, Section 4, “Connecting to the Field” on page 2-41

System Objects

System objects are used to define system instances.

AppEngine Object

The AppEngine Object must have a Platform on which to run. The key functionality of this object includes:

� hosting application objects, device integration objects and areas

� containing the logic to setup and initialize objects, when they’re deployed.

� containing the logic to remove objects from the engine, when they’re undeployed.

� determines the scan time within which all objects within that particular engine will execute.

In general the AppEngine contains no added value other then to support the creation, deletion, startup, and shutdown of objects.

Wonderware Training

Page 73: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Automation Objects 1-69

Area Object

The Area Object plays a key role in alarm and event distribution. All AutomationObjects belong to an Area. Areas can contain sub-Areas. Areas provide a key organizational role in grouping alarm information and assigning it to those who use alarm/event clients to monitor their areas of responsibility.

This object is very simple; it only allows the value of three attributes to be historized:

� Active alarm counter

� Unacknowledged alarm counter

� Disabled (or silenced) alarm counter

InTouchViewApp Object

The InTouchViewApp object represents an InTouch application in the Industrial Application server environment. The InTouchVewApp object manages the check-in, check-out, and deployment of an InTouch application.

When you create an InTouchViewApp for a new InTouch application, WindowMaker is started by the ArchestrA IDE. You then create the application the same way you would if WindowMaker had

been started from the InTouch Application Manager.

ViewEngine Object

The ViewEngine object is used to host InTouchViewApp objects. The ViewEngine object supports common engine features such as deployment, undeployment, startup and shutdown. One ViewEngine object can handle several InTouchViewApp objects.

WinPlatform Object

The WinPlatform platform object is a key base object. The key functionality of this object includes:

� Calculating various statistics related to the node it’s deployed to. These statistics are published in attributes.

� Monitoring various statistics related to the node it’s deployed to. These monitored attributes can be alarmed as well has historized.

� Starting and stopping engines, based on the engines startup type, which are deployed to it.

� Monitoring the running state of engines deployed to it. If the platform detects an engine has failed it can (optionally based on the value of the engine’s restart attribute) restart the engine.

There is a special instance of the platform object called the galaxy platform. This platform instance:

� Exists on the galaxy node.

� Is used by message exchange to bind unresolved attribute references

Wonderware System Platform 3.0 Course - Part 1

Page 74: Manual Wsp 3 Part 1-Rev a Gold

1-70 Module 1 – Introduction

Hosting and Containment Relationships

Host relationships are displayed in Deployment View.

Galaxy

Platform (representative of your Plant)

Engine

Area

Application Objects

DI Objects

Containment relationships are displayed in Model View.

Areas

Areas

Application Objects

Application Objects

Wonderware Training

Page 75: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Automation Objects 1-71

Templates and Instances

Templates

Templates are high-level definitions of the devices in your environment. Templates are like a cookie cutter from which you can make many identical cookies.

You define a template for an object, like a valve, one time and then use that template when you need to define another instance of that item. Template names have a dollar sign ($) as the first character of their name.

A template can specify application logic, alarms, security, and historical data for an object.

A template can also define an area of your environment. You can extend and customize a template by adding User Defined Attributes (UDAs), scripts, or extensions to meet the specific needs of your environment. Objects inherit attributes from their parents.

Wonderware Application Server comes with predefined templates, called base templates. You cannot change these templates. All templates you create are derived from base templates.

You can also nest templates, or contain them. Contained templates consist of nested object templates that represent complex devices consisting of smaller, simpler devices, including valves. A reactor is a good candidate for containment.

Templates only exist in the development environment.

Using the Diaphragm valve template, you can quickly create an Diaphragm valve instance when you need another Diaphragm valve in your application.

Instances

Instances are the run-time objects created from templates in Wonderware Application Server. Instances are the specific things in your environment like processes, valves, conveyer belts,

Wonderware System Platform 3.0 Course - Part 1

Page 76: Manual Wsp 3 Part 1-Rev a Gold

1-72 Module 1 – Introduction

holding tanks, and sensors. Instances can get information from sensors on the real-world device or from application logic in Wonderware Application Server. Instances exist during run time.

In your environment, you may have a few instances or several thousand. Many of these instances may be similar or identical, such as valves or holding tanks. Creating a new valve object from scratch when you have several thousand identical valves is time-consuming. That's where templates come in.

Creating and Deleting Instances

ApplicationObject instances are created from the templates provided by the Template Toolbox.

A default name is given to the new instance. The newly created Object instance is put into focus and set to rename mode.

This view also allows the Object instance to be edited. Object instances can be deleted from this view if the Object does not have any other Objects assigned to it.

By default the first instance of the Platform object will be configured with the name of the Galaxy Repository node name. This platform can then be renamed.

There are two ways to create an instance of a template. This is indicated as follows:

Creating an Instance - 1

Drag and drop the template object from the Template Toolbox to the Application View. To delete an instance of the Platform object highlight it and click on the Delete icon in the menu icon bar

, or, right-click on it and select Delete .

Wonderware Training

Page 77: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Automation Objects 1-73

Notice you are looking at the Model View.

Once the instance has been created it displays as follows:

It can now be renamed using the naming convention as designated by your instructor.

Wonderware System Platform 3.0 Course - Part 1

Page 78: Manual Wsp 3 Part 1-Rev a Gold

1-74 Module 1 – Introduction

Creating an Instance - 2

Highlight the object in the Template Toolbox for which you desire an instance. Then from the Galaxy menu, select Galaxy/New/Instance or use the short cut which is Ctrl+N .

Component Names

ArchestrA AutomationObject Toolkit – This is the toolkit for developing core ApplicationObjects, in a C++ environment, which will be imported into the Galaxy via the IDE.

Area AutomationObject – the AutomationObject that represents an Area of a plant within an Application Server Galaxy. The area object acts as an alarm concentrator and is used to put other AutomationObjects into the context of the actual physical automation layout.

ApplicationEngine (AppEngine) – a real-time Engine that hosts and executes AutomationObjects.

ApplicationObject – An AutomationObject that represents some element of a user application. This may include things such as (but not limited to) an automation process component (e.g. thermocouple, pump, motor, valve, reactor, tank, etc.) or associated application component (e.g. function block, PID loop, Sequential Function Chart, Ladder Logic program, batch phase, SPC data sheet, etc.).

AutomationObject – A type of object that represents permanent things in your plant (such as Application Objects or Device Integration Objects) as objects with user-defined, unique names within the Galaxy. It provides a standard way to create, name, download, execute, and monitor the represented component.

Wonderware Training

Page 79: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Automation Objects 1-75

ContainedName – This is the final portion of the HierarchicalName that defines the name of the object within that containment level, i.e. HierarchicalName = Line1.Tank1.InletValve, TagName = V1101 ContainedName = InletValve

Device Integration Objects (DIObject) – AutomationObjects that represent the communication with external devices, which all run on the application engine local. The objects for example are:

� DINetwork Object – Refers to the object that represents the network interface port to the device via the Data Access Server, providing diagnostics, and configuration for that specific card.

� DIDevice Object – Refers to the object that represents the actual external device (e.g. PLC, RTU) which is associated to the DINetwork Object. Providing the ability to diagnose, browse data registers, and DAGroups for that device.

Framework – An infrastructure consisting of a common set of services, components and interfaces for creating and deploying Automation objects that collect, store, visualize, control, track, report and analyze plant floor processes and information.

Galaxy – complete Application Server system consisting of a single logical name space (defined by the Galaxy Repository) and a collection of Platforms, Engines and Objects that are included within it. One or more networked PC’s that constitute an automation system. It defines the name space that all components and objects live in and comply with a common set of system level policies. This is the whole application.

GalaxyDatabase – the relational database containing all persistent configuration information for all Templates and Objects in an Application Server Galaxy.

GalaxyRepository – the software sub-system consisting of the Galaxy Repository Engine, Package Server, Repository Interface, and the Galaxy Database.

HierarchicalName – This is the name that is created by the system that positions the object within any containment i.e. HierarchicalName = Line1.Tank1.InletValve, TagName = V1101

Integrated Development Environment (IDE) – The IDE is an Integrated Development Environment consisting of various configuration editors that are used to configure the total system, aimed for the application engineer, and general use.

Objects – AutomationObjects (all types), AutomationObject, UserProfiles, Displays, Symbols, DisplaySets, ActivityObjects are collectively referred to as Objects. Common characteristic of all Objects is that they are stored as separate components in the GalaxyRepository.

� ObjectTemplate – a specific state of an Object in which the Object is a generic template from which instances can be generated.

� ObjectInstance – a specific state of an Object in when the Object has been substantiated to the actual unique instance of the object that will run in the system.

Platform Object – a representation of the physical hardware that the Application Server software is running on. Platform Objects host AppEngine Objects (see WinPlatform).

QuickScript .NET – this is the name of the scripting language component that is an enhanced version of InTouch QuickScript with new language features and integration with Microsoft® .NET.

System Management Console (SMC) – This is the central runtime system administration / management user interface, where all required runtime administration functions like new users, redeployment, license management will occur.

TagName – This is the Galaxy-wide unique name given to a Object. i.e. HierarchicalName = Line1.Tank1.InletValve, TagName = V1101

Wonderware System Platform 3.0 Course - Part 1

Page 80: Manual Wsp 3 Part 1-Rev a Gold

1-76 Module 1 – Introduction

WinPlatform – a single computer in an Application Server galaxy consisting of Network Message Exchange, a set of basic services, the operating system and the physical hardware; hosts Application Server Engines and is a type of Platform Object.

Product Names

ArchestrAObject Toolkit – a programmer’s tool used to create new Application and Device Integration Object Templates, including their configuration and run-time implementations along with their corresponding IDE editors.

Wonderware Application Server – This is the product name given to the Wonderware A2

Application Server, which will run the objects as a blind node, allowing a product to be loaded on top of existing systems to extend value. This product has an execution engine (AppEngine) which

hosts the application objects performing the functionality, and then stores this into a history storage system, which is also included in the product.

DAServer Toolkit – This is the toolkit for building Data Access Servers, which are the next generation of I/O servers, and are I/O server executable. These are OPC servers, and this toolkit is to be a product which enables Wonderware and third parties to develop powerful OPC servers which can connect to third party clients and Application Server clients.

Data Access Server (DAServer) – Refers to the Server executable that interfaces to the device serving data to the DINetwork Object and DIDevice Object, via standard client protocols OPC, or to any third party client. These replace our current I/O Servers.

Components of a DAS Toolkit:

� Client Plug-ins: These are the components which are added to a DAS server to enable communication with clients. Examples are: OPC 2.03, DDE/Suitelink, etc.

� DAS Engine: This is the .DLL which contains all the common logic to drive data access (this used to be called “Core toolkit”).

� Device Protocol: This is custom code set up by the user to define the communication with a particular device.

� DAS Control Client: This is the MMC snap-in supplied with the DAServer that provides the necessary UI for activation and configuration.

� DAS Diagnostic: This is part of the DAS Control Client MMC snap-in-that provides a set of diagnostic information for DAServers within the system

� DAS Configuration: This is part of the DAS Control Client MMC snap-in which enables configuration of the DAServer either locally or remotely.

� DAS Activation: This is part of the DAS Control Client MMC snap-in which enables the user to start and stop the DAServer.

� DAS AppWizard: This is the C++ Wizard that generates the framework of the DAServer

� Generic State Engines : These are engines which enable the device protocol developer to build the particular functions:

� Device Engine

� Serial Engine

� TCP/IP Engine

Wonderware Training

Page 81: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – System Requirements, Licensing and Supp ort 1-77

Section 5 – System Requirements, Licensing and Support

Section Objectives

� Describe the necessary system requirements for a successful installation

� Discuss Licensing requirements

� Discuss Support services

This section provides a detailed explanation of the system requirements necessary for System Platform, discusses Licensing details and covers Support services.

System Requirements for Wonderware Application Serv er/Galaxy Repository

Note: There is an Online Seminar available for the Installation of Wonderware Application Server 3.0. To register, visit www.wonderware.com/training or call 1-866-WW-TRAIN (1-866- 998-7246) or email Wonderware Training at [email protected] .

Hardware Requirements

The following list shows the recommended hardware requirements to install Application Server version 3.0.

Galaxy Repository Platform:

� Dual core PC with 2 gigahertz (GHz) or faster processor clock speed, or single core PC with 3 gigahertz (GHz) or faster processor clock speed

� Dual core processor recommended for optimal performance

� 2 gigabytes (GB) or more of RAM. (1 GB minimum supported; may limit performance of some features) The Galaxy Repository locks the SQL Server maximum memory usage to 65% of the physical memory.

Non-Galaxy Repository Platforms (IDE or Runtime):

� PC with 2 gigahertz (GHz) or faster processor clock speed

� 1 gigabyte (GB) or more of RAM

All Systems (IDE, GR, Runtime):

� 30 gigabytes (GB) of available hard disk space

� Super VGA (1024 x 768) or higher resolution video adapter and monitor

� CD-ROM or DVD drive

� Keyboard

� Mouse or compatible pointing device

The Windows Vista operating system imposes hardware requirements that may exceed the minimum requirements for Application Server version 3.0. If you intend to run Application Server 3.0 with Windows Vista, see the following Microsoft web site for hardware requirements:

www.microsoft.com/windows/products/windowsvista/editions/systemrequirements.mspx

Wonderware System Platform 3.0 Course - Part 1

Page 82: Manual Wsp 3 Part 1-Rev a Gold

1-78 Module 1 – Introduction

Software Requirements

This section describes the operating system and other software requirements to install Application Server version 3.0.

Operating System

The following table lists the supported operating systems that can be installed on computers running server, client, and run-time components. Operating Systems

Application Server Components ArchestrA IDE ArchestrA Run

Time Galaxy

Repository Windows Vista Business (See Vista Restrictions) � � �

Windows Vista Enterprise (See Vista Restrictions) � � �

Windows Vista Ultimate (See Vista Restrictions) � � �

Windows Server 2003 Standard Edition SP2 � � �

Windows Server 2003 Enterprise Edition SP2 � � �

Windows Server 2003 Standard Edition R2 SP2 � � �

Windows Server 2003 Enterprise Edition R2 SP2 � � �

Windows XP Professional SP2 � � �

Windows XP Tablet 2005 �

Notes:

� Windows 2000 Professional, Windows 2000 Server, and Windows 2000 Advanced Server are not supported operating systems for Application Server version 3.0. If you attempt to install or upgrade Application Server on a computer running one of these operating systems, an error message appears.

� Windows Server 2003 Standard Edition SP2 is the recommended operating system to run server components.

� Windows XP Professional SP2 is the recommended operating system to run client components.

� If you plan to run Application Server version 3.0 on computers running Windows Vista, all editions except for Home Basic and Home Premium are supported. The Business Edition is recommended.

� Windows XP Professional SP2 and Windows Vista may be used on a Galaxy Repository Node for only single-node solutions.

The Bootstrap, IDE, and Galaxy Repository are supported on the following language versions of Microsoft operating systems: English, Japanese, Chinese, German, and French. The Galaxy Repository is also supported in English, Japanese, Chinese, German, and French versions of Microsoft SQL Server 2005.

Wonderware Training

Page 83: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – System Requirements, Licensing and Supp ort 1-79

Other Software Requirements

The following list describes other third-party software requirements to support Application Server version 3.0.

� Microsoft SQL Server 2005

� SQL Server 2005 with SP2 (Standard or Enterprise) is the only database supported by Application Server version 3.0. The Compact, Express, and Workgroup editions of SQL Server 2005 are not supported for the Galaxy Repository.

� The SQL Server 2005 SP2 database must be installed on the same computer as the ArchestrA Galaxy Repository.

� TCP/IP must be enabled on the computer running SQL Server. The TCP/IP protocol setting can be verified from the SQL Server 2005 Network Configuration under SQL Server Configuration Manager.

� Microsoft Visual Studio 2005 (toolkits only)

� .NET Framework Common Language Runtime (CLR) 2.0.50727

Note: The Microsoft SQL Server login for BUILTIN\Administrators group must be present and enabled.

Note: Application Server 3.0 requires installing Microsoft SQL Server 2005. You cannot use Microsoft SQL Server 2000 with this version. You also cannot install and use Application Server on a computer that has both Microsoft SQL Server 2000 and Microsoft SQL Server 2005 installed.

Vista Restrictions

� Application Server version 3.0 can run under Windows Vista Enterprise, Windows Vista Business, or Windows Vista Ultimate. The Windows Vista Home Basic and Home Premium editions are not supported.

� Users must log on as a Windows Vista administrator to run Application Server version 3.0. You cannot run Application Server as a Windows Vista standard user or power user.

� You can run Wonderware 32-bit software only with a 32-bit version of Windows Vista. Running Wonderware 32-bit software with a 64-bit version of Windows Vista on 64-bit hardware is not supported

� The Windows Vista User Account Control (UAC) must be disabled when running Application Server. Refer to Microsoft Windows Vista documentation for instructions to disable UAC.

� When you disable Windows Vista UAC, you must restart the computer before attempting to install the ArchestrA IDE or Wonderware Application Server. A Galaxy connection error occurs if you attempt to install the ArchestrA IDE or Wonderware Application Server and you did not restart the computer after you disabled the UAC.

� Windows Vista does not support a traditional Application Server 3.0 single-node configuration that includes Wonderware Historian (formerly IndustrialSQL Server).

� A Vista Platform cannot be configured to be an alarm provider and also have InTouch WindowViewer on the same computer configured to generate alarms. Only one of the two will function properly as an alarm provider.

� Windows Vista does not support NetDDE. ArchestrA graphics make use of the client layer when accessing InTouch tags, and appear as a third-party client trying to access

Wonderware System Platform 3.0 Course - Part 1

Page 84: Manual Wsp 3 Part 1-Rev a Gold

1-80 Module 1 – Introduction

WindowViewer as a data server. As a result, ArchestrA symbols cannot communicate with InTouch tags. Windows Server 2003 and Windows XP Pro still support NetDDE.

� Application Server 3.0 cannot be configured to run as a service under Windows Vista. Windows Vista security prevents started Windows services from interacting with desktop objects. When Application Server 3.0 is installed on a computer running 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.

� The Galaxy Repository is only supported on Vista for single-node systems. For multiple- node Galaxies, Windows Server 2003 is the preferred operating system for the Galaxy Repository node.

Using Multiple Network Interface Cards with Vista

If you are using multiple network interface cards (NICs), you must configure certain settings for the firewall or else a remote Vista node cannot connect to a Galaxy Repository node.

A connection in Vista is a term used to define a network interface card (NIC), its settings and the settings of whatever the NIC is connected to. Under certain circumstances, the connection on your computer can change if, for example, the IP address on the computer to which you are connected changes. Your computer's connection can be affected by external factors. During boot, and each time a connection changes, Vista goes through an "Identifying" process to determine which profile should be assigned to the connection.

A profile is a collection of firewall settings that can be applied to a connection. There are three profiles currently defined in Vista: “Domain”, “Public” and “Private”.

� The Domain profile is assigned automatically to a connection if a domain controller for the domain to which the computer is a member is found on the connection.

� The Public profile is designed to keep the computer from being visible to other computers on the network. Network discovery is turned off for the Public profile.

� The Private profile is used for a more trusted environment. Network discovery is turned on for a Private profile. Firewall exceptions and rules can be created on any or all of these profiles.

This is important because the OS Configuration utility and the Vista Firewall utility apply their firewall exceptions to the Domain and Private profiles only.

As previously noted, you can specify which profile you want assigned to a connection as long as that connection is not a Domain connection. This is done through the "Network and Sharing Center". Click on the Network icon in the right-hand side of the task bar and then click on one of the networks that is displayed. You can change a connection from a Public profile to a Private profile. The firewall calls these settings "Profiles" but the network calls them "Location types".

On computers using dual NICs, the first NIC is normally connected to the domain and is assigned the Domain profile automatically. The second NIC is typically assigned the Public profile.

The first issue is that your entire computer (all connections) is restricted to the most restrictive of the profiles assigned to any connection. So if the second connection was assigned a profile of Public, none of the firewall exceptions set by the OS Configuration or Vista Firewall utilities will be allowed. The exceptions were set for Domain and Private only, not Public. You must set the second connection to the Private profile for any of the firewall exceptions to work.

The second issue is that it appears that a re-boot of your computer, or even a re-boot of a computer to which you are connected, can change your connection back to the Public profile.

Wonderware Training

Page 85: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – System Requirements, Licensing and Supp ort 1-81

Once again the firewall exceptions will not be effective. You'll have to change the connection back to the Private profile after each re-boot or a re-boot of the connected computer.

To avoid these NIC issues and prevent the “Identifying” process from taking place on a connection and changing the assigned profile, certain items must be present in the definition of the connection. Follow the rules below:

1. If you have only one NIC, no action is required. The profiles and firewall rules are automatic.

2. If you have two NICs follow the actions below:

� If the second NIC is not physically connected to anything (that means no wire in it), no action is required. The profiles and firewall rules are automatic.

� If the second NIC is connected, it MUST be configured. Follow the rules for configuring a normal redundancy setup, Vista will identify this NIC and assign it a Private profile. If the NIC is not configured, Vista will assign a profile of Public to this NIC and cause all of our firewall exceptions to be deactivated on all NICs. For the NIC to be configured properly, give it an IP address, sub net mask and gateway address. The gateway address can be the same as the IP address. Usually these addresses will be the internal, non-routable addresses like 192.168.0.x or the 10.x.x.x range.

� If you have more than two NICs, make sure all connected NICs are configured with an IP address and default gateway address and have been assigned a profile of Private.

Wonderware System Platform 3.0 Course - Part 1

Page 86: Manual Wsp 3 Part 1-Rev a Gold

1-82 Module 1 – Introduction

Licensing

Term Description Galaxy This refers to the total Application Model that resides in a Galaxy repository.

Also the single Namespace. Platform Count Number of PCs in the Galaxy (note each InTouch needs a platform to be part

of the Galaxy Namespace). I/O Count Number of I/O points being accessed into the Galaxy. ArchestrA IDE Integrated Development Environment (the editing environment for Application

Server). Only available as part of the ArchestrA Development License.

Access to the Galaxy Repository is controlled by a license. If a license-related message is displayed when you are attempting to open the IDE, you have a problem with your license. This message may indicate one of the following conditions:

� No license has been installed.

� Your license has expired.

� You may have exceeded the licensed I/O count or number of WinPlatforms.

Use the License Utility to correct these problems. Until the problem is resolved, you cannot:

� Open the ArchestrA IDE.

� Connect to existing Galaxies.

� Create new Galaxies.

After you have updated your license, you should be able to connect to your Galaxy and open the ArchestrA IDE with no further problems.

Note: If a license expires while you are using the ArchestrA IDE, you are not allowed to connect to the Galaxy the next time you open the ArchestrA IDE.

To check your current license, expiration date (if any) and limitations (if any), double-click the License icon at the bottom of the ArchestrA IDE’s Main Window

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

Wonderware Training

Page 87: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – System Requirements, Licensing and Supp ort 1-83

Product Support

Product Support

Wonderware provides responsive, award-winning teams of specialists committed to delivering world-class customer support, training, and consulting services. For information on the various customer support programs, contact your local distributor or access the Wonderware Technical Support site online at http://www.wonderware.com/support/mmi/

You will find a variety of information on the Technical Support site including the Expert Knowledge Base, Documentation, FAQs, Tech Alerts, Tech Articles, Tech Notes, and Tech Support Forums. When you first enter the site, you will have limited access. To gain access to the different areas and services, you must first register.

Also on the Technical Support site is the Technical Support Policies, Terms & Conditions guide which provides information on how to contact Technical Support, information on the support policies and procedures, and much more.

Wonderware System Platform 3.0 Course - Part 1

Page 88: Manual Wsp 3 Part 1-Rev a Gold

1-84 Module 1 – Introduction

– Intentionally left blank –

Wonderware Training

Page 89: Manual Wsp 3 Part 1-Rev a Gold

Section 6 – Application Planning 1-85

Section 6 – Application Planning

Section Objectives

� Explain a project workflow and area devices and why they are needed

� Identify functional requirements and naming conventions

� Expand on the concept of ArchestrA and how it relates to the manufacturing environment.

� Explain the benefits of migrating to an ArchestrA architectural environment.

This section provides an explanation of the need for adequately modeling your plant in order to achieve an application implementation that will be optimal for efficiency.

Introduction

In order to successfully implement a project for the Wonderware A2 environment, you should start with careful planning to come up with a working model of your plant or plant area. A six-step project workflow is provided that describes how to complete different tasks in a logical and consistent order, so that you minimize the engineering effort.

The project information that you define will become your guide when actually creating your industrial application using the ArchestrA IDE. The better your project plan, the less time it will take to create the application, and with fewer mistakes and rework.

Suggested Project Workflow

Just as there are many different criteria for Wonderware A2 projects, there are many different ways to design and implement a supervisory and control system. The suggested project workflow is designed to help plan and implement projects. By providing this workflow, the work flows more smoothly enabling completion of the project to be accomplished much easier. You may develop your own workflow for implementing projects based on your experiences.

The following flow chart summarizes the logical steps to project completion.

Wonderware System Platform 3.0 Course - Part 1

Page 90: Manual Wsp 3 Part 1-Rev a Gold

1-86 Module 1 – Introduction

Identify Field Devices and Functional Requirements

Define Naming Conventions

Define the Area Model

Plan Templates

Define the Security Model

Define the Deployment Model

Before you start this process, you should determine how you want to document the results of your project planning. One good way is to use a spreadsheet application such as Microsoft Excel to document the list of devices, the functionality of each device, process areas to which the devices belong, and so on.

Identifying Field Devices and Functional Requiremen ts

The first step in project planning is to identify the field devices that you want to include in your application. Field devices include components such as valves, agitators, rakes, pumps, Proportional-Integral-Derivative (PID) controllers, totalizers, and so on. Some devices are made

Wonderware Training

Page 91: Manual Wsp 3 Part 1-Rev a Gold

Section 6 – Application Planning 1-87

up of more base-level devices. For example, a motor is a device that may be part of an agitator or a pump.

After you have identified all of your field devices, you will then need to determine the functionality for each.

Identifying Field Devices

When identifying field devices, you should start with your piping and instrumentation diagram (P&ID). Typically, this diagram shows all of the field devices and illustrates the flow between them. If you have a good P&ID, the application planning process will take less time and go more smoothly. You should verify that your P&ID is correct and up-to-date before starting the planning process.

The following diagram shows a simple P&ID:

The key for this P&ID is as follows: FIC = Flow controller PT = Pressure transmitter TT = Temperature transmitter FT = Flow transmitter CT = Concentration transmitter LT = Level transmitter LIC = Level controller FV = Flow valve

Examine each component in your P&ID and identify each basic device that is used. For example, a simple valve can be a basic device. A motor, however, may be comprised of multiple basic devices.

Wonderware System Platform 3.0 Course - Part 1

Page 92: Manual Wsp 3 Part 1-Rev a Gold

1-88 Module 1 – Introduction

Once you have created the complete list, group the devices according to type, such as valves, pumps, and so on. Consolidate any duplicate devices into common types so that only a list of unique basic devices remains, and then document them in your project planning worksheet.

Each basic device is represented in the ArchestrA IDE framework as an "object." An instance of an object must be derived from a defined template. The number of device types in your final list will help you to determine how many object templates you will need to create for your application. You can group multiple basic objects to create more complex objects, which is a concept known as "containment."

Identifying Functional Requirements

For each unique device, you will need to define the functional requirements, which includes:

� Inputs and outputs. How many inputs are required for the device? How many outputs are required?

� Scripting. What scripts will be associated with the device? For example, does the device require any indirect calculations?

� Historization. Are there process values associated with this device that you want to historize? How often do you want to store the values? Do you want to add change limits for historization?

� Alarms and events. What values require alarms? What values do you want to be logged as events? (ArchestrA IDE alarms and events provide similar functionality to what is provided within InTouch.)

� Security. Which users do you want to give access to the device? What type of access do you want to give? For example, you may grant a group of operators read-only access for a device, but allow read-write access for a supervisor. You can set up different security for each attribute of a device.

Defining Naming Conventions

The second step in the workflow is to define the naming conventions for templates, instances, and object attributes. Naming conventions should adhere to:

� Conventions that you use within your company.

� ArchestrA IDE naming restrictions. For example, you might have an instance tagname of:

YY123XV456

with the following attributes:

OLS, CLS, Out, Auto, Man

The following illustration shows how the naming convention in a traditional Human-Machine Interface (HMI) is different from the naming within ArchestrA IDE:

Wonderware Training

Page 93: Manual Wsp 3 Part 1-Rev a Gold

! "#$ %

! "#$ %

! "#$

! "#$ &

! "#$'

! "#

( %

( %

(

( &

('

Section 6 – Application Planning 1-89

For more information refer to the InTouch to IAS Migration document

For ArchestrA IDE, references are created using this naming convention:

<objectname>.<attributename>

For example:

YY123XV456.OLS

Defining the Area Model

The third step of the project workflow is to define the Area model. An Area is a logical grouping within your application that represents a portion of the layout of your plant. In a typical manufacturing plant, you would define the following Areas: Receiving Area, Process Area, Packaging Area and Dispatch Area. You will need to define and document all of the Areas of your plant that will be part of your application.

Each object will need to be assigned to a particular Area. When you install Application Server, a single placeholder is created by default, called "Unassigned." Unless you specify otherwise, all object instances will be assigned to this placeholder location.

The following are a few tips for creating Areas:

� If you create all of your Areas first, you can easily assign an object instance to the correct Area if you set that particular Area as the Default Area; otherwise, you will have to move them out of the unassigned Area later.

� It is helpful to create a System Area to which you can assign instances of WinPlatform and AppEngine objects. WinPlatform and AppEngine objects are used to support communications for the application, and do not necessarily need to belong to a plant- related Area or any Area for that matter.

� Alarms will be grouped according to Areas.

� Areas can be nested.

When building an Area hierarchy, keep in mind that the base Area that is assigned to a Platform determines how the underlying objects will be deployed. If a plant area (physical location) is going to contain two computers running AutomationObject Server platforms, then two logical Areas will have to be created for the one physical plant area.

One approach for creating instances of an object is to create an instance for one Area at a time. If you use this approach, then mark the Area as the default, so that each instance is automatically

Wonderware System Platform 3.0 Course - Part 1

Page 94: Manual Wsp 3 Part 1-Rev a Gold

1-90 Module 1 – Introduction

assigned to the selected Area. Before you begin to create instances in another Area, change the default to the new Area.

A final consideration for constructing Areas is that the various Areas equate to alarm groups. It is at the Area level that alarm displays can easily be filtered.

Object Templates

A template is an element that contains common configuration parameters for objects that are used multiple times within a project. Templates are instantiated to represent specific objects within the application.

For example, you might need multiple instances of a valve within your application, so you would create a valve template that has all of the required properties. This allows you to define once, and reuse multiple times. If you change the template, the changes can be propagated to the instances. You can use simple drag-and-drop within the ArchestrA IDE to create instances from templates.

Additional information on how to actually develop objects using templates is covered in Module 3, “Planning for Object Templates” on page 3-7.

The next three steps (Planning Templates, Defining the Security Model, and Defining the Deployment Model) are done once the initial Plant Model is in place. These are represented through subsequent Modules in this training course. Please refer to additional information which is available in the Wonderware A2 Deployment Guide.

Wonderware Training

Page 95: Manual Wsp 3 Part 1-Rev a Gold

Lab 2 – Identifying the Mixer 1-91

Lab 2 – Identifying the Mixer

Introduction

In this lab you will study

This lab provides the three detailed diagrams used to identify the factory layout for the simulated scenario; as well as the main pieces of equipment that you are going to model and develop during this training course.

The diagrams provided in this lab will be used as reference in following exercises and are listed below:

� Factory Layout

� Heat Exchanger: Process Diagram & Field I/O Signals

� Mixer: Process Diagram & Field I/O Signals

Your instructor will assign you a student number that you will use to create the unique identifiers for each heat exchanger and mixer assigned to you.

This lab will help you familiarize yourself with the work that is going to be made in the rest of the labs for the class.

Objectives

Upon completion of this lab you should be able to:

� Understand the information that needs to be collected before proceeding to develop a Galaxy

� Feel familiar with the naming convention and device structure to be used in this class

Summary Lab Instructions

Following is a summary of the general steps you will complete for this lab.

Note: For this lab there are no additional detailed instructions.

Identify the Sample Application

1. Study and discuss the following diagrams with your instructor.

2. Create the IDs for the heat exchangers and mixers assigned to you.

Wonderware System Platform 3.0 Course - Part 1

Page 96: Manual Wsp 3 Part 1-Rev a Gold

1-92 Module 1 – Introduction

Wonderware Training

Page 97: Manual Wsp 3 Part 1-Rev a Gold

Lab 2 – Identifying the Mixer 1-93

Wonderware System Platform 3.0 Course - Part 1

Page 98: Manual Wsp 3 Part 1-Rev a Gold

1-94 Module 1 – Introduction

Wonderware Training

Page 99: Manual Wsp 3 Part 1-Rev a Gold

Lab 2 – Identifying the Mixer 1-95

Wonderware System Platform 3.0 Course - Part 1

Page 100: Manual Wsp 3 Part 1-Rev a Gold

1-96 Module 1 – Introduction

– Intentionally left blank –

Wonderware Training

Page 101: Manual Wsp 3 Part 1-Rev a Gold

Module 2

Application Infrastructure

Section 1 – The Plant Model 2-3

Lab 3 – Creating the Plant Model 2-5

Section 2 – The Deployment Model 2-11

Lab 4 – Creating and Deploying the Deployment Model 2-17

Section 3 – The Runtime Environment 2-27

Lab 5 – Using Object Viewer 2-31

Section 4 – Connecting to the Field 2-41

Lab 6 – Connecting to the Field 2-51

Page 102: Manual Wsp 3 Part 1-Rev a Gold

2-2 Module 2 – Application Infrastructure

Module Objective

� Explain the concept and describe the need of developing a Plant Model before configuring the Wonderware Application Server

� Identify key factors necessary for building successful applications.

� Explain Galaxies and introduce you to the Integrated Development Environment (IDE)

� Explain Plant Modeling as it relates to Objects and Object Instances

Wonderware Training

Page 103: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – The Plant Model 2-3

Section 1 – The Plant Model

Section Objectives

� Explain the importance of having a model of the plant facility.

� Examine the concept of how to utilize ArchestrA Application Server to model a specific facility.

This section provides an explanation of the importance of having a model of the plant facility. Additionally, it explains the concept of how to utilize ArchestrA Application Server to model a specific facility.

Modeling of the Facility

With the ArchestrA Application Server it is possible to create a working model of the plant manufacturing environment which will utilize the product. Having this model will enable you to implement a structured naming convention that will facilitate the coordination of all the processes and areas. It will also provide the ability to create objects representing your actual plant, configure them to your own specifications and create templates from them which will enable you to propagate one area to another.

The ArchestrA plant application model allows you to organize a distributed computing application by:

Plant Section Area Production Line

Manufacturing Cell

Once a plant application model has been developed, applications can be easily extended or replicated based on the structure you have provided. With this Facility Model you can:

� Rapidly create application standards.

� Deploy applications across multiple plants or projects.

This provides universal application development capabilities. Additionally, it provides the ability to build industrial applications that ensure consistent engineering quality and operational best practices.

Wonderware System Platform 3.0 Course - Part 1

Page 104: Manual Wsp 3 Part 1-Rev a Gold

2-4 Module 2 – Application Infrastructure

Reporting Alarms Based on Area Model

When an alarm is detected, or an event occurs, the condition is reported to its alarm and event distributor, which is running on the same AppEngine. These alarm and event distributors include:

• Area AutomationObjects All AutomationObjects and Area objects report detected alarms through the Area, which distributes them to alarm and event clients.

• WinPlatform AutomationObjects Report their own alarms and events

• AppEngine AutomationObjects Report their own alarms and events

• Device IntegrationObjects Report their own alarms and events

WinPlatforms, AppEngines and Device Integration objects do not report their alarms and events to Area AutomationObjects even though they belong to Areas. This allows alarm clients to receive alarm notifications without any dependencies on Area AutomationObjects. For example, a deployed and running WinPlatform can report alarms even though its Area is not deployed and running.

Using the Area model will become a filtering mechanism for alarms when we cover the Module on Alarms and History.

Wonderware Training

Page 105: Manual Wsp 3 Part 1-Rev a Gold

Lab 3 – Creating the Plant Model 2-5

Lab 3 – Creating the Plant Model

Introduction

This lab illustrates the steps necessary to create the plant model for the Galaxy based on the information gathered in Lab 2 – Identifying the Mixer. An additional $Area instance is created to accommodate future system objects created throughout the rest of this class.

To help organize the templates, a custom toolset is created to hold the templates created in the class.

Objectives

Upon completion of this lab you should be able to:

� Create new template toolsets

� Create derived templates

� Create instances

� Use the $Area object to create a plant model for the Galaxy

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Create a Template Toolset

1. Create a new Template Toolset named AB Training under the Galaxy.

Create the Plant Model

2. Create a derived template from the $Area object named $ABArea and assign it to the AB Training template toolset.

3. Create the following instances out of the new $ABArea template:

� AB Discharge

� ABIntake

� ABProduction

� ABLine1

� ABLine2

� ABControlSystem

4. Arrange the new $Area instances to model the factory layout defined in Lab 2.

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 106: Manual Wsp 3 Part 1-Rev a Gold

2-6 Module 2 – Application Infrastructure

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Create a Template Toolset

1. In the ArchestrA IDE, make sure that the Template Toolbox is selected.

2. In the Template Toolbox , right-click on the Galaxy and select New Template Toolset .

Wonderware Training

Page 107: Manual Wsp 3 Part 1-Rev a Gold

Lab 3 – Creating the Plant Model 2-7

3. A new template toolset is created. Use AB Training for the name.

Create the Plant Model

4. In the Template Toolbox , create a derived template of the $Area object by right-clicking the $Area template and selecting New / Derived Template .

Wonderware System Platform 3.0 Course - Part 1

Page 108: Manual Wsp 3 Part 1-Rev a Gold

2-8 Module 2 – Application Infrastructure

5. A new template is created. Use $ABArea for the name.

6. Move the $ABArea object to the newly created template toolset.

Wonderware Training

Page 109: Manual Wsp 3 Part 1-Rev a Gold

Lab 3 – Creating the Plant Model 2-9

7. Ensure that the Model view is selected.

8. Create a new instance of the $ABArea template by drag-and-dropping the $ABArea object from the Template Toolbox to the Model view.

Name the new instance ABDischarge .

Wonderware System Platform 3.0 Course - Part 1

Page 110: Manual Wsp 3 Part 1-Rev a Gold

2-10 Module 2 – Application Infrastructure

9. Repeat step 8 to create the following areas:

� ABIntake

� ABProduction

� ABLine1

� ABLine2

� ABControlSystem

10. Drag-and-drop the newly created objects to assign areas ABLine1 and ABLine2 to the ABProduction area. The final plant model should look like the following illustration.

Wonderware Training

Page 111: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – The Deployment Model 2-11

Section 2 – The Deployment Model

Section Objectives

� Explain the concept of the Deployment Model.

� Demonstrate the structure and organizational execution of the Deployment Model.

This section provides an explanation of the Deployment Model and demonstrates the structure of the Deployment Model.

Deploying the Galaxy

You can deploy and test your objects at any time during development. When you are ready to test or move the application into production, it's time to deploy the Galaxy.

Planning for Deployment

Deploying your Galaxy copies the objects from the development environment to the run-time environment. This makes your objects "live" and functional.

Until you deploy your ArchestrA IDE configuration environment to the run-time environment, changes you make in the ArchestrA IDE do not appear in the run-time environment. To see run- time data associated with your objects, use Object Viewer or InTouch.

Objects deploy from the configuration environment to the run-time environment as follows:

Wonderware System Platform 3.0 Course - Part 1

Page 112: Manual Wsp 3 Part 1-Rev a Gold

2-12 Module 2 – Application Infrastructure

Determining Galaxy Status

You can see an overview of the condition of your Galaxy before you deploy. This lets you know if you have objects that are in warning or error status.

To determine the status of a Galaxy

a. Connect to the Galaxy.

b. On the Galaxy menu, click Galaxy Status . The Galaxy Status dialog box appears.

You see information about total instances, total templates, deployed instances with changes, undeployed instances with changes, objects that have an error or warning state, objects that are checked out, and object you have checked out.

c. Click OK.

Deploying Objects

You deploy object instances for three reasons:

� Testing.

� Place the application into production to process field data.

� Update an existing application with changes you made.

When you are ready to deploy, make sure the following conditions are met:

� Bootstrap software is installed on the target computer(s).

� The objects being deployed are not in an error state in the Galaxy database.

� You created, configured, and checked in objects to the Galaxy.

� Objects are assigned to a host.

� The object's host is already deployed. A cascade deploy operation, which deploys a hierarchy of objects, deploys all objects in the correct order. This deploys an object's host before the object is deployed.

Wonderware Training

Page 113: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – The Deployment Model 2-13

To Deploy an Object

a. Select the object in an Application view .

b. On the Object menu, click Deploy . The Deploy dialog box appears.

c. Select one or more of the following

� Cascade Deploy : Select this check box to deploy the object selected for deployment as well as any objects it hosts. This option is selected by default if the object is a host. If you are deploying an individual host object, clear the check box. Objects being deployed across multiple platforms will be deployed in parallel.

� Include Redundant Partner : Select this check box to also deploy an AppEngine's redundancy partner object. This option is selected and unavailable when the redundant engine has pending configuration changes or software updates.

d. In the Currently deployed objects area, select one or more of the following options. These options are not available if the selected object has not been deployed before.

� Skip : If one of the objects you are deploying is currently deployed, selecting Skip makes no changes to the already-deployed object.

� Deploy Changes : If one of the objects you are deploying is currently deployed, this option updates the object in question with new configuration data.

� Redeploy Original : If one of the objects you are deploying is currently deployed, this option deploys the same version as previously deployed. For example, use this option to redeploy an object that is corrupted on the target computer.

� Force Off Scan: If one of the objects you are deploying is currently deployed, this option sets the target object to off scan before deployment occurs.

e. In the Currently undeployed objects area, select the Deploy New Objects check box to start a normal deployment.

Wonderware System Platform 3.0 Course - Part 1

Page 114: Manual Wsp 3 Part 1-Rev a Gold

2-14 Module 2 – Application Infrastructure

f. In the Deploy Status Mismatch area, select the Mark as Deployed check box to mark the object as deployed in the Galaxy. A mismatch happens when the object is previously deployed to a target node, but the Galaxy shows the object is undeployed. Clear this option to redeploy the object to the target node.

g. In the Initial Scan State area, select one of the following:

� On Scan: Sets the initial scan state to on scan for the object(s) you are deploying. If the host of the object you are deploying is currently off scan, this setting is ignored and the object is automatically deployed off scan. While deploying multiple objects the deploy operation will deploy all of the selected objects "off-scan." Once all of the objects are deployed the system will set the scan-state to "on-scan."

Note: Objects can only execute when both the host/engine is "on scan" and the object is "on scan." If either the host/engine or the object is "off scan," the object can not execute.

Note: Always deploy Areas to their host AppEngines on scan. Since Areas are the primary providers to alarm clients, deploying Areas off scan results in alarms and events not being reported until they are placed on scan.

� Off Scan: Sets the initial scan state to off scan for the object(s) you are deploying. If you

deploy objects off scan, you must use the ArchestrA System Management Console Platform Manager utility to put those objects on scan and to function properly in the run- time environment.

Note: The System Management Console controls on the state of the host/engine. The ObjectViewer controls the state of the objects.

Note: The default scan setting is set in the User Default settings in the Configure User Information dialog box.

h. Click OK to deploy the object(s). The Deploy progress box appears. When the deploy is

complete, click Close .

Redeploying Objects

Redeploying is similar to deployment. While you are testing, you frequently redeploy your application to see changes you make. The redeploying process undeploys the object and then deploys it back.

You may have an object whose deployment state is Pending Update. That means the object changed since it last deployment. When you deploy those changes, the new object is marked as the last deployed version in the Galaxy.

To redeploy

a. On the Object menu, click Deploy .

b. Follow the procedure for Deploying Objects.

Wonderware Training

Page 115: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – The Deployment Model 2-15

Undeploying Objects

You may need to undeploy one of more objects. Undeploying removes one or more objects from the run-time environment.

Before you start, you need to select the object or objects you want to undeploy in the ArchestrA IDE.

Before you delete or restore a Galaxy, undeploy all objects in the Galaxy.

Note: Undeploying can fail if the target object has objects assigned to it. Make sure you select Cascade Undeploy in the Undeploy dialog box.

To undeploy

a. On the Object menu, click Undeploy . The Undeploy dialog box appears.

In the upper right of this dialog box, the Undeploy Object Count box shows the number of objects being undeployed. You can select a single object in Application view and, if you selected Cascade Undeploy and other objects are assigned to the selected object, the total number of objects appears in this box.

b. Select one or more of the following. Some of these options might not be available, depending on the kinds of object you select.

� Cascade Undeploy: Select to undeploy the selected object as well as any objects it hosts.

� Include Redundant Partner: Select to also undeploy an AppEngine's redundancy partner object.

Note: The AppEngine in a redundant pair that was configured as the Primary can be undeployed alone because objects hosted by it run on the deployed Backup AppEngine, which becomes Active.

� Force Off Scan: If one of the objects you are undeploying is currently on scan, selecting

Force Off Scan sets the target object to off scan before undeployment. If you do not select Force Off Scan and the target object is on scan, the undeployment operation fails.

� On Failure Mark as Undeployed: Marks the object as undeployed in the Galaxy when the object targeted for undeployment is not found

Wonderware System Platform 3.0 Course - Part 1

Page 116: Manual Wsp 3 Part 1-Rev a Gold

2-16 Module 2 – Application Infrastructure

– Intentionally left blank –

Wonderware Training

Page 117: Manual Wsp 3 Part 1-Rev a Gold

Lab 4 – Creating and Deploying the Deployment Model 2-17

Lab 4 – Creating and Deploying the Deployment Model

Introduction

This lab illustrates the steps necessary to create a deployment model for the Galaxy based on a standalone setup and a single $AppEngine. You start by organizing the system objects using the plant model created in the previous lab, and then, after creating the deployment model, the complete Galaxy is sent to the runtime environment by deploying all objects.

Objectives

Upon completion of this lab you should be able to:

� Use the $WinPlatform, $AppEngine and $Area objects to create a deployment model for the Galaxy

� Deploy instances to the runtime environment

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

Wonderware System Platform 3.0 Course - Part 1

Page 118: Manual Wsp 3 Part 1-Rev a Gold

2-18 Module 2 – Application Infrastructure

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.

Create the $WinPlatform Object

1. Create a derived template from the $WinPlatform object named $ABPlatform and assign it to the AB Training template toolset.

2. Create an instance of the $ABPlatform template named ABGRPlatform and assign it to the ABControlSystem area.

Create the $AppEngine Object

3. Create a derived template from the $AppEngine object named $ABAppEngine and assign it to the AB Training template toolset.

4. Create an instance of the $ABAppEngine template named ABAppEngine and assign it to the ABControlSystem area.

Create the Deployment Model

5. Using the Deployment view, host the ABAppEngine object on the ABGRPlatform object and all areas on the ABAppEngine object.

Deploy the Objects

6. Deploy the ABGRPlatform on cascade.

See the next page for Detailed Lab Instructions

Wonderware Training

Page 119: Manual Wsp 3 Part 1-Rev a Gold

Lab 4 – Creating and Deploying the Deployment Model 2-19

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Create the $WinPlatform Object

1. In the Template Toolbox , create a derived template of the $WinPlatform object by right- clicking the $WinPlatform template and selecting New / Derived Template .

2. A new template is created. Use $ABPlatform for the name.

3. Move the $ABPlatform object to your template toolset.

Wonderware System Platform 3.0 Course - Part 1

Page 120: Manual Wsp 3 Part 1-Rev a Gold

2-20 Module 2 – Application Infrastructure

4. Using the Template Toolbox and the Model view, create a new instance of the $ABPlatform template.

Name the new instance ABGRPlatform .

5. In the Model view, assign the ABGRPlatform instance to the ABControlSystem area.

Wonderware Training

Page 121: Manual Wsp 3 Part 1-Rev a Gold

Lab 4 – Creating and Deploying the Deployment Model 2-21

Create the $AppEngine Object

6. In the Template Toolbox , create a derived template of the $AppEngine object by right- clicking the $AppEngine template and selecting New / Derived Template .

7. A new template is created. Use $ABAppEngine for the name.

8. Move the $ABAppEngine object to your template toolset.

Wonderware System Platform 3.0 Course - Part 1

Page 122: Manual Wsp 3 Part 1-Rev a Gold

2-22 Module 2 – Application Infrastructure

9. Using the Template Toolbox and the Model view, create a new instance of the $ABAppEngine template.

Name the new instance ABAppEngine .

10. In the Model view, assign the ABAppEngine instance to the ABControlSystem area.

Wonderware Training

Page 123: Manual Wsp 3 Part 1-Rev a Gold

Lab 4 – Creating and Deploying the Deployment Model 2-23

Create the Deployment Model

11. Select the Deployment view.

12. Assign the ABAppEngine instance to the ABGRPlatform .

Wonderware System Platform 3.0 Course - Part 1

Page 124: Manual Wsp 3 Part 1-Rev a Gold

2-24 Module 2 – Application Infrastructure

13. Assign all areas to the ABAppEngine instance.

Deploy the Objects

14. On the Deployment view, right-click the ABGRPlatform instance and select Deploy .

Wonderware Training

Page 125: Manual Wsp 3 Part 1-Rev a Gold

Lab 4 – Creating and Deploying the Deployment Model 2-25

15. The Deploy dialog box is displayed. By default the system will perform a Cascade Deploy with a Deploy Object Count of 8 instances, and it will set all instances On Scan as soon as the objects are deployed.

16. Leave the default settings and click the OK button. This will display a second Deploy dialog box indicating the progress on deploying the objects.

As soon as the process is complete, the Close button is enabled.

Wonderware System Platform 3.0 Course - Part 1

Page 126: Manual Wsp 3 Part 1-Rev a Gold

2-26 Module 2 – Application Infrastructure

17. Click the Close button to return to the ArchestrA IDE.

The different views now display the instances in their deployed state.

Wonderware Training

Page 127: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The Runtime Environment 2-27

Section 3 – The Runtime Environment

Section Objectives

� Explain the concept of the Runtime Environment.

� Illustrate the differences in the Development environment and the Runtime environment.

� Explain the use of the Object Viewer in monitoring the Runtime environment.

This section provides an explanation of the Runtime environment and explains the use of the Object Viewer in monitoring the Runtime environment.

Runtime Environment

The previous workflow task defined the deployment model that specifies where objects are deployed. In other words, the deployment model defines which nodes will host the various AutomationObjects.

The objects deployed on particular platforms and engines define the objects' "load" on the platform. The load is based on the number of I/O points, the number of user-defined attributes (UDAs), etc. The more complex the object, the higher the load required to run it.

After deployment, the Runtime environment facilitates the activity generated by the objects. In Application Server the Object Viewer is used to monitor the Runtime environment. The Object Viewer is used to check communications between nodes and determine if the system is running optimally. For example, a node may be executing more objects than it can easily handle, and it will be necessary to deploy one or more objects to another computer.

To view the activity in the Runtime database the Object Viewer is used. It displays the current value of all of the objects and object attributes in the database. In order to create the Runtime database, Application Server requires information about all of the variables being created. As object and object attribute values change (e.g. created, value change, configuration change), the changes are reflected in Runtime and monitored via the Object Viewer.

Object Viewer

The Object Viewer monitors the status of the objects and their attributes and can be used to modify an attribute value for testing purposes.

To add an object to the Object Viewer Watch list, you can manually type the object and attribute names into the Attribute Reference box in the menu bar and select Go. When prompted to enter the Attribute Type, press the OK key.

You can save a list of items being monitored. Once you have a list of attributes in the Watch Window, you can select all or some of them and save them to an XML file by right-clicking on the Watch window and selecting Save. A previously saved Watch window can also be loaded to monitor previously saved attributes. You can also add a second Watch window that shows as a separate tab in the bottom of the Viewer.

Wonderware System Platform 3.0 Course - Part 1

Page 128: Manual Wsp 3 Part 1-Rev a Gold

2-28 Module 2 – Application Infrastructure

Deployed Objects section Objects deployed on the Platform.

Attributes section Individual attributes of the object.

Attribute Monitoring section Location for monitoring attribute activity.

Uploading Run-time Configuration

You can upload run-time configuration changes to the Galaxy database. This lets you keep any attribute values that changed during run time.

The values of certain attributes can be set in the configuration environment, but they can also be changed by the user at run time. As a result, the values of these attributes can differ between the run-time and configuration environments.

For example. you create an object with a UDA myInteger. In the Object Editor, you specify an initial value of 30.

Then you deploy the object. At run time, you write a new value to myInteger of 31. If you redeploy this object, the original value of 30 overwrites any value assigned during run time. To avoid losing changes made during run time, upload changes before redeploying an object.

Wonderware Training

Page 129: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – The Runtime Environment 2-29

If you want to upload run-time changes to the Galaxy, make sure the selected objects are:

� Not edited and checked in since last deployment or upload

� Not in Pending Update state

� Checked in

Objects whose configuration are successfully uploaded have a new version number and a change log entry for the upload operation. The run-time object’s version number also has a new version number. That version number matches the version in the configuration database.

If you select an object that is currently checked out to you, a warning appears during run-time upload. If you continue, you lose all configuration changes you made to the checked out object. The Galaxy performs an Undo Check Out operation on it before the run-time attributes are copied to the Galaxy database.

Note: You cannot upload run-time changes for objects checked out to other users.

To upload run-time changes to the Galaxy

a. Select one or more objects in the Model view or Deployment view. For example, you could select an entire hierarchy from AppEngine down.

b. On the Object menu, click Upload Runtime Changes . The run-time attributes of the selected objects are copied over those in the Galaxy database.

Wonderware System Platform 3.0 Course - Part 1

Page 130: Manual Wsp 3 Part 1-Rev a Gold

2-30 Module 2 – Application Infrastructure

– Intentionally left blank –

Wonderware Training

Page 131: Manual Wsp 3 Part 1-Rev a Gold

Lab 5 – Using Object Viewer 2-31

Lab 5 – Using Object Viewer

Introduction

This lab illustrates the steps necessary to use Object Viewer to monitor live data from your Galaxy’s runtime environment. Different watch windows are added to organize the attributes to be monitored. The watch windows are 3then saved in a single file for future reference.

Objectives

Upon completion of this lab you should be able to:

� Open Object Viewer from the ArchestrA IDE

� Add attributes to watch windows to get a live feed

� Create and rename watch windows within Object Viewer

� Save watch windows to disk

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Using ObjectViewer

1. Open Object Viewer from within the ArchestrA IDE.

2. Rename the default watch window to Platform Info and add the following attribute references:

� ABGRPlatform.CPULoad

� ABGRPlatform.DiskSpaceFree[1]

� ABGRPlatform.RAMAvailableAvg

3. Create a new watch window called Engine Info and add the following attribute references:

� ABAppEngine.Scheduler.ScanPeriod

� ABAppEngine.ScanState

� ABAppEngine.ScanStateCmd

4. Save the watch list to you training folder (C:\Wonderware Training ) with the name My Watch Windows .

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 132: Manual Wsp 3 Part 1-Rev a Gold

2-32 Module 2 – Application Infrastructure

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Using ObjectViewer

1. In the Model view, open Object Viewer by right-clicking the ABGRPlatform instance and selecting View in Object Viewer .

Wonderware Training

Page 133: Manual Wsp 3 Part 1-Rev a Gold

Lab 5 – Using Object Viewer 2-33

2. The Object Viewer application opens displaying the attributes of the selected object on the right panel.

Deployed Objects section Objects deployed on the Platform.

Attributes section Individual attributes of the object.

Attribute Monitoring section Location for monitoring attribute activity.

3. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab to rename the default Watch List 1 tab.

Wonderware System Platform 3.0 Course - Part 1

Page 134: Manual Wsp 3 Part 1-Rev a Gold

2-34 Module 2 – Application Infrastructure

4. The Rename Tab dialog box is displayed. Enter Platform Info for the Tab Name field and click OK.

5. The tab is now labeled Platform Info .

Wonderware Training

Page 135: Manual Wsp 3 Part 1-Rev a Gold

Lab 5 – Using Object Viewer 2-35

6. On the Attribute List (right section of Object Viewer ) locate and right-click on the CPULoad attribute and select Add to Watch to add the attribute to the watch list.

Wonderware System Platform 3.0 Course - Part 1

Page 136: Manual Wsp 3 Part 1-Rev a Gold

2-36 Module 2 – Application Infrastructure

7. Repeat step 6 for the following attributes:

� DiskSpaceFree (enter 1 as the array index to access drive C:)

� RAMAvailableAvg

8. Right-click in the Watch List (bottom section of Object Viewer ) and select Add Watch Window to add a new tab to the watch list.

Wonderware Training

Page 137: Manual Wsp 3 Part 1-Rev a Gold

Lab 5 – Using Object Viewer 2-37

9. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab to rename the default Watch List 1 tab.

10. The Rename Tab dialog box displays.

Enter Engine Info for the Tab Name field and click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 138: Manual Wsp 3 Part 1-Rev a Gold

2-38 Module 2 – Application Infrastructure

11. On the Object List (left section of Object Viewer ) select the ABAppEngine object to display its attributes.

Wonderware Training

Page 139: Manual Wsp 3 Part 1-Rev a Gold

Lab 5 – Using Object Viewer 2-39

12. On the Attribute List (right section of Object Viewer ) locate the following attributes, right-click on them, and select Add to Watch to add them to the watch list:

� Scheduler.ScanPeriod

� ScanState

� ScanStateCmd

13. Right-click in the Watch List (bottom section of Object Viewer ) and select Save As to save the watch list to disk.

Wonderware System Platform 3.0 Course - Part 1

Page 140: Manual Wsp 3 Part 1-Rev a Gold

2-40 Module 2 – Application Infrastructure

14. The Save As dialog box displays.

Navigate to the C:\Wonderware Training folder and enter My Watch Windows in the File name field.

Click Save to save the watch list to the selected location.

Wonderware Training

Page 141: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Connecting to the Field 2-41

Section 4 – Connecting to the Field

Section Objectives

� Be familiar with Device Integration Objects, I/O Server and Data Access Server

� Overview of DI Objects.

This section provides an understanding of the Device Integration Objects, I/O Server and DA Server. It also provides an overview of DI Objects.

Introduction

Dynamic Data Exchange (DDE)

Dynamic Data Exchange (DDE) is a communication protocol developed by Microsoft to allow applications in the Windows environment to send/receive data and instructions to/from each other. It implements a client-server relationship between two concurrently running applications.

The server application provides the data and accepts requests from any other application interested in its data. Requesting applications are called clients. Some applications such as InTouch and Microsoft Excel can simultaneously be both a client and a server.

Note: NetDDE, an older protocol used for communication over the network to Wonderware and non-Wonderware sources, is supported on Windows XP and Windows 2000, but not on Windows 2003 Server. Communication with Wonderware sources is recommended using SuiteLink.

Wonderware System Platform 3.0 Course - Part 1

Page 142: Manual Wsp 3 Part 1-Rev a Gold

2-42 Module 2 – Application Infrastructure

Wonderware SuiteLink

Wonderware SuiteLink uses a TCP/IP-based protocol. SuiteLink is designed specifically to meet industrial needs, such as data integrity, high-throughput, and easier diagnostics. This protocol standard is supported for Windows 2000, Windows 2003 Server, and Windows XP.

SuiteLink is Not a Replacement for DDE. Wonderware recommends that DDE be used for internal client communication, and SuiteLink for communication over the network.

Each connection between a client and a server depends on your network situation.

SuiteLink provides the following benefits:

� Consistent high data volumes can be maintained between applications, regardless of whether the applications are on a single node or distributed over a large node count.

� Value Time Quality (VTQ) places a time stamp and quality indicator on all data values delivered to VTQ-aware clients.

� Extensive diagnostics of the data throughput, server loading, computer resource consumption, and network transport are made accessible through the Microsoft Windows NT® operating system performance monitor. This feature is critical for the scheme and maintenance of distributed industrial networks.

� The network transport protocol is TCP/IP using Microsoft’s standard Winsock interface. To use the SuiteLink Communication Protocol, the following conditions must be satisfied.

� You must have Microsoft TCP/IP configured and working properly.

� You must use computer names (Node Names ) of no more than 15 characters. For more information on installing and configuring Microsoft TCP/IP, see your Microsoft Windows operating system's documentation.

� Wonderware SuiteLink must be running as a service. If for some reason SuiteLink has been stopped, you will need to start it again. (SuiteLink is automatically installed as a Common Component when you install InTouch. It is configured to startup automatically as a Windows Service).

DDE and SuiteLink I/O Addressing

DDE and SuiteLink identifies an element of data in an I/O data source program by using a three- part naming convention that includes the application name, topic name and item name. To obtain data from another application, the client program opens a communication channel to the server program by specifying these three items. Additionally, if the communication channel is between applications running in different computers, a node name must be specified too.

Node: Name of the computer the I/O data source program or service is running on.

Application: Name of the source program or service that provides I/O data to the client application. This is the name of the executable file without the extension.

Topic: It's an application-specific sub-group of data elements.

Item: Name of the actual individual data point to be access once the communication channel is opened.

For example, in the case of Excel as a server program, the application name is "Excel", the topic name is the name of the specific spreadsheet that contains the data and the item name is the identification of the cell on the spreadsheet to/from which the data is to be read/written.

Wonderware Training

Page 143: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Connecting to the Field 2-43

OPC

OPC is open connectivity in industrial automation and the enterprise systems that support industry. Interoperability is assured through the creation and maintenance of open standards specifications.

The first standard (originally called simply the OPC Specification and now called the Data Access Specification) resulted from the collaboration of a number of leading worldwide automation suppliers working in cooperation with Microsoft. Originally based on Microsoft's OLE COM (component object model) and DCOM (distributed component object model) technologies, the specification defined a standard set of objects, interfaces and methods for use in process control and manufacturing automation applications to facilitate interoperability. The COM/DCOM technologies provided the framework for software products to be developed. There are now hundreds of OPC Data Access servers and clients.

A typical analogy for needing the original Data Access Specification is printer drivers in DOS and then in Windows. Under DOS the developer of each application had to also write a printer driver for every printer. So AutoCAD wrote the AutoCAD application and the printer drivers. And WordPerfect wrote the WordPerfect application and the printer drivers. They had to write a separate printer driver for every printer they wanted to support: one for an Epson FX-80 and one for the H-P LaserJet, and on and on. In the industrial automation world, one industrial device manufacturer wrote their Human Machine Interface (HMI) software and a proprietary driver to each industrial device (including every PLC brand). Another industrial device manufacturer wrote their HMI and a proprietary driver to each industrial device (including every PLC brand, not just their own).

Windows solved the printer driver problem by incorporating printer support into the operating system. Now one printer driver served all the applications! And these were printer drivers that the printer manufacturer wrote (not the application developer). Windows provided the infrastructure to allow the industrial device driver's solution as well. Adding the OPC specification to Microsoft's OLE technology in Windows allowed standardization. Now the industrial devices' manufacturers could write the OPC DA Servers and the software (like HMIs) could become OPC Clients.

The resulting selfish benefit to the software suppliers was the ability to reduce their expenditures for connectivity and focus them on the core features of the software. For the users, the benefit was

flexibility. They could now choose software suppliers based on features instead of "Do they have the driver to my unique device?" They don't have to create a custom interface that they must bear the

full cost of creating and upgrading through operating system or device vendor changes. Users were also assured of better quality connectivity as the OPC DA Specification codified the connection mechanism and compliance testing. OPC interface products are built once and reused many times; hence, they undergo continuous quality control and improvement.

The user's project cycle is shorter using standardized software components. And their cost is lower. These benefits are real and tangible. Because the OPC standards are based in turn upon computer industry standards, technical reliability is assured.

The original specification standardized the acquisition of process data. It was quickly realized that communicating other types of data could benefit from standardization. Standards for Alarms & Events, Historical Data, and Batch data were launched.

Wonderware System Platform 3.0 Course - Part 1

Page 144: Manual Wsp 3 Part 1-Rev a Gold

2-44 Module 2 – Application Infrastructure

Device Integration Objects

A DeviceIntegration object (DIObjects) is an AutomationObject that represents communication with external devices. DIObjects run on an AppEngine, and include DINetwork Objects and DIDevice Objects. A DIDevice Object is a representation of an actual external device (for example, a PLC or RTU) that is associated with a DINetwork Object. A DINetwork Object is a representation of a physical connection to a DIDevice Object via the Data Access Server.

DDESuiteLinkClient

The DDESuiteLinkClient object is a key member of the core set of AutomationObjects within the ArchestrA system infrastructure. The DDESuiteLinkClient object is a DeviceIntegration object that allows access to a running I/O Server. A DDE or SuiteLink I/O Server can provide data points to Galaxy application objects through the DDESuiteLinkClient object.

Note: The DDESuiteLinkClient object is compatible with all Wonderware I/O Servers and components.

There is a one-to-one relationship between an instance of the DDESuiteLinkClient object and a running I/O Server. If you want to reference data points in more than one I/O Server, you must configure and deploy more than one DDESuiteLinkClient object. For example, you would need to configure one DDESuiteLinkClient object to communicate to an ABTCP I/O Server and another one to talk to the GEHCS I/O Server.

When you configure the DDESuiteLinkClient object, you can specify one or more I/O Server topics to which access is required. At run time, all items that the Galaxy application requires for a specified topic are updated with the latest values from the I/O Server. The rate at which the values are updated depends on how the topics were configured within the target I/O Server.

If you want to connect to a DDE I/O Server, specify login information that the DDESuiteLinkClient object uses to connect to the I/O Server.

From other objects and from scripts, you can reference the topics you configured for the DDESuiteLinkClient object. For example, you might configure the input source for a FieldReference object to reference an item for one of the topics. Thus, the FieldReference object input source is receiving data from an I/O Server through the DDESuiteLinkClient object.

To aid in rapid application development, you can create a list of topic items that appear in the ArchestrA Attribute Browser. To do this, specify the item address and associate it with a user- defined attribute name (alias). Creating the item list is not required in order to reference data from the I/O Server.

The reference syntax for a DDESuiteLinkClient object data point is: <objectname>.<topicname>.<itemname>

OR <objectname>.<topicname>.<attributename>

The <objectname > is the name that you choose to give to the DDESuiteLinkClient object.

Wonderware Training

Page 145: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Connecting to the Field 2-45

Each I/O topic for a DDESuiteLinkClient object is also known as a "scan group." Run-time object attributes allow you to monitor errors related to the data quality for item values in a scan group.

InTouchProxy

The InTouchProxy Object is a gateway between Galaxy application objects and data that is available through an InTouch™ application. The InTouchProxy object allows you to browse a selected InTouch application tagname dictionary, add selected tags as attributes in the Galaxy application, then read these attributes from the InTouch application at run time.

Note: Before using the tagname browser to browse for tags, make sure that InTouch WindowMaker is not running on the InTouch node. WindowViewer, however, can be running. Also, be sure that you have given share permission of Read to the InTouch folder that contains the Tagname.X file.

The InTouchProxy object is a key member of the core set of AutomationObjects within the ArchestrA system infrastructure. The InTouchProxy object is a DeviceIntegration object that represents a running InTouch node. The InTouch node effectively serves as the data provider (supporting the SuiteLink communication protocol) by providing data points to Galaxy application objects through the InTouchProxy object.

Note: This object is compatible with InTouch v7.11 and later applications.

There is a one-to-one relationship between an instance of the InTouchProxy object and a running InTouch node. An InTouch "node" is a unique combination of the computer name and InTouch application. If you want to reference data points in more than one InTouch node, you must configure and deploy more than one InTouchProxy object. For example, you would need to configure one InTouchProxy object to get data from an InTouch application running on Computer1 and another one to get data from an InTouch application running on Computer2.

When you configure the InTouchProxy object, you might want to specify one or more existing InTouch tagnames (items) to use as object attributes. At run time, if these attributes are added in the client (for example, the Object Viewer watch window), they are updated with the latest values from the InTouch items. InTouch sends a new data value for an item to the InTouchProxy object each time the value changes. Any items that you configure for an InTouchProxy object automatically becomes available within the ArchestrA Attribute Browser.

From other objects and from scripts, you can reference the attributes you created for InTouch items. For example, you might configure the input source for a FieldReference object to reference one of these InTouchProxy object attributes. Thus, the FieldReference object's input source would be receiving data from a tag in an InTouch node through the InTouchProxy object. The reference syntax for an InTouchProxy object data point is:

<objectname>.<InTouchTagName>

The <objectname > is the name that you choose to give to the InTouchProxy object.

The group of specified InTouch items for an InTouchProxy object is also known as the "scan group." Only one scan group exists in the InTouchProxy object. Run-time object attributes within the scan group allow you to monitor errors related to the data quality for InTouch item values in a scan group.

Wonderware System Platform 3.0 Course - Part 1

Page 146: Manual Wsp 3 Part 1-Rev a Gold

2-46 Module 2 – Application Infrastructure

OPCClient

The OPCClient object is a key member of the core set of AutomationObjects within the ArchestrA system infrastructure. The OPCClient object is a DeviceIntegration (DI) object that allows access to a running OPC Data Access (DA) Server. A third-party OPC DA Server can provide data points to Galaxy application objects through the OPCClient object.

Note: The OPCClient object is compatible with all OPC Servers that are compliant with OPC Data Access v2.05 or later standards.

There is a one-to-one relationship between an instance of the OPCClient object and a running OPC DA Server. If you want to reference data points in more than one OPC DA Server, you must configure and deploy more than one OPCClient object. For example, you would need to configure one OPCClient object to communicate to an ABTCP OPC Server and another one to talk to the ABCIP OPC Server.

An OPCClient object supports the following operations on I/O points for the OPC DA Server:

� Subscriptions, which are implemented via scan groups. Read transactions, which are implemented via block reads.

� Write transactions, which are implemented via block writes.

Note: If you are using this object to communicate with an OPC DA Server, you must properly configure the OPC DA Server before deploying this object.

RedundantDIObject

The RedundantDIObject provides you with the ability to configure a single object with connections to two different data sources (proxy objects or DIDevice objects). In the event of a failure of the active data source, this object automatically switches to the standby data source.

This capability allows clients to configure redundant connections to a field device.

The RedundantDIObject is a DeviceIntegration object that makes redundant connections to a field device possible. If one of the source objects is unable to provide connection to the field device, the RedundantDIObject automatically switches to the other source object for continued data acquisition.

The way the RedundantDIObject determines that a data source is in Bad state by monitoring the ConnectionStatus attribute common to all DIObjects, the ProtocolFailureReasonCode attribute that reflects a failure in communication by a DAS DIObject with a field device, and the ScanState attribute common to all ApplicationObjects. When those attributes are, respectively, Disconnected, non-zero, or Offscan, the status of the corresponding data source object is changed and a switchover attempt is made to the other data source.

There is a one-to-two relationship between an instance of a RedundantDIObject and a pair of source DeviceIntegration objects.

The RedundantDIObject supports the following operations on I/O points from field devices:

� Subscriptions, which are implemented via scan groups. Read transactions, which are implemented via block reads (when available in the source DIObject). Write transactions, which are implemented via block writes (when available in the source DIObject).

Wonderware Training

Page 147: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Connecting to the Field 2-47

Note: Most ApplicationObjects in the ArchestrA environment write only the last data received in a scan cycle. DeviceIntegrationObjects, including the RedundantDIObject, operate differently. They queue all data received in a scan cycle and write them all in the order received.

The two source DIObjects do not have to be the same type. But they must support the same type of DAGroups and must have the same item address space.

Note: The RedundantDIObject checks the state of its source DIObjects on every scan cycle.

Note: During configuration, one DIObject is set as the Primary DI source and the other is set as Backup DI source. These are just the starting points. During runtime, the terms Active and Standby apply, the configured Primary object initially being the Active object (if able to provide connection to the field device) and the configured Backup object initially being the Standby. If the connection to the Active object fails, then the Standby becomes the Active one and the other becomes the Standby. This switching between Active and Standby objects can be repeated multiple times depending on the configured switch attributes.

For complete redundancy coverage, the RedundantDIObject must be configured to have the DAGroups that are common to both source DIObjects. When the connection fails to the Active DIObject, all items are unsubscribed from the Active DIObject and new subscriptions are made to the Standby DIObject. If either DIObject has unique DAGroups, it is important that the RedundantDIObject should not be configured to use those uncommon DAGroups.

RedundantDIObjects belong to a family of objects called DINetwork objects.

Wonderware System Platform 3.0 Course - Part 1

Page 148: Manual Wsp 3 Part 1-Rev a Gold

2-48 Module 2 – Application Infrastructure

I/O Server

Different I/O data sources have different requirements. Two main groups are identified:

� Legacy I/O Server applications (SuiteLink, DDE, and OPC Servers) do not require a platform on the node on which they run. They can reside on either a standalone or workstation node.

However, the DI Objects used to communicate with those data sources such as the DDESuiteLinkClient object, OPCClient object, and InTouchProxy objects must be deployed to an AppEngine on a Platform. Although it is not required that these DI Objects be installed on the same node as the data server(s) they communicate with, it is highly recommended in order to optimize communication throughput.

� For Device Integration objects like ABCIP and ABTCP DINetwork objects, both the DAServer and the corresponding DI Objects must reside on the same computer hosting an AppEngine.

I/O Servers can run on Workstations, provided the requirements for visualization processing, data processing, and I/O read-writes can be easily handled by the computer. Run the I/O Server and the corresponding DI Object on the same node where most or all of the object instances (that obtain data from that DI Object) are deployed.

This implementation expedites the data transfer between the two components (the I/O Server and the object instance), since they both reside on the same node. This implementation also minimizes network traffic and increases reliability.

However, it is good practice to evaluate the overhead necessary to run each

Wonderware Training

Page 149: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Connecting to the Field 2-49

Data Access Server (DA Server)

DAServers, are designed to provide simultaneous connectivity between plant floor devices and modern DDE, SuiteLink™ and/or OPC based client applications. DAServers support the OPC Data Access 2.05 specification and offer additional features beyond the standard, including powerful diagnostics and remote configuration capabilities. They offer enhanced communication diagnostics and performance.

Each DAServer is designed to provide simultaneous connectivity between client applications based on Wonderware® SuiteLink™, OPC® and DDE protocols that run on Microsoft's Windows® operating systems and the data devices supported by the specific protocol being translated.

Several standard features are available with each DA Server, including:

� Compliance with OPC version 2.05

� Stand-alone operation mode

� Support for hot configuration, device additions and device- and server-specific parameter modifications

� A wide range of DA

Servers support connectivity to numerous protocols and products. Wonderware's current DA Servers offering also includes support for:

� Allen-Bradley's CIP protocol for ControlLogix

� Allen-Bradley's TCP protocol

� Allen-Bradley's DH Plus protocol

� Siemens' Simatic™ Net S7

� Modbus® Serial protocol

The DAServer is like a driver: it can receive data from different controllers simultaneously. For example, a DAServer might use OPC to access data remotely in one machine, and use InTouch to communicate with another machine. When a DAServer transfers data, it also transfers a timestamp and quality codes.

The DAServer is flexible enough to be used in a variety of topologies, but some topologies are more efficient than others.

For example, the DAServer can connect to the OPC Server directly across the network, or FactorySuite Gateway can be placed on the same machine as the OPC DAServer and SuiteLink can be used to link the server to devices. Of the two topologies, using FactorySuite Gateway is more efficient than connecting the DAServer directly to the OPC Server.

OPC DAServer technology also has drawbacks; for instance, data may be lost briefly without the user realizing the loss has occurred.

Wonderware System Platform 3.0 Course - Part 1

Page 150: Manual Wsp 3 Part 1-Rev a Gold

2-50 Module 2 – Application Infrastructure

– Intentionally left blank –

Wonderware Training

Page 151: Manual Wsp 3 Part 1-Rev a Gold

Lab 6 – Connecting to the Field 2-51

Lab 6 – Connecting to the Field

Introduction

In this lab the $DDESuiteLinkClient object is used to create a connection to an InControl application running the simulation that will feed your Galaxy for the rest of this class.

The InControl application effectively provides the behavior of a regular IO Server or DA Server connected to a real PLC.

Objectives

Upon completion of this lab you will be able to:

� Create and configure a $DDESuiteLinkClient object to connect to an IO Server or DA Server using SuiteLink as the communication protocol

� Monitor the connection status of the $DDESuiteLinkClient object on runtime

Note: FOR THIS LAB ONLY!!! This time you will NOT preface the object name with your FIRST and LAST initial. Again, this is for THIS LAB ONLY!

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.

Create the Device Integration object

1. Derived a new template from the $DDESuiteLinkClient object, name it $ABDDESuiteLinkClient , and assign it to the AB Training template toolset.

2. Create an instance of the $ABDDESuiteLinkClient template and name it InControl .

3. Configure the General tab of the new instance as follows:

� Server node : <ask your instructor>

� Server name : RTEngine

� Communication protocol : SuiteLink

4. On the Topic tab, add a topic called tagname and import the InControl Items List.csv file from the C:\Wonderware Training folder.

5. In the Model view, assign the InControl instance to the ABControlSystem area.

Deploy the Object

6. On the Deployment view, assign the InControl instance to the ABAppEngine object and deploy the object.

Wonderware System Platform 3.0 Course - Part 1

Page 152: Manual Wsp 3 Part 1-Rev a Gold

2-52 Module 2 – Application Infrastructure

Verify the Connection on Runtime

7. Open Object Viewer from within the ArchestrA IDE.

8. Using the watch list created in Lab 5, create a new watch window called InControl and add the following attribute references:

� ConnectionStatus

� Reconnect �

ServerNode

� ServerName

� CommunicationProtocol

� ScanGroupList (enter 1 as the array index)

9. Save the watch list.

See the next page for Detailed Lab Instructions

Wonderware Training

Page 153: Manual Wsp 3 Part 1-Rev a Gold

Lab 6 – Connecting to the Field 2-53

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Create the Device Integration object

1. In the Template Toolbox , create a derived template of the $DDESuiteLinkClient object by right-clicking the $DDESuiteLinkClient template and selecting New / Derived Template .

2. A new template is created. Use $ABDDESuiteLinkClient for the name.

3. Move the $ABDDESuiteLinkClient object to your template toolset.

Wonderware System Platform 3.0 Course - Part 1

Page 154: Manual Wsp 3 Part 1-Rev a Gold

2-54 Module 2 – Application Infrastructure

4. Using the Template Toolbox and the Model view, create an instance of the $ABDDESuiteLinkClient template. Name the new instance InControl . (Note that you will not use your initials for this object)

Configure the Instance

5. Double-click on the InControl instance to open its configuration editor.

Wonderware Training

Page 155: Manual Wsp 3 Part 1-Rev a Gold

Lab 6 – Connecting to the Field 2-55

6. On the General tab, configure the object as follows:

� Server node: <ask your instructor>. The following screenshot uses ‘MOE’ as an example.

� Server name: RTEngine

� Communication protocol: SuiteLink

7. Select the Topic tab.

Wonderware System Platform 3.0 Course - Part 1

Page 156: Manual Wsp 3 Part 1-Rev a Gold

2-56 Module 2 – Application Infrastructure

8. At the Available topics section, click the Add button, type tagname as the Topic name and press the Enter key.

9. With the topic tagname selected, click the Import button at the Associated attributes for tagname section.

The Open dialog box is displayed. Navigate to the C:\Wonderware Training folder, select the InControl Items List.csv file and press the Open button.

Wonderware Training

Page 157: Manual Wsp 3 Part 1-Rev a Gold

Lab 6 – Connecting to the Field 2-57

10. The content of the CSV file is loaded within the InControl object.

11. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 158: Manual Wsp 3 Part 1-Rev a Gold

2-58 Module 2 – Application Infrastructure

12. The Check In dialog box appears. Enter Initial configuration and setup in the Comment field and click the OK button.

13. In the Model view, assign the InControl instance to the ABControlSystem area.

Deploy the Object

14. Select the Deployment view.

Wonderware Training

Page 159: Manual Wsp 3 Part 1-Rev a Gold

Lab 6 – Connecting to the Field 2-59

15. Assign the InControl instance to the ABAppEngine object.

16. Right-click the InControl instance and select Deploy .

Wonderware System Platform 3.0 Course - Part 1

Page 160: Manual Wsp 3 Part 1-Rev a Gold

2-60 Module 2 – Application Infrastructure

17. The Deploy dialog box is displayed. By default the system will set the instance On Scan as soon as the object is deployed.

18. Leave the default settings and click the OK button.

This will display a second Deploy dialog box indicating the progress on deploying the object.

As soon as the process is complete, the Close button will be enabled.

Wonderware Training

Page 161: Manual Wsp 3 Part 1-Rev a Gold

Lab 6 – Connecting to the Field 2-61

19. Click the Close button to return to the ArchestrA IDE. The different views now display the instance in its deployed state.

Verify Connection on Runtime

20. In the Model view, open Object Viewer by right-clicking the Instance instance and selecting View in Object Viewer .

Wonderware System Platform 3.0 Course - Part 1

Page 162: Manual Wsp 3 Part 1-Rev a Gold

2-62 Module 2 – Application Infrastructure

21. The Object Viewer application opens displaying in the right panel the attributes of the selected object. If you closed Object Viewer before, you can use File / Load Watch List to open the file you saved on the previous Lab.

22. Right-click in the Watch List (bottom section of Object Viewer ) and select Add Watch Window to add a new tab to the watch list.

Wonderware Training

Page 163: Manual Wsp 3 Part 1-Rev a Gold

Lab 6 – Connecting to the Field 2-63

23. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab to rename the default Watch List 1 tab.

24. The Rename Tab dialog box is displayed. Enter InControl for the Tab Name field and click OK.

25. On the Attribute List (left section of Object Viewer ) locate the following attributes, right-click on them, and select Add to Watch to add them to the watch list:

� ConnectionStatus

� Reconnect

� ServerName

� ServerNode

� CommunicationProtocol

� ScanGroupList (enter 1 as the array index)

Wonderware System Platform 3.0 Course - Part 1

Page 164: Manual Wsp 3 Part 1-Rev a Gold

2-64 Module 2 – Application Infrastructure

26. Right-click in the Watch List (bottom section of Object Viewer ) and select Save to save the watch list to disk.

Wonderware Training

Page 165: Manual Wsp 3 Part 1-Rev a Gold

Module 3

Application Objects

Section 1 – Templates and Instances 3-5

Section 2 – The $UserDefined Object 3-9

Lab 7 – Heat Exchanger 3-11

Section 3 – Change Control and Propagation 3-27

Lab 8 – Change Control and Propagation 3-29

Section 4 – The $AnalogDevice Object 3-35

Lab 9 – Meter 3-37

Section 5 – The $DiscreteDevice Object 3-41

Lab 10 – Valve, Pump and Motor 3-45

Section 6 – Containment 3-61

Lab 11 – Mixer 3-67

Page 166: Manual Wsp 3 Part 1-Rev a Gold

3-2 Module 3 – Application Objects

Wonderware Training

Page 167: Manual Wsp 3 Part 1-Rev a Gold

3-3

Module Objectives

Be able to

� Identify and work with templates

� Derive and configure templates

Wonderware System Platform 3.0 Course - Part 1

Page 168: Manual Wsp 3 Part 1-Rev a Gold

3-4 Module 3 – Application Objects

Wonderware Training

Page 169: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Templates and Instances 3-5

Section 1 – Templates and Instances

Section Objectives

This section:

� Introduces you to the concept of templates and explain how to derive a template.

This section introduces you to the concept of templates and explain how to derive a template.

Templates

One of the major benefits of Application Server is that it allows you to re-use existing engineering. Working with templates is the best way to illustrate such capability.

A template is an entity that represents the common functional requirements of a field device (valves, pumps), a group of field devices (skids, stations), or a user function (algorithms). These requirements reflect information such as number of Inputs and Outputs, alarm conditions, history needs, and security. One object template performs the equivalent functions of multiple InTouch tags and scripts.

A template is created either from a base template or from another derived template. Base templates are the objects provided with the Application Server. Base templates cannot be modified.

Note: You should avoid creating instances directly from base templates, since you will not be able to take advantage of advanced configuration and maintenance capabilities.

Templates are high-level definitions of the devices in your environment. Templates are like a cookie cutter from which you can make many identical cookies.

You define a template for an object, like a valve, one time and then use that template when you need to define another instance of that item. Template names have a dollar sign ($) as the first character of their name.

A template can specify application logic, alarms, security, and historical data for an object.

A template can also define an area of your environment. You can extend and customize a template by adding User Defined Attributes (UDAs), scripts, or extensions to meet the specific needs of your environment. Objects inherit attributes from their parents.

Wonderware Application Server comes with predefined templates, called base templates. You cannot change these templates. All templates you create are derived from base templates.

You can also nest templates, or contain them. Contained templates consist of nested object templates that represent complex devices consisting of smaller, simpler devices, including valves. A reactor is a good candidate for containment.

Templates only exist in the development environment.

Using the Diaphragm valve template, you can quickly create an Diaphragm valve instance when you need another Diaphragm valve in your application.

Wonderware System Platform 3.0 Course - Part 1

Page 170: Manual Wsp 3 Part 1-Rev a Gold

3-6 Module 3 – Application Objects

Instances

Instances are the run-time objects created from templates in Wonderware Application Server. Instances are the specific things in your environment like processes, valves, conveyer belts, holding tanks, and sensors. Instances can get information from sensors on the real-world device or from application logic in Wonderware Application Server. Instances exist during run time.

In your environment, you may have a few instances or several thousand. Many of these instances may be similar or identical, such as valves or holding tanks. Creating a new valve object from scratch when you have several thousand identical valves is time-consuming. That's where templates come in.

Propagation

If you need to change something about all diaphragm valves, you can change the template for the diaphragm valve and all diaphragm valves in your application inherit the changes, assuming the attributes are locked in the parent template. This makes it easy to maintain and update your application.

Wonderware Training

Page 171: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Templates and Instances 3-7

Planning for Object Templates

The fourth step in the workflow is to determine the templates that you will need. A template is an element that contains common configuration parameters for objects that are used multiple times within a project. Templates are instantiated to represent specific objects within the application. Both the templates and the instances created from them are called ApplicationObjects.

For example, you might need multiple instances of a valve within your application, so you would create a valve template that has all of the required properties. This allows you to define once, and reuse multiple times. If you change the template, the changes can be propagated to the instances. You can use simple drag-and-drop within the ArchestrA IDE to create instances from templates.

Wonderware Application Server is shipped with a number of pre-defined templates to help you create your application quickly and easily. Review these templates and determine if any of their functionality match the requirements of the devices on your list. If not, you can create (derive) new templates from the supplied UserDefined templates.

For your project planning, document which existing template can be used for which objects, and what templates you will need to create yourself.

A child template that you derive from a parent template can be highly customized. You can implement user-defined attributes (UDAs), scripting, and alarm and history extensions.

Note: You can use the Galaxy Dump and Load Utility to create a .CSV file, which you can then modify using a text editor and load back into the galaxy repository. This allows you to make bulk edits to the configuration quickly and easily.

Wonderware System Platform 3.0 Course - Part 1

Page 172: Manual Wsp 3 Part 1-Rev a Gold

3-8 Module 3 – Application Objects

Deriving a Template

Templates are either derived from Base Objects, existing templates or created within the ObjectToolkit and imported.

Base templates cannot have their attributes configured. However, a template can be derived from one of the base templates. That derived template can then be configured and customized for attributes unique to the object it is modeling. Once that derived template is configured, instances of it can be created. Each instance will have all the attributes of the derived template.

Upon derivation the new template is created within the default toolset. The new template is created and placed into rename mode. The new template will inherit all attributes and associations of the original template that were locked. If the default toolset does not exist then the system will create it when the derived template is created. Creating a derived template is available from the Template Toolbox and the Derivation view as well as by using keyboard shortcut keys.

When creating an instance of an object that object instance will need to be configured independently. When deriving a template an instance of the template is created that takes on all of the attributes of the template from which it was created. This propagation of objects of a like kind can have a tremendous impact on the ability to create multiple instances of template derived objects containing fully replicated attributes.

Leveraging of Template Instances

To derive a Template from another one, do the following:

1. Select the Template in the ArchestrA IDE the new Template is to be derived from.

2. Right-click the selected Template and click Derived Template on the Create submenu of the context menu. The new Template is created, placed in the same toolset as the original Template, and set in rename mode.

3. Rename the derived Template.

Note: The new Template is created in the Galaxy in a checked in state. It can be viewed in the Template Toolbox or in the Derivation View of the Application Views pane.

Wonderware Training

Page 173: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – The $UserDefined Object 3-9

Section 2 – The $UserDefined Object

Section Objectives

This section:

� Introduces you to the $UserDefined object and its functionality.

This section introduces you to the $UserDefined object and its functionality.

$UserDefined Object

The UserDefined object provides the basic functionality you need to develop an ArchestrA supervisory application. The UserDefined object provides this functionality as Field Attributes, scripts, User Defined Attributes (UDAs), and attribute extensions.

You can configure Field Attributes as an Analog or Discrete type with one of the following access modes:

� Input . The Field Attribute only accepts input. The Field Attribute is updated based on the value that is read from the configured input address.

� InputOutput . The Field Attribute accepts input and sends output. The output destination can optionally differ from the input source address. The InputOutput mode supports the User writeable and Object writeable attribute categories.

� Output . The Field Attribute only sends output. The Field Attribute writes to the specified output destination. The Output mode supports the following categories:

� Calculated

� Calculated retentive

� User writeable

� Object writeable

Note: We recommend you do not extend the Field Attribute value with an Input, InputOutput, or Output extension. If the value is extended, unstable behavior with the Field Attribute value will occur.

The Analog Field Attribute supports the following data types:

� Integer

� Float

� Double

The Analog Field Attribute provides the enabling and configuration for the following functionality:

� Scaling of Input and Output values

� History

� HiHi, Hi, Lo and LoLo Limit Alarms

� Rate of Change Alarms

� Target Deviation Alarms

� Bad Value Alarm

� Statistics

Wonderware System Platform 3.0 Course - Part 1

Page 174: Manual Wsp 3 Part 1-Rev a Gold

3-10 Module 3 – Application Objects

The Discrete Field Attribute provides the enabling and configuration for the following functionality:

� State Labels

� History

� State Alarm

� Bad Value Alarm

� Statistics

The UserDefined object is an object that you can use to create customized objects. You can use the UserDefined object in the following ways:

1. As a template containing Field Attributes associated to multiple variables in a system. In this case, the object provides a simple and manageable structure as all the variables are contained in the same object.

For example, you might create a UserDefined object called "Tank" and configure Field Attributes that represent variables associated to the tank system:

� LT100 - Analog Field Attribute - Input from a level transmitter configured with options such as: Scaling, Limit alarms and Statistics (Min/Max/Avg).

� TT100 - Analog Field Attribute - Input from a temperature transmitter configured with options such as Rate of Change alarm and Statistics (Min/Max/Avg).

� SW100a - Discrete Field Attribute - Input from a limit switch configured with options such as State Labels and State alarm.

� SW100b - Discrete Field Attribute - Input from a limit switch configured with options such as State Labels and State alarm.

� XV100a - Discrete Field Attribute - InputOutput to a solenoid valve configured with options such as State Labels, State alarm, and Statistics (Open/Close time).

� XV100b - Discrete Field Attribute - InputOutput to a solenoid valve configured with options such as State Labels, State alarm, Statistics (Open/Close time).

References between attributes in the object can be accomplished by using relative reference, for example:

The "Tank" can be customized to raise an alarm when both XV100a and XV100b valves are open. For example, you can add a Boolean UDA called "ValueOpenAlarm", extend it with an Alarm Extension, and then add the following OnExecute script:

IF me.XV100a == "Open" AND me.XV100b == "Open" THEN me.ValueOpenAlarm = true;

ELSE me.ValueOpenAlarm = false;

ENDIF;

2. As a "container" for other objects. An object relationship in which one object is comprised of other objects is called containment. Containment allows you to group various objects together to make complex objects.

Wonderware Training

Page 175: Manual Wsp 3 Part 1-Rev a Gold

Lab 7 – Heat Exchanger 3-11

Lab 7 – Heat Exchanger

Introduction

In this lab the $UserDefined object is used to model the heat exchanger device identified in Lab 2. The InControl object created in the previous lab provides the connection to the live values for the four temperature transmitters within the heat exchanger.

Objectives

Upon completion of this lab you should be able to:

� Configure and use object templates to create instances that will inherited the configuration

� Use the Field Attributes functionality provided by the $UserDefined object

� Use the Galaxy Browser to build references to instances’ attributes within the Galaxy

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Create the Heat Exchanger Template

1. Derived a new template from the $UserDefined object, name it $ABHeatEx , and assign it to the AB Training template toolset.

2. Add to the $ABHeatEx template four analog field attributes named T1, T2, T3 and T4. Configure each field attribute as follows:

Access mode: Input

Data type: Float

Engineering units: Deg F

Enable I/O scaling: checked

Raw value - Maximum: 4095.0

EU value - Maximum: 250.0

EU range value - Minimum: -5.0

EU range value - Maximum: 255.0

Wonderware System Platform 3.0 Course - Part 1

Page 176: Manual Wsp 3 Part 1-Rev a Gold

3-12 Module 3 – Application Objects

Create a Heat Exchanger Instance

3. Create an instance of the $ABHeatEx template (leave the default name) and assign it to the ABIntake area.

4. Configure the Input source of each one of the four field attributes with the following references:

T1: InControl.tagname.HEXX0_TC1

T2: InControl.tagname.HEXX0_TC2

T3: InControl.tagname.HEXX0_TC3

T4: InControl.tagname.HEXX0_TC4

where XX is your student number.

Deploy the Object

5. Deploy the object.

View the Heat Exchanger Data on Runtime

6. Open Object Viewer from within the ArchestrA IDE.

7. Using the watch list created in Lab 5, add a new watch window called HeatEx and add the following attribute references:

ABHeatEx.T1

ABHeatEx.T2

ABHeatEx.T3

ABHeatEx.T4

8. Save the watch list.

See the next page for Detailed Lab Instructions

Wonderware Training

Page 177: Manual Wsp 3 Part 1-Rev a Gold

Lab 7 – Heat Exchanger 3-13

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Create the Heat Exchanger Template

1. In the Template Toolbox , create a derived template of the $UserDefined object by right- clicking the $UserDefined template and selecting New / Derived Template .

2. A new template is created. Use $ABHeatEx for the name.

3. Move the $ABHeatEx object to your template toolset.

Wonderware System Platform 3.0 Course - Part 1

Page 178: Manual Wsp 3 Part 1-Rev a Gold

3-14 Module 3 – Application Objects

4. Double-click on the $ABHeatEx template to open its configuration editor.

5. On the Field Attributes tab, click on the Add Analog button to add a new analog field attribute.

Wonderware Training

Page 179: Manual Wsp 3 Part 1-Rev a Gold

Lab 7 – Heat Exchanger 3-15

6. Configure the new field attribute as follows:

Name: T1

Access mode: Input

Data type: Float

Engineering units: Deg F

Enable I/O scaling: checked

Raw value - Maximum: 4095.0

EU value - Maximum: 250.0

EU range value - Minimum: -5.0

EU range value - Maximum: 255.0

Wonderware System Platform 3.0 Course - Part 1

Page 180: Manual Wsp 3 Part 1-Rev a Gold

3-16 Module 3 – Application Objects

7. Repeat steps 5 and 6 to add three more field attributes. Name the attributes T2, T3 and T4.

8. Click the Save and Close button and check in the object.

9. The Check In dialog box appears. Enter Initial configuration and setup in the Comment field and click OK.

Wonderware Training

Page 181: Manual Wsp 3 Part 1-Rev a Gold

Lab 7 – Heat Exchanger 3-17

10. A second Check In dialog box is displayed indicating the progress of the operation. As soon as the process is complete, the Close button will be enabled. Click the Close button.

Create a Heat Exchanger Instance

11. Using the Template Toolbox and the Model view, create an instance of the $ABHeatEx template using the default name of ABHeatEx_001 .

Assign the instance to the ABIntake area.

Wonderware System Platform 3.0 Course - Part 1

Page 182: Manual Wsp 3 Part 1-Rev a Gold

3-18 Module 3 – Application Objects

12. Double-click on the ABHeatEx_001 instance to open its configuration editor.

13. On the Inherited field attributes section, select the T1 attribute.

Wonderware Training

Page 183: Manual Wsp 3 Part 1-Rev a Gold

Lab 7 – Heat Exchanger 3-19

14. On the I/O section, click on the Input source ellipsis button to assign a reference using the Galaxy Browser.

15. The Galaxy Browser window appears.

Wonderware System Platform 3.0 Course - Part 1

Page 184: Manual Wsp 3 Part 1-Rev a Gold

3-20 Module 3 – Application Objects

16. Select the reference as follows and click OK:

From the left panel select the InControl object.

From the right panel select tagname.HE XX0_TC1 where XX is your student number. The following screenshot uses ‘00’ as an example.

17. The Input source attribute contains the selected reference.

18. Repeat steps 13 to 17 to configure the Input source for attributes T2, T3 and T4 using the tagname.HE XX0_TC2, tagname.HE XX0_TC3 and tagname.HE XX0_TC4 attributes.

19. Click the Save and Close button and check in the object.

Wonderware Training

Page 185: Manual Wsp 3 Part 1-Rev a Gold

Lab 7 – Heat Exchanger 3-21

20. The Check In dialog box appears. Enter Initial configuration and setup in the Comment field and click OK.

Deploy the Object

21. Select the Deployment view, right-click the ABHeatEx_001 instance and select Deploy .

Wonderware System Platform 3.0 Course - Part 1

Page 186: Manual Wsp 3 Part 1-Rev a Gold

3-22 Module 3 – Application Objects

22. The Deploy dialog box appears. By default the system will set the instance On Scan as soon as the object is deployed. Leave the default settings and click OK.

23. A second Deploy dialog box appears indicating the progress on deploying the object. As soon as the process is complete, the Close button will be enabled. Click Close .

Wonderware Training

Page 187: Manual Wsp 3 Part 1-Rev a Gold

Lab 7 – Heat Exchanger 3-23

View the Heat Exchanger Data on Runtime

24. Open Object Viewer by right-clicking the ABHeatEx_001 instance and selecting View in Object Viewer .

Wonderware System Platform 3.0 Course - Part 1

Page 188: Manual Wsp 3 Part 1-Rev a Gold

3-24 Module 3 – Application Objects

25. The Object Viewer application opens displaying the attributes of the selected object. If you closed Object Viewer before, you can use File / Load Watch List to open the file you saved earlier.

26. Right-click in the Watch List (bottom section of Object Viewer ) and select Add Watch Window to add a new tab to the watch list.

Wonderware Training

Page 189: Manual Wsp 3 Part 1-Rev a Gold

Lab 7 – Heat Exchanger 3-25

27. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab to rename the default Watch List 1 tab.

28. The Rename Tab dialog box is displayed. Enter HeatEx for the Tab Name field and click OK.

29. On the Attribute List (right section of Object Viewer ) locate the following attributes, right-click on them, and select Add to Watch to add them to the watch list:

� T1

� T2

� T3

� T4

Wonderware System Platform 3.0 Course - Part 1

Page 190: Manual Wsp 3 Part 1-Rev a Gold

3-26 Module 3 – Application Objects

30. Right-click in the Watch List (bottom section of Object Viewer ) and select Save to save the watch list to disk.

Wonderware Training

Page 191: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Change Control and Propagation 3-27

Section 3 – Change Control and Propagation

Section Objectives

� Introduce the concept of attribute locking, and

� Explain how locking attributes can propagate to previously derived instances.

This section presents the concept of attribute locking and provides an illustrations on how locking attributes can propagate to previously derived instances.

Locking an attribute in a Template indicates that its value is to be logically “shared” with all derived objects (Templates or instances). In other words, when the value changes in the template, that change is propagated to all the derived children of the object. When an attribute is “locked” in the Template, the value can be changed in that Template but not in any of the derived children.

Based on this concept, an attribute can have one of three logical lock types:

� Unlocked : Both Templates and instances can have these. Attribute is read-write. The object has its own copy of the attribute value and is not shared by derived objects.

� Locked : Only Templates can have these. Attribute value is read-write. Derived objects don’t have a unique copy of the attribute value, but instead share the locked one (it is Locked In Parent – see next item). By changing the value of a locked attribute, the logical value of that attribute is updated in all derived objects.

� Locked In Parent : Both Templates and instances can have these. Attribute is read-only. The object does not have a unique copy of the attribute value, but references the one in the ancestor in which the attribute is Locked.

Locking an Attribute

Wonderware System Platform 3.0 Course - Part 1

Page 192: Manual Wsp 3 Part 1-Rev a Gold

3-28 Module 3 – Application Objects

To lock a Template attribute, do the following:

1. Select the desired Template in the ArchestrA IDE and launch its editor.

2. Enter a value in an attribute field in the object’s editor.

3. Select the locking mechanism for that attribute. Some editors may have lock icons associated with certain edit fields, but this possibility is within the scope of the developer of the object’s editor.

4. Save and close the object editor.

The locked attribute in any derived templates and instances created from this template are locked and unavailable. To test this, you can derive a new template or create an instance from the original template, and then check the new object’s editor. The locked attribute is unavailable for editing.

Unlocking an Attribute

To unlock a Template attribute, do the following:

1. Select the desired Template in the ArchestrA IDE and launch its editor.

2. Select the locking mechanism for the locked attribute in the object’s editor. Some editors may have lock icons associated with certain edit fields, but this possibility is within the scope of the developer of the object’s editor.

3. Save and close the object editor.

The previously locked attribute in any instances created from this template are now unlocked. The previously locked attribute in any templates derived from this template are still Locked (in me). The previously locked attribute in any instances of derived templates remain in Locked in Parent.

Wonderware Training

Page 193: Manual Wsp 3 Part 1-Rev a Gold

Lab 8 – Change Control and Propagation 3-29

Lab 8 – Change Control and Propagation

Introduction

This lab illustrates how to modify the template for the heat exchanger to change the engineering units from ‘Deg F’ to ‘Celsius’, locking the attribute so the changes are propagated to the existing instance. It also illustrates that by locking the scaling configuration of the object it cannot be changed on derived objects.

Objectives

Upon completion of this lab you should be able to:

� Lock attributes in templates to control the changes that can be made on derived objects

� Propagate changes from templates to derived object by modifying the value of locked attributes

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Lock the Attributes

1. On the $ABHeatEx template, modify the configuration of the four field attributes as follow:

Engineering units: ‘Celsius’ and locked

Scaling section: locked

Verify the Changes to the Existing Instance

2. Open the configuration editor for the ABHeatEx_001 instance to verify the changes made in the template.

Redeploy the Object

3. Redeploy the object.

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 194: Manual Wsp 3 Part 1-Rev a Gold

3-30 Module 3 – Application Objects

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Lock the Attributes

1. In the Template Toolbox , double-click on the $ABHeatEx template to open its configuration editor.

Wonderware Training

Page 195: Manual Wsp 3 Part 1-Rev a Gold

Lab 8 – Change Control and Propagation 3-31

2. In the Field attributes section, select the T1 attribute and change the configuration as follows:

Engineering units: ‘Celsius’ and locked

Scaling section: locked

3. Repeat step 2 for field attributes T2, T3 and T4.

4. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 196: Manual Wsp 3 Part 1-Rev a Gold

3-32 Module 3 – Application Objects

Verify the Changes to the Existing Instance

5. The existing ABHeatEX_001 instance indicates that a change has been made to its configuration since it was last deployed.

6. Double-click the ABHeatEx_001 instance to open its configuration editor and verify the changes.

Select the T1 field attribute and expand the Enable I/O scaling section.

7. Click the Close button to close the editor.

Wonderware Training

Page 197: Manual Wsp 3 Part 1-Rev a Gold

Lab 8 – Change Control and Propagation 3-33

Redeploy the Object

8. Select the Deployment view, right-click the ABHeatEx_001 instance and select Deploy .

Wonderware System Platform 3.0 Course - Part 1

Page 198: Manual Wsp 3 Part 1-Rev a Gold

3-34 Module 3 – Application Objects

9. The Deploy dialog box appears. Leave the default settings and click OK.

10. A second Deploy dialog box appears indicating the progress on deploying the object. As soon as the process is complete, the Close button will be enabled. Click Close .

Wonderware Training

Page 199: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – The $AnalogDevice Object 3-35

Section 4 – The $AnalogDevice Object

Section Objectives

This section:

� Introduces you to the concept of the $AnalogDevice object and its functionality.

This section introduces you to the concept of the $AnalogDevice object and its functionality.

$AnalogDevice Object

The AnalogDevice object is an ApplicationObject that can be configured as either a basic analog device, or an analog regulator device. When configured as a basic analog device, the AnalogDevice object follows the traditional model of a basic analog input/output object with alarming and history. When configured as an analog regulator device, the AnalogDevice object provides an external model of a PID controller that exists in a field device, in addition to providing the traditional analog alarming and history capabilities.

� AnalogDevice Object as a Basic Analog Input/Output Object

� AnalogDevice Object as an Analog Regulator Object

AnalogDevice Object as a Basic Analog Input/Output Object

When configured as a basic analog device, this object provides a means for reading and optionally writing analog signals from the field or from another object. The basic I/O characteristics are:

� The process value (PV) is read from the field (except when the AnalogDevice object is configured to be in Manual mode).

� You can configure the AnalogDevice object to enable or disable analog output. If you enable output, you can configure the output destination address to be the same (default) or different from the input source address. Commands to change the PV will result in an output to field. For data integrity, the value of PV represents the value read from the external controller (except when the AnalogDevice object is in Manual mode), not the requested PV that is output to the external controller.

� The input and outputs can be optionally scaled between raw counts and engineering unit values using either linear or square-root conversions.

The AnalogDevice object supports alarming for PV conditions, such as when the PV:

� Exceeds level limits, such as Lo, Hi, LoLo, and HiHi.

� Exceeds rate-of-change limits, for both positive and negative directions.

� Exceeds major and minor deviations from a target value.

� Has a quality value of BAD.

In addition, you can configure the AnalogDevice object to allow or disallow the overriding of the PV value. If you enable the PV override, then you can use the PV.Mode attribute to place the AnalogDevice object into either Auto or Manual mode. When the AnalogDevice object is in Auto mode, the PV is updated from the field and matches the value and quality of the PVAuto attribute. When the AnalogDevice object is in Manual mode, the PVAuto attribute continues to be updated from the field, but the PV value does not. Instead, the PV can be set by a user write or a script, and the quality is always set to UNCERTAIN.

Finally, you can configure the AnalogDevice object to historize key variables, including PV and PV.Mode.

Wonderware System Platform 3.0 Course - Part 1

Page 200: Manual Wsp 3 Part 1-Rev a Gold

3-36 Module 3 – Application Objects

AnalogDevice Object as an Analog Regulator Object

When configured as an analog regulator device, the AnalogDevice object provides a means for reading and optionally writing two separate analog signals from the field or from another object: one PV value and one setpoint (SP) value. The basic I/O characteristics are:

� The process value (PV) is read from the field (except when the AnalogDevice object is configured to be in Manual mode), but is never written.

� The SP value is both read from the field and written to the field. You can configure the SP output destination address to be the same (default) or different from the input source address. Commands to change SP result in an output to field. For data integrity, the value of SP always represents the value read from the external controller, not the requested SP that is output to the external controller.

� The PV and SP can be optionally scaled between raw counts and engineering unit values using either linear or square-root conversions.

The AnalogDevice object supports alarming for PV conditions, including when the PV:

� Exceeds level limits, such as Lo, Hi, LoLo, and HiHi.

� Exceeds rate-of-change limits, for both positive and negative directions.

� Exceeds major and minor deviations from the SP value.

� Has a quality value of BAD.

In addition, you can configure the AnalogDevice object to allow or disallow the overriding of the PV value. If you enable the PV override, then you can use the PV.Mode attribute to place the AnalogDevice object into either Auto or Manual mode. When the AnalogDevice object is in Auto mode, the PV is updated from the field and matches the value and quality of the PVAuto attribute. When the AnalogDevice object is in Manual mode, the PVAuto attribute continues to be updated from the field, but the PV value does not. Instead, the PV can be set by a user write or a script, and the quality is always set to UNCERTAIN.

Other controller-oriented features that can be configured for an AnalogDevice object of type analog regulator include:

� Controller mode (CtrlMode attribute). You can use the controller mode to govern what types of writes are allowed to the SP value within the system. Controller mode options are Manual, Cascade, and None. When the object is in Manual mode, only end users are allowed to command a change in the value of SP. In Cascade mode, only scripts or other supervisory objects are allowed to command a change to SP. Finally, if None is specified for the controller mode, any type of write is allowed for the SP.

� Control tracking. A Boolean control track flag can be read from an external device or object. When tracking is on, the external controller "owns" the value of the SP; the SP is purely read-only and cannot be commanded to be changed and output to the field.

Wonderware Training

Page 201: Manual Wsp 3 Part 1-Rev a Gold

Lab 9 – Meter 3-37

Lab 9 – Meter

Introduction

This lab illustrates how to use the $AnalogDevice object to model a meter template which will be used later to create the objects for the mixer level and temperature transmitters identified in Lab 2.

The template created in this lab will be integrated later with other templates to form the mixer object; because of this, no instances will be created yet for this object.

Objectives

Upon completion of this lab you should be able to:

� Configure an $AnalogDevice object

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

General Steps

Create the Meter template

1. Derived a new template from the $AnalogDevice object, name it $ABMeter, and assign it to the AB Training template toolset.

2. Configure the object as follows:

Type: Analog (locked)

Enable analog output: Unchecked (locked)

Enable PV override: Unchecked (locked)

Enable I/O scaling: checked (locked)

Raw value Minimum: 0.0 (locked)

Raw value Maximum: 4095.0 (locked)

Conversion mode: Linear (locked)

Clamp input to EU range: unchecked (locked)

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 202: Manual Wsp 3 Part 1-Rev a Gold

3-38 Module 3 – Application Objects

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Create the Meter Template

1. In the Template Toolbox , create a derived template of the $AnalogDevice object by right- clicking the $AnalogDevice template and selecting New / Derived Template .

2. Use $ABMeter for the name of the template and move it to your template toolset.

3. Double-click on the $ABMeter template to open its configuration editor.

Wonderware Training

Page 203: Manual Wsp 3 Part 1-Rev a Gold

Lab 9 – Meter 3-39

4. Configure the General tab as follows:

Type: Analog (locked)

Enable analog output: Unchecked (locked)

Enable PV override: Unchecked (locked)

Enable I/O scaling: checked (locked)

Raw value Minimum: 0.0 (locked)

Raw value Maximum: 4095.0 (locked)

Conversion mode: Linear (locked)

Clamp input to EU range: unchecked (locked)

5. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 204: Manual Wsp 3 Part 1-Rev a Gold

3-40 Module 3 – Application Objects

– Intentionally left blank –

Wonderware Training

Page 205: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – The $DiscreteDevice Object 3-41

Section 5 – The $DiscreteDevice Object

Section Objectives

This section:

� Introduces you to the concept of the $DiscreteDevice object and its functionality.

This section introduces you to the concept of the $DiscreteDevice object and its functionality.

$DiscreteDevice Object

The DiscreteDevice object is a general purpose ApplicationObject that represents a large class of physical equipment common in manufacturing, such as pumps, valves, motors, and conveyors. These devices have two or more discrete physical states (for example, Open, Closed, and Moving). The actual state of a device is monitored using a combination of discrete inputs, and a device can be optionally controlled using a combination of discrete outputs.

The state names are configurable and are mapped to both input and output Boolean combinations in truth-table form. The meaning of the states depends on the type of discrete device. For a pump, the states might be configured as "Off" and "On," while for a valve they might be configured as "Open," "Closed," and "Moving." Note that a control valve has a continuous position represented by an analog signal of 0 to 100% and is not properly represented with a discrete device. Control valves are best represented with the AnalogDevice object.

When a DiscreteDevice object is commanded to a new state, it sets the configured combination of discrete outputs for that state. When one or more of its monitored discrete inputs change, the DiscreteDevice object determines the new actual state of the equipment and sets the process value (PV) appropriately.

Input and output states are totally independent of each other and can be configured as required by your application; however, the input and output states can be linked by alarms. This allows the object to detect a command timeout and uncommanded change alarms when devices unexpectedly change, or fail to change when commanded to do so.

Historization of key attributes including the current state (PV) and commanded state (Cmd) can also be configured.

Finally, the DiscreteDevice object supports a rich set of statistics reporting that you can enable during configuration.

DiscreteDevice Object States

The DiscreteDevice object has two key attributes that represent the current state (PV) and the commanded state (Cmd). Both of these are enumerations. The DiscreteDevice object can have up to five states that can be configured with state names that are appropriate to the equipment being monitored. The actual meanings of the states are dependent on the equipment:

� Passive

The passive state represents the state of the discrete device when it is idle, stopped, or closed (the typical non-running position). For example, the passive state for a motor might be "Off."

� First Active

The first active state (Active1) represents the state of the discrete device when it is considered to be running. For example, the active state for a motor might be "Forward." You can use outputs to control the first active state.

Wonderware System Platform 3.0 Course - Part 1

Page 206: Manual Wsp 3 Part 1-Rev a Gold

3-42 Module 3 – Application Objects

� Second Active

(Optional) Some discrete devices have more than one active state. For example, a motor might have a second active state of "Backward." You can use outputs to control the second active state (Active2).

� Transition

(Optional) The discrete device is in a transition state any time it is changing from one valid state to another. For example, if you have a valve with a passive state of "Off" and an active state of "On," the transition state might be "Moving."

� Fault

The fault state occurs when the feedback that is coming from the field is incorrect or impossible based on how the discrete device works. For example, a fault would occur if the Hi and Lo limit is being reached at the same time for a single device. Examples of fault state names are "Error," "Bad," or "Broken."

Monitoring a Discrete Device through Inputs

If you configure the DiscreteDevice object to have inputs (feedback) from the field, the input values are used to update the overall state of the device. A DiscreteDevice object can have up to four inputs. After defining the inputs, map the different input combinations to the possible states for the device.

For example, you might have a valve on your discrete device that can be either opened or closed. You have defined the passive state of the device as Closed, the first active state as Opened, and the fault state as Bad. You would then create references for two field inputs: one for the open position (Valve_Open), and one for the closed position (Valve_Close). You then would map the inputs to the defined states. For example:

Valve_Open Valve_Close Mapped State

0 0 Bad

0 1 Closed

1 0 Opened

1 1 Bad

where:

1=TRUE

0=FALSE

By default, when the monitored discrete inputs change, the DiscreteDevice object determines the new actual state of the equipment and updates the value of the process value (PV) appropriately.

You can configure the DiscreteDevice object to allow or disallow overriding of the PV value. If you enable the PV override, then the object can be placed in Auto, Manual, or Simulate modes using the PVMode attribute.

� When the object is in Auto mode, the PV updates from the field and matches the value and quality of PVAuto.

� When the object is in Manual mode, PVAuto continues to update from the field but the PV does not. Instead, the PV can be set by a user or script and the quality is always marked as UNCERTAIN.

Wonderware Training

Page 207: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – The $DiscreteDevice Object 3-43

� When the object is in Simulate mode, the PV value is set equal to the Cmd value, rather than read from the field.

Controlling a Discrete Device through Outputs

You can control (command) the passive, first active, and second active states of the discrete device using the Cmd attribute. The transition and fault states are not commandable. When a DiscreteDevice object is commanded to a new state, it sets an appropriate combination of discrete outputs for that state.

For example, you might map the first active state of "Open" to a discrete device output reference that will turn a valve to the open position. When you set the Cmd attribute to "Open," the valve is "commanded" to be opened. If inputs (feedback) are configured for the DiscreteDevice object, the object could then detect when the valve is actually open or closed.

Commanding a discrete device to a new state does not directly change the PV unless you have the PVMode set to "Simulate."

Controller-oriented features for the DiscreteDevice object include:

� A configurable control mode. The control mode (Manual or Cascade) determines what types of writes are allowed to the Cmd value within the system. Manual indicates that only users (operators) are allowed to request a change to Cmd, whereas Cascade indicates that only scripts or other supervisory objects are allowed to request a change to Cmd.

� Control tracking. A Boolean control track flag can be read from an external device or object. When tracking is on, the external controller "owns" the value of the Cmd; the Cmd is purely read-only and is set to the value of PV.

Alarm Capabilities

The DiscreteDevice object provides sophisticated alarming capabilities, including:

� Command timeout alarm, which indicates that the PV state did not change to match the Cmd state within a configurable timeout period.

� Uncommanded change alarm, which indicates that the PV state changed from the expected Cmd state to some other state and the quality of PV is GOOD or UNCERTAIN (not BAD).

� Individual alarms for each of Active1, Active2, and Fault state conditions.

� Duration alarms for each of Active1 and Active2 states, indicating the discrete device has been in the state for too long of a time period.

Statistical Features

The DiscreteDevice object offers advanced built-in state tracking calculations that can be used for equipment monitoring and time-in-use tracking, including:

� The most recent time durations of the Active1, Active2 and Passive states.

� The total accumulated time durations of the Active1, Active2 and Passive states, with optional alarming on the Active1 and Active2 total durations.

� The number of transitions into the Active1, Active2 and Passive states.

� A commandable reset of all statistics.

Wonderware System Platform 3.0 Course - Part 1

Page 208: Manual Wsp 3 Part 1-Rev a Gold

3-44 Module 3 – Application Objects

– Intentionally left blank –

Wonderware Training

Page 209: Manual Wsp 3 Part 1-Rev a Gold

Lab 10 – Valve, Pump and Motor 3-45

Lab 10 – Valve, Pump and Motor

Introduction

This lab illustrates how to use the $DiscreteDevice object to model a valve, a pump and a motor template which will be used later to create the mixer’s inlet and outlet valves, as well as the transfer pumps and agitator identified in Lab 2.

Initially, the templates for the pump and the motor are quite similar. Later, you will extend the motor template to handle the speed associated with the mixer’s agitator.

The templates to be created in this lab will be integrated later with other templates to form the mixer object; because of this, no instances will be created for these objects at this time.

Objectives

Upon completion of this lab you should be able to:

� Configure a $DiscreteDevice object

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Create the Valve Template

1. Derive a new template from the $DiscreteDevice object, name it $ABValve , and assign it to the AB Training template toolset.

2. Configure the object’s General tab as follows:

Enable inputs: Checked (locked)

Enable outputs: Checked (locked)

Wonderware System Platform 3.0 Course - Part 1

Page 210: Manual Wsp 3 Part 1-Rev a Gold

3-46 Module 3 – Application Objects

3. Configure the object’s States tab as follows:

Enable second active state: Unchecked (locked)

Enable transition state: Checked (locked)

State names: (locked)

Passive state: Closed

First Active state: Opened

Transition state: Traveling

Fault state: Fault

4. Configure the object’s Inputs tab as follows:

Number of Inputs: 2 (locked)

Input Name: (locked)

Input 2 Input Name: CLS

Input 1 Input Name: OLS

Input to PV Map: (locked)

0 0: Traveling

0 1: Opened

1 0: Closed

1 1: Fault

PV override: (locked)

5. Configure the object’s Outputs tab as follows:

Number of outputs: 1 (locked)

Output Name: (locked)

Output 1 Output Name: CmdOpen

Closed: Unchecked (locked)

Opened: Checked (locked)

Initial control mode: Manual (locked)

Control tracking: (locked)

Wonderware Training

Page 211: Manual Wsp 3 Part 1-Rev a Gold

Lab 10 – Valve, Pump and Motor 3-47

Create the Pump Template

6. Derived a new template from the $DiscreteDevice object, name it $ABPump , and assign it to the AB Training template toolset.

7. Configure the object’s General tab as follows:

Enable inputs: Checked (locked)

Enable outputs: Checked (locked)

8. Configure the object’s States tab as follows:

Enable second active state:

Unchecked (locked)

Enable transition state: Unchecked (locked)

State names: (locked)

Passive state: Stopped

First Active state: Running

Fault state: Fault

9. Configure the object’s Inputs tab as follows:

Number of Inputs: 1 (locked)

Input Name: (locked)

Input 1 Input Name: FlowSwitch

Input to PV Map: (locked)

0: Stopped

1: Running

PV override: (locked)

10. Configure the object’s Outputs tab as follows:

Number of outputs: 1 (locked)

Output Name: (locked)

Output 1 Output Name: CmdStart

Stopped: Unchecked (locked)

Running: Checked (locked)

Initial control mode: Manual (locked)

Control tracking: (locked)

Wonderware System Platform 3.0 Course - Part 1

Page 212: Manual Wsp 3 Part 1-Rev a Gold

3-48 Module 3 – Application Objects

Create the Motor Template

11. Derived a new template from the $DiscreteDevice object, name it $ABMotor , and assign it to the AB Training template toolset.

12. Configure the object’s General tab as follows:

Enable inputs: Checked (locked)

Enable outputs: Checked (locked)

13. Configure the object’s States tab as follows:

Enable second active state: Unchecked (locked)

Enable transition state: Unchecked (locked)

State names: (locked)

Passive state: Stopped

First Active state: Running

Fault state: Fault

14. Configure the object’s Inputs tab as follows:

Number of Inputs: 1 (locked)

Input Name: (locked)

Input 1 Input Name:

AuxContact (locked)

Input to PV Map: (locked)

0: Stopped

1: Running

PV override: (locked)

15. Configure the object’s Outputs tab as follows:

Number of outputs: 1 (locked)

Output Name: (locked)

Output 1 Output Name: CmdStart

Stopped: Unchecked (locked)

Running: Checked (locked)

Initial control mode: Manual (locked)

Control tracking: (locked)

Wonderware Training

Page 213: Manual Wsp 3 Part 1-Rev a Gold

Lab 10 – Valve, Pump and Motor 3-49

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Create the Valve Template

1. In the Template Toolbox , create a derived template of the $DiscreteDevice object by right- clicking the $DiscreteDevice template and selecting New / Derived Template .

2. Use $ABValve for the name of the template and move it to your template toolset.

3. Double-click on the $ABValve template to open its configuration editor.

Wonderware System Platform 3.0 Course - Part 1

Page 214: Manual Wsp 3 Part 1-Rev a Gold

3-50 Module 3 – Application Objects

4. Configure the General tab as follows:

Enable inputs: Checked (locked)

Enable outputs: Checked (locked)

5. Configure the States tab as follows:

Enable second active state: Unchecked (locked)

Enable transition state: Checked (locked)

State names: (locked)

Passive state: Closed

First Active state: Opened

Transition state: Traveling

Fault state: Fault

Wonderware Training

Page 215: Manual Wsp 3 Part 1-Rev a Gold

Lab 10 – Valve, Pump and Motor 3-51

6. Configure the Inputs tab as follows:

Number of Inputs: 2 (locked)

Input Name: (locked)

Input 2 Input Name: CLS

Input 1 Input Name: OLS

Input to PV Map: (locked)

0 0: Traveling

0 1: Opened

1 0: Closed

1 1: Fault

PV override: (locked)

Wonderware System Platform 3.0 Course - Part 1

Page 216: Manual Wsp 3 Part 1-Rev a Gold

3-52 Module 3 – Application Objects

7. Configure the Outputs tab as follows:

Number of outputs: 1 (locked)

Output Name: (locked)

Output 1 Output Name: CmdOpen

Closed: Unchecked (locked)

Opened: Checked (locked)

Initial control mode: Manual (locked)

Control tracking: (locked)

8. Click the Save and Close button and check in the object.

Wonderware Training

Page 217: Manual Wsp 3 Part 1-Rev a Gold

Lab 10 – Valve, Pump and Motor 3-53

Create the Pump Template

9. In the Template Toolbox , create a derived template of the $DiscreteDevice object by right- clicking the $DiscreteDevice template and selecting New / Derived Template .

10. Use $ABPump for the name of the template and move it to your template toolset.

11. . Double-click on the $ABPump template to open its configuration editor.

Wonderware System Platform 3.0 Course - Part 1

Page 218: Manual Wsp 3 Part 1-Rev a Gold

3-54 Module 3 – Application Objects

12. Configure the General tab as follows:

Enable inputs: Checked (locked)

Enable outputs: Checked (locked)

13. Configure the States tab as follows:

Enable second active state: Unchecked (locked)

Enable transition state: Unchecked (locked)

State names: (locked)

Passive state: Stopped

First Active state: Running

Fault state: Fault

Wonderware Training

Page 219: Manual Wsp 3 Part 1-Rev a Gold

Lab 10 – Valve, Pump and Motor 3-55

14. Configure the Inputs tab as follows:

Number of Inputs: 1 (locked)

Input Name: (locked)

Input 1 Input Name: FlowSwitch

Input to PV Map: (locked)

0: Stopped

1: Running

PV override: (locked)

Wonderware System Platform 3.0 Course - Part 1

Page 220: Manual Wsp 3 Part 1-Rev a Gold

3-56 Module 3 – Application Objects

15. Configure the Outputs tab as follows:

Number of outputs: 1 (locked)

Output Name: (locked)

Output 1 Output Name: CmdStart

Stopped: Unchecked (locked)

Running: Checked (locked)

Initial control mode: Manual (locked)

Control tracking: (locked)

16. Click the Save and Close button and check in the object.

Wonderware Training

Page 221: Manual Wsp 3 Part 1-Rev a Gold

Lab 10 – Valve, Pump and Motor 3-57

Create the Motor Template

17. In the Template Toolbox , create a derived template of the $DiscreteDevice object by right- clicking the $DiscreteDevice template and selecting New / Derived Template .

18. Use $ABMotor for the name of the template and move it to your template toolset.

19. Double-click on the $ABMotor template to open its configuration editor.

Wonderware System Platform 3.0 Course - Part 1

Page 222: Manual Wsp 3 Part 1-Rev a Gold

3-58 Module 3 – Application Objects

20. Configure the General tab as follows:

Enable inputs: Checked (locked)

Enable outputs: Checked (locked)

21. Configure the States tab as follows:

Enable second active state: Unchecked (locked)

Enable transition state: Unchecked (locked)

State names: (locked)

Passive state: Stopped

First Active state: Running

Fault state: Fault

Wonderware Training

Page 223: Manual Wsp 3 Part 1-Rev a Gold

Lab 10 – Valve, Pump and Motor 3-59

22. Configure the Inputs tab as follows:

Number of Inputs: 1 (locked)

Input Name: (locked)

Input 1 Input Name: AuxContact

Input to PV Map: (locked)

0: Stopped

1: Running

PV override: (locked)

Wonderware System Platform 3.0 Course - Part 1

Page 224: Manual Wsp 3 Part 1-Rev a Gold

3-60 Module 3 – Application Objects

23. Configure the Outputs tab as follows:

Number of outputs: 1 (locked)

Output Name: (locked)

Output 1 Output Name: CmdStart

Stopped: Unchecked (locked)

Running: Checked (locked)

Initial control mode: Manual (locked)

Control tracking: (locked)

24. Click the Save and Close button and check in the object.

Wonderware Training

Page 225: Manual Wsp 3 Part 1-Rev a Gold

Section 6 – Containment 3-61

Section 6 – Containment

Section Objectives

This section illustrates the concept of containment and how it works with Application Objects and Templates.

This section illustrates the concept of containment and how it works with Application Objects and Templates.

Creating Contained Templates

Containment is the relationship in which one object includes another. Containment relationships organize objects in a hierarchy. You can build objects that represent complex devices consisting of smaller, simpler devices.

In scripts, these objects can be referred to by the name that derives from the containment relationship. This name is called a hierarchical name.

An object can have three kinds of names, depending on if it is contained by another object. The three names include:

� Tagnames

� Contained Name

� Hierarchical Name

Name Description Tagname The unique name of the individual object. For example, Valve1. Contained Name The name of the object within the context of its container object. For

example, the object whose Tagname is Valve1 may also be referred to as Tank1.Outlet, if Tank1 contains it and it has the contained name "Outlet".

Hierarchical Name Hierarchical names that are fully-qualified names of a contained object include the name of the objects that contain it.

Since the object that contains it may also be contained, there are potentially multiple hierarchical names that refer to the same object.

For example, if:

"Reactor1" contains Tank1 (also known within Reactor1 by its contained name "SurgeTank").

"Tank1" contains Valve1 (also known within Tank1 by its contained name "Outlet").

Valve1 could be referred to as:

"Valve1"

"Tank1.Outlet"

"Reactor1.SurgeTank.Outlet".

Wonderware System Platform 3.0 Course - Part 1

Page 226: Manual Wsp 3 Part 1-Rev a Gold

3-62 Module 3 – Application Objects

For example, an instance of a $Tank is named Tank01. An instance of $Valve called Valve01 is contained within the instance of $Tank.

Change the contained name of Valve01 to InletValve. Now Valve01 can also be referred to by its hierarchical name Reactor1.InletValve. The name of the contained object can be changed, though, within the scope of the hierarchy.

Contained names can be up to 32 alphanumeric or special characters. The second character cannot be $ and the name must include at least one letter. You cannot use spaces.

Note: Base templates cannot be contained by another template, either as the container or as the template being contained. You can only use containment with derived templates.

Higher level objects contain lower level objects. This allows you to more closely model complex plant equipment, like tank systems. You can nest templates to 10 levels.

Note: Objects can only contain objects like themselves. For example, ApplicationObjects can only be contained by other ApplicationObjects. Areas can only contain other Areas.

ApplicationObject Containment

ApplicationObjects can be contained by other ApplicationObjects. This provides context for the contained object and a naming hierarchy that provides a powerful tool for referencing objects.

Note: Base templates cannot be contained by another template, either as the container or as the template being contained. You can only use containment with derived templates.

Wonderware Training

Page 227: Manual Wsp 3 Part 1-Rev a Gold

Section 6 – Containment 3-63

An example of a containment hierarchy is a tank that contains the following objects:

� Inlet Valve

� Agitator

� Outlet Valve

� Level

Wonderware System Platform 3.0 Course - Part 1

Page 228: Manual Wsp 3 Part 1-Rev a Gold

3-64 Module 3 – Application Objects

To enable referencing and flexibility within scripting, these objects can be referenced in several different ways. Each object has a unique Tagname, such as:

� Inlet Valve = InletValve01

� Agitator = Agitator01

� Outlet Valve = OutletValve01

� Level = Level01

Wonderware Training

Page 229: Manual Wsp 3 Part 1-Rev a Gold

Section 6 – Containment 3-65

Within the context of each hierarchy, the contained names are unique, in that the names only refer to this tank system and the contained objects.

So if the tank is named Tank01, the contained names are:

� Tank01.Inlet

� Tank01.Agitator

� Tank01.Outlet

� Tank01.Level

Additionally, you can use containment references in scripts such as:

� Me.Outlet: Allows a script running within the parent object to generically reference its child outlet instance.

� MyContainer.Inlet: Allows a script running in any of the children instances to reference another child instance named Inlet that belongs to the same parent.

Wonderware System Platform 3.0 Course - Part 1

Page 230: Manual Wsp 3 Part 1-Rev a Gold

3-66 Module 3 – Application Objects

Renaming Contained Objects

Before you rename a contained name of an object, make sure that the object is not checked out to another user or currently deployed.

The new contained name must comply with naming restrictions. Template names can be up to 32 alphanumeric or special characters, including the required $ as the first character. The second character cannot be $ and the name must include at least one letter. You cannot use spaces.

Contained names also cannot be the same contained name as an existing contained object within the same level of hierarchy in the containment relationship.

Note: Be careful renaming contained objects. References from other objects to the object being renamed are not automatically updated with the new name. You must update the references. Objects with broken references receive bad quality data at run-time.

To rename an object's contained name

1. Select the object in an Application view.

2. On the Edit menu, click Rename Contained Name.

3. Type a new contained name.

All IDEs connected to the Galaxy show the object's new contained name.

Containment and the Derivation View

The Derivation View does not show containment relationships. It shows templates and instances with regard to containment in the follow ways:

� Non-contained instances show their tagnames.

� Contained instances show their tagnames and hierarchical names.

� Non-contained templates show their object name.

� Contained templates show their hierarchical name.

Containment of instances is limited to Areas containing other Areas and AppObjects containing other AppObjects.

Renaming can be done on an instance's tagname and contained name. A template only has a template name.

Wonderware Training

Page 231: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-67

Lab 11 – Mixer

Introduction

This lab uses the templates created in Labs 9 and 10 to create dedicated templates for each of the Mixer’s components identified in Lab 2. Using the $UserDefined template to create a template for the mixer itself, you will use object containment to integrate all the pieces together and build the “mixer system”.

The InControl object created in Lab 6 provides the connection to the live values for each of the objects that are part of the mixer.

Objectives

Upon completion of this lab you should be able to:

� Create and configure a containment relationship between objects.

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Create the Mixer template

1. Derived a new template from the $UserDefined object, name it $ABMixer , and assign it to the AB Training template toolset.

Create the Mixer’s Contained Templates

2. Derived three new templates from the $ABValve object, name them $Inlet1 , $Inlet2 and $Outlet , and assign them to the $ABMixer template.

3. Derived two new templates from the $ABPump object, name them $Pump1 and $Pump2 , and assign them to the $ABMixer template.

4. Derived a new templates from the $ABMotor object, name it $Agitator , and assign it to the $ABMixer template.

Wonderware System Platform 3.0 Course - Part 1

Page 232: Manual Wsp 3 Part 1-Rev a Gold

3-68 Module 3 – Application Objects

5. Derived a new template from the $ABMeter object, name it $LIT, and assign it to the $ABMixer template. Configure the object as follows:

Engineering units: Liters (locked)

EU value Minimum: 0.0 (locked)

EU value Maximum: 100.0 (locked)

EU range value Minimum: -5.0 (locked)

EU range value Maximum: 105.0 (locked)

6. Derived a new template from the $ABMeter object, name it $TT, and assign it to the $ABMixer template. Configure the object as follows:

Engineering units: Celsius (locked)

EU value Minimum: 0.0 (locked)

EU value Maximum: 250.0 (locked)

EU range value Minimum: -5.0 (locked)

EU range value Maximum: 255.0 (locked)

Create a Mixer Instance

7. Create an instance of the $ABMixer template (leave the default name) and assign it to the ABLine1 area.

Wonderware Training

Page 233: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-69

8. Configure the input and output references for the contained objects as follows

where XX is your student number.

For Agitator_001 :

AuxContact.InputSource: InControl.tagname.TXX0_AG_AuxContact

CmdStart.OutputDestination: InControl.tagname.TXX0_AG_CmdStart

For Inlet1_001

CLS.InputSource: InControl.tagname.TXX0_IV1_CLS

OLS.InputSource: InControl.tagname.TXX0_IV1_OLS

CmdOpen.OutputDestination: InControl.tagname.TXX0_IV1_CmdOpen

For Inlet2_001

CLS.InputSource: InControl.tagname.TXX0_IV2_CLS

OLS.InputSource: InControl.tagname.TXX0_IV2_OLS

CmdOpen.OutputDestination: InControl.tagname.TXX0_IV2_CmdOpen

For LIT_001

PV.Input.InputSource: InControl.tagname.TXX0_LT_PV

For Outlet_001

CLS.InputSource: InControl.tagname.TXX0_OV_CLS

OLS.InputSource: InControl.tagname.TXX0_OV_OLS

CmdOpen.OutputDestination: InControl.tagname.TXX0_OV_CmdOpen

For Pump1_001

FlowSwitch.InputSource: InControl.tagname.TXX0_TP1_FlowSwitch

CmdStart.OutputDestination: InControl.tagname.TXX0_TP1_CmdStart

For Pump2_001

FlowSwitch.InputSource: InControl.tagname.TXX0_TP2_FlowSwitch

CmdStart.OutputDestination: InControl.tagname.TXX0_TP2_CmdStart

For TT_001

PV.Input.InputSource: InControl.tagname.TXX0_TT_PV

Deploy the Object

9. . Deploy the object.

Wonderware System Platform 3.0 Course - Part 1

Page 234: Manual Wsp 3 Part 1-Rev a Gold

3-70 Module 3 – Application Objects

View the Mixer Data in Runtime

10. Open Object Viewer from within the ArchestrA IDE.

11. Using the watch list created in Lab 5, add a new watch window called Mixer and add the following attribute references:

Agitator_001.PV

Agitator_001.Cmd

Inlet1_001.PV

Inlet1_001.Cmd

Inlet2_001.PV

Inlet2_001.Cmd

LIT_001.PV

Outlet_001.PV

Outlet_001.Cmd

Pump1_001.PV

Pump1_001.Cmd

Pump2_001.PV

Pump2_001.Cmd

TT_001.PV

12. Save the watch list.

See the next page for Detailed Lab Instructions

Wonderware Training

Page 235: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-71

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Create the Mixer Template

1. Create a derived template of the $UserDefined object by right-clicking the template and selecting New / Derived Template .

2. Use $ABMixer for the name of the template and move it to your template toolset.

Create the Mixer’s Contained Templates

Create the Mixer’s Valves Templates

3. Create a derived template of the $ABValve object by right-clicking the template and selecting New / Derived Template .

4. Use $Inlet1 for the name of the template (Notice that you will not use your initials for this object) and assign it to the $ABMixer template to contain it within the $ABMixer object.

Wonderware System Platform 3.0 Course - Part 1

Page 236: Manual Wsp 3 Part 1-Rev a Gold

3-72 Module 3 – Application Objects

5. Create a derived template of the $ABValve object by right-clicking the template and selecting New / Derived Template .

6. Use $Inlet2 for the name of the template (Notice that you will not use your initials for this object) and assign it to the $ABMixer template to contain it within the $ABMixer object.

7. Create a derived template of the $ABValve object by right-clicking the template and selecting New / Derived Template .

8. Use $Outlet for the name of the template (Notice that you will not use your initials for this object) and assign it to the $ABMixer template to contain it within the $ABMixer object.

Wonderware Training

Page 237: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-73

Create the Mixer’s Pumps and Agitator templates

9. Create a derived template of the $ABPump object by right-clicking the template and selecting New / Derived Template .

10. Use $Pump1 for the name of the template (Notice that you will not use your initials for this object) and assign it to the $ABMixer template to contain it within the $ABMixer object.

11. Create a derived template of the $ABPump object by right-clicking the template and selecting New / Derived Template .

12. Use $Pump2 for the name of the template (Notice that you will not use your initials for this object) and assign it to the $ABMixer template to contain it within the $ABMixer object.

Wonderware System Platform 3.0 Course - Part 1

Page 238: Manual Wsp 3 Part 1-Rev a Gold

3-74 Module 3 – Application Objects

13. Create a derived template of the $ABMotor object by right-clicking the template and selecting New / Derived Template .

14. Use $Agitator for the name of the template (Notice that you will not use your initials for this object) and assign it to the $ABMixer template to contain it within the $ABMixer object.

Create the Level and Temperature Meter Templates

15. Create a derived template of the $ABMeter object by right-clicking the template and selecting New / Derived Template .

Wonderware Training

Page 239: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-75

16. Use $LIT for the name of the template (Notice that you will not use your initials for this object) and assign it to the $ABMixer template to contain it within the $ABMixer object.

17. Double-click on the $ABMixer.LIT template to open its configuration editor.

Wonderware System Platform 3.0 Course - Part 1

Page 240: Manual Wsp 3 Part 1-Rev a Gold

3-76 Module 3 – Application Objects

18. Configure the General tab as follows:

Engineering units: Liters (locked)

EU value Minimum: 0.0 (locked)

EU value Maximum: 100.0 (locked)

EU range value Minimum: -5.0 (locked)

EU range value Maximum: 105.0 (locked)

19. Click the Save and Close button and check in the object.

20. Create a derived template of the $ABMeter object by right-clicking the template and selecting New / Derived Template .

Wonderware Training

Page 241: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-77

21. Use $TT for the name of the template (Notice that you will not use your initials for this object) and assign it to the $ABMixer template to contain it within the $ABMixer object.

22. Double-click on the $ABMixer.TT template to open its configuration editor.

Wonderware System Platform 3.0 Course - Part 1

Page 242: Manual Wsp 3 Part 1-Rev a Gold

3-78 Module 3 – Application Objects

23. Configure the General tab as follows:

Engineering units: Celsius (locked)

EU value Minimum: 0.0 (locked)

EU value Maximum: 250.0 (locked)

EU range value Minimum: -5.0 (locked)

EU range value Maximum: 255.0 (locked)

24. Click the Save and Close button and check in the object.

Wonderware Training

Page 243: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-79

Create a Mixer Instance

25. Using the Template Toolbox and the Model view, create an instance of the $ABMixer template using the default name of ABMixer_001 .

Assign the instance to the ABLine1 area.

Configure the Agitator

26. Double-click on the Agitator_001 instance to open its configuration editor.

27. Select the Inputs tab and configure the Input Source Reference as follows:

AuxContact: InControl.tagname.TXX0_AG_AuxContact

where XX is your student number.

Wonderware System Platform 3.0 Course - Part 1

Page 244: Manual Wsp 3 Part 1-Rev a Gold

3-80 Module 3 – Application Objects

28. Select the Outputs tab and configure the Output Destination Reference as follows:

CmdStart: InControl.tagname.TXX0_AG_CmdStart

where XX is your student number.

29. Click the Save and Close button and check in the object.

Configure Inlet1

30. Double-click on the Inlet1_001 instance to open its configuration editor.

31. Select the Inputs tab and configure the Input Source Reference as follows:

CLS: InControl.tagname.TXX0_IV1_CLS

OLS: InControl.tagname.TXX0_IV1_OLS

where XX is your student number.

32. Select the Outputs tab and configure the Output Destination Reference as follows:

CmdOpen: InControl.tagname.TXX0_IV1_CmdOpen

where XX is your student number.

33. Click the Save and Close button and check in the object.

Wonderware Training

Page 245: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-81

Configure Inlet2

34. Double-click on the Inlet2_001 instance to open its configuration editor.

35. Select the Inputs tab and configure the Input Source Reference as follows:

CLS: InControl.tagname.TXX0_IV2_CLS

OLS: InControl.tagname.TXX0_IV2_OLS

where XX is your student number.

36. Select the Outputs tab and configure the Output Destination Reference as follows:

CmdOpen: InControl.tagname.TXX0_IV2_CmdOpen

where XX is your student number.

37. Click the Save and Close button and check in the object.

Configure the LIT

38. Double-click on the LIT_001 instance to open its configuration editor.

39. Select the I/O tab and configure the PV input source as InControl.tagname.TXX0_LT_PV.

where XX is your student number.

40. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 246: Manual Wsp 3 Part 1-Rev a Gold

3-82 Module 3 – Application Objects

Configure Outlet

41. Double-click on the Outlet_001 instance to open its configuration editor.

42. Select the Inputs tab and configure the Input Source Reference as follows:

CLS: InControl.tagname.TXX0_OV_CLS

OLS: InControl.tagname.TXX0_OV_OLS

where XX is your student number.

43. Select the Outputs tab and configure the Output Destination Reference as follows:

CmdOpen: InControl.tagname.TXX0_OV_CmdOpen

where XX is your student number.

44. Click the Save and Close button and check in the object.

Wonderware Training

Page 247: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-83

Configure Pump1

45. Double-click on the Pump1_001 instance to open its configuration editor.

46. Select the Inputs tab and configure the Input Source Reference as follows:

FlowSwitch: InControl.tagname.TXX0_TP1_FlowSwitch

where XX is your student number.

47. Select the Outputs tab and configure the Output Destination Reference as follows:

CmdStart: InControl.tagname.TXX0_TP1_CmdStart

where XX is your student number.

48. Click the Save and Close button and check in the object.

Configure Pump2

49. Double-click on the Pump2_001 instance to open its configuration editor.

Wonderware System Platform 3.0 Course - Part 1

Page 248: Manual Wsp 3 Part 1-Rev a Gold

3-84 Module 3 – Application Objects

50. Select the Inputs tab and configure the Input Source Reference as follows:

FlowSwitch: InControl.tagname.TXX0_TP2_FlowSwitch

where XX is your student number.

51. Select the Outputs tab and configure the Output Destination Reference as follows:

CmdStart: InControl.tagname.TXX0_TP2_CmdStart

where XX is your student number.

52. Click the Save and Close button and check in the object.

Configure the TT

53. Double-click on the TT_001 instance to open its configuration editor.

54. Select the I/O tab and configure the PV input source as InControl.tagname.TXX0_TT_PV.

where XX is your student number.

55. Click the Save and Close button and check in the object.

Wonderware Training

Page 249: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-85

Deploy the Object

56. Select the Deployment view, right-click the ABMixer_001 instance and select Deploy .

57. The Deploy dialog box displays. By default the system will do a Cascade Deploy of all 9 objects in the containment relationship and set all instances On Scan as soon as the objects are deployed. Leave the default settings and click OK.

58. A second Deploy dialog box displays indicating the progress on deploying all 9 objects. As soon as the process is complete, the Close button will be enabled. Click Close .

Wonderware System Platform 3.0 Course - Part 1

Page 250: Manual Wsp 3 Part 1-Rev a Gold

3-86 Module 3 – Application Objects

View the Mixer Data in Runtime

59. Open Object Viewer by right-clicking the ABMixer_001 instance and selecting View in Object Viewer . If you closed Object Viewer before, you can use File / Load Watch List to open the file you saved earlier.

60. Right-click in the Watch List (bottom section of Object Viewer ) and select Add Watch Window to add a new tab to the watch list.

61. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab to rename the watch list to Mixer .

Wonderware Training

Page 251: Manual Wsp 3 Part 1-Rev a Gold

Lab 11 – Mixer 3-87

62. Using the Object List (left section of Object Viewer ) and the Attribute List (right section of Object Viewer ), locate and add the following attributes to the selected watch list by right- clicking on each attribute and selecting Add to Watch :

For Agitator_001 PV

Cmd

For Inlet1_001 PV

Cmd

For Inlet2_001 PV

Cmd

For LIT_001 PV

For Outlet_001 PV

Cmd

For Pump1_001 PV

Cmd

For Pump2_001 PV

Cmd

For TT_001 PV

63. Right-click in the Watch List (bottom section of Object Viewer ) and select Save to save the watch list to disk.

Wonderware System Platform 3.0 Course - Part 1

Page 252: Manual Wsp 3 Part 1-Rev a Gold

3-88 Module 3 – Application Objects

– Intentionally left blank –

Wonderware Training

Page 253: Manual Wsp 3 Part 1-Rev a Gold

Module 4

Extending the Objects

Section 1 – UDAs 4-3

Section 2 – Extensions 4-7

Lab 12 – Motor Speed 4-11

Section 3 – Introduction to QuickScript .NET 4-19

Lab 13 – DDESuiteLinkClient Auto Reconnect 4-51

Lab 14 – Automatic Reference Configuration 4-57

Page 254: Manual Wsp 3 Part 1-Rev a Gold

4-2 Module 4 – Extending the Objects

Module Objectives

� Be able to work with extending the objects and configuring them for additional functionality.

Wonderware Training

Page 255: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – UDAs 4-3

Section 1 – UDAs

Section Objective

This section introduces and explains UDAs and how they are configured and used.

This section introduces and explains UDAs and how they are configured and used.

User Defined Attributes (UDAs)

UDAs (User Defined Attributes) are part of the ApplicationObject script environment. They allow users to not only add logic to an existing ApplicationObject but also to expose new behavior via added (user defined) attributes. More specifically, they allow users to:

� Add a new attribute to an object.

� Configure its data type.

� Specify the attribute category.

� Set initial values and locks on the new attribute.

� Set whether the new attribute is an array and how many elements comprise it.

� Set alarms and historization for the new attribute (done on the Extensions page).

� Define security and references to other objects (done on the Extensions page).

Note: After you add an attribute to an instance, it appears in the Attribute Browser list for use with the scripting and attribute extension functions.

Put to the extreme, scripts and UDAs can be used to create a completely new type of ApplicationObject starting from an empty container object that has no behavior / logic itself.

You can add UDAs to a template or an instance. When you add a UDA to a template, the UDA, its data type, and category are automatically locked in the child instances.

If UDA parameters such as initial values and security classifications are locked in the template, they cannot be changed in child instances. If these parameters are unlocked in the template, the initial value and security are editable and lockable in derived templates. When unlocked in either the base or derived template, the value is editable in instances.

After you add an attribute to an instance, it appears in the Attribute Browser list for use with the scripting and attribute extension functions.

Wonderware System Platform 3.0 Course - Part 1

Page 256: Manual Wsp 3 Part 1-Rev a Gold

4-4 Module 4 – Extending the Objects

The UDAs page is comprised of three main functional areas and a set of function buttons. These are described below.

The main areas of the UDAs page include:

� UDAs list: Lists all UDAs currently associated with the object. Click the Add button to add a new UDA.

� Inherited UDAs list: Lists all UDAs associated with the object's parent. The object automatically includes these UDAs. They can only be edited by modifying the parent template.

� Data type list: Shows the data type options for configuring the selected UDA.

Select from the data types Boolean , Integer , Float , Double , String , Time , ElapsedTime or InternationalizedString .

Allowed categories are Calculated , Calculated retentive , Object writable and User writeable . You can lock writable attributes. If you select Calculated for an attribute, only scripts running on the same object can write to the attribute.

Wonderware Training

Page 257: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – UDAs 4-5

You can create an array for each data type except InternationalizedString . Select This is an array and specify the array's length in the Number of elements box.

The Value parameter specifies the initial setting for the attribute when the object is deployed. Enter value data for each data type. In the case of a non-arrayed Boolean , select the True/False check box to use a True value. Clear the check box to use a False value. For an arrayed Boolean, select the desired element and provide a default value by typing either true or false.

When using UDAs in scripting, note the following:

� When using Calculated and Calculated Retentive UDAs as counters, they must be manually initialized. For instance, if you use me.UDA=me.UDA+1 as a counter in a script, you must also initialize the UDA with something like me.UDA=1 or me.UDA=<some attribute value>.

� Calculated UDAs can be initialized in OnScan and Execute scripts (that is, scripts with those types of Execution Type triggers), but not Startup scripts.

� Calculated Retentive UDAs must be initialized in Startup scripts, and can be initialized in OnScan and Execute scripts. The main purpose of a Calculated Retentive UDA is to retain the attribute's current value after a computer reboot, redundancy-related failover, or similar occurrence in which valid checkpoint data is present. Therefore, your Startup script should contain a statement testing the Boolean value of the attribute, StartingFromCheckpoint, on the object's AppEngine. If the value is TRUE, you should not initialize the UDA; if the value is FALSE, you should initialize the UDA.

Wonderware System Platform 3.0 Course - Part 1

Page 258: Manual Wsp 3 Part 1-Rev a Gold

4-6 Module 4 – Extending the Objects

– Intentionally left blank –

Wonderware Training

Page 259: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Extensions 4-7

Section 2 – Extensions

Section Objective

This section describes the Output Functionality for Application Objects in the Extensions environment.

This section provides describes the Output Functionality for Application Objects in the Extensions environment.

Extensions

The Extensions page is comprised of five main functional areas. These are described below.

The main functional areas of the Extensions page include:

� Extendable Attributes List: Lists all attributes currently associated with the object. The list can include those added through the UDA object extension function. Select the Show

Extension Attributes check box to include attributes added on the UDA page.

� InputOutput Extension Group: Use to configure an attribute so that its value is both read from an external-reference source and written to an external-reference destination (the source and destination may or may not be the same). The extension reads the Source attribute's value and quality, and updates the extended attribute's value and quality every scan. Changes read from the source are not written back to the Destination attribute.

Wonderware System Platform 3.0 Course - Part 1

Page 260: Manual Wsp 3 Part 1-Rev a Gold

4-8 Module 4 – Extending the Objects

� Input Extension Group: Use to configure an attribute to be a reference source for another object. In other words, the extended attribute acquires the update value of the Source attribute.

� Output Extension Group: Use to configure an attribute to be writeable to an external object's attribute. In other words, when the value or quality (from Bad or Initializing to Good or Uncertain) of the extended attribute is modified, the value of the Destination attribute is updated.

� Alarm Extension Group: Use to create an alarm condition when a Boolean attribute's value is set to TRUE.

� History Extension Group: Use to historize the value of an attribute that does not already have history capabilities.

� Boolean Label Extension: Specify custom text strings for the False state and the True state. These custom text strings appear in the Active alarm state list in the Alarm extension area for you to select. If you are using the InTouch HMI, you can see these custom text strings in InTouch.

To create and associate an extension with an object

1. On the Extensions page of the object's editor, select an attribute in the Extendable Attributes List. The four extension groups dynamically change according to allowed extension rules for the selected attribute type.

2. Select the check box of the kind of extension you want to apply to the selected attribute. The associated parameters for each kind of extension are then made available.

3. For InputOutput Extension , enter a Source attribute by either typing in the reference string or clicking the attribute browser button at right. Use the Attribute Browser dialog box to search for

the desired reference string in an object. Then if Destination is different from Source , click Output Destination Differs from Input Source , and enter a Destination attribute by either

typing in the reference string or clicking the attribute browser button. An X is placed in the InputOutput column of the selected attribute.

Caution! If you clear the Output Destination Differs from Input Source check box, the content of the Destination box automatically becomes "---". In the run-time environment, "---" is interpreted as the same reference as the Source value entered during configuration time. In the run-time, you can change the Source reference. Therefore, during configuration, do not lock the Destination parameter if you clear the Output Destination Differs from Input Source check box.

4. For Input Extension , enter a Source attribute by either typing in the reference string or clicking the attribute browser button at right. Use the Attribute Browser dialog box to search for

the desired reference string in an object. An X is placed in the Input column of the selected attribute.

5. For Output Extension , enter a Destination attribute by either typing in the reference string or clicking the attribute browser button at right. Use the Attribute Browser dialog box to search for

the desired reference string in an object. Select the Output Every Scan check box if you want the extended attribute to write to the Destination attribute every scan period of the object (otherwise, the write executes only when the value is modified or when quality changes from Bad or Initializing to Good or Uncertain). An X is placed in the Output column of the selected attribute.

6. For Alarm Extension , select a Category from the list: Discrete, Value LoLo, Value Lo, Value Hi, Value HiHi, DeviationMinor, DeviationMajor, ROC Lo, ROC Hi, SPC, Process, System, Batch or Software . Type a Priority level for the alarm (default is 500). Also, choose between Use Object Description for Alarm Message or typing in another alarm message in the Message box. An X is placed in the Alarm column of the selected attribute.

Wonderware Training

Page 261: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Extensions 4-9

7. For History Extension , enter values for the remaining parameters: Force Storage Period, Engineering Units, Value Deadband, Trend High and Trend Low , if available (depends on the data type of the selected attribute). An X is placed in the History column of the selected attribute.

8. Lock the value if desired. The lock symbol is available only when you are extending a template. Otherwise, it indicates the lock condition of the value in the parent object.

9. Set the security classification for the attribute if available. See "Security Icons" in "Working with Object Editors" for more information.

10. Save and close the object editor to include the new attribute extensions in the configured object.

Output Functionality

The following information applies to the functionality of InputOutput and Output extensions as well as the output function of the Field Reference, Switch and Analog Device objects.

If a single set request is made to a destination attribute during a single scan cycle, that value is sent to the destination. During a single scan cycle, though, more than one set request to the same destination is possible. In that case, folding occurs and the last value is sent to the destination.

The following occurs during a single scan cycle: Only the last value requested during a scan cycle will be sent to its destination when the object executes. Its status is marked as Pending as it waits for write confirmation from the destination object. All other set requests during that scan cycle are marked as successfully completed.

If one or more new sets are requested during the next scan cycle, then the second scan cycle's value is determined in the same way as described above. It is then sent to the destination when the object executes again and the value sent to the destination during the previous scan cycle is marked with successful completion status even if write confirmation had not been received.

In other words, within a single scan cycle, data is folded and only the last set requested is sent to the destination. For instance, an {11,24,35,35,22,36,40} sequence of set requests will result in a value of 40 being sent to the destination object. All other values result in successful completion status.

The exception to the above-described functionality is for Boolean data types used in User sets (sets from InTouch or FactorySuite Gateway). This functionality accounts for an unknown user input rate (for instance, repeated button pushes) with a consistent object scan rate for outputs, and therefore creates reproducible results. In this case, a combination of folding as described above plus maintenance of a queue of one element deep in order to better meet the expectation of users. To begin with, the first value set after the object is deployed (the default True or False) is always written to its destination.

Subsequently, the following occurs during a single scan cycle: A two-tiered caching scheme of a Value to be Sent and a Next Value to be Sent is implemented. The Value to be Sent is based on data change as compared to the last value sent to the destination object. The Next Value to be Sent is based on data change as compared to the Value to be Sent value. When the first data change occurs, the new value is cached in the Value to be Sent queue. Folding occurs if the same value is requested again. If another value change occurs, this second value is cached in the Next Value to be Sent queue. Again, folding occurs if the same value is requested again.

The Value to be Sent value is sent during the next scan cycle, and the Next Value to be Sent value is sent during the following scan cycle.

Wonderware System Platform 3.0 Course - Part 1

Page 262: Manual Wsp 3 Part 1-Rev a Gold

4-10 Module 4 – Extending the Objects

In other words, for Boolean data types and User sets, the following examples apply:

Previous Scan Cycle Value Sent

Scan Cycle Set Requests

Value to be Sent

Next Value to be Sent

0 1,0,0,1,1 1 none 1 1,0,0,1,1 0 1 0 1,1,0,0 1 0 1 1,1,0,0 0 none

Note: In the case of Boolean data types used in Supervisory sets (sets between ApplicationObjects and ArchestrA) or a mixture of Supervisory and User sets during a single scan cycle, the behavior is the same as the other data types.

Important! When the same attribute is extended with an Input extension and an Output extension, writes to the Output extension's Destination occur every scan regardless of whether the extended attribute has changed. This behavior occurs even when the Output Every Scan check box is cleared, increasing the potential for additional network traffic. The behavior described in this note does not apply to an InputOutput extension.

Wonderware Training

Page 263: Manual Wsp 3 Part 1-Rev a Gold

Lab 12 – Motor Speed 4-11

Lab 12 – Motor Speed

Introduction

In Lab 2, you identified that the motors, such as the agitator in the mixer, have a signal that indicates the speed of the motor when it is running, and that this speed has a setpoint associated with it to specify the desired speed for the process.

When you created the $ABMotor template in Lab 10 using the $DiscreteDevice, it was explained that this object does not include, by default, attributes that can be used to indicate the speed of the motor.

In this lab the $Motor template is modified by adding the attributes and functionality necessary to include the speed data (and its setpoint) as identified in Lab 2.

Objectives

Upon completion of this lab you should be able to:

� Add and configure UDAs to your objects

� Extend attributes with input and output functionality

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Add and Extend the UDAs

1. Add to the $ABMotor template two Float UDAs: one Object writeable named Speed , and another one User writeable named SpeedSP.

2. Extend the Speed attribute with an Input extension and configure its Source as ---.---.

3. Extend the SpeedSP attribute with an InputOutput extension and configure its Source

as ---.---. Leave Output destination differs from input source unchecked and lock it.

Configure the Agitator Instance

4. Configure the newly added UDAs in the Agitator_001 object as follows:

Speed.InputSource: InControl.tagname.TXX0_AG_Speed

SpeedSP.InputSource: InControl.tagname.TXX0_AG_SpeedSP

Wonderware System Platform 3.0 Course - Part 1

Page 264: Manual Wsp 3 Part 1-Rev a Gold

4-12 Module 4 – Extending the Objects

View the Agitator Speed Data in Runtime

5. Deploy the object and open Object Viewer from within the ArchestrA IDE.

6. Using the watch list created in Lab 5, add a new watch window called Extensions and add the following attribute references:

� Agitator_001.PV

� Agitator_001.Cmd

� Agitator_001.Speed

� Agitator_001.SpeedSP

7. With the Agitator Running , set the SpeedSP attribute to any valid float value to test it.

8. Save the watch list.

See the next page for Detailed Lab Instructions

Wonderware Training

Page 265: Manual Wsp 3 Part 1-Rev a Gold

Lab 12 – Motor Speed 4-13

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Add and Extend the UDAs

1. Double-click the $ABMotor template to open its configuration editor.

Select the UDAs tab.

2. Click the plus icon button to add a UDA to the object. Name the UDA Speed and configure it as follows:

Data type: Float

Category: Object writeable

3. Click the plus icon button to add a UDA to the object. Name the UDA SpeedSP and configure it as follows:

Data type: Float

Category: User writeable

Wonderware System Platform 3.0 Course - Part 1

Page 266: Manual Wsp 3 Part 1-Rev a Gold

4-14 Module 4 – Extending the Objects

4. Select the Extensions tab.

5. Select the Speed attribute and configure its extensions as follows:

Input extension: checked

Source: ---.---

Wonderware Training

Page 267: Manual Wsp 3 Part 1-Rev a Gold

Lab 12 – Motor Speed 4-15

6. Select the SpeedSP attribute and configure its extensions as follows:

InputOutput extension: checked

Source: ---.---

Output destination differs from input source:

unchecked (locked)

7. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 268: Manual Wsp 3 Part 1-Rev a Gold

4-16 Module 4 – Extending the Objects

Configure the Agitator Instance

8. Double-click on the Agitator_001 instance to open its configuration editor.

Select the Extensions tab.

9. Select the Speed attribute and configure its Input extension as follows:

Source: InControl.tagname.TXX0_AG_Speed

where XX is the student number.

Wonderware Training

Page 269: Manual Wsp 3 Part 1-Rev a Gold

Lab 12 – Motor Speed 4-17

10. Select the SpeedSP attribute and configure its InputOutput extension as follows:

Source: InControl.tagname.TXX0_AG_SpeedSP

where XX is the student number.

11. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 270: Manual Wsp 3 Part 1-Rev a Gold

4-18 Module 4 – Extending the Objects

View the Agitator Speed Data in Runtime

12. Deploy the Agitator_001 object.

13. Open Object Viewer by right-clicking the Agitator_001 instance and selecting View in Object Viewer . If you closed Object Viewer before, you can use File / Load Watch List to open the file you saved earlier.

14. Right-click in the Watch List (bottom section of Object Viewer ) and select Add Watch Window to add a new tab to the watch list.

15. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab to rename the watch list to Extensions .

16. Add the following Agitator_001 attributes to the watch list:

� PV

� Cmd

� Speed

� SpeedSP

17. With the Agitator Running , set the SpeedSP attribute to any valid float value (e.g. 50).

18. Save the watch list.

Wonderware Training

Page 271: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-19

Section 3 – Introduction to QuickScript .NET

Section Objective

This section introduces and explains the scripting environment and the various scripting configuration attributes of the ApplicationObject .

This section introduces and explains the scripting environment and the various scripting configuration attributes of the ApplicationObject

UDAs and Scripting

When using UDAs in scripting, keep the following list in mind. � If you use Calculated and Calculated retentive UDAs as counters, they must be

manually initialized. For example, if you use me.UDA=me.UDA+1 as a counter in a script, you must also initialize the UDA with something like me.UDA=1 or me.UDA=<some

attribute value> .

� Calculated UDAs can be initialized in scripts with Execution type triggers of On Scan and Execute, but not initialized in Startup scripts.

� You must initialize Calculated retentive UDAs in Startup scripts and you can initialize these UDAs in On Scan and Execute scripts. A Calculated retentive UDA retains the attribute’s current value after a computer restart, redundancy-related failover, or similar situation in which valid checkpoint data is present. Your Startup script should contain a statement testing the Boolean value of the StartingFromCheckpoint attribute on the object’s AppEngine. If the value is TRUE, do not initialize the UDA. If the value is FALSE, initialize the UDA.

The ApplicationObject Script

An ApplicationObject script is developed for the purpose of adding behavior to a specific ApplicationObject . It will execute only when a deployed object containing the script is on scan. The script isn’t directly callable from other scripts (although changing the value of an object attribute may allow the script’s execution trigger conditions to command script execution). A script doesn’t have the concept of returning a specific value upon execution completion.

An ApplicationObject script is added to an ApplicationObject (template or instance) using the ArchestrA IDE. The script related information is edited via the script editor. The editor exposes five script types:

If the user selects an Execute type script, the script editor exposes one edit field for an expression and another edit field for the script code.

The script expression acts as a filter for the invocation of Execute script execution. The expression is evaluated every time the object that the script is attached to is executed. Dependent on the evaluation the actual script is triggered or not.

Wonderware System Platform 3.0 Course - Part 1

Page 272: Manual Wsp 3 Part 1-Rev a Gold

4-20 Module 4 – Extending the Objects

This model is fine for simple scripts that just do some simple calculations. However, as soon as it is necessary to instantiate external objects and keep them alive across multiple executions of the script, the simple model falls apart. In order to support those more complex scenarios the script writer can fill in script code for the Startup() and Shutdown() methods. External objects would be instantiated in the Startup() method and destroyed in the Shutdown() method. If finer granularity is needed the OnScan() and OffScan() methods can be used respectively. OnScan() and OffScan() are invoked whenever the scan state of the object changes to OnScan and OffScan, respectively.

In order to support the just described scenarios the script offers a way to mimic static variables (e.g., variables holding an instance of an object alive across different execution cycles). This is accomplished by using a Dim statement in the upper Declarations section of the script editor. Variables so dimensioned stay alive for the lifetime of the object.

In contrast, Variables dimensioned in the script section are destroyed between calls to the Object’s script. In either case, dimensioned variables are only accessible from within the script. Other scripts cannot access those variables. Also, there is no means to expose those variables as attributes of the associated object (e.g., for debugging purposes). To expose these member variables, they can be set to a UDA.

Due to this tight link between scripts and UDAs, a script has more open access to UDAs (of the object that the script is attached to) than to any other attribute on the object. It could be said that UDAs are owned by a script

A script can also leverage UDAs to persist values across different script runs. Therefore, UDAs allow users that do not want to get exposed to the complexity of script member variables to still mimic static variables for data types that fit into Application Server attributes.

Reference Strings

Reference strings refer to an object or to data within an object's attributes. A reference string consists of an object's reference string plus an attribute's reference string.

AutomationObject Reference + Attribute Reference

A reference string is the object name plus the attribute name: ObjectName.AttributeName .

In TIC101.PV TIC101 is the AutomationObject reference and PV is the attribute reference. The AttributeName can be omitted in a reference string, PV being assumed in such cases.

Note: Some objects have a PV attribute, while others do not.

Reference strings are concatenated substrings, each no more than 32 characters separated by periods. A substring cannot contain a period. Mathematical operator characters are not allowed. At least one character in each substring must be non-numeric.

Note: The Galaxy resolves reference strings. If the GR is not available, resolution is done on a peer-to-peer level. After initial resolution, an object is provided an alias that handles references to its location across your network. If an object is relocated or renamed, the reference string resolution is repeated and a new alias provided.

Wonderware Training

Page 273: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-21

Relative References

References that go up the hierarchy to parent objects are called relative references.

Relative references, such as Me, are valid reference strings. A valid reference string must always contain at least a relative reference or one substring.

The following are valid relative references that refer to the current object:

� Me

� MyContainer

� MyPlatform

� MyEngine

� MyArea

Relative references are especially useful in templates because absolute references typically do not apply or make sense.

When you use relative references, like MyContainer, you can refer to contained objects within that container. For example, a reference to MyContainer.InletValve.PV is equivalent to Tank1.InletValve.PV in the following hierarchy:

Tank1 Cannot reference at this level because this is not contained

Inlet Valve (InletValve Can reference at this level because this object is contained

Outlet Valve (OutletValve) Can reference at this level because this object is contained

Wonderware System Platform 3.0 Course - Part 1

Page 274: Manual Wsp 3 Part 1-Rev a Gold

4-22 Module 4 – Extending the Objects

Scripts Page

The Scripts page has six areas.

Wonderware Training

Page 275: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-23

The main areas of the Scripts page include:

� Scripts list: Shows all scripts currently associated with the object. The columns indicate which kind of trigger the script uses: Startup, On Scan, Execute, Off Scan and Shutdown. Click the Add button to add a new script.

� Inherited scripts name list: Shows all scripts associated with the object's parent. The columns indicate which kind of trigger the script uses: Startup, On Scan, Execute, Off Scan and Shutdown.

� Aliases area: Lets you create and modify aliases that apply to the script you are working on. Aliases are logically descriptive names for typically long ArchestrA reference strings that you can use in the script to make the script more readable.

� Declarations area: Provides a place to add variable declaration statements, such as DIM MyArray[1] as FLOAT;. These declared variables live from the startup to the shutdown of the

object and can be used to hold values that persist from one execution of the script to the next. They apply only to the script in which they are declared.

� Basics area: Provides a location in which you set the expression, triggering conditions, and other settings that run the script in the run-time environment. This area includes:

Configure Execution Order: Sets the execution order of multiple scripts (inherited and local) associated with this object.

Historize Script State: Select to send the state of the script to a Wonderware Historian Server historian, the ArchestrA historian.

� Script Creation box: Shows the script you are writing.

Wonderware System Platform 3.0 Course - Part 1

Page 276: Manual Wsp 3 Part 1-Rev a Gold

4-24 Module 4 – Extending the Objects

Script Development Environment

Attribute Browser

From within the Script Editor the user can leverage the Attribute-Picker tool to browse through the attribute namespace of the hosting object and other objects to pick a certain attribute to be included in the script code. The tool does not distinguish between attributes of on-engine and off- engine objects.

Script Function Browser

Like the InTouch script editor, the name of the selected script function and its calling syntax will be added to the script text when the user picks it in the script function browser. In addition to being able to insert the function call, the user can also enter a type declaration statement for object names. In addition, the browser provides the user the ability to distinguish between properties and methods.

Browsing for COM Objects

Similar to browsing for script functions, the user can also browse for COM objects that have been imported using the ArchestrA IDE.

Language Syntax Validation

Script language syntax validation is performed by selecting the red check mark above the script window.

This operation will identify and inform/warn the script developer of any syntax errors in the script. A script with syntax errors can be saved. However, an object leveraging such a script cannot be deployed.

Support Script Code Comments

The user can insert comments to document the script code (compare with InTouch QuickScript comments {your comment here}).

Specifying Attributes within a Script

The following sections describe how internal attributes (attributes of the object that the script is attached to) as well as external attributes (attributes on other objects) can be referenced from within a script.

References to both internal as well as external attributes have in common that typically the part specifying the property is omitted meaning that the value property is meant. In this case only the value property and the associated quality can be accessed via this attribute reference.

Specifying Internal Attributes

For internal attributes the syntax: me. + <fully qualified local part of the attribute reference> needs to be specified.

Example: If me.PV==”Open” Then

{Do something} Endif;

Script Examples

The following script examples may be used for reference.

Wonderware Training

Page 277: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-25

Note: Many additional script examples may be located in the ArchestrA IDE Help files under Enhancing an Object’s Functionality/QuickScript .NET Scripting Language/Sample Scripts .

Load an XML Document from Disk and Do Look-ups on It

dim doc as System.Xml.XmlDocument; dim node as System.Xml.XmlNode; doc = new System.Xml.XmlDocument; doc.Load("c:\catalog.xml"); ' find the title of the book whose isbn is 04402372 2X node = doc.SelectSingleNode("/catalog/book[@isbn='0 44023722X']/title"); LogMessage(node.InnerText); ' find all titles written by Grisham for each node in doc.SelectNodes("/catalog/book[aut hor/lastName='Grisham']/ title") LogMessage(node.InnerText); next;

Query a SQL Server Database

dim connection as System.Data.SqlClient.SqlConnecti on; dim command as System.Data.SqlClient.SqlCommand; dim reader as System.Data.SqlClient.SqlDataReader; connection = new System.Data.SqlClient.SqlConnection("server=(local) ;uid=sa;database=northwin d"); connection.Open(); command = new System.Data.SqlClient.SqlCommand("sel ect * from customers", connection); reader = command.ExecuteReader(); while reader.Read() LogMessage(reader("CompanyName")); endwhile; reader.Close(); connection.Close();

Create a Look-up Table, Then Do a Look-up on It

dim zipcodes as System.Collections.Hashtable; zipcodes = new System.Collections.Hashtable; zipcodes["Irvine"] = 92618; zipcodes["Mission Viejo"] = 92692; LogMessage(zipcodes["Irvine"]);

Use DDE to Access an Excel Spreadsheet

WWPoke("excel", "sheet1", "r1c1", "Hello"); WRequest("excel", "sheet1", "r1c1", me.Greeting); ' Note: use "" to embed double quotes in strings WWExecute("excel", "sheet1", "[SELECT(""R1C1"")][FONT.PROPERTIES(,""Bold"")]");

Specifying External Attributes

The script developer can specify external attributes in two distinct ways:

Wonderware System Platform 3.0 Course - Part 1

Page 278: Manual Wsp 3 Part 1-Rev a Gold

4-26 Module 4 – Extending the Objects

Inline Specification

Specifying external attributes inline in the script code is equivalent to how internal attributes are used. The only difference is that in the case of external attributes the fully qualified name including the global part (i.e. the object name) is required. Relative (e.g., MyContainer.PV) and hierarchical names (e.g., Tank1.Inlet.Cmd) are also supported in addition to the ‘native’ name (e.g., Valve101.PV).

There are cases when the attribute name cannot be specified within the script code without clashing with the existing script syntax. This case often applies when attributes of a Device object referring to a data point in an actual physical device need to be referenced. Those attributes typically use a native item syntax which often makes use of special characters (!, :, ;, etc.) that can collide with the syntax rules of the scripting language.

To account for those cases QuickScript .NET supports the specification of an attribute reference in the form:

Attribute(“ <attribute name>”)

The following script snippet demonstrates its usage: If Attribute(“PLC5.Fast.N10:5”) == True Then

{Do something} Endif;

While inline specification of external attributes is very convenient (you just type in the name or pick the right name using the attribute browser), it imposes restrictions when used in scripts attached to templates.

Consider the following script snippet: Valve101.ControlMode=Auto; Valve101.Cmd=”Open”; Valve101.ControlMode=Cascade;

If this script is attached to a template and the script code (script text) is locked in the template, then any instance of this template can only meaningfully work if there is a Valve101 – obviously a bad design of the script.

The script environment offers two solutions for this problem:

1. Usage of relative names in the script code (e.g., MyContainer.ControlMode=Auto). While this approach works perfectly in scripts which are locked in a template, it severely constrains the number of attributes that can be accessed this way.

2. Using aliases in the script code that link to a reference table. This option is discussed in more detail in the next section.

Inline Attributes Shown with Unique TypeFace

Inline attributes, as interpreted by the script validator, will be shown with a unique Bold typeface so that the script developer is aware of all references in the script. This will reduce programming errors and typographical errors that are not intended to be interpreted as attributes but will be if no other syntax match is found.

Alias Pointing to an Alias Table

Accessing external attributes via an alias into an external attribute reference table is the most versatile approach when using script code in templates. However, it forces the user to deal with an indirection.

Wonderware Training

Page 279: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-27

First the user has to specify an alias for an external reference (e.g., PVofInletValve) in the Alias Reference table (see below). Then the alias can be used directly in the script code:

If PVofInletValve==”Open” Then {Do something}

Endif;

This script can be locked in the template without locking down which attribute on what object is actually used in an instance derived from this template.

The actual mapping to an attribute is done via the Alias Reference table exposed by the script editor. The table exposes the following fields:

Alias Reference PVofInletValve Valve101.PV … …

The Alias field is filled in automatically as the script text is parsed.

Note: Aliases do not need to specify the default property ‘Value’. Correspondingly the specified reference does not need to include the property field.

Accessing Properties Other than Value

So far you mainly focused on the typical case when access to the Value property of an attribute is needed; i.e., the property part of a reference can be omitted. In the rare case when the script developer needs to access properties other than the value property, a dedicated reference is needed for every property.

Example: Let’s assume you need to read the Value property and the UpperBoundDimension1 property of the external attribute Valve101.PV. Let’s further assume that you want to use inline references. The corresponding code snippet is:

A = Valve101.PV; {reads the Value property} B = Valve101.PV;.UpperBoundDimension1

{reads the UpperBoundDimension1 property}

The two references Valve101.PV and Valve101.PV.UpperBoundDimension1 are treated as two completely different references.

Note: Even though the two references Valve101.PV and Valve101.PV.Value (explicitly specifying the Value property) refer to the same property, they too are treated as two separate references. Therefore the user should avoid mixing both ways of referring to the Value property in a given script.

Accessing Array References

Arrays can be accessed either by referencing an individual element of an array or by referencing the entire array. The individual element is specified by specifying the element within the square brackets as follows:

Tag.ArrayAttribute[3]

To get an entire array, either of the following syntaxes works:

Tag.ArrayAttribute[-1]

Or

Wonderware System Platform 3.0 Course - Part 1

Page 280: Manual Wsp 3 Part 1-Rev a Gold

4-28 Module 4 – Extending the Objects

Tag.ArrayAttribute

Script Execution Configuration

Each script editor enables configuration of a script’s execution settings. These settings include, where applicable, execution trigger conditions, execution mode, and execution ordering.

Execution Trigger Conditions

Each script will have a set of execution trigger conditions associated with it. The script type will determine a set of valid condition types.

Triggers for ApplicationObject Type Scripts

These scripts are constrained to the discrete intervals provided by the Application Engine scan period. In effect, all event style trigger conditions specified for these scripts are logical AND with the scan periods. In other words, the script cannot trigger any faster than the scan period of the Application Engine.

Script Trigger - Periodically

The script will be executed based on a time interval specified by the user. Although this cannot be determined at configuration time, at run-time, when going on-scan, the execution period will be rounded up to the nearest multiple of the Application Engine scan period.

A time interval of zero means that the script is executed during every scan.

Note: There is no condition (or expression) specified for periodic script execution. It is executed at the interval specified, unconditionally.

Script Trigger - While True

While a user configured expression evaluates TRUE.

A time interval is also specified. If non-zero, then at the time interval specified, the configured expression is evaluated to determine if the script is to be executed. A time interval of zero renders the time interval unused and causes the expression to be evaluated at the AppEngine scan period.

Script Trigger - On True

On FALSE to TRUE transition of a user configured expression.

Script Trigger - On False

On TRUE to FALSE transition of a user configured expression.

Script Trigger - On Data Change

The script is triggered whenever the value of a user configured expression changes. The expression evaluates to a single (not an array) analog type (integer, real, or double). Also, with OnDataChange the Deadband is now available.

Wonderware Training

Page 281: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-29

Script Trigger – While False

While a user configured expression evaluates FALSE.

A time interval is also specified. If non-zero, then at the time interval specified, the configured expression is evaluated to determine if the script is to be executed. A time interval of zero renders the time interval unused and causes the expression to be evaluated at the AppEngine scan period.

Execution Mode

OnExecute() mode scripts can be configured to execute in one of two execution modes, synchronous or asynchronous. All other script types are always synchronous and cannot be configured otherwise.

Synchronous Execution

The synchronous mode is the default choice and represents serial script execution by the ApplicationEngine in the course of calling the Execute method of all ApplicationObjects that are on-scan in the ApplicationEngine. For satisfactory determinism, this mode requires that all scripts execute deterministically and quickly enough to prevent an ApplicationEngine over-scan condition.

Asynchronous Execution

The asynchronous mode is used for the class of scripts that perform operations that don’t meet the above speed and determinism criteria. These scripts will be executed on a worker pool of separate, lower priority threads than the Application Engine’s primary thread. No support will be provided to establish prioritization of execution among Asynchronous mode scripts; they will all receive the same priority.

An asynchronous script running in a separate thread can access ArchestrA™ attributes via normal get/set calls. The call is marshaled over to the main engine thread and processed. The calling thread waits for call return until main thread can process get/set request. This is OK since asynchronous thread is usually slower and background in nature.

Asynchronous Scripts Only Apply to Execute()

Only script code written for the Execute() method of an object can be declared asynchronous.

Asynchronous Script Trigger Condition Evaluation

If an asynchronous script is currently executing, then the condition for next execution is not evaluated and it is not executed again. Condition evaluation is always done in main thread of engine. Therefore, only one copy of a given asynchronous script in an object can be executing at one time.

Asynchronous Script Execution Ordering with an Object

Specification of execution order for asynchronous scripts within an object is allowed. However, this ordering just impacts condition evaluation, not execution ordering since asynchronous scripts are run in separate threads from each other.

Asynchronous Script Worker Threads

The hosting engine creates a pool of worker threads at startup time. These threads are used for processing asynchronous scripts simultaneously when they are due and their trigger condition is

Wonderware System Platform 3.0 Course - Part 1

Page 282: Manual Wsp 3 Part 1-Rev a Gold

4-30 Module 4 – Extending the Objects

true. Only one script can execute on one thread at a time. If an asynchronous script comes due and no worker thread is available, it is immediately queued for execution and awaits a free worker thread. As soon as the worker thread is free from its previous script, it executes the newly queue script.

A default number of worker threads is to be provided. This is a configurable attribute of the Engine.

Taking an Object w/ Asynchronous Scripts OffScan

If an object is taken OffScan, either directly, or indirectly because its Engine is taken OffScan, all in-progress asynchronous scripts for that object are immediately terminated.

Asynchronous Scripts Diagnostics and Attributes

Asynchronous scripts require some additional attributes within the script to provide the following behavior:

� Kill attribute - terminates the asynchronous script when written to.

� Shutdown attribute – simply a Boolean flag that requests the asynchronous script to shut down on its own. A well-written script will check this command before and after time- consuming operations.

� Running indicator attribute – indicates whether the asynchronous script is currently executing.

� Elapsed time attribute – indicates the amount of time the asynchronous script has been executing (if RunningFlag is true).

� Asynchronous scripts also have the following diagnostic attribute within the engine:

� Count of asynchronous scripts running – indicates the number of asynchronous scripts currently executing.

� Count of asynchronous scripts waiting – indicates the number of asynchronous scripts currently queued to execute.

Watchdog Timeout

The execution time of both synchronous as well as asynchronous mode scripts is monitored against a timeout period. All synchronous scripts on an AppEngine share the same timeout period which is exposed as a configurable attribute of the AppEngine.

In the case of asynchronous scripts a timeout period that is shared for all asynchronous scripts does not make sense since the needed execution time can vary by orders of magnitude between different asynchronous scripts. In order to account for this, the timeout period can be separately configured for each asynchronous script. It is exposed as an attribute of the script.

Attribute Access Support

In order to understand the philosophy of attribute access from within a script it is important to look at the context that an ApplicationObject Script runs in: All objects running on an AppEngine can be thought of as a big PLC program. At the beginning of a new scan cycle of the AppEngine all external input values (values coming from other engines) are read in one block. Then all objects including any associated scripts are executed. Outputs to objects on other engines are queued up and are written out once at the end of the AppEngine’s scan cycle.

Following this philosophy scripts need to have direct read / write access to all attributes exposed by objects on the same AppEngine that the script is running on. Let’s use the following script snippet to further clarify the behavior:

PID.Mode=Auto

Wonderware Training

Page 283: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-31

PID.SetPoint=50 PID.Mode=Cascade

This script will work independent of whether the PID object resides on the same AppEngine that the script is executing on (on-engine) or not (off-engine). Each set operation is immediately executed. If the PID object is on-engine then the set operation changes the value of the corresponding attribute right away.

If the PID object is off-engine then all set operations are queued up in exactly the order they were issued and are executed at the end of the scan cycle of the AppEngine (asynchronous set).

‘Get’ operations work accordingly. Let’s consider the following script code snippet:

{For this example you assume that PID.SetPoint==30 at the start of the script} If PID.SetPoint==30 then PID.Mode=Auto PID.SetPoint=50 PID.Mode=Cascade Endif; If PID.SetPoint==50 then

{Do something else} Endif;

If the PID object exists and its SetPoint can be set to 50 then the second ‘if’ statement will always evaluate to true if the PID object is on-engine. However, in the off-engine case both ‘if’ statements will never evaluate to true in the same execution cycle of the script.

In other words, when a script performs an attribute set (write) operation followed, at a later point in the script, by a read of the same attribute, the value written will not be read back if the attribute is off-engine, rather the attribute value existing when the script commenced execution is returned instead. In this case, the value written to the attribute will not be returned by a get (read) operation until succeeding execution scans of the script.

Notes:

� As described above a script performing read / write operations on the same attribute will behave differently depending on whether the attribute is on-engine or off-engine. If necessary, the script developer can avoid this situation by using a local script variable to manage the attribute’s value in the course of the script’s execution. At the end of the script, the value of the local variable is then written to the attribute.

� Scripts attached to an ApplicationObject are part of the supervisory control logic. I.e., read and write operations performed by the script are treated as SupervisoryGets / Sets.

On-Engine Attribute Access

Accesses to attributes of other AutomationObjects in the same engine will be performed in a blocking (synchronous) fashion and any access errors will be immediately reflected in either the quality value for a read, or the WriteStatus field for a write, before the next script statement is executed. The script developer can check the appropriate indicator to determine that an access operation succeeded before proceeding in the script’s execution.

Off-Engine Attribute Access

When a script accesses an off-engine AutomationObject attribute, the Local Message Exchange/ Network Message Exchange (LMX/NMX) sub-system is the provider of the attribute data. In this case, LMX/NMX establishes a subscription for the attribute’s value and maintains the most recently published value in an on-engine read-only cache. When a script reads an off-engine AutomationObject attribute, the LMX cache’s most recently published value is provided to the script. This value will not change during the execution scan of the script.

Wonderware System Platform 3.0 Course - Part 1

Page 284: Manual Wsp 3 Part 1-Rev a Gold

4-32 Module 4 – Extending the Objects

When a script performs a write to an off-engine AutomationObject attribute, LMX/NMX performs the operation asynchronously to the script’s operation. If a script reads the same attribute that it wrote to at a previous point in the script, the script will not see the value previously written until a succeeding script execution scan cycle. Any errors encountered by LMX/NMX during the asynchronous write operation are not available to the script during the same execution scan but will be reported in the attribute’s WriteStatus field upon status receipt from LMX/NMX. Until this status is received from LMX/NMX, the WriteStatus field will report a pending status.

Access to Hosting Object’s Attributes

Access to attributes of the ApplicationObject that hosts the script is a special case of the on-engine scenario. The scripting environment distinguishes between two categories of attributes of the hosting object: Regular attributes (i.e. non UDAs) and UDAs (UDA = User Defined Attribute).

Accessing Regular Attributes (non-UDAs)

In order to maintain the integrity of an object, access to regular attributes from within a script is limited to whatever access other AutomationObjects have. This constitutes what the object has been designed for and it must be absolutely avoided that a script could interfere and potentially break the object’s logic.

I.e., access to regular attributes is treated in the same way as access to attributes of other objects from within the script.

Accessing UDAs

The precautions taken for regular attributes do not apply for UDAs. UDAs are added to an object for the main purpose of having one or more scripts on this object drive them.

As a result script access to UDAs is treated exactly like the internal runtime access of a primitive to its attributes. In particular, a script can set the quality property of a UDA on the hosting object. However, the quality of a UDA is defaulted to GOOD.

On the other hand propagation of quality in calculations is handled in the following manner: In the expression a = b + c, if b is bad (or initializing), the value of a is not updated and its quality is set to BAD or (initializing). If the quality of b is uncertain then the calculation is performed, the value of a is updated and a’s quality is set to uncertain.

Prevent Accessing Attributes during OnStartup(), OnShutdown()

It is NOT possible for a script to get (read) and set (write) attributes within the AutomationObject to which the script is attached. This is explicitly prevented and the script will not validate successfully if the user attempts to place references of any sort in the OnStartup() or OnShutdown() methods.

Supported Data Types

For referenced attributes, all Application Server attribute types are supported. The attributes are exposed as objects that expose a value, a quality field, and a WriteStatus field. Therefore, strictly speaking, Application Server attributes do not constitute a data type. Instead the data type of the value of attributes is of interest.

Wonderware Training

Page 285: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-33

Data Quality Handling

Two approaches to handling data quality during script execution are employed in the Application Server script environment. The first approach, Data Quality Controlled Execution (DQCE), is used by all script expressions and permits expression evaluation only when attributes being read by the expression have acceptable qualities. The other approach, Data Quality Propagation (DQP), is used by the script body and propagates the quality of attributes read by the script through the script’s data as execution occurs.

Quality Handling in Script Expressions

Script expressions are ‘one liners’ and as such it does not make sense to only execute the part of an expression that deals with attributes of acceptable quality. I.e., the expression is either evaluated as a whole or not at all.

If any of the input variables to the expression change to an initializing or bad quality state, the result value reported will have a quality of initializing or bad (if there exists at least one input with initializing and another input with bad quality, bad will have precedence over initializing quality and be reported as the expression result’s quality). The result value itself is set to the default value for the given data type (e.g., a result value of type float is set to NaN – not a number) when the quality turns unacceptable.

If the script expression is used as the trigger for the execution of a script and the quality of at least one referenced attribute is unacceptable (i.e., initializing or bad), then the script is not triggered at all.

Data Quality Propagation (DQP)

DQP seeks to streamline the script development task when writing scripts that robustly handle data quality. One of the main differences between DQCE and DQP is that in the latter case the execution of the script still happens even though some of the referenced attributes might expose unacceptable quality. In typical cases portions of a given complex script are not affected by the bad quality of a given attribute and therefore will be executed. As a result the script developer needs the ability to evaluate the quality of attributes within the script and to react accordingly (e.g., by branching into a code segment that causes the system to go into a fail safe mode.)

When using the Application Server scripting language, the script developer should understand the following rules and behavior:

Only Referenced Attributes Expose Quality

Only referenced attributes expose quality. Local variables do not have a quality assigned. I.e., when assigning the value of an attribute to a local variable the quality information is lost.

Example: The following code snippet assumes that A and B are local variables of appropriate data type.

A = Valve101.PV {The value of A is now the value of Valve101.PV.Val ue. The actual name of the Value property is spelled out for clarity purposes. The variable A just holds the value, not the quality.} B = Valve101.PV.Quality {Another variable can be used to hold the quality i nformation but no local variable is able to hold the value and the quality information.}

Wonderware System Platform 3.0 Course - Part 1

Page 286: Manual Wsp 3 Part 1-Rev a Gold

4-34 Module 4 – Extending the Objects

Attributes of Bad Quality are set to Default Value

For all attribute references used by a script, the script environment controls the reading of the actual referenced property values and the associated quality. If the quality is bad then the value is set to the default value based on the given data type. Particularly, the value of a variable of type float is set to NaN (Not a Number). The rest of the scripting environment (including Script Functions) must be capable of dealing with NaN (e.g., NaN + 4 = NaN, NaN * 5 = NaN, etc.).

Script Functions do not Leverage Quality Information

For Script Functions the in and out parameters as well as a potential return value have no associated quality information. E.g., a Script Function for calculating the square root of a float value might have a signature like this:

float Sqrt(float InValue)

If an attribute reference is passed in as the InValue then the quality information is stripped off and only the value of the referenced property (typically the Value property) is passed in.

Note: A function is invoked independent of whether the quality of the referenced attribute is acceptable or not. It is the responsibility of the script developer to ensure that the method is invoked appropriately.

Quality Check From Within a Script

The script developer has the ability to control the execution of script blocks by evaluating the quality of a set of leveraged attributes. It is possible to either test each attribute’s quality individually

If (Valve101.PV.Quality == 192) Or Valve101.PV.Quality == 0) Then …

Or to use the quality check functions as follows: If IsGood(Valve101.PV) Or

IsBad(Valve101.PV)) Then …

Positive Script Logic

Script languages adhering to DQP encourage users to apply positive logic in the script. I.e., any expression that is used in a control statement (examples are: IF, REPEAT, WHILE) to produce a

Boolean result will equate to a false value if the expression leverages at least one attribute that has bad or initializing quality. I.e., condition statements are automatically evaluated as False if at

least one attribute with unacceptable quality is used in the condition statement.

Example:

If (Valve101.PV == “Closed”) And (Valve102.PV == “Closed”) Then Set Valve103.Cmd = “Open”

Else Set Valve103.Cmd = “Close” {This should be the fail safe mode}

Endif;

If the quality of Valve101.PV and Valve102.PV is acceptable then the ‘if’ and ‘else’ branches are executed purely based on the value of those two attributes.

However, if at least one of the PV values has an unacceptable quality (bad or initializing) then automatically the ‘else’ branch is executed. I.e., if statements should be written in a way that the else branch always constitutes the fail safe mode.

Wonderware Training

Page 287: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-35

Adhering to this standard allows script writers to take quality into account without ever explicitly evaluating the quality of referenced attributes.

Condition statements are the only instance where a DQP enabled script language takes quality implicitly into account. In all other cases the script execution system ignores the quality if the script developer does not choose to test the quality explicitly. This also means that the assignment

PID1.SP = PID2.SP

is executed independent of whether the quality associated with PID2.SP is Bad or Initializing . That might be surprising at first. However, it leads to a more consistent behavior of the script environment. Consider the following very similar script lines:

PID1.SP = PID2.SP + 10 PID3.SP = Sqrt( Tank101.Level ) PID4.SP = PID2.SP + A

{A is a local variable}

As soon as the right side is not just a single attribute reference but involves additional statements, the script execution system has to ignore the quality. From a user’s perspective it is easier if all the listed cases are treated equally; i.e., the quality is ignored in all cases.

Numerical Comparisons and NaNs (>, <=, >, >=)

If either double or float operand is IEEE representation of not-a-number NaN in a numerical comparison, then the result is false. This follows the IEEE 754 standard. Also, positive zero and negative zero are considered equal.

Script Execution Error Handling

When the script execution engine experiences a script execution error the script’s current execution scan is aborted. Script execution will be reattempted on the next engine scan after the script has encountered an execution error. The script properties will indicate the cause of the error in a dedicated attribute and enter an active alarm state (‘Script Error’ alarm). The alarm condition will remain until the script subsequently completes a successful execution cycle.

Notes:

� When a script execution abort occurs, the script just stops. Sometimes it might be necessary to set the quality of some UDAs that are controlled by the aborted script to bad. The user can accomplish this by exercising a second script that monitors the abortion of the first script.

� Failed writes constitute a normal behavior that does not constitute an alarm.

Example: A script constantly tunes the parameters of a PID loop which is typically in control mode. However, every time when a shift changes, the PID object is set to manual mode for a short period of time. Now the writes fail but the script just keeps going and eventually a script run will again successfully be able to set the PID parameters.

Of course it is also possible to check the WriteStatus from within the script and react accordingly.

Alarm Type Errors

Watchdog Timeout Error

To prevent the possibility that a script can cause an overrun of the ApplicationEngine scan cycle (e.g., by running in an infinite loop), a script is aborted after the timeout period for the script has elapsed. The script execution infrastructure will clean up after the aborted script as best as possible. E.g., the script infrastructure must attempt to release external objects or data base

Wonderware System Platform 3.0 Course - Part 1

Page 288: Manual Wsp 3 Part 1-Rev a Gold

4-36 Module 4 – Extending the Objects

connections that were created by the script. However, it can never be guaranteed that an aborted script has no negative side effects. E.g., the script could have started to manipulate data base entries and could leave some table entries in an inconsistent state.

All synchronous mode scripts will be subject to the same timeout period, which is exposed as an attribute on the AppEngine.

The script developer will be required to configure the timeout period for each Asynchronous mode script in order to provide flexibility in accommodating the potentially time consuming operations that these scripts are intended for.

Overflow Error

A script experiences an overflow condition. Overflow conditions not only apply to analog data types (integer float) but also other data types (e.g., string length overflow).

Division by Zero

The division by zero error is raised only for integer operations . In the case of float values the scripting is able to deal with + ∞ and - ∞ and also NaN (Not a Number).

Net Call Execution Errors

If a script encounters an exception during call of a .NET function call, the error will be caught and an error message (in red) will be logged to the logger. In addition, the execution alarm Boolean condition is raised in this case.

Pre-Installed Binary Libraries

As part of the scripting environment a single binary library is shipped. This library provides functionality to support both generic scripting tasks and tasks requiring access to specialized portions of Application Server

� Math functions: Includes functions like Abs, Sin, Sqrt, etc.

� String functions: StringLen, etc.

� System functions: LogMessage, etc.

Importing Additional Binary Libraries

Script Library Packages can be added to the system and made available to the user like pre- installed script libraries.

Note: Script libraries developed with the InTouch 32-bit Extensibility toolkit can be imported and converted to Script function Libraries.

Exporting Binary Libraries

Once imported, script functions exposed in the imported libraries can be used in any scripts. When objects using those scripts are exported from the Galaxy (say Galaxy A) and imported into another Galaxy (Galaxy B) the libraries once imported into Galaxy A are not automatically exported with the object. I.e., in order to run the exported object in Galaxy B, the script libraries that the object depends upon need to be manually copied to Galaxy B.

Wonderware Training

Page 289: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-37

Script Locking

Locking Scripts in Templates

From an implementation point of view it is much easier to lock both the expression controlling the execution of an ApplicationObject script and the actual script at the same time; i.e., treat both as one entity. This allows the system to compile both the expression and the script into only one dll which makes deployment easier and decreases the overhead carried in each dll.

Typically an expression uses attribute references. If the user wants to lock the expression and the associated script expression in a template then it is crucial that aliases are used in both the expression and the script. This allows the user to specify the attributes that the aliases point to on a per instance basis while the code is locked.

Rules on Locking of Scripts:

� Script text can be locked/unlocked in a Template.

� When a Script is locked in a Template, the Alias names are automatically locked also. The Alias References are never locked. Locking of Aliases is not specified separately (it is only done when the script itself is locked/unlocked).

� The Script expression, trigger type and trigger period are group locked and can be locked separately from the script text.

� When a Script is added to a Template, all properties of the Script are editable.

� When a Script is added to an Instance, all properties of the Script are editable except for the Lock property (since lock is never editable in an Instance).

� For a Script added in an Instance, all properties of the Aliases can be edited except the Lock (since locks are never editable for Instances).

Support for .NET Constructs

QuickScript .NET is built on top of .NET and supports the following .NET constructions in its syntax:

� Declaring variables of .NET types.

� Calling public constructors (with and without parameters) of .NET types.

� Calling public instance methods (with and without parameters) of .NET types.

� Calling public static methods (with and without parameters) of .NET types.

� Calling public indexers (with one or more parameters) of .NET types.

� Using .NET enumerations.

Language Definition

QSII Case Sensitivity

All QuickScript .NET keywords and variable name identifiers are not case sensitive. However, the case is preserved throughout editor sessions.

QSII Comments

Both single line and multi-line comments are supported. Single line comments start at a ‘ in a source code line that has no matching ending ‘ in the line. Multi-line comments start with a { and end with a } and can span multiple lines as the name suggests.

Wonderware System Platform 3.0 Course - Part 1

Page 290: Manual Wsp 3 Part 1-Rev a Gold

4-38 Module 4 – Extending the Objects

Examples: Dim A; ’This is a single line comment Dim B; {This is an example of a multi- line comment}

QSII White Space

Spaces and indentation can be used as desired to improve readability, except that at least one space must appear between adjacent identifiers, and spaces and line breaks cannot appear within identifiers and numbers. Individual statements are distinguished by a semicolon that marks the end of a statement.

QSII Operations that Require 1 Operand

Operation Description ~ Complement - Negation NOT Logical NOT

QSII Operations that Require 2 Operands Operation Description * Multiplication / Division + Addition and Concatenation - Subtraction = Assignment MOD Modulo SHL Left Shift SHR Right Shift & Bitwise AND ^ Exclusive OR | Inclusive OR ** Power < Less than > Greater than <= Less than or Equal to >= Greater than or Equal to == Equivalency ("is equivalent to") <> Not Equal to AND Logical AND OR Logical OR

QSII Precedence of Operators

The following list shows the order of precedence for evaluation of operators. The first operator in the list is evaluated first, the second operator is evaluated second, and so on. Operators in the same line in the list have equivalent precedence. Operators are listed from highest precedence to lowest precedence.

Wonderware Training

Page 291: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-39

Precedence Operator 1 (highest) (, ) 2 - (negation), NOT, ~ 3 **

4 * , /, MOD 5 +, -

6 SHL, SHR

7 <, >, <=, > = 8 ==, <>

9 &

10 ^ 11 | 12 = 13 AND 14 (lowest) OR

QSII Variables

Variables must be declared before any other code. Local variables or attributes can be used interchangeably within the same script. However, local variables go out of scope at the end of the script function they are used in. However, variables declared in the general section of the script exist and keep their value throughout the lifetime of the object that the script is associated with. Thus this kind of variable turns into a ‘member variable’ of the script class. Other scripts attached to the same object cannot access this variable.

Variables can be used on both the left and right hand side of statements and expressions.

QSII Syntax for Variable Declaration

Each variable must be declared within the script by a separate DIM statement followed by a semicolon The DIM statement syntax is as follows:

DIM <variable_name> [ ( <upper_bound> [, <upper_bou nd >[, < upper_bound >]] ) ] [ AS <data_type> ];

where

variable_name ::= <letter> { <letter> | <digit> | < special_character> } letter ::= A-Z | a-z digit ::= 0-9 special_character ::= _ upper_bound ::= 1-2,147,483,647 data_type ::= Boolean | Discrete | Integer | Float | Real | Double | String | Message | Time | Object

The variable name is limited to 255 Unicode characters. Note that, in contrast to attribute names, variable names must not contain dots. Variable names and the data type identifiers are not case sensitive. If there is a naming conflict between a declared variable and another named entity in the script (attribute name, alias, name of an object leveraged by the script), the variable name takes precedence over the other named entities.

For example, let’s assume that your script accesses the hosting object’s PV attribute in the script text and you declare ‘DIM PV AS Integer;’. Within the declaring script, expressions using ‘PV’ in a

Wonderware System Platform 3.0 Course - Part 1

Page 292: Manual Wsp 3 Part 1-Rev a Gold

4-40 Module 4 – Extending the Objects

statement will refer to the value associated with the local variable ‘PV’ rather than the attribute ‘PV’.

Note: The naming convention for QuickScript.NET variables is more restrictive than in QuickScript. In QuickScript additional special characters are allowed: QuickScript_special_character :- _!@-?#$%\&

In contrast to QuickScript arrays with up to three dimensions are supported. Only the upper bound of each dimension can be specified and is fixed after the declaration; i.e., a statement analogous to VB’s ReDim statement is not supported. The lower index of each array dimension is always 1.

The data type declaration (AS <data_type>) is optional. If omitted, the data type of the variable is Integer (as in QuickScript).

The following table shows how the QuickScript .NET data types map to C++ data types. The default value column defines which value the variable takes on when it is defined (before another value is assigned).

Data Type (as specified in AS <data_type>)

Default Value

Corresponding C++ data type

Comment

Boolean, Discrete False VARIANT_BOOL Discrete and Boolean are synonymous. Discrete is still supported for migration from InTouch. True=1, False=0

Integer 0 long (4 bytes) Signed –2147483648 to 2147483647

Float, Real NaN float (4 bytes) Float and Real are synonymous. Real is still supported for migration from InTouch. For range information please refer to Appendix

Double NaN Double (8 bytes) For range information please refer to Appendix

String, Message “” (empty string)

BSTR Maximum length defined by BSTR (2147483647)

Time 0 Based on .NET’s System.DateTime (8 bytes)

Resolution is 100 nanoseconds, used to reflect an absolute date / time the content reflects the number of 100-nanosecond intervals since 00:00 January 1, 0001.

ElapsedTime 0 Based on .NET’s System.TimeSpan structure (8 bytes)

100 nanosecond ticks represents a time span.

Object Nothing IDispatch pointer Leveraged for accessing OLE Automation servers.

Mapping of Application Server Attribute Data Types to QuickScript .NET Data Types

Application Server data types are mapped to QuickScript .NET variable data types according to the following table.

Wonderware Training

Page 293: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-41

Application Server Data Type

QuickScript .NET Data Type

Comments

MxBoolean Boolean or Discrete

True=1, False=0

MxInteger Integer MxFloat Float or Real MxDouble Double MxString String or

Message In Application Server, there is no fixed upper limit on string length.

MxInternationalizedString String or Message

These strings are read-only at runtime. If script tries to write at runtime the write will fail at runtime with appropriate status.

MxTime Time The filetime content of MxTime is mapped to Time.DateTime of the QuickScript .NET data type. The Application Server internal representation is based on 1601, whereas the Script internal representation is based on 0001 (consistent with .NET system). The time zone offset of MxTime is mapped to Time.TimeZoneOffset. Time.DateTime is a .NET DateTime. Time.TimeZoneOffset is an integer.

MxElapsedTime ElapsedTime Same definition MxReferenceType String Only the string content of the attribute is used.

The potentially pre-bound IDs are thrown away. MxStatusType Integer One of the integer values listed in section. Note,

that only the status category is exposed. The status detail is not accessible form within a script.

MxDataTypeEnum Integer One of the integer values listed in section. MxSecurityClassificationEnum Integer One of the integer values listed in section. MxDataQualityType Integer One of the integer values listed in the OPC Spec.

‘Data Access Custom Interface Standard’. The user can also write this (but only my attributes, not external attributes). For example, to set the quality of MyAttr to Good Object.MyAttr.Quality=192. Note that access to Quality is purely an OPC quality operation. To access Application Server’s 4 basic quality states (Good, Bad, Uncertain, Initializing), the user can use functions IsGood(), IsBad(), IsUncertain(), IsInitializing(). This will allow tests like if (IsGood(Obj.Attr.Qstring) Additionally, the user can set the quality using functions SetGood(), SetBad(), SetUncertain(), SetInitializing(); for example: SetBad(TIC101.PV).

Wonderware System Platform 3.0 Course - Part 1

Page 294: Manual Wsp 3 Part 1-Rev a Gold

4-42 Module 4 – Extending the Objects

Application Server Data Type

QuickScript .NET Data Type

Comments

MxQualifiedEnum Integer or String

Attributes of type mxQualifiedEnum can be read / set as an integer or a string. Example: Dim intV1_PV as Integer; Dim strV1_PV as String; intV1_PV = Valve101.PV; { Now intV1_PV holds the ordinal value of the qualified enumeration } strV1_PV = Valve101.PV; { Now strV1_PV holds the string value of the qualified enumeration }

MxQualifiedStruct N/A The data type MxQualifiedStruct is not directly mapped to a QuickScript .NET variable data type. Instead, functions are provided that allow the script developer to map parts of the qualified struct to native script data types. Example (the actual name and signature might change): ToInteger(<QualifiedStruct>, StartByte) which expects an attribute of data type mxQualifiedStruct and a number of the first byte that makes up a 4 byte integer. It returns a regular integer.

QSII Numbers and String

This section describes the allowed format for specifying integer and float numbers as well as strings in the script text.

Integers in decimal format

Integers constants in decimal defined as

IntegerConst ::=

[sign] <non-zero_digit> <digit>*

| 0

sign ::= + | -

non-zero_digit ::= 1-9

digit ::= 0-9

I.e., an integer constant is a zero or consists of an optional sign followed by one or more digits. Leading zeros are not allowed.

Integer constants outside the range –2147483648 to 2147483647 cause an overflow error.

Integers in hexadecimal format

Prepending either 0x or 0X causes a literal integer constant to be interpreted as being in hexadecimal notation. In this case the sign is not supported.

Wonderware Training

Page 295: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-43

IntegerHexConst ::=

<0><x | X> <hexdigit>*

hexdigit ::= 0-9, A-F, a-f

When entering a hexadecimal number, only 8 hexdigits (32-bits) are allowed.

Floats

Float constants are applicable as values for variables of type float / real or double. I.e., float constants do not take the number of bytes into account. It is up the validation step of the script (lexer / parser) to detect an overflow when too big a float constant is assigned to either a variable of type float / real or double.

FloatConst ::=

[<sign>] <digit>* .<digit>+ [<exponent>]

| [<sign>] <digit>+ [.<digit>* [<exponent>]]

sign ::= + | -

digit ::= 0 - 9

exponent ::= exponent_character [sign] <digits>+

exponent_character ::= e | E

Sign is either plus (+) or minus (–); and digits are one or more decimal digits. If no digits appear before the radix character (.), at least one must appear after the radix character. The decimal digits can be followed by an exponent, which consists of an introductory letter (e or E) and an optionally signed integer. If neither an exponent part nor a radix character appears, a radix character is assumed to follow the last digit in the string.

Please note that the allowed range depends on the data type (4 byte float / real versus 8 byte double) of the variable that the value is assigned to.

String Literals

String literals need to be surrounded by double quotes. They are referred to as quoted strings. Within the quoted string the character ‘\’ can be used as an escape character. The following escape characters are supported:

Escape Sequence Description \n New line \r Carriage return \t Horizontal tab \' Single quotation mark. Single quotes can

also directly be used in a string without using the escape sequence.

\" Double quotation mark \\ Backslash \uxxxx Represents single Unicode character

formed by the hexadecimal number xxxx. E.g. ‘\u0066’ is the letter ‘f’. 4 digits are required.

Wonderware System Platform 3.0 Course - Part 1

Page 296: Manual Wsp 3 Part 1-Rev a Gold

4-44 Module 4 – Extending the Objects

Escape Sequence Description \Uxxxxxxxx Represents single Unicode character

formed by the hexadecimal number xxxxxxxx. E.g. ‘\u00000066’ is the letter ‘f’. 8 digits are required.

QSII Control Structures

QuickScript .NET provides four primary control structures in the scripting environment:

� IF ... THEN ... ELSEIF ... ELSE ... ENDIF

� FOR ... TO ... STEP ... NEXT Loop

� FOR EACH ... IN ... NEXT

� WHILE Loop

IF … THEN … ELSEIF … ELSE … ENDIF

The IF-THEN-ELSE-ENDIF statement is used to conditionally execute various instructions based on the state of an expression. The syntax is as follows:

IF <boolean_expression> THEN

[statements]

[ { ELSEIF

[statements] } ]

[ ELSE

[statements] ]

ENDIF;

Where

� boolean_expression is an expression that can be evaluated as a Boolean. Dependent on the data type returned by the expression the expression is evaluated to constitute a True or False state according to the following table:

Data Type Mapping Boolean, Discrete Directly used (no mapping needed) Integer Value = 0 evaluated as False

Value != 0 evaluated as True Float, Real Value = 0 evaluated as False

Value != 0 evaluated as True Double Value = 0 evaluated as False

Value != 0 evaluated as True String, Message Cannot be mapped. Using an expression

that results in a string type as the boolean_expression results in a script validation error.

Time Cannot be mapped. Using an expression that results in a time type as the boolean_expression results in a script validation error.

Wonderware Training

Page 297: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-45

Data Type Mapping Object Cannot be mapped. Using an expression

that results in an object type as the boolean_expression results in a script validation error.

The first block of statements is executed if boolean_expression evaluates to True. Optionally a second block of statements can be defined after the keyword ELSE. This block is executed if the boolean_expression evaluates to False. In order to facilitate deciding between multiple alternatives an optional ELSEIF clause can be used as often as needed. The ELSEIF clause allows for easy mimicking of switch statements offered by some other programming languages.

Example:

If value = 0 Then Message = ”Value is zero”;

ElseIf value > 0 Then Message = ”Value is positive”;

ElseIf value < 0 then Message = ”Value is negative”;

Else {Default. Should never occur in this example}

EndIf

For consistency with InTouch Scripting, the following syntax is also supported:

IF <boolean_expression> THEN

[statements]

[ { ELSE IF

[statements] } ]

[ ELSE

[statements] ]

ENDIF;

ENDIF;

This approach basically nests a brand new IF compound statement within a previous one and requires an additional ENDIF.

FOR … TO … STEP … NEXT Loop

A FOR-NEXT loop is used to perform a function (or set of functions) within a script several times during a single execution of a script. The general format of the FOR-NEXT loop is as follows:

FOR <analog_var> = <start_expression> TO <end_expression> [STEP <change_expression>]

[statements]

[EXIT FOR;]

[statements]

NEXT;

Wonderware System Platform 3.0 Course - Part 1

Page 298: Manual Wsp 3 Part 1-Rev a Gold

4-46 Module 4 – Extending the Objects

Where:

� analog_var is a variable of type Integer, Float, Real, or Double.

� start_expression is a valid expression, to initialize analog_var to a value for execution of the loop.

� end_expression is a valid expression. If analog_var is greater than end_expression, execution of the script jumps to the statement immediately following the NEXT statement.

� (This holds true if loop is incrementing up, otherwise, if loop is decrementing, loop termination will occur if analog_var is less than end_expression.)

� change_expression is an expression, to define the increment or decrement value of analog_var after execution of the NEXT statement. The change_expression can be either positive or negative. If change_expression is positive, start_expression must be less than or equal to end_expression or the statements in the loop will not execute. If change_expression is negative, start_expression must be greater than or equal to end_expression for the body of the loop to be executed. If STEP is not set, then change_expression defaults to 1.

It is possible to exit the loop from within the body of the loop via the EXIT FOR statement.

The FOR loop is executed as follows:

1. analog_var is set equal to start_expression.

2. The system tests to see if analog_var is greater than end_expression. If so, the loop exits. (If change_expression is negative, the system tests to see if analog_var is less than end_expression.)

3. The statements in the body of the loop are executed. Here the loop can potentially be exited via the EXIT FOR statement.

4. analog_var is incremented by 1 - or by change_expression if it is specified.

5. Steps 2 through 4 are repeated.

Note: FOR-NEXT loops may be nested. The number of levels of nesting possible depends on the memory and resource availability.

FOR EACH … IN … NEXT

The FOR EACH loop can only be used with collections exposed by OLE Automation servers .A FOR-NEXT loop is used to perform a function (or set of functions) within a script several times during a single execution of a script. The general format of the FOR-NEXT loop is as follows:

FOR EACH <object_variable> IN <collection_object >

[statements]

[EXIT FOR;]

[statements]

NEXT;

Where:

� object_variable is a variable of type <some COM interface>

� collection_object is a variable holding a collection object.

As in the case of the FOR … TO loop it is again possible to exit the execution of the loop via the statement ‘EXIT FOR;’ from within the loop.

Wonderware Training

Page 299: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-47

Note: Collections are frequently leveraged by VB and VBA / JScript. Microsoft’s office suite is built around the concept of collections. Furthermore Microsoft® started to expose more and more of the Windows® system via collections.

Example:

Dim fso As IFileSystem; Dim folder As IFolder; Dim fileCollection As IFileCollection; Dim file As IFile; Dim fileName as String;

fso = new FileSystemObject; folder = fso.GetFolder(“C:\Temp”); fileCollection = folder.Files; For Each file In fileCollection

fileName = file.name; Next ;

FOR EACH will allow for looping through arrays.

WHILE Loop

A WHILE loop is used to perform a function (or set of functions) within a script several times during a single execution of a script while a condition is true. The general format of the WHILE loop is as follows:

WHILE <boolean_expression>

[statements]

[EXIT WHILE; ]

[statements]

ENDWHILE;

Where:

� boolean_expression is an expression that can be evaluated as a Boolean as defined above in the description of IF…THEN statements.

It is possible to exit the loop from within the body of the loop via the EXIT WHILE statement.

The WHILE loop is executed as follows:

1. The system tests to see if boolean_expression is true. If not, the loop exists.

2. The statements in the body of the loop are executed. Here the loop can potentially be exited via the EXIT WHILE statement.

3. Steps 1 through 2 are repeated.

Note: WHILE loops may be nested. The number of levels of nesting possible depends on the memory and resource availability.

Support for Script Functions

In order to follow the naming syntax of InTouch QuickScript, binary shared functions are referred to as script functions. Functions written in QuickScript are named QuickFunctions.

Wonderware System Platform 3.0 Course - Part 1

Page 300: Manual Wsp 3 Part 1-Rev a Gold

4-48 Module 4 – Extending the Objects

Accessing Script Functions

Script functions can be directly accessed from within the script code. The syntax is exactly like in QuickScript.

Example: PumpState = StringRight("The Pump is On", 2);

Where StringRight is a binary script function as described in the Scripting DFS. After executing the script snippet PumpState holds the value “On”.

Any of the script functions provided by The Application Server can be invoked this way.

Syntax:

ScriptFunction ::= <FunctionName> ( {<Paramater>} { “,” <Paramater>} );

OLE Automation Support

Over the last couple of years Microsoft used many different terms when talking about OLE Automation. In order to reduce confusion the following part attempts to establish the terms used throughout this document:

ActiveX ® Server:

Other names for ActiveX Server are COM Server, ActiveX component, ActiveX EXE, ActiveX DLL.

Support for OLE Automation Compatible ActiveX Servers

Support for COM Servers:

� Support for Get/Set Property

� Support for method invocation on COM server

Creating objects outside of the context of scripts does not work. In many cases an object can only be created in a programmatic manner based on another already created object.

VBS example: Dim xlApp Dim xlBook Dim xlSheet ' Assign object references to the variables. Use ' Add methods to create new workbook and worksheet ' objects. Note that xlBook and xlSheet can only be ' created after the objects xlApp and xlBook got ' created. Set xlApp = WScript.CreateObject("Excel.Application ") Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets.Add

Once created, the methods exposed by a COM object can be accessed as if they would be script functions.

There are at least two different approaches:

Allow Creation of COM Servers from within a Script

Scripts can create COM servers using one of two techniques. The “New” technique is the preferred technique since it allows early-binding of methods which offers the advantage of early validation of method calling syntax and better runtime performance.

Wonderware Training

Page 301: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Introduction to QuickScript .NET 4-49

1. New keyword – this keyword instructs the script to create a new .NET object. ActiveX components that have been imported into the Galaxy Repository explicitly end up with .NET wrappers that allow them to be created using this technique. In the example below, early- bound methods on

Dim app as Excel.Application;

App = new Excel.Application;

2. CreateObject method – this method instructs the script to specifically create a named COM object that is installed on the system upon which the script is to be deployed. These are late- bound objects. Late-bound methods on app can be called after the object is created.

dim app as object;

app = CreateObject("Excel.Application");

Scripting Key Words and Reserved Words

This section identifies key words and reserved words that are used in scripting.

Keywords and exit null as false object attribute float or boolean for real din if shl discrete in shr double indirect step each integer string elapsedtime message then else mod time elseif new to endif next true endwhile not while

Wonderware System Platform 3.0 Course - Part 1

Page 302: Manual Wsp 3 Part 1-Rev a Gold

4-50 Module 4 – Extending the Objects

Indirect Keyword

The Indirect keyword supports dynamically binding a variable to an arbitrary reference string for get/set usage.

The syntax for this keyword, including the use of the method, BindTo(s), is

show in the example below: dim x as indirect; ... x.BindTo(s); ' where s is any expression that retur ns a string x = 1234; if WriteStatus(x) == MxStatusOk then ' ... do something endif;

Note: The Attribute() keyword does not accept values as a parameter. If you need to use dynamic references to an attribute value, use Indirect instead.

QuickScript .NET also reserves for future use the following words:

Reserved Words abstract event MyContainer static base explicit MyEngine sub begin extern MyHost switch break finally MyPlatform system call function namespace this case goto nothing throw catch implicit on triger class import out try continue imports private typeof default include protected until delegate inherits public using do interface raiseevent virtual end internal readonly void endsub is ref when endswitch like return with enum Me select error MyArea sizeof

Wonderware Training

Page 303: Manual Wsp 3 Part 1-Rev a Gold

Lab 13 – DDESuiteLinkClient Auto Reconnect 4-51

Lab 13 – DDESuiteLinkClient Auto Reconnect

Introduction

Since the $DDESuiteLinkClient object lacks the capability to automatically reconnect to the data source if the connection is lost, you are to extend the object with UDAs and scripts to add such functionality.

Note: Your instructor will demonstrate the script.

Objectives

Upon completion of this lab you should be able to:

Use the QuickScript.NET scripting engine to extend your objects with extra functionality

� Use attributes, including UDAs, within scripts

� Create scripts with different execution types

� Reconnect whenever the InControl object gets disconnected

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.

Add the auto-reconnect functionality

1. Add a script called Reconnect (locked) to the $ABDDESuiteLinkClient with an Execute execution type configured as follows:

Expression: Me.ConnectionStatus <> 2

Trigger type: WhileTrue

Trigger period: 00:00:05.0000000

Script body: Me.Reconnect = True;

2. Add a Calculated Integer UDA named DisconnectCnt .

Wonderware System Platform 3.0 Course - Part 1

Page 304: Manual Wsp 3 Part 1-Rev a Gold

4-52 Module 4 – Extending the Objects

3. Add a script called DisconnectMonitor (locked) with an Execute execution type configured as follows:

Expression: Me.ConnectionStatus <> 2

Trigger type: OnTrue

Script body: Me.DisconnectCnt = Me.DisconnectCnt + 1;

and an OnScan execution type configured as follows:

Script body: Me.DisconnectCnt = 0;

4. Deploy the InControl object.

See the next page for Detailed Lab Instructions

Wonderware Training

Page 305: Manual Wsp 3 Part 1-Rev a Gold

Lab 13 – DDESuiteLinkClient Auto Reconnect 4-53

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Add the Auto-reconnect Functionality

1. Double-click the $ABDDESuiteLinkClient template to open its configuration editor.

Select the Scripts tab.

2. Click the plus icon button to add a new script to the object. Name the script Reconnect and configure it as follows:

Aliases section: (locked)

Declarations section: (locked)

Scripts section:

Execution type: Execute (locked)

Basics section: (locked)

Expression: Me.ConnectionStatus <> 2

Trigger type: WhileTrue

Trigger period: 00:00:05.0000000

Script body section: Me.Reconnect = True;

3. Select the UDAs tab.

Wonderware System Platform 3.0 Course - Part 1

Page 306: Manual Wsp 3 Part 1-Rev a Gold

4-54 Module 4 – Extending the Objects

4. Click the plus icon button to add a UDA to the object. Name the UDA DisconnectCnt and configure it as follows:

Data type: Integer

Category: Calculated

5.

Select the Scripts tab.

6.

Click the plus icon button

to add a new script to the object. Name the script DisconnectMonitor and configure it as follows:

Aliases section: (locked)

Declarations section: (locked)

Scripts section:

Execution type: Execute (locked)

Basics section: (locked)

Expression: Me.ConnectionStatus <> 2

Trigger type: OnTrue

Script body section: Me.DisconnectCnt = Me.DisconnectCnt + 1;

Wonderware Training

Page 307: Manual Wsp 3 Part 1-Rev a Gold

Lab 13 – DDESuiteLinkClient Auto Reconnect 4-55

7. With the DisconnectMonitor script selected, specify an Execution type of OnScan to add a second section to the script. Configure it as follows:

Script body section: Me.DisconnectCnt = 0;

8. Click the Save and Close button and check in the object.

9. Deploy the InControl instance.

Note: Your instructor will demonstrate new attributes in Object Viewer .

Wonderware System Platform 3.0 Course - Part 1

Page 308: Manual Wsp 3 Part 1-Rev a Gold

4-56 Module 4 – Extending the Objects

– Intentionally left blank –

Wonderware Training

Page 309: Manual Wsp 3 Part 1-Rev a Gold

Lab 14 – Automatic Reference Configuration 4-57

Lab 14 – Automatic Reference Configuration

Introduction

This lab illustrates how to add to the mixer objects the capability of automatically configuring the input and output references within the objects based on the naming conventions established for your galaxy.

To successfully provide this functionality, a compromise regarding the naming of the objects has to be arranged. In this example, it is required that every instance derived from the $ABMixer template is named with the valid three-digit mixer identification number at the end as identified in Lab 2.

Objectives

Upon completion of this lab you should be able to:

� Use the QuickScript.NET scripting engine to automatically configure on runtime the input and output references of instances

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Add the auto-configuration functionality

1. Add a Boolean User writeable UDA to the $ABMixer template, name it AssignIOCmd and set its initial value to True .

2. Add a script called AssignIO (locked) with an Execute execution type configured as follows:

Expression: Me.AssignIOCmd

Trigger type: WhileTrue

Trigger period: 00:00:00.0000000

Script body: (provided as a text file as part of the training ma terial)

Wonderware System Platform 3.0 Course - Part 1

Page 310: Manual Wsp 3 Part 1-Rev a Gold

4-58 Module 4 – Extending the Objects

Create and deploy a Mixer instance

3. Create a new instance of the $ABMixer template, name it ABMixer_ XXY and assign it to the ABLine2 area.

4. Deploy both, the new mixer instance and ABMixer_001 .

See the next page for Detailed Lab Instructions

Wonderware Training

Page 311: Manual Wsp 3 Part 1-Rev a Gold

Lab 14 – Automatic Reference Configuration 4-59

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Add the Auto-configuration Functionality

1. Double-click the $ABMixer template to open its configuration editor.

Select the UDAs tab.

2. Click the plus icon button to add a UDA to the object. Name the UDA AssignIOCmd and configure it as follows:

Data type: Boolean

Category: User writeable

True/False: checked

3. Select the Scripts tab.

Wonderware System Platform 3.0 Course - Part 1

Page 312: Manual Wsp 3 Part 1-Rev a Gold

4-60 Module 4 – Extending the Objects

4. Click the plus icon button to add a new script to the object. Name the script AssignIO and configure it as follows:

Aliases section: (locked)

Declarations section: (locked)

Scripts section:

Execution type: Execute (locked)

Basics section: (locked)

Expression: Me.AssignIOCmd

Trigger type: WhileTrue

Trigger period: 00:00:00.0000000

Script body section: 'Get the common part for the references. Dim dataSource As String; dataSource = "InControl.tagname.T" + StringRight(Me .Tagname, 3);

'Configure inlet valve 1. Me.Inlet1.CLS.InputSource = dataSource + "_IV1_CLS" ; Me.Inlet1.OLS.InputSource = dataSource + "_IV1_OLS" ; Me.Inlet1.CmdOpen.OutputDest = dataSource + "_IV1_C mdOpen";

'Configure inlet valve 2. Me.Inlet2.CLS.InputSource = dataSource + "_IV2_CLS" ; Me.Inlet2.OLS.InputSource = dataSource + "_IV2_OLS" ; Me.Inlet2.CmdOpen.OutputDest = dataSource + "_IV2_C mdOpen";

'Configure outlet valve. Me.Outlet.CLS.InputSource = dataSource + "_OV_CLS"; Me.Outlet.OLS.InputSource = dataSource + "_OV_OLS"; Me.Outlet.CmdOpen.OutputDest = dataSource + "_OV_Cm dOpen";

'Configure transfer pump 1. Me.Pump1.FlowSwitch.InputSource = dataSource + "_TP 1_FlowSwitch"; Me.Pump1.CmdStart.OutputDest = dataSource + "_TP1_C mdStart";

'Configure transfer pump 2. Me.Pump2.FlowSwitch.InputSource = dataSource + "_TP 2_FlowSwitch"; Me.Pump2.CmdStart.OutputDest = dataSource + "_TP2_C mdStart";

'Configure level meter. Me.LIT.PV.Input.InputSource = dataSource + "_LT_PV" ;

'Configure temperature transmitter. Me.TT.PV.Input.InputSource = dataSource + "_TT_PV";

'Configure agitator. Me.Agitator.AuxContact.InputSource = dataSource + " _AG_AuxContact"; Me.Agitator.CmdStart.OutputDest = dataSource + "_AG _CmdStart"; Me.Agitator.Speed.InputSource = dataSource + "_AG_S peed"; Me.Agitator.SpeedSP.InputSource = dataSource + "_AG _SpeedSP";

'Reset trigger. Me.AssignIOCmd = False;

Wonderware Training

Page 313: Manual Wsp 3 Part 1-Rev a Gold

Lab 14 – Automatic Reference Configuration 4-61

5. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 314: Manual Wsp 3 Part 1-Rev a Gold

4-62 Module 4 – Extending the Objects

Create and Deploy a Mixer Instance

6. Using the Template Toolbox and the Model view, create an instance of the $ABMixer template and name it ABMixer_ XXY.

Assign the instance to the ABLine2 area.

Note: When the mixer instance is renamed, a dialog box with a warning is displayed.

Click the Yes button.

Note: The new instance of the $ABMixer template will display the warning icon on all contained objects. This is OK. These warnings can be cleared by setting the default references from ---.--- to ---.

Important! If there is a warning icon on the mixer instance itself, notify your instructor.

7. Deploy the newly created instance.

8. Deploy the ABMixer_001 instance.

9. Use Object Viewer to verify that both mixers, and their contained objects, are working.

Wonderware Training

Page 315: Manual Wsp 3 Part 1-Rev a Gold

Module 5

Alarms and History

Section 1 – Alarms 5-3

Lab 15 – Configuring Alarms 5-9

Section 2 – Historization 5-25

Lab 16 – Configuring History 5-29

Page 316: Manual Wsp 3 Part 1-Rev a Gold

5-2 Module 5 – Alarms and History

Module Objective

� Obtain an overview and understanding of the concepts of Alarms, Events and Historization and how ArchestrA handles each.

Wonderware Training

Page 317: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Alarms 5-3

Section 1 – Alarms

Section Objectives

� Familiarize you with the concept of alarms and events, and

� Enable you to understand how ArchestrA handles alarms and events.

This section provides familiarization of the concept of alarms and events and how ArchestrA handles them.

What is an Alarm/Event

The alarm and event capabilities in the system provide for users to automate the detection, notification, historization and viewing of either application (process) alarms and events or system/ software alarms events. Alarms and events are things that occur in the runtime system. Events and alarms are different and the system distinguishes between the two. An event is simply an occurrence of a condition at a certain point in time. The system can detect events, store them historically and report them to various clients. Alarms, on the other hand, represent the occurrence of a condition that is considered abnormal (generally bad) in nature and requiring immediate attention from a user. Alarms are a special type of event that indicate something abnormal has happened. The system handles the real-time reporting of alarms in a special manner and provides special clients for their viewing.

Examples of alarms include:

� A process measurement has exceeded a predefined limit, such as a high temperature alarm.

� A process device is not in the desired state, such as a pump that should be running has stopped.

� The system hardware is not operating within desired limits, for example the CPU utilization on a Platform exceeds a certain percentage for an extended time.

Examples of events include:

� A plant process has started; for example, a new batch or campaign starts.

� The operator has changed a plant operator parameter; for example, a setpoint on a temperature controller.

� The system engineer has changed the runtime system configuration; for example, deployment of a new AutomationObject.

� The system engineer has started or stopped a system component; for example, stopping an engine.

� A platform has come back online after it had a failure or shutdown.

� A user has logged into the system.

� Detection of a severe software problem; such as a failed Application Object component.

The following items are not considered alarms or events:

� Configuration actions within the Galaxy Repository; for example import or check-out.

� Installation of Bootstrap on a PC.

� A message sent to the system logger (SMCLogger). Note, sometimes certain software events may log a message in addition to generating an event, but this is ancillary. Logger messages are not events.

� Viewing a window in the View Engine.

Wonderware System Platform 3.0 Course - Part 1

Page 318: Manual Wsp 3 Part 1-Rev a Gold

5-4 Module 5 – Alarms and History

How does ArchestrA handle alarms?

The Platform as an Alarm Provider

A Platform can act as a single Alarm Provider that provides alarms to the InTouch Distributed Alarm subsystem. A boolean checkbox is provided in the Platform AutomationObject indicating whether it subscribed to Areas or not for alarm and event reporting. The Platform, when deployed, only initiates subscription to those Areas that are only deployed to that Platform.

The platform is responsible for routing all alarms and events for all Areas subscribed to by that Platform to InTouch’s distributed alarming infrastructure. The Platform acts as a router between all Alarm/Event Notification Distributors that are running in the subscribed Areas throughout the Galaxy (inside every Area, Platform, Engine, DI Device, etc.) and the distributed alarming infrastructure. The Platform also routes alarm acknowledgements, enables and disables received from distributed alarming back to the appropriate AutomationObject. Alarm acknowledgements, enables, and disables carry along the User information for security purposes. An alarm generated by Application Server contains fields that are generated by the alarm functions inside the AutomationObject. Those fields are mapped to fields in InTouch as follows:

Alarms:

ArchestrA field InTouch Dist Alarms Mapping Type = alarm state change N/a Timestamp of alarm event Time Tagname Name Common message text string. Comment Area Alarm group Common name for alarm primitive (e.g. “PV.HiAlarm”)

Alarm Type (string)

New alarm state (ack, rtn, etc.) State Priority = 1-999 Priority Value (mxValue) Value Limit (mxValue) Limit Value MxReference N/a Limit MxReference N/a Units MxReference N/a Category Class Category SubClass

InTouch as an Alarm Consumer

The InTouch Alarm Client can be configured to subscribe to alarms and events generated by Alarm Providers. The Alarm Provider is specified by providing the node name and provider name of the provider. For ArchestrA, only one provider exists per Platform (node). In addition, the InTouch Alarm client can be configured to subscribe to only selected Alarm Areas for the provider based on its query filters. Alarm Group names in InTouch map to Areas names and pseudo-Area names (Platforms, Engines, etc.) in ArchestrA.

Alarm Acknowledgement from Distributed Alarming

The InTouch Alarm Client can acknowledge unacknowledged alarms that are reported by the Platform. The Platform receives the acknowledge request and forwards it to the target

Wonderware Training

Page 319: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Alarms 5-5

AutomationObject’s acknowledge attribute for the alarm. Security is used as part of this set (it is a UserSetAttribute). An optional comment can be entered when the acknowledge is requested.

An acknowledge of an alarm is reported as an alarm state change back to the distributed alarming. The optional operator comment is included in the event message sent back.

Distributed Alarming has no support for passing a rejected acknowledge failure feedback. Therefore, if an acknowledge is requested from a client but does not succeed, the only feedback on the InTouch client will be no change in acknowledge status on the client.

Alarm Enable/Disable

The InTouch Alarm Client can enable/disable alarming on any AutomationObject. The platform receives the enable request and forwards it to the target AutomationObject’s AlarmMode attribute. Security is used as part of this set (it is a UserSetAttribute).

How does ArchestrA handle Events?

A Platform is an Event Provider that provides events to the InTouch Distributed Alarm subsystem. This provider routes all events that are generated by AutomationObjects hosted by that Platform to Application Server. The provider does not need to deal with subscriptions to Areas. The provider acts as a router between the NotificationDistributor (inside every Area, Platform, Engine, etc) and the InTouch Distributed Alarm subsystem.

Several types of events can be generated by AutomationObjects The following tables define how the fields in those events are mapped to fields in the Distributed Alarm subsystem.

System Events:

ArchestrA field Distributed Alarm subsystem

Mapping Type (or Category) = System Type = SYS Timestamp Time Tagname Name Tag description Comment Area Alarm group System event description (“started”, “stopped”)

Event Type – if string, or use Comment field

N/a State = none (preferred) or “UNACK_RTN”

N/a Priority = 1 N/A Provider = Galaxy N/A Event Class = EVENT

Security Audit (includes User Data Change) Events: ArchestrA field Distributed Alarm subsystem

Mapping Type = Operator Change Type = OPR Timestamp Time Tag.primitive.attribute Name Tag description Comment Area Alarm group View engine name

Wonderware System Platform 3.0 Course - Part 1

Page 320: Manual Wsp 3 Part 1-Rev a Gold

5-6 Module 5 – Alarms and History

Security Audit (includes User Data Change) Events: (continued) ArchestrA field Distributed Alarm subsystem

Mapping Operator 1 name RequestingEngineName +

Operator name Operator 2 name N/a Old value Limit New value value N/a State = none (preferred) or

“UNACK_RTN” N/a Priority = 999 N/A Provider = Galaxy N/A Event Class = EVENT

Application Data Change Events: ArchestrA field Distributed Alarm subsystem

Mapping Type = Data Change Type = LGC Timestamp Time Tag.primitive.attribute Name? Or name+comment? Tag description Comment Area Alarm group View engine name Platform (the PC’s node name) Old value Limit New value Value N/a State = none (preferred) or

“UNACK_RTN” N/a Priority = 999 N/A Provider = Galaxy

Wonderware Training

Page 321: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Alarms 5-7

Alarm Queries

Alarm queries provide alarm information and event reports coming from the galaxy.

Use the following syntax for querying alarms from a Galaxy. This syntax gets alarms from a specific attribute of an object in a specific area on a specific computer.

\\NodeName\Galaxy!Area.Object.Attribute

The following syntax gets all alarms from a specific area:

\\Galaxy!Area

The following syntax gets alarms from two areas:

\\Galaxy!Area1 \\Galaxy!Area2

The following syntax gets all alarms from the Platform on computer node (by default):

\\NodeName\Galaxy

You can also use a wildcard. The following syntax gets all alarms from Area1, Area2, Area3, and so on:

\\Galaxy!Area*

The following syntax gets all alarms from all objects starting with the characters "Tank" in the area "Area":

\\Galaxy!Area.Tank*

Displaying alarms/events in InTouch

The Current Alarm Display is an ActiveX Control delivered with InTouch. The primary purpose of the control is to allow an InTouch Operator to view and acknowledge active alarms at runtime that

are generated by alarm providers. Alarm providers can include local providers and providers on the network. Application Server (ArchestrA) is a key alarm provider. Key functions include:

� Configuration at design time for subscription to specific alarm providers on the network for alarm reports. One or more Application Server platforms can be an alarm providers (and can be local or remote).

� Configuration at design time for subscription to specific alarm groups (or areas) in a provider. Groups (or areas) can be hierarchical, meaning sub-groups are automatically subscribed to.

� Display of key alarm information.

� Acknowledgment of selected alarms with a comment.

� Suppression of alarms (local filter only).

Wonderware System Platform 3.0 Course - Part 1

Page 322: Manual Wsp 3 Part 1-Rev a Gold

5-8 Module 5 – Alarms and History

Event History Display in InTouch

The InTouch AlarmDBView ActiveX is used to display historical alarm and event information that has been logged by the InTouch Alarm Logger. The InTouch Alarm Logger can be configured to log alarms from any provider, including Application Server.

Wonderware Training

Page 323: Manual Wsp 3 Part 1-Rev a Gold

Lab 15 – Configuring Alarms 5-9

Lab 15 – Configuring Alarms

Introduction

This lab illustrates how to configure your galaxy to provide alarms to external alarm subscribers such as an operator’s visualization interface or an alarm database logger. As an example of alarm functionality, a typical high level alarm is added to the mixer, as well as a malfunction alarm from the mixer’s agitator generated from a field device such as a PLC.

As part of the configuration necessary to accomplish this functionality, it is necessary to update the auto-configuration script created in the previous lab to accommodate a new input signal associated with the malfunction alarm.

The Wonderware Alarm DB Logger Manager is used to store real-time alarms in a centralized database.

Objectives

Upon completion of this lab you should be able to:

� Configure the $WinPlatform object as an alarm provider for the galaxy

� Configure alarms within objects including using the Alarm Extension

� Configure and use the Alarm DB Logger Manager

� Use alarm queries to request real-time alarms from alarm providers

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Configure the WinPlatform object as an Alarm Provider

1. Configure the ABGRPlatform instance to be an InTouch alarm provider for all areas in the galaxy.

Configure the $ABMixer.LIT template for alarms

2. Configure the $ABMixer.LIT template with a Hi level alarm, with a limit of 80.0, a priority of 500 and “Mixer Hi Level alarm” as the alarm message.

3. Lock all level alarms attributes but the Hi Limit .

Wonderware System Platform 3.0 Course - Part 1

Page 324: Manual Wsp 3 Part 1-Rev a Gold

5-10 Module 5 – Alarms and History

Configure the Alarm extension

4. Add a Boolean Object writeable UDA to the $ABMixer.Agitator template named Malfunction .

5. Extend the Malfunction attribute with an Input extension and configure its Source as ---.---.

6. Extend the Malfunction attribute with an Alarm extension and lock it. Configure its category as Process and leave the default values on the rest of the attributes.

Update auto-configuration script on $ABMixer

7. Modify the AssignIO script of the $ABMixer template by adding the following line of code to the Configure agitator section of the code:

Me.Agitator.Malfunction.InputSource = dataSource = “_AG_Malfunction”;

View the alarm data on Runtime

8. Deploy the ABGRPlatform object on cascade.

9. Using the watch list created in Lab 5, add a new watch window called Alarms and add the following attribute references:

� LIT_001.PV

� LIT_001.InAlarm

� LIT_001.Hi.InAlarm

� LIT_001.Hi.Limit

� LIT_001.Hi.TimeAlarmOn

� LIT_001.Hi.TimeAlarmOff

� Agitator_001.InAlarm

� Agitator_001.Malfunction

� Agitator_001.Malfunction.InAlarm

� Agitator_001.Malfunction.TimeAlarmOn

� Agitator_001.Malfunction.TimeAlarmOff

� ABLine1.AlarmOnCnt

10. Save the watch list.

Wonderware Training

Page 325: Manual Wsp 3 Part 1-Rev a Gold

Lab 15 – Configuring Alarms 5-11

Configure and Start the Alarm DB Logger Manager

11. Use the Alarm DB Logger Manager to create a a database named WWALMDB on your local computer. Use the following user information:

User Name: sa

Password: [Check with your instructor for the correct password]

12. Configure the Alarm DB Logger Manager to query all priorities from the following alarm query:

\Galaxy!ABControlSystem

\Galaxy!ABDischarge

\Galaxy!ABIntake

\Galaxy!ABProduction

13. Leave the defaults advanced settings and start Alarm DB Logger Manager .

View the Alarm History data

14. Use SQL Server Management Studio to query all data from the v_AlarmHistory view.

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 326: Manual Wsp 3 Part 1-Rev a Gold

5-12 Module 5 – Alarms and History

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Configure the WinPlatform Object as an Alarm Provid er

1. Double-click the ABGRPlatform instance to open its configuration editor.

2. Check the InTouch alarm provider attribute and leave the Alarm areas attribute empty.

The Alarm areas field is used to specify a space-separated list of areas to subscribe to. It is used to filter alarms on the network. For example, "Area1 Area2 Area3". If blank, the platform will subscribe to all areas in the Galaxy and act as an InTouch alarm provider for the whole Galaxy.

3. Click the Save and Close button and check in the object.

Wonderware Training

Page 327: Manual Wsp 3 Part 1-Rev a Gold

Lab 15 – Configuring Alarms 5-13

Configure the $ ABMixer.LIT Template for Alarms

4. Double-click the $ABMixer.LIT template to open its configuration editor.

5. Select the Alarms tab and configure the object as follows:

Detect PV level(limit) alarms: checked (locked)

Level alarms: (locked)

Hi: checked (locked)

Hi Limit: 80.0 (unlocked)

Hi Priority: 500 (locked)

Hi Alarm Message: Mixer Hi Level alarm (locked)

6. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 328: Manual Wsp 3 Part 1-Rev a Gold

5-14 Module 5 – Alarms and History

Configure the Alarm Extension

7. Double-click the $ABMixer.Agitator template to open its configuration editor.

8. Select the UDAs tab, add a UDA named Malfunction and configure it as follows:

Data type: Boolean

Category: Object writeable

9. Select the Extensions tab.

10. Select the Malfunction attribute and configure its extensions as follows:

Input extension: checked

Source: ---

Alarm extension: checked (locked)

Category: Process

Priority: 500

Alarm message: me.ShortDesc

Active alarm state: True

Wonderware Training

Page 329: Manual Wsp 3 Part 1-Rev a Gold

Lab 15 – Configuring Alarms 5-15

11. Click the Save and Close button and check in the object.

Update Auto-configuration Script on $ ABMixer

12. Double-click the $ABMixer template to open its configuration editor.

Select the Scripts tab.

13. Select the AssignIO tab and add the following line of code to the Configure agitator section of the code:

Me.Agitator.Malfunction.InputSource = dataSource = “_AG_Malfunction”;

14. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 330: Manual Wsp 3 Part 1-Rev a Gold

5-16 Module 5 – Alarms and History

View the Alarm Data in Runtime

15. Deploy the ABGRPlatform object on cascade.

16. Open Object Viewer by right-clicking the LIT_001 instance and selecting View in Object Viewer . If you closed Object Viewer before, you can use File / Load Watch List to open the file you saved earlier.

Note: If you had Object Viewer opened, you will need to switch to it first and click the OK button to close before trying to re-opened again from the ArchestrA IDE.

17. Right-click in the Watch List (bottom section of Object Viewer ) and select Add Watch Window to add a new tab to the watch list.

18. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab to rename the watch list to Alarms .

Wonderware Training

Page 331: Manual Wsp 3 Part 1-Rev a Gold

Lab 15 – Configuring Alarms 5-17

19. Add the following attributes to the watch list:

For the LIT_001 object:

PV

InAlarm

Hi.InAlarm

Hi.Limit

Hi.TimeAlarmOn

Hi.TimeAlarmOff

For the Agitator_001 object:

InAlarm

Malfunction

Malfunction.InAlarm

Malfunction.TimeAlarmOn

Malfunction.TimeAlarmOff

For the ABLine1 object:

AlarmOnCnt

20. Save the watch list.

Wonderware System Platform 3.0 Course - Part 1

Page 332: Manual Wsp 3 Part 1-Rev a Gold

5-18 Module 5 – Alarms and History

Configure and Start the Alarm DB Logger Manager.

21. Launch the Alarm DB Logger Manager by selecting Start / All Programs / Wonderware / InTouch / Alarm DB Logger Manager .

22. In the Alarm DB Logger Manager window, click the Settings button.

23. Configure the Alarm DB Logger Manager – Configuration dialog box as follows and then click the Create button:

Server Name: (local)

Database: WWALMDB

User Info:

User Name: sa

Password: [Check with your instructor for the correct password]

Logging Mode: Detailed

Wonderware Training

Page 333: Manual Wsp 3 Part 1-Rev a Gold

Lab 15 – Configuring Alarms 5-19

24. The Success dialog box is displays indicating that the tables were created. Click the OK button to continue.

Note: If the following Warning dialog is displayed, click the Yes button to delete the existing database and create a new one.

25. Back at the Alarm DB Logger Manager – Configuration dialog box click the Next button to continue.

Wonderware System Platform 3.0 Course - Part 1

Page 334: Manual Wsp 3 Part 1-Rev a Gold

5-20 Module 5 – Alarms and History

26. Configure the Alarm DB Logger Manager – Query Selection dialog box as follows and then click the Next button to continue:

From Priority: 1

To Priority: 999

Alarm Query: \Galaxy!ABControlSystem

\Galaxy!ABDischarge

\Galaxy!ABIntake

\Galaxy!ABProductio

Wonderware Training

Page 335: Manual Wsp 3 Part 1-Rev a Gold

Lab 15 – Configuring Alarms 5-21

27. At the Alarm DB Logger Manager – Advanced Settings dialog box, leave the default settings and click the Finish button to accept the changes.

28. Back at the Alarm DB Logger Manager window, click the Start button to start the Alarm Database Logger.

Wonderware System Platform 3.0 Course - Part 1

Page 336: Manual Wsp 3 Part 1-Rev a Gold

5-22 Module 5 – Alarms and History

View the Alarm History Data

29. Launch the SQL Server Management Studio by selecting Start / All Programs / Microsoft SQL Server 2005 / SQL Server Management Studio .

30. Configure the Connect to Server dialog box as follows and then click the Connect button to continue:

Server type: Database Engine

Server name: localhost

Authentication: Windows Authentication

Wonderware Training

Page 337: Manual Wsp 3 Part 1-Rev a Gold

Lab 15 – Configuring Alarms 5-23

31. In the Object Explorer (left pane) navigate to localhost / Databases / WWALMDB / Views to get a list of all the database’s Views in the Object Explorer Details (right pane).

32. On the Views list (right pane), right-click on the v_AlarmHistory view and select Open View to display the current list of alarms logged in the database.

Wonderware System Platform 3.0 Course - Part 1

Page 338: Manual Wsp 3 Part 1-Rev a Gold

5-24 Module 5 – Alarms and History

– Intentionally left blank –

Wonderware Training

Page 339: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Historization 5-25

Section 2 – Historization

Section Objectives

� Familiarize you with the background concept of historization, and

� Enable you to understand details of historizable configuration.

This section provides familiarization with the background concept of historization and the details of historizable configuration.

Historization Background

The history system supports historization of process data in distributed history architecture.

One or more Historian products can be installed on the same network as the Application Server Galaxy. The Galaxy can be configured to store history data into one or more of those Historians. Since the Engines use push technology to historize, the Historian box does not have any ArchestrA software requirements.

Each Engine in the Galaxy is configured with the location of the Historian storage node to which its history data is to be sent. This configuration is stored in an attribute within the Engine.

Wonderware Historian requires a Historian tag to be configured in its database for each attribute to be historized by an AutomationObject. Thus, there is a one-to-one relationship between a historized object and a tag in Wonderware Historian.

When an AutomationObject starts up it registers its configuration data with Historian using a Historian supplied interface. If the Historian tag already exists, it means this object has been previously registered. If the Historian tag does not exist, it is created automatically. In either case, the object receives back a unique identifier (handle) for that tag. This is a push-style configuration model, meaning the configuration data for each historized property of an object is dynamically, and automatically, pushed to Historian. The user does not need to run Historian configure and import tags from Application Server (as done with InTouch today).

For storage, the story is similar. When an object decides to store a new VTQ to Historian, it pushes that storage update message, with the new VTQ, to Historian using a Historian supplied interface. The Historian must exist on a different node from the AutomationObject. The history primitive uses the previously-returned unique identifier for the Historian tag that corresponds to the historized property to identify the tag being stored.

Note: Alarms are stored at the Platform, history is stored at the Engine.

History Configuration

Historizable Data Types for Attributes

Attributes of the following data types support historization:

Float (numerical)

Double (numerical)

Integer (numerical)

Boolean (non-numerical)

Wonderware System Platform 3.0 Course - Part 1

Page 340: Manual Wsp 3 Part 1-Rev a Gold

5-26 Module 5 – Alarms and History

String – Unicode (non-numerical)

CustomEnum (non-numerical)

maps to Historian Integer

ElapsedTime (numerical)

Maps to Historian Float, converted to seconds.

Entire arrays or portions of arrays are not supported.

All numerical attributes are sent to the Historian in the engineering units form exposed by the attribute, and Historian does not scale the value. Additionally, the historized object does all change detection and value deadbanding. All update packets sent to the Historian are stored to disk.

Configuration of a non-numerical Attribute for Historization

For an object that has non-numerical historizable attributes, the ArchestrA IDE user can enable history for each attribute. No other configuration data is provided by the user since these attributes are historized upon change of value. Also, a change in data Quality, regardless of whether the Value changed too, always causes a new record to be historized/stored.

Configuration of a numerical Attribute for Historization

For an object that has numerical historizable attributes, the ArchestrA IDE user can enable history for each attribute. Once enabled, certain configuration settings can be specified. These settings determine how often data is historized.

The following configuration settings can then be specified:

� Value Deadband – the threshold value (measured in engineering units) that the absolute value of the difference between the new and last-stored values must differ before storing the new value to history. A value of 0 is valid and is the default and means that some change is required prior to storing the value. A change in Quality always causes a new record to be stored, regardless of whether the Value has changed.

Force Storage Period – this is the time interval, in seconds (floating point), at which the value must be stored regardless of the value deadband setting. In addition to the Value Deadband setting, the value will be stored continuously at this interval. A value of 0 disables this feature.

Trend Hi – specifies the initial maximum trend value for clients.

Trend Lo – specifies the initial minimum trend value for clients.

Dynamic, Automatic Configuration of Wonderware Historian at Object Deploy Time

When an AutomationObject is deployed that has been historized, the object causes a dynamic reconfiguration of the Historian product. Each historized property causes a new tag to be created and configured automatically in Historian at deployment time. The Historian storage system to be configured is configured in the engine object itself.

If the link to the Historian product is down at deploy time, the attempt to dynamically reconfigure Historian is achieved at the time the Historian link is recovered. In other words, automatic retry is built in.

Reconfiguration of Historian at Object Redeploy Time

When an AutomationObject that has been historized is redeployed, the object causes a reconfiguration of any changes that were caused by the redeploy to be changed in the Historian

Wonderware Training

Page 341: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Historization 5-27

product automatically. For example, if the engineering units string for the tag changes from “Deg F” to “Deg C” upon a redeploy, the Historian configuration database must reflect this change.

Reconfiguration of Historian at Object Undeploy Time

When an AutomationObject is undeployed that has been historized, object does not cause any dynamic reconfiguration of the Historian product. In other words, the Historian tag and all its history is left in the Historian historian. This means the history data can still be examined in the future even if the AutomationObject is no longer deployed.

Historian Installation and Deployment

Wonderware Historian is installed and deployed using its standard mechanism. Historian can be deployed on any PC in the Galaxy, or on a PC outside the Galaxy but on the local network. Historian requires a SQL Server Database for its configuration data. This SQL Server Database can be the same or different one used by the Galaxy Repository. More than one Historian can be utilized by a single Galaxy. However, a single engine sends its history to only one Historian.

A single Historian can receive historical data from a single Galaxy only.

Historian Value Mapping

The update packet to be sent to Historian contains a Value. This value may need to be converted from the value received from Message Exchange if the received datatype is not one of the native Historian datatypes as specified below:

Enum – historize as Integer ordinal value

Strings – Historian strings are limited to 512 characters, so truncation may occur. If so, Quality is set to Uncertain.

NaN Handling

For Float and Double attributes, a potential value is the IEEE NaN encoding for the float or double representation. NaN values can be generated for attributes that are to be historized. These NaNs will be accompanied by a Bad OPC Data Quality. In any case, NaN is a valid value that can be generated for floats and doubles. Unfortunately, Historian clients do not handle NaN properly. Therefore, ArchestrA will convert the NaN value to a Null value representation just prior to sending to Historian.

Historian Quality Mapping

The Application Server Data Quality is somewhat different than the Historian data quality. The plan is for Historian to support the OPC Quality definition. Thus, the 16-bit value for the OPC Data quality is sent to Historian. Within those 16-bits, the low order byte is the standard OPC part. Wonderware reserves the high order byte. The Good, Bad, Initializing (which is a form of Bad) and Uncertain states are in the low order byte per the OPC standard.

Any change in the OPC Quality, regardless of whether the Value component has changed, will cause storage of a new record to Historian. This means that a point that has an identical value over some period of time with varying qualities will have multiple records stored to Historian. The quality stored in Historian is to be the actual quality of the attribute in Application Server with no modification. However, Historian may insert “artificial” quality (e.g. 24) and null value in the database when certain situations such as disconnects occur. It does this in cooperation with the ActiveFactory clients to project the right information on the client.

Wonderware System Platform 3.0 Course - Part 1

Page 342: Manual Wsp 3 Part 1-Rev a Gold

5-28 Module 5 – Alarms and History

Historian Timestamp mapping

The timestamp to be sent to Historian for each attribute value/quality update is sent by the object in the VTQ packet. Both Application Server and Historian use UTC time.

Application Server History Storage Performance

The link from the Application Server to Historian may fail or be down for any of a number of reasons:

� The network connection to Historian goes down unexpectedly.

� The Historian storage node goes down or fails unexpectedly.

� The Galaxy Platform and its Engines which are generating history startup prior to Historian node startup in a recovery situation.

� History data must be preserved in these cases by having it stored locally until the link to Historian has recovered or Historian has started. This is called store/forward. This capability is limited by the hard disk capacity of the system where data is stored before forwarding. The maximum data storage size to be consumed by store/forward must be configurable in the Platform. Also, whether store/forward is enabled/disabled can be configured.

� When store/forward capacity is consumed, the oldest data is discarded in preference to newer data.

Wonderware Training

Page 343: Manual Wsp 3 Part 1-Rev a Gold

Lab 16 – Configuring History 5-29

Lab 16 – Configuring History

Introduction

In this lab you are to configure your galaxy for historization to your local Wonderware Historian software. As an example, the mixer’s level and state of the Inlet Valve 1 is configured, as well as the speed of the mixer’s agitator.

Even when it is not part of the current class, ActiveFactory Trend can be used to quickly retrieve history data from the history database.

Objectives

Upon completion of this lab you should be able to:

� Configure the $AppEngine object to store history data to a Wonderware Historian

� Configure attributes within objects for historization including the History Extension

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve ) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Configure the WinPlatform object

1. Configure the ABGRPlatform instance to use C:\S&F as the Store & Forward folder.

Configure the AppEngine object for History

2. Enable the ABAppEngine instance for storage to the historian in your local computer.

Configure the $ABMixer.LIT template for History

3. Configure the $ABMixer.LIT template to historize the PV attribute using the default values for the history attributes.

4. Lock all history-related attributes.

Wonderware System Platform 3.0 Course - Part 1

Page 344: Manual Wsp 3 Part 1-Rev a Gold

5-30 Module 5 – Alarms and History

Configure the $ABMixer.Inlet1 template for History

5. Configure the $ABMixer.Inlet1 template to historize the PV attribute using the default values for the history attributes.

6. Lock all history-related attributes for the PV attribute.

Configure the History extension

7. Extend the Speed attribute of the $ABMixer.Agitator template for historization using RPM as the engineering units.

8. Lock the history extension.

View the History data with ActiveFactory Trend

9. Deploy the ABGRPlatform object on cascade.

10. Use ActiveFactory Trend to connect to the local Wonderware Historian using Integrated security .

11. Visualize the trend for the following tags:

� Agitator_001.Speed

� Inlet1.PV

� LIT_001.PV

See the next page for Detailed Lab Instructions

Wonderware Training

Page 345: Manual Wsp 3 Part 1-Rev a Gold

Lab 16 – Configuring History 5-31

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Configure the WinPlatform Object

1. Double-click the ABGRPlatform instance to open its configuration editor.

2. Configure the object as follows:

History storeforward directory: C:\S&F

3. Click the Save and Close button and check in the object.

Configure the AppEngine Object for History

4. Double-click the ABAppEngine instance to open its configuration editor.

5. Configure the History section as follows:

Enable storage to historian: checked

Historian: [Name of the local computer]

Leave the default values for the rest of the attributes.

6. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 346: Manual Wsp 3 Part 1-Rev a Gold

5-32 Module 5 – Alarms and History

Configure the $ ABMixer.LIT Template for History

7. Double-click the $ABMixer.LIT template to open its configuration editor.

8. Select the History tab and check the PV box to historize the PV attribute. Leave the default values and lock all attributes by clicking the lock on Historize .

9. Click the Save and Close button and check in the object.

Configure the $ ABMixer.Inlet1 Template for History

10. Double-click the $ABMixer.Inlet1 template to open its configuration editor.

11. On the General tab, PV section, configure the object as follows:

Historize PV: checked (locked)

Force storage period: 0 (locked)

12. Click the Save and Close button and check in the object.

Wonderware Training

Page 347: Manual Wsp 3 Part 1-Rev a Gold

Lab 16 – Configuring History 5-33

Configure the History extension

13. Double-click the $ABMixer.Agitator template to open its configuration editor.

Select the Extensions tab.

14. Select the Speed attribute, check and lock the History extension and configure it as follows:

Engineering units: RPM

Leave the default values for the rest of the attributes.

15. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 348: Manual Wsp 3 Part 1-Rev a Gold

5-34 Module 5 – Alarms and History

View the History Data with ActiveFactory Trend

16. Deploy the ABGRPlatform object on cascade.

17. Launch ActiveFactory Trend by selecting Start / All Programs / Wonderware / ActiveFactory / Trend .

18. Configure the Server List Configuration as follows and click the Add button:

Server: LOCALHOST

Authentication information:

Use Integrated security: checked

Wonderware Training

Page 349: Manual Wsp 3 Part 1-Rev a Gold

Lab 16 – Configuring History 5-35

19. After the server has being added to the Server list click the Close button.

20. With LOCALHOST selected on the Servers pane (top-left pane), you will see the attribute references configured for historization in the Tags pane (bottom-left pane).

Wonderware System Platform 3.0 Course - Part 1

Page 350: Manual Wsp 3 Part 1-Rev a Gold

5-36 Module 5 – Alarms and History

21. On the Tags pane (Bottom-left pane) double-click the following tags to add them to the trend:

� Agitator_001.Speed

� Inlet1_001.PV

� LIT_001.PV

22. Click on the Live Mode icon to configure the Trend to update automatically.

Wonderware Training

Page 351: Manual Wsp 3 Part 1-Rev a Gold

Module 6

Security

Section 1 – Security Overview 6-3

Lab 17 – Security 6-13

Page 352: Manual Wsp 3 Part 1-Rev a Gold

6-2 Module 6 – Security

Module Objective

Configure, deploy, and test security with Application Server.

Wonderware Training

Page 353: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Security Overview 6-3

Section 1 – Security Overview

Section Objective

Introduce Security with Wonderware Application Server.

This section provides an understanding of Security as it relates to Application Server.

ArchestrA™ security is designed to prevent users from performing unauthorized activities. This includes users of:

� The ArchestrA IDE when configuring and deploying objects.

� The System Management Console (SMC) when performing maintenance and system administration functions.

� View (or other GUI client applications) when performing runtime operations including monitoring, control and data entry functions.

� Other future ArchestrA utilities.

The system is not designed to stop malicious access to the system. The security system is designed to support the normal operating parameters of an automation system. Passwords are encrypted but they are stored in a database that is accessible. So, the system is not designed to stop determined programmers from accessing the system.

If your application requires a higher level of security, this can be achieved by typical IT departments using tools provided by Microsoft®. To facilitate a higher level of security, the security model can be configured to support operating system authentication. In that case, the configuration and runtime permissions can be mapped to the external operating system account. Some options include password timeout and electronic signature authentication.

The ArchestrA Security Model

See the image below for a visual hierarchical overview of the ArchestrA security model. This shows the relationships of the objects in the Security Model to each other and to the rest of the ArchestrA System.

Wonderware System Platform 3.0 Course - Part 1

Page 354: Manual Wsp 3 Part 1-Rev a Gold

6-4 Module 6 – Security

Each attribute of an AutomationObject is given a security classification. This provides the ability to define who can write to attributes of an object.

For example, a certain attribute of the DiscreteDevice may be set by the operator to change its status while a different attribute may be set by a technician. These attributes are meant for different people, Operator (operate) and Technician (tuning). Configuring access to all users for all AutomationObjects on individual bases would be a time-consuming and repetitive effort. Thus, configured Roles and Security Groups can be applied to Users to enable easier configuration of the Security Model.

Security Groups are simply the grouping of objects that you want to behave in the same way with respect to security. Every AutomationObject belongs to exactly one Security Group. By default all new objects belong to the Default Security Group, which cannot be removed. Roles generalize Users function, such as Intake Operator or Dispatcher. Roles are granted permissions onto a number of Security Groups. If, for instance, a Role is granted Tuning access to a Security Group, then that role has write permissions to all object attributes with a security classification of Tuning (but none other). Roles are also granted utility functions-based permissions, such as Deploy or Can Edit.

For example, a Role of Software Engineer is created. This Role has full permissions to modify the objects in the ArchestrA IDE, and has permissions to deploy as well. To undeploy an object, though, the system requires that the object is offscan. Control of offscan/onscan is controlled by Operation permissions -- not granted to the Software Engineer, so he cannot undeploy any objects in Onscan mode. Only an operator (with Operation permissions) can do so.

Permissions are required to perform most ArchestrA activities. Usually only one permission is required to perform a given activity, but occasionally, two or more permissions may be required for operation-critical actions.

Wonderware Training

Page 355: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Security Overview 6-5

The final aspect of the Security Model is the User. This describes the access to the system allowed by a User. The User can be granted as many Roles as needed to perform their job.

ArchestrA’s security system is configured in the Edit Security dialog box by:

1. Enabling Security

2. Defining your Security Model

3. Mapping Users to the Security Model

4. Mapping AutomationObjects to the Security Model

If the Security is not enabled then Authentication mode is disabled.

Authentication Mode

Wonderware System Platform 3.0 Course - Part 1

Page 356: Manual Wsp 3 Part 1-Rev a Gold

6-6 Module 6 – Security

On the Authentication Mode page, choose the mode of Galaxy security:

� None: The default setting for new Galaxies, this mode is considered Open Security. It leaves all functions open to all users. No authentication is provided for any operations in the ArchestrA configuration or runtime environment. No login dialog boxes are displayed for operating Application Server utilities or runtime processes.

� Galaxy: This mode uses local galaxy configuration to authenticate the user. Use this setting to create a user security system controlled by the Galaxy database.

� OS User Based: This mode enables the Authorization of individual OS users. Use this setting to take advantage of the operating system's (NT) user authentication system, on an individual user basis.

� OS Group Based: This mode enables the Authorization for users based on which OS Groups they have been assigned to. Use this setting to take advantage of the operating system's user authentication system, on a group basis. When you select OS Group Based Authentication mode, the following Configurable Intervals options are displayed:

� Login Time: This value (in milliseconds) is the timeout period during which the system validates the user's membership against the OS groups selected as ArchestrA Roles. After this timeout period, the login operation defaults to the local cache. The result of a successful login for a value other than 0 (zero) is that local cache is stored/ updated. If the login operation times out and the user has performed a previous ArchestrA login on the computer, local cache is used; if the user has never performed an ArchestrA login on the computer, the ArchestrA login fails. Minimum allowed value is 0 (zero); maximum is 9,999,999. Default value is 0 (zero), which switches off this feature (the operation does not time out). The Login Time option should be used primarily for intermittent or slow network scenarios. The value you should use in this option is determined by the speed of your network and by the number of groups configured in ArchestrA. In other words, the slower the network or the higher the number of groups, the greater the value should be for Login Time .

� Role Update: This value (in milliseconds) is the time between each validation attempt per OS group for the user's membership when a login is attempted. The user membership update is done one role per Role Update interval to minimize network usage. Minimum allowed value is 0 (zero); maximum is 9,999,999. Default value is 0 (zero), which switches off this feature (the operation does not pause between validating user membership and groups). This option should be used primarily for intermittent or slow network scenarios. This option operates independently of the Login Time option. In other words, even if Login Time times out, the role update operation continues in the background and eventually updates user-to-role relationships for this user in the local cache.

Note: When you select Authentication Modes, note the messages relevant to your ArchestrA installation that are displayed in the Note box.

Wonderware Training

Page 357: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Security Overview 6-7

Authentication Mode selections provide the following general results:

� Open security gives all users the Defaultuser credentials. No login dialog boxes are presented to users during configuration, administration or runtime operations. Login dialog boxes are presented for all other Authentication Modes.

� If you have previously configured security under one Authentication Mode and then you switch authentication modes, only those users created while configuring the new mode are enabled. Other users are not deleted, just disabled in the new mode.

� When you close the Configure Security dialog box after selecting any Authentication Mode other than None , you must login. This action ensures that the new security model can be enforced. If you select Cancel on the login dialog box, the ArchestrA IDE closes.

� When you switch to None from another Authentication Mode and click OK, the ArchestrA IDE is shut down.

� When Galaxy authentication is selected, each user must provide a user name and password in a login dialog box. The security system authenticates the user's credentials against Galaxy user data. Access to all operations in the ArchestrA IDE and anywhere in the ArchestrA environment are granted based on the logged in user's associated roles and permissions. The ArchestrA IDE customizes the user interface to the user's previous preferences (for instance, which Application Views are shown). The logged in user's name is shown in the status bar of the ArchestrA IDE.

� When OS User Based authentication is selected, each user must provide a domain, user name and password in a login dialog box. The security system ensures that the OS user is authorized to use the ArchestrA IDE.

� When OS Group Based authentication is selected, each user must provide a domain, user name and password in a login dialog box. The security system first ensures that the user is authorized to use the ArchestrA IDE. Then the system authorizes the user's credentials against operating system groups mapped to security roles in the Galaxy.

Note: In both OS-based authentication modes, a user is not presented with a log in dialog box if that user has authorization to use that ArchestrA utility.

� A user can have multiple accounts within the security system. For instance, a user may

have an account that provides permissions for working with instances but not templates. The same person may have another supervisory account for working with templates and managing users in the ArchestrA environment. To switch between levels of authority, the person must login as the new user. To do this, click Change User on the Galaxy menu.

If the Security is not enabled then Authentication mode is disabled.

Wonderware System Platform 3.0 Course - Part 1

Page 358: Manual Wsp 3 Part 1-Rev a Gold

6-8 Module 6 – Security

OS Group Based Security

If you use OS Group Based Authentication Mode, you should first familiarize yourself indepth with the functions of the Windows operating system, particularly its user permissions, groups and security features. ArchestrA OS Group Based security leverages those Windows features.

Take note of the following behaviors that are unique to OS Group Based Authentication Mode:

� A newly-added user working on a computer that has no access to the Galaxy node cannot write to an attribute on a remote node if that user has never logged on to the remote node.

This is true even if the user has been given sufficient runtime operational permissions to do writes. To enable remote writing capabilities, log on to the remote node at least once.

� If you log in to ArchestrA on a workstation that belongs to Domain A and Domain Controller A fails, locally cached login data is used on subsequent logins. When the domain controller returns to operation, your login will fail during the time period that trusts are being reestablished by the controller. If during the controller outage, your username/ password data was changed, you may be able to use the old login data if you intend to work locally. If you want to perform remote operations, you should attempt to log in with

Wonderware Training

Page 359: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Security Overview 6-9

the new login data. If that fails, the trusts are being reestablished by the controller, and you should retry at a later time.

� If you attempt to log in to ArchestrA on a workstation running Windows 2000, login will fail until you properly set the TCB privilege in Local Security Policies. Do this as follows: On a Windows 2000 Server computer - on the Start menu, point to Programs and then Administrative Tools , and then click Local Security Policies (On a Windows 2000 Professional computer - on the Start menu, point to Settings and then click Control Panel . In the Control Panel , double-click Administrative Tools . In the Administrative Tools utility, double-click Local Security Settings .). In the left pane of the Local Security Settings dialog box, expand the Local Policies folder and click the User Rights Assignment folder. In the right pane, double-click Act as a part of operating system . In the Local Security Policy Setting dialog box, add the user (the user logged in to the computer) by selecting the Local Policy Setting check box, and then click OK. Log off and log in to the computer again to implement the new TCB privilege. You must be an administrator to set TCB privilege.

� The list of domains and user groups appears differently in the group browser depending on whether you have configured your domain as a Mixed or Native domain. Your unique

appearance should map to the list of domains and user groups you see when you use the Windows tool for managing your domain. A domain group that is configured as "Distribution" rather than "Security" cannot be used for security purposes.

� The user's full name is not available to any client (for instance, an InTouch window) if the domain controller is disconnected from the network when the user logs in to ArchestrA for the first time. If the user previously logged in to ArchestrA when the domain controller was connected, the user's full name will still be available to the client from data stored in cache even if the domain controller is disconnected when the user subsequently logs in to ArchestrA.

User Authentication

Client utilities like ArchestrA IDE, SMC, and View require their users to be authenticated so that the appropriate permissions can be confirmed. An authenticated user is granted the sum of all Permissions within their assumed Roles.

Supported Operating System User Configurations

The following is the list of supported Operating System (OS) user configurations that are supported within the security system:

� Login using an OS user who has been authorized and whose password has expired. The user will get the message “Login Failure: The specified account password has expired.” The user will then be able to change the password.

� If the OS user is a new user and the account has been configured to require the password to be changed on the first logon, on attempting the login they will receive the message “ Login Failure: The password for the specified account must be change before first logon.”

Supported Operating System Security Configurations

The following list of OS security configurations will be supported:

� Machines and users participating in a domain.

� Users being drawn from multiple domains.

Wonderware System Platform 3.0 Course - Part 1

Page 360: Manual Wsp 3 Part 1-Rev a Gold

6-10 Module 6 – Security

� Machines and users defined within a Workgroup. Note the users/groups have been defined on each machine and imported into the Galaxy Repository (GR) and defined as Local Host .

Minimal Operating System Permissions Required for L aunching OS User

The OS user account must not be required to have any special privileges to enable it to utilize the client utilities. Specifically it must not require the user to be an Administrator on the host machine. The user will be able to change their own OS password from within the ArchestrA utility.

Logon Dialog

If security is enabled within the Galaxy, a client utility Logon dialog will be displayed. Application Server provides a standard login dialog.

The login appears:

� The user explicitly chooses a Log On option from within the UI. It is not necessary to explicitly Log Off before logging on using a different User Profile. The previous user will be implicitly logged off.

Username and Password are entered onto this dialog.

If OS Authorization is being used then the user will also be required to select from a list of accessible domain name for the user being logged in.

Logon Object

A Logon COM object is provided for use by any OS client utilities that need to log on to Application Server. This COM object either provides a Log-on Dialog or is driven silently by an automation interface. OS authentication and log on dialogs may be leveraged.

Wonderware Training

Page 361: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Security Overview 6-11

InTouch Access Level within Roles

The role will contain an additional Access Level that is required for legacy InTouch applications. This will be utilized by InTouch to manage its internal access. When InTouch asks for its Access Level, then the greatest Access Level for the roles assigned to the logged in user will be returned.

Attribute Security Classifications

Operators interact with AutomationObjects by accessing their Attributes. For example, a Valve is opened by setting its object’s Command Attribute to OPEN.

Attribute SecurityClassifications classify Attributes of AutomationObjects (like the above Command attribute) from a security perspective. They are:

� FreeAccess – Any User can write to these attributes to perform safety or time critical tasks that could be hampered by an untimely logon request (e.g. halting a failing process). This does not require the user to have any privileges.

� Operate – Operators write to these attributes during normal day-to-day operations. These include Attributes such as Setpoint, Output and Control Mode for a PID Object, Command for a Discrete Device Object, etc. This requires the user to be assigned to the Security Group of this AutomationObject, to allow the write.

� Secured Write – Operators write to these attributes for normal interaction with a highly secured object forces re-authentication. This requires the user to be assigned to the Security Group of this AutomationObject, to allow the write. The AutomationObject will reject the write requested via the return status and the user must re-enter the login details.

� Verified Write – Operators write to these attributes for normal interaction with a very highly secured object. This is similar to Secured Write, however it also requires a second user authentication. The second user must also be assigned to the Security Group of this AutomationObject, to allow the write.

� Tune – Writing to these attributes is considered a tuning activity. Examples are attributes that adjust alarm setpoints, PID sensitivity, etc. This requires the user to be assigned to the Security Group of this AutomationObject, to allow the write.

� Configure – Writing to these attributes is considered a significant configuration change. For example, a PLC register that defines a Discrete Device input. This requires the user to be assigned to the Security Group of this AutomationObject, to allow the write. It also requires that the Object is currently OffScan.

� View-Only – The attributes are never written to at runtime, regardless of the user's permissions.

There are two other situations where an Attribute's Security Classifications are specified:

� When a User-Defined Attribute is configured.

� When an Engineer overrides the Attribute Security Classification within a Template editor.

Note: Overriding Security Classifications is not permitted within Instances.

Security Across Multiple Galaxies

The ability for user profiles to span multiple galaxies will be supported in future versions.

Wonderware System Platform 3.0 Course - Part 1

Page 362: Manual Wsp 3 Part 1-Rev a Gold

6-12 Module 6 – Security

– Intentionally left blank –

Wonderware Training

Page 363: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-13

Lab 17 – Security

Introduction

As you work with the security settings within the ArchestrA IDE you set up various Roles and Users and configure them with different sets of permissions. You then observe the different behaviors in the Object Viewer as you logon as various users.

In this lab you configure the security settings for your galaxy and test it with a sample automation object that has been partially pre-configured for you.

Note: Importing objects will be discussed in detail, including the options in this dialog box, in the following module.

Objectives

Upon completion of this lab you should be able to:

� Configure the security classifications for individual attributes within automation objects

� Configure the security settings for a galaxy

� Record and view the security audit trail for a galaxy

Note: Remember to ALWAYS preface the object name with your FIRST and LAST initial.(e.g., if the user is Ann Brown, Valve would be ABValve) This will eliminate problems when deploying your objects in a common galaxy later in the course.

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.

Import the SecurityTest Object

1. Import the object in the $SecurityTest.aaPKG file located in the C:\Wonderware Training folder.

2. Rename the object $ABSecurityTest and assign it to your toolset.

Wonderware System Platform 3.0 Course - Part 1

Page 364: Manual Wsp 3 Part 1-Rev a Gold

6-14 Module 6 – Security

Configure the SecurityTest Object

3. Configure the Security Classifications for each UDA in the object as follows:

Att1_FreeAccess: Free Access

Att2_Operate: Operate

Att3_SecuredWrite: Secured Write

Att4_VerifiedWrite: Verified Write

Att5_Tune: Tune

Att6_Configure: Configure

Att7_ReadOnly: Read Only

Create and Deploy an Instance of SecurityTest

4. Create an instance of $ABSecurityTest named ABSecurityTest_001 and leave the default name.

5. Assign the new instance to the ABDischarge area and deploy it.

Configure Security for the Galaxy

6. Configure the galaxy’s security Authentication Mode to Galaxy .

7. Add a security group named TestGroup and assign the ABSecurityTest_001 instance to it.

8. Configure the Default role with the following permissions: On the General permissions section:

IDE Permissions: unchecked

SMC Permissions: unchecked

Can Write to GObject Attribute using ObjectViewer: checked

On the Operational permissions section:

Default: checked

TestGroup: unchecked

Wonderware Training

Page 365: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-15

9. Add a new role named Operators with an access level of 500 and with the following permissions:

No General permissions

No Operational permissions for the Default security group

Configure the Operational permissions section for the TestGroup security group as follows:

Can acknowledge Alarms: checked

Can modify “Configure” attributes: unchecked

Can modify “Operate” attributes: checked

Can modify “Tune” attributes: unchecked

10. Add a new role named Supervisors with an access level of 1000 and with the following permissions:

No General permissions .

No Operational permissions for the Default security group.

Configure the Operational permissions section for the TestGroup security group as follows:

Can acknowledge Alarms: unchecked

Can modify “Configure” attributes: unchecked

Can modify “Operate” attributes: unchecked

Can modify “Tune” attributes: checked

11. Add a new role named Engineers with an access level of 2000 and with the following permissions:

Configure the General permissions as follows:

IDE Permissions: checked (this will check every box within the node)

Framework Configuration: unchecked

SMC Permissions: checked (this will check every box within the node)

Configure the Operational permissions for the TestGroup security group as follows:

Can acknowledge Alarms: unchecked

Can modify “Configure” attributes: checked

Can modify “Operate” attributes: unchecked

Can modify “Tune” attributes: unchecked

Wonderware System Platform 3.0 Course - Part 1

Page 366: Manual Wsp 3 Part 1-Rev a Gold

6-16 Module 6 – Security

12. Configure the Administrator role with all Operational permissions .

13. Add a new user named HOper with a full name of Homer Operator and make it part of the Operators role. Assign ww as the password.

14. Add a new user named JSup with a full name of Joe Supervisor and make it part of the Operators and Supervisors role. Assign ww as the password.

15. Add a new user named WEng with a full name of William Engineer and make it part of the Engineers role. Assign ww as the password.

Test General Permissions

16. Verify that the WEng user cannot modify the security configuration through the ArchestrA IDE.

Test Operational Permissions

17. Login as Administrator and deploy the ABSecurityTest_001 object.

18. Using the watch list created in Lab 5, add a new watch window called Security and add the following attribute references:

� ABSecurityTest_001.Att1_FreeAccess

� ABSecurityTest_001.Att2_Operate

� ABSecurityTest_001.Att3_SecuredWrite

� ABSecurityTest_001.Att4_VerifiedWrite

� ABSecurityTest_001.Att5_Tune

� ABSecurityTest_001.Att6_Configure

� ABSecurityTest_001.Att7_ReadOnly

� ABSecurityTest_001.ScanState

� ABSecurityTest_001.ScanStateCmd

19. Save the watch list.

20. Test the different security classifications and the security permissions by modifying the value of the attributes under the different user accounts created before.

Wonderware Training

Page 367: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-17

View the Security Audit Trail

21. Use SQL Server Management Studio to query all data from the v_EventHistory view.

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 368: Manual Wsp 3 Part 1-Rev a Gold

6-18 Module 6 – Security

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Import the SecurityTest Object

1. From the Galaxy menu, select Import / Object(s) to import an automation object.

2. On the Import Automation Object(s) dialog box, navigate to C:\Wonderware Training and select the $SecurityTest.aaPKG file. Click the Open button.

Wonderware Training

Page 369: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-19

3. On the Import Preferences dialog box, leave the default options and click OK to continue.

Note: Importing objects will be discussed in detail, including the options in this dialog box, in the following module.

You can find the imported object in the Application toolset.

Wonderware System Platform 3.0 Course - Part 1

Page 370: Manual Wsp 3 Part 1-Rev a Gold

6-20 Module 6 – Security

4. Rename the object $ABSecurityTest and move it your toolset.

Configure the SecurityTest object

5. Double-click the $ABSecurityTest template to open its configuration editor.

Select the UDAs tab.

Wonderware Training

Page 371: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-21

6. Select the Att1_FreeAccess UDA and click the Shield icon to select the security classification for the attribute. Select the Free Access security classification from the popup menu.

7. Repeat step 6 to configure the security classifications for the following attributes:

Att2_Operate: Operate

Att3_SecuredWrite: Secured Write

Att4_VerifiedWrite: Verified Write

Att5_Tune: Tune

Att6_Configure: Configure

Att7_ReadOnly: Read Only

8. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 372: Manual Wsp 3 Part 1-Rev a Gold

6-22 Module 6 – Security

Create and deploy an instance of SecurityTest

9. Using the Template Toolbox and the Model view, create an instance of the $ABSecurityTest template. Leave the default name and assign the instance to the ABDischarge area.

10. Deploy the newly created instance.

Configure Security for the Galaxy

11. From the Galaxy menu, select Configure / Security to enable and configure security for the galaxy.

Wonderware Training

Page 373: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-23

12. Select Galaxy for the Authentication Mode .

Wonderware System Platform 3.0 Course - Part 1

Page 374: Manual Wsp 3 Part 1-Rev a Gold

6-24 Module 6 – Security

13. Select the Security Groups tab.

Wonderware Training

Page 375: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-25

14. Click the plus icon button to add a new security group. Name the new security group TestGroup .

15. Select the Default security group and locate the ABSecurityTest_001 instance in the objects list (right pane).

Wonderware System Platform 3.0 Course - Part 1

Page 376: Manual Wsp 3 Part 1-Rev a Gold

6-26 Module 6 – Security

16. Drag-and-drop the ABSecurityTest_001 instance to the TestGroup in the security group list (left pane).

Select the TestGroup security group.

Important! Make sure that you are moving the object’s instance and NOT the object’s template.

Wonderware Training

Page 377: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-27

17. Select the Roles tab.

Wonderware System Platform 3.0 Course - Part 1

Page 378: Manual Wsp 3 Part 1-Rev a Gold

6-28 Module 6 – Security

18. From the Roles available list, select the Default role and configure the permissions as follows:

On the General permissions section:

IDE Permissions: unchecked (this will uncheck all boxes within the node)

SMC Permissions: unchecked (this will uncheck all boxes within the node)

Can Write to GObject Attribute using ObjectViewer: checked

On the Operational permissions section:

Default: checked

TestGroup: unchecked

Wonderware Training

Page 379: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-29

19. Click the plus icon button to add a new role and name it Operators .

Double-click on the Access level field and enter 500.

Configure the Operational permissions for the TestGroup security group as follows:

Can acknowledge Alarms: checked

Can modify “Configure” attributes: unchecked

Can modify “Operate” attributes: checked

Can modify “Tune” attributes: unchecked

Wonderware System Platform 3.0 Course - Part 1

Page 380: Manual Wsp 3 Part 1-Rev a Gold

6-30 Module 6 – Security

20. Click the plus icon button to add a new role and name it Supervisors .

Double-click on the Access level field and enter 1000.

Configure the Operational permissions for the TestGroup security group as follows:

Can acknowledge Alarms: unchecked

Can modify “Configure” attributes: unchecked

Can modify “Operate” attributes: unchecked

Can modify “Tune” attributes: checked

Wonderware Training

Page 381: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-31

21. Click the plus icon button to add a new role and name it Engineers .

Double-click on the Access level field and enter 2000.

Configure the General permissions as follows:

IDE Permissions: checked (this will check every box within the node)

Framework Configuration: unchecked

SMC Permissions: checked (this will check every box within the node)

Configure the Operational permissions for the TestGroup security group as follows:

Can acknowledge Alarms: unchecked

Can modify “Configure” attributes: checked

Can modify “Operate” attributes: unchecked

Can modify “Tune” attributes: unchecked

Wonderware System Platform 3.0 Course - Part 1

Page 382: Manual Wsp 3 Part 1-Rev a Gold

6-32 Module 6 – Security

22. Select the Administrator role and configure the Operational permissions for the TestGroup security group as follows:

TestGroup: checked (this will check every box within the group)

Wonderware Training

Page 383: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-33

23. Select the Users tab.

Wonderware System Platform 3.0 Course - Part 1

Page 384: Manual Wsp 3 Part 1-Rev a Gold

6-34 Module 6 – Security

24. Click the plus icon button to add a new user and name it HOper.

Double-click on the Full name field and enter Homer Operator .

Assign the user to the Operators role.

Wonderware Training

Page 385: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-35

25. With HOper selected, click on the Change Password button, enter the following information in the Change Password dialog box, and then click the OK button to continue.

Old Password: [blank]

New Password: ww

Confirm New Password: ww

26. Click the plus icon button to add a new user and name it JSup .

Double-click on the Full name field and enter Joe Supervisor .

Assign the user to the Operators and Supervisors roles.

Wonderware System Platform 3.0 Course - Part 1

Page 386: Manual Wsp 3 Part 1-Rev a Gold

6-36 Module 6 – Security

27. With JSup selected, click on the Change Password button, enter the following information in the Change Password dialog box, and then click the OK button to continue.

Old Password: [blank]

New Password: ww

Confirm New Password: ww

28. Click the plus icon button to add a new user and name it WEng .

Double-click on the Full name field and enter Will Engineer .

Assign the user to the Engineers role.

Wonderware Training

Page 387: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-37

29. With WEng selected, click on the Change Password button, enter the following information in the Change Password dialog box, and then click the OK button to continue.

Old Password: [blank]

New Password: ww

Confirm New Password: ww

30. Back on the Configure Security dialog box, click OK to accept the security configuration.

31. On the Change User dialog box, enter the following information and then click the OK button to log in:

User name: WEng

Password: ww

Test General permissions

32. Logged in as WEng , from the Galaxy menu, select Configure / Security .

You will be presented with the following dialog box since WEng does not have permissions to modify security configuration.

Click No to dismiss the dialog box.

Wonderware System Platform 3.0 Course - Part 1

Page 388: Manual Wsp 3 Part 1-Rev a Gold

6-38 Module 6 – Security

33. From the Galaxy menu, select Change User to log in as the Administrator.

34. Enter Administrator for the User name and click the OK button to log in as the Administrator.

Note: By default the Administrator account DOES NOT have a password assigned.

Wonderware Training

Page 389: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-39

Test Operational permissions

35. Deploy the ABSecurityTest_001 object.

36. Open Object Viewer by right-clicking the ABSecurityTest_001 instance and selecting View in Object Viewer . If you closed Object Viewer before, you can use File / Load Watch List to open the file you saved earlier.

37. Right-click in the Watch List (bottom section of Object Viewer ) and select Add Watch Window to add a new tab to the watch list.

38. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab… to rename the watch list to Security .

39. Add the following ABSecurityTest_001 attributes to the watch list:

Att1_FreeAccess

Att2_Operate

Att3_SecuredWrite

Att4_VerifiedWrite

Att5_Tune

Att6_Configure

Att7_ReadOnly

ScanState

ScanStateCmd

40. Save the watch list.

Wonderware System Platform 3.0 Course - Part 1

Page 390: Manual Wsp 3 Part 1-Rev a Gold

6-40 Module 6 – Security

41. Test the different security classifications and the security permissions by modifying the value of the attributes under the different user accounts created before.

To log in to Object Viewer with a different user account, select Change User from the Options menu.

42. Enter the user’s credentials in the Change User dialog box and then click the OK button.

You can verify the current logged in user on the left side of the status bar.

Wonderware Training

Page 391: Manual Wsp 3 Part 1-Rev a Gold

Lab 17 – Security 6-41

View the Security Audit Trail

Note: Make sure that the Alarm DB Logger Manager utility is started.

Tip: You can refer to Lab 15 – Configuring Alarms to see how to run and start the Alarm DB Logger Manager utility.

43. Launch the SQL Server Management Studio by selecting Start / All Programs / Microsoft SQL Server 2005 / SQL Server Management Studio .

44. Configure the Connect to Server dialog box as follows and then click the Connect button to continue:

Server type: Database Engine

Server name: localhost

Authentication: Windows Authentication

Wonderware System Platform 3.0 Course - Part 1

Page 392: Manual Wsp 3 Part 1-Rev a Gold

6-42 Module 6 – Security

45. In the Object Explorer (left pane) navigate to localhost / Databases / WWALMDB / Views to get a list of all the database’s Views in the Object Explorer Details (right pane).

46. On the Views list (right pane), right-click on the v_EventHistory view and select Open View to display the current list of alarms logged in the database.

Wonderware Training

Page 393: Manual Wsp 3 Part 1-Rev a Gold

Module 7

Galaxy Maintenance

Section 1 – Exporting and Importing Objects 7-3

Section 2 – Configuring Instances Through a .CSV File 7-13

Section 3 – System Management Console (SMC) 7-21

Section 4 – Network Account Utility 7-33

Page 394: Manual Wsp 3 Part 1-Rev a Gold

7-2 Module 7 – Galaxy Maintenance

Module Objectives

Obtain an overview and understanding of:

� Exporting and Importing Objects

� Configuring Instances Through a .csv File Using Galaxy Dump and Load

� Using the System Management Console to manage platforms

� Using the Network Account Utility

Wonderware Training

Page 395: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Exporting and Importing Objects 7-3

Section 1 – Exporting and Importing Objects

Section Objective

� This section discusses some fundamental functions dealing with Galaxy Maintenance. Specifically, it illustrates how to Export for future use and how to Import a galaxy created previously.

This section provides an understanding of fundamental functions dealing with Galaxy Maintenance. Specifically, it illustrates how to Export for future use and how to Import a galaxy created previously.

Exporting Automation Objects

Use the ArchestrA IDE’s export function to share objects with other users or to recreate them in other Galaxies. The resulting file (.aaPKG extension) contains the selected objects, their associated templates and the configuration state of those objects. The export file can later be imported into the same or another Galaxy.

Subsequent exports retain the default folder as last used for the duration of the ArchestrA IDE session. If the designated file already exists, you are prompted to confirm overwrite.

If any of the selected objects are currently checked out, only the checked in versions are exported. Exporting an entire Galaxy is similar to using the Galaxy Database Manager utility to back up the database. However the change logs for the objects are not exported while they are saved during backup. Also, the backup process retains security model settings for objects while exporting them does not.

When exporting an object instance, it will also include the parents of that object all the way back to and including the base template.

Note: When exporting an object that uses a script function, the script function is not transferred with it. You must ensure that the script function libraries are transferred separately.

Wonderware System Platform 3.0 Course - Part 1

Page 396: Manual Wsp 3 Part 1-Rev a Gold

7-4 Module 7 – Galaxy Maintenance

To export an object

1. Select an object in the Template Toolbox or Application Views pane.

2. From the Galaxy menu, select Export/AutomationObject(s) .

Note: You can export more than one object with this function by first multi-selecting objects (Shift+Click or Ctrl +Click ). If you want to export all of the objects in the Galaxy, point to Export and then click All AutomationObjects .

Wonderware Training

Page 397: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Exporting and Importing Objects 7-5

3. The Export Automation Object(s) dialog box appears.

In the Export Automation Object(s) dialog box, browse to the path and filename (.aaPKG extension) of the export file and click Save. Click Cancel to terminate the export function. If you click Save, a progress box is displayed.

Wonderware System Platform 3.0 Course - Part 1

Page 398: Manual Wsp 3 Part 1-Rev a Gold

7-6 Module 7 – Galaxy Maintenance

4. When the export process is finished, click Close . The resulting .aaPKG file can be used to import the chosen objects into another existing Galaxy.

Note: Export maintains containment relationships that were previously specified. Also, if an object is currently checked out, the last checked in version of the object's configuration is exported.

Exporting All Automation Objects

The Exporting All Automation Objects function is much like the Exporting Automation Objects procedure. The key difference being that with the Export Automation Objects function only the objects that are selected are exported into a .aaPKG file. With the Export All Automation Objects function all of the objects and any derived templates are also exported.

The procedure is as follows:

Use the ArchestrA IDE’s export function to share objects with other users or to recreate them in other Galaxies. The resulting file (.aaPKG extension) contains the selected objects, their associated templates and the configuration state of those objects. The export file can later be imported into the same or another Galaxy.

Subsequent exports retain the default folder as last used for the duration of the ArchestrA IDE session. If the designated file already exists, you are prompted to confirm overwrite.

If any of the selected objects are currently checked out, only the checked in versions are exported.

Exporting an entire Galaxy is similar to using the Galaxy Database Manager utility to back up the database. However the change logs for the objects are not exported while they are saved during backup. Also, the backup process retains security model settings for objects while exporting them does not.

Note: When exporting an object that uses a script function, the script function is not transferred with it. You must ensure that the script function libraries are transferred separately.

Wonderware Training

Page 399: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Exporting and Importing Objects 7-7

To export all automation objects

1. From the Galaxy menu, select Export/All Object(s) .

Wonderware System Platform 3.0 Course - Part 1

Page 400: Manual Wsp 3 Part 1-Rev a Gold

7-8 Module 7 – Galaxy Maintenance

2. The Export All Automation Objects dialog box appears.

In the Export AutomationObject(s) dialog box, browse to the path and filename (.aaPKG extension) of the export file and click Save. Click Cancel to terminate the export function. If you click Save, a progress box is displayed.

Wonderware Training

Page 401: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Exporting and Importing Objects 7-9

3. When the export process is finished, click Close . The resulting .aaPKG file can be used to import the objects into another existing Galaxy .

One key factor to mention is that the security model settings for objects does NOT get exported when using the Export function. In order to export those you would have to use the Backup process in the Galaxy Database Manager in the System Management Console (SMC) discussed in the next Section of this manual.

Importing Automation Objects

Objects can be reused from another Galaxy in your Galaxy. This saves time if the objects are already set up in another Galaxy.

Importing instances previously exported from a Galaxy retains previous associations, when possible, such as assignment, containment, derivation, and area.

Objects can be imported from exported .aaPKG files or from an .aaPDF file. An .aaPDF file contains the configuration data and implementation code for one or more base templates. It is created by a developer using the ArchestrA Object Toolkit.

Before starting, you cannot have two objects with the same name or more than one copy of the same version of an object in the same Galaxy. When you import an object, these conflicts are identified and you can manage them.

Wonderware System Platform 3.0 Course - Part 1

Page 402: Manual Wsp 3 Part 1-Rev a Gold

7-10 Module 7 – Galaxy Maintenance

To import Automation objects

1. On the Galaxy menu, select Import/Object(s) .

Wonderware Training

Page 403: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Exporting and Importing Objects 7-11

2. The Import AutomationObject(s) dialog box appears.

Browse for the file with either a .aaPKG or a .aaPDF extension. You can select more than one file. Click Open .

Wonderware System Platform 3.0 Course - Part 1

Page 404: Manual Wsp 3 Part 1-Rev a Gold

7-12 Module 7 – Galaxy Maintenance

3. The Import Preferences dialog box appears.

In the Objects from same toolkit and vendor area, select one of the following:

Skip objects with same conflict or newer codebase leaves the existing object unchanged.

Overwrite objects with name conflicts if their configuration version is higher replaces the existing object with the object being imported if the codebases are the same and the imported object has been edited more often than the existing object.

Migrate objects with a newer codebase also overwrites existing objects if the codebases (versions) are the same. In addition, this option will migrate the state of existing objects to the newly imported version if the object supports it. For more information about migrating, see the Industrial Application Server Installation Guide.

In the Objects from different toolkits and/or vendor but with same tagname area, select one of the following:

Skip does not import the object when a name match exists in the Galaxy.

Rename Object in Galaxy renames the existing object by appending to its current name the string (up to four characters) you type in the Append to Object Name box. The default value is _old but you can change it to any four- character string.

Rename Importing Object renames the object being imported by appending to its current name the string (up to four characters) you type in the Append to Object Name box. The default value is _new, but you can change it to any four-character string.

Note: Object name conflict resolution only applies to templates and instances derived from different base templates.

Click OK to start the import process.

When the import process is complete, you can start using the objects you imported.

Wonderware Training

Page 405: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Configuring Instances Through a .CSV Fi le 7-13

Section 2 – Configuring Instances Through a .CSV File

Section Objective

� This section discusses some fundamental functions dealing with Galaxy Maintenance. Specifically, it illustrates how to Export a galaxy for future use and how to Import a galaxy created previously.

This section provides an understanding of fundamental functions dealing with Galaxy Maintenance. Specifically, it illustrates how to Export for future use and how to Import a galaxy created previously.

Galaxy Dump

Object instances and their configuration data can be exported to a comma-delimited format Galaxy dump file (.csv extension).

Note: This function only dumps instances. Templates cannot be dumped. The .csv file contains the configuration for the checked in versions of the selected objects as well as the checked-out objects of the user who initiates the Galaxy dump. The file contains only those attributes that are unlocked and configuration time-writeable, one column per attribute. Attributes that are locked, calculated or runtime writeable only are not saved to the file. Attributes that are not text based (for example, type QualifiedStruct) are not dumped. Object Help files are not dumped.

To export objects to a Galaxy dump file

1. Select an object in the Application Views pane. You can export more than one instance with this function by first multi-selecting objects (Shift+Click ). Also, you can dump all instances derived from a template by selecting just the template.

Wonderware System Platform 3.0 Course - Part 1

Page 406: Manual Wsp 3 Part 1-Rev a Gold

7-14 Module 7 – Galaxy Maintenance

2. Select Export on the Galaxy menu and then click Galaxy Dump .

The Galaxy Dump dialog box is displayed.

Wonderware Training

Page 407: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Configuring Instances Through a .CSV Fi le 7-15

3. Browse to the name and location of the .csv file to which you want to dump the selected instances. Click Save to continue or Cancel to end the export function. The Galaxy Dump progress box is displayed.

4. After the Galaxy dump process is finished, click Close . A .csv file has been created containing the selected objects and configuration data.

Wonderware System Platform 3.0 Course - Part 1

Page 408: Manual Wsp 3 Part 1-Rev a Gold

7-16 Module 7 – Galaxy Maintenance

The actual .csv file has been created.

Galaxy Dump File (.csv) Structure

Dumped objects are organized in the resulting .csv file based on the template from which each is derived. A header row per template indicates the instance’s columns’ reference. Comments can be added in the resulting .csv file by adding a line preceded by a semi-colon.

Note: Carriage returns in scripts associated with dumped objects are replaced with "\n" in the .csv file. If you edit the dump file, do not delete the "\n" characters. If you edit scripts in the dump file, use "\n" for a carriage return. This character set is interpreted as a carriage return when the dump file is used in a Galaxy Load function. When editing a script in a dump file, use "\\n" if you want to include the character "\" followed by the character "n" in a script. This character set is not converted to a carriage return in a Galaxy Load function.

Wonderware Training

Page 409: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Configuring Instances Through a .CSV Fi le 7-17

Galaxy Load

Object instances and their configuration data in an existing Galaxy can be exported to a comma- delimited format Galaxy dump file (.csv extension). A .csv file can be edited in most text editors and spreadsheet programs. Using editing functions like copy and paste, you can create quantities of already-configured objects ready to be imported into your Galaxy.

Note: The contents of the .csv file is determined by the original Galaxy dump. A load file contains only instances. Templates cannot be dumped and loaded.

Important: The Dump contains only Object Instances. For the Load to succeed, the templates from which those objects were derived must already exist in the Galaxy.

To import a .csv file

1. Select Import on the Galaxy menu and then click Galaxy Load .

The Galaxy Load dialog box is displayed.

Wonderware System Platform 3.0 Course - Part 1

Page 410: Manual Wsp 3 Part 1-Rev a Gold

7-18 Module 7 – Galaxy Maintenance

2. In the Galaxy Load dialog box, browse to locate the .csv file that contains the objects and configuration data you want to import.

Select the file and click Open to continue or Cancel to end the import function.

Wonderware Training

Page 411: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Configuring Instances Through a .CSV Fi le 7-19

The Galaxy Load Conflict Resolution dialog box is displayed. Use it to resolve conflicts that occur if objects you want to load already exist in the Galaxy. The options are:

� Replace entire instance if an instance of an object with the same name already exists and you want to replace it entirely with the object in the import file.

� Only update changed attributes if an instance with the same name already exists and you want to replace only the attributes of the object where the values are different.

� Skip if an instance with the same name already exists and you want to keep the version already in the Galaxy.

� Stop Galaxy Load if an instance with the same name already exists and you want to cancel the Galaxy Load.

3. Choose the preferred conflict resolution and click OK. A progress box is displayed during the Galaxy load process. Click Cancel to terminate the Galaxy load process.

A Galaxy Load dialog box appears indicating that the Load was successful.

All objects that were changed or created during the Galaxy Load process are checked out to the logged in user.

Note: A comment line in a .csv file created in Microsoft® Excel may create an unintended default-value object. To avoid this scenario, open the .csv file in Notepad to ensure the comment line does not contain quote marks.

Wonderware System Platform 3.0 Course - Part 1

Page 412: Manual Wsp 3 Part 1-Rev a Gold

7-20 Module 7 – Galaxy Maintenance

– Intentionally left blank –

Wonderware Training

Page 413: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – System Management Console (SMC) 7-21

Section 3 – System Management Console (SMC)

Section Objectives

� Understand the role of the System Management Console, and;

� Have an understanding of how it can be configured.

This section provides an understanding of role of the System Management Console and how it can be configured.

About System Management Console

The System Management Console (SMC) provides ArchestrA Application Server application diagnostics by allowing you to view the run-time status of some system objects and to perform actions upon those objects. Actions include setting platforms and engines in an executable or idle mode and starting and stopping platforms and engines.

The System Management Console is used to assist system integrators and system administrators in performing administrative tasks and diagnostics on an ArchestrA™ application. It provides application infrastructure diagnostics by allowing the viewing of runtime status of some system objects and the ability to perform actions upon those objects. Actions include setting Platforms and Engines in an executable or idle mode and starting and stopping Platforms and Engines.

This tool is one in a series of administrative tools that can be used for diagnostic purposes on ArchestrA applications. Another tool available for performing diagnostics on applications is the Visual Local Message Exchange (VLMX) Test Tool, which allows viewing and modifying of attributes of AutomationObjects. Because the Platform Manager is a Microsoft Management Console (MMC) Snap-in, its interface is integrated into the MMC environment and it appears as a single interface.

Features of the Platform Manager

Some of the key features of the Platform Manager are that it:

� Runs with minimal ArchestrA and operating system requirements, equivalent to "Safe mode"

� Uses the local platform as the gateway to the ArchestrA application

� Does not rely on the Galaxy Repository to exist

� Allows viewing of the layout of the Galaxy Repository, Platforms, and Engines

� Provides the ability to set Platforms and Engines OnScan or OffScan

� Provides the ability to start and stop Platforms and Engines

Starting Platform Manager

Platform Manager is a common component of an Application Server application and it is available from any PC node in the application that has a deployed platform; therefore, you do not need to install it onto each node. This ensures that all nodes used within a galaxy have access to Platform Manager.

When you use Platform Manager, you can access the platforms and engines deployed to the local PC node and to any other PC node in the Galaxy. Platform Manager does not require the GalaxyRepository to be installed on the PC node.

Wonderware System Platform 3.0 Course - Part 1

Page 414: Manual Wsp 3 Part 1-Rev a Gold

7-22 Module 7 – Galaxy Maintenance

After highlighting a platform, you can use the Action menu to start or stop a platform, or set it OnScan/OffScan. If the platform has security implemented, you must be logged on as a user configured with the proper SMC permissions to start SMC, Start/Stop engines and platforms, or write from the Object Viewer.

To Start Platform Manager

Ensure your Application Server application is running. Start Windows and click Start to start your programs. Select Programs/Wonderware/System Management Console .

If Platform Manager has security enabled, the Platform Manager Login dialog box appears.

From the Platform Manager Login dialog box, enter your User Name and Password . If the configured security is OS User Based, then select the domain from the Domain list box. Click OK.

Wonderware Training

Page 415: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – System Management Console (SMC) 7-23

After successfully logging in, or if no security is enabled for Platform Manager, the Platform Manager appears under the ArchestrA System Management Console (SMC) root node.

Console Tree

The console tree has a Windows Explorer-type hierarchical structure layout, with the ArchestrA System Management Console appearing as the root node and the SMC snap-ins appearing below this node. Like Windows Explorer, the console tree can be expanded or collapsed by clicking on the "+" or the "-" symbols that appear next to the snap-in.

The console tree shows the items that are available in the console. The snap-ins that appear below the ArchestrA SMC node include the Platform Manager , the Log Viewer , the DAServer Manager , and the Galaxy Database Manager .

The contents of the details pane changes as you select items in the console tree.

Details Pane

The details pane is comprised of two main elements:

� Column headings: when Galaxy Database Manager is selected in the console tree, two columns are displayed, Node and Galaxy. The Node column identifies which node a galaxy resides on. The Galaxy column displays the galaxy’s name. Use this information when backing up and restoring galaxies.

� Data window: displays galaxy data.

The contents of the details pane changes as you select items in the console tree.

Wonderware System Platform 3.0 Course - Part 1

Page 416: Manual Wsp 3 Part 1-Rev a Gold

7-24 Module 7 – Galaxy Maintenance

Security

For all ArchestrA administrative utilities, including Platform Manager, security is configured through the ArchestrA IDE. By default, there is no security enabled for Platform Manager or any of the other utilities.

There are four authentication modes for security that can be enabled for Platform Manager:

� No authentication

� Galaxy authentication mode

� OS User Based authentication mode

� OS Group authentication mode

When no security is enabled from the ArchestrA IDE, the user is automatically logged into Platform Manager as "DefaultUser." Without security, the logon dialog box does not display when Platform Manager is launched and the user is granted all permissions.

If the security configured from the ArchestrA IDE requires Galaxy authentication, OS User Based authentication, or OS Group authentication, then some of the existing users and roles are not valid and the user may not be able to perform some operations.

Galaxy Authentication

Galaxy authentication requires the user to log into Platform Manager every time the utility is started.

OS User Based Authentication

OS User Based authentication allows users who have matching OS accounts to log in, while all others are rejected.

OS Group Authentication

In OS Group authentication, the user defines roles that match OS Groups and at log in, the OS Groups are matched with the roles.

Console Menu Commands

Upon opening the System Management Console there are a wide selection of options available from the menu and icon bar:

The following commands are available from the Platform Manager Action menu when you select a platform or engine in either the console tree or the details pane.

Wonderware Training

Page 417: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – System Management Console (SMC) 7-25

Command Description Configure Allows configuration of the Log Viewer and Storage Log Flags Opens the Log Flag editor Open Log File Allows the opening of a Log File Connect Allows either local or remote connections configuration Messages Allows Messages to be exported, purged, or printed Refresh Refreshed the database Help Access to the System Management Console Help files

These commands are also available by right-clicking an item in either the console tree or the details pane. The available commands are dependant on the current state of the object and your security permissions. If you do not have permission to perform a particular command, then that command is grayed out.

The following commands are available from the Platform Manager View menu when you select a platform or engine in either the console tree or the details pane.

Command Description Filter Allows filtering of Messages, Time Range, or Terminal Sessions Find Search capability on Process ID, Thread ID, Log Flag, Component, or

Message

Wonderware System Platform 3.0 Course - Part 1

Page 418: Manual Wsp 3 Part 1-Rev a Gold

7-26 Module 7 – Galaxy Maintenance

Command Description Go To Allows redirection to a Bookmarked location Bookmarks Allows Adding or removing of a Bookmark Mark Allows the entry of a Marker Message to the log Choose Columns Select specific columns to show or hide Customize Change the appearance of the view

Platform Manager Toolbar Buttons

The following toolbar buttons may appear on the console toolbar, but vary depending on the object that you select in the console tree and its current state.

Button Description

Back

Forward

Up one level

Show/Hide Console Tree/Favorites

Refresh

Help

Filter

Enable/Disable Message Filter

Find

Fast Mark

Export

Print

Print Preview

Wonderware Training

Page 419: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – System Management Console (SMC) 7-27

Log Viewer

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

The Log Viewer can:

� Monitor messages on any machine in the system

� Send a portion of the log to notepad or E-mail

� Filter messages on a flag

Security for the log viewer is set at the galaxy level.

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.

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

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

A good strategy for troubleshooting problems

1. Gather as much information first about the process that is malfunctioning. For instance, you attempted to deploy an object in the ArchestrA IDE and a message was displayed stating the deployment was not completed. Note the function you attempted and the message you received.

2. Open the Log Viewer by clicking Start, pointing to Programs and then to Wonderware, and then clicking System Management Console. In the SMC, select Log Viewer and then the

Wonderware System Platform 3.0 Course - Part 1

Page 420: Manual Wsp 3 Part 1-Rev a Gold

7-28 Module 7 – Galaxy Maintenance

node the ArchestrA IDE is located on. Look for red and yellow messages. Also, use the information you collected about the failed process to search for clues in the logged messages.

3. Use the Find command on the View menu to single out messages by message text or other category of data, or use the Filter command on the View menu to reduce the number of displayed messages based on message, time range or terminal session criteria.

The following chart indicates the key differences in Log Viewer and WWLogger .

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

Page 421: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – System Management Console (SMC) 7-29

6

LogFlag Viewer

5

4

LogFlag Editor

2 3

1

Using Bookmarks

Bookmarks are unique labels you can apply to individual messages for quick access. They differ from marks in that bookmarks are associated with specific messages while marks are messages added below the message that is currently last in the log.

You cannot enter duplicate bookmark names for more than one message, and a message can have only one bookmark.

The message window can display a Bookmark column, which is initially hidden by default. To show the Bookmark column, right-click on the column header of the message window and click

Show . In the Choose Columns dialog box, click Bookmarks in the Columns Hidden box, click the Show button to move it to the Columns Shown box and click OK. The Bookmark column is added

at the far right of the column header. Click and drag it to another position if you want. When the text of a bookmark in the Bookmark column is partially obscured, point to it to display the entire bookmark like a tool tip.

You can set bookmarks in two ways: adding a regular bookmark that you can name and setting a fast bookmark that is named for you.

To add a regular bookmark to a message

1. Right-click the message and click Add Bookmark on the Bookmark submenu.

2. In the Add Bookmark dialog box, either accept the default name (Bookmarkx where x is a number in an ascending sequence) or overwrite it with something more descriptive. You can change the bookmark name in the Bookmarks dialog box at a later time. See "To manage bookmarks" below.

3. Click OK to set the bookmark or Cancel to terminate the process.

To set a fast bookmark on a message

1. Right-click the message and click Fast Bookmark on the Bookmark submenu. A default naming sequence is applied to the message (Bookmarkx where x is a number in an ascending sequence). Alternatively, you can set a fast bookmark by selecting the message and clicking the Fast Bookmark icon on the toolbar.

2. Change the bookmark name to something more descriptive, if necessary, in the Bookmarks dialog box at a later time. See "To manage bookmarks" below.

Wonderware System Platform 3.0 Course - Part 1

Page 422: Manual Wsp 3 Part 1-Rev a Gold

7-30 Module 7 – Galaxy Maintenance

To go to a bookmarked message

1. On the View menu, click Go To.

2. In the Go To dialog box, enter the name of the message’s bookmark by typing it in the box or selecting from the list.

3. Click Go To. The Go To dialog box remains open.

4. Use the Previous and Next buttons to go to the nearest bookmarked message above and below, respectively.

5. When you are done searching, click Close .

Note: You cannot go to bookmarked messages that are currently hidden by a filter. If you cannot find the desired message, disable filtering and try again.

To manage bookmarks

1. On the View menu, click Bookmarks .

2. In the Bookmarks dialog box, you can manage current bookmarks and create new ones. The bookmark list shows the current set of bookmark names and associated Message No. (the same number as the No. column in the message window). The bookmark list provides several functions.

3. For instance, to rename a bookmark, select it, press F2 and type the new name. Note that each bookmark must have a unique name; so you cannot bookmark two messages with the same name.

4. To go to a bookmarked message, double-click on it in the list or select it and click Go To.

5. To remove one or all bookmarks from your logged messages, select a message and click Remove , or click Remove All .

6. To add a new bookmark, select the message you want to bookmark in the message window and click Add . This function is comparable to a fast bookmark. Rename it by pressing F2.

7. When you are done, click Close .

Note: Bookmarks are not saved when you quit the Log Viewer application. To mark your message log more permanently, use the Mark command on the View menu.

Galaxy Database Manager

Selecting the Galaxy Database Manager on the SMC Menu allows you to view all the galaxies in the Galaxy Repository, as well as the nodes they reside on.

You must have Administrative privileges to use the Galaxy Database Manager.

DAServer Manager

The DAServer Manager allows local or remote configuration of the DA Server and its device groups and items, and can monitor and perform diagnostics on DAServer communication with PLCs and other devices.

Wonderware Training

Page 423: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – System Management Console (SMC) 7-31

Like the LogViewer and Platform Manager, the DAServer Manager is a Microsoft Management Console (MMC) snap-in. Many high-level functions and user-interface elements of the DAServer Manager are universal to all DAServers; to understand the DAServer Manager, it is critical to read the documentation for both the MMC and the DAServer Manager.

To read the documentation about the MMC and DAServer Manager, click the Help topics on the SMC Help menu. Both the MMC Help and the DAServer Manager Help are displayed.

Wonderware System Platform 3.0 Course - Part 1

Page 424: Manual Wsp 3 Part 1-Rev a Gold

7-32 Module 7 – Galaxy Maintenance

– Intentionally left blank –

Wonderware Training

Page 425: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Network Account Utility 7-33

Section 4 – Network Account Utility

Section Objectives

This section discusses the role of changing the network account and how to use the Change Network Account Utility to accomplish that task. After discussing this section you will be able to:

� Understand the role of the Change Network Account Utility, and;

� Have an understanding of how it can be configured.

This section discusses the role of changing the network account and how to use the Change Network Account and how to configure it.

Change Network Account Utility

The Change Network Account utility is a tool you can use to manage credentials for node-to- node communications between ArchestrA™ components.

During the initial installation of an ArchestrA component, you are prompted either to create a new user account or to use an already existing account, and provide a user name and password for that account. The same account must be used on each computer that requires communication with others in the ArchestrA environment. Use the Change Network Account utility to change this data, if necessary, on any computer after installation of an ArchestrA component.

WARNING! If you change user account data with this utility, you could adversely affect communications between the computer and others with installed ArchestrA components (including existing Wonderware products that are ArchestrA enabled). All ArchestrA nodes that require communication with others must use the same account, user name, and password. Use this utility only to standardize user account data on all computers requiring communication. Do not delete this account with operating system account management tools. If you do, the ArchestrA IDE will stop functioning properly. If you delete the ArchestrA user account on an ArchestrA IDE node, you must recreate it with the Change Network Account utility.

Node-to-Node Communications

All computers that have installed ArchestrA-enabled software must be able to communicate with each other. This communication is enabled through an ArchestrA-specific user account set up during the initial installation of an ArchestrA component on each computer. Subsequent installations of ArchestrA components do not prompt for user account information. They automatically use the account set up during the installation of the initial component.

The user account described in this document only enables node-to-node communications between ArchestrA components. It is not associated with ArchestrA security, which provides user authentication for individual access points to the infrastructure.

Note: You must have Administrator privileges on the computer to make changes with the Change Network Account utility.

To recreate an ArchestrA user account

1. Start the Change Network Account utility by selecting Start/Programs/Wonderware/ Common/Change Network Account .

Wonderware System Platform 3.0 Course - Part 1

Page 426: Manual Wsp 3 Part 1-Rev a Gold

7-34 Module 7 – Galaxy Maintenance

The Change Network Account dialog box appears.

The data shown in this dialog box are those settings entered during the initial installation of an ArchestrA component on the computer. The password options are shown blank for security reasons.

Wonderware Training

Page 427: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Network Account Utility 7-35

The Change Network Account utility allows you to change the current data shown in the dialog box, including:

� Changing the password of the current account.

� Creating a new local user account.

� Using an existing local machine or network domain account.

2. In a single-node ArchestrA system, create any account.

3. In a multi-node ArchestrA system, recreate the same user account with the same user name and password that was created on all other computers that have installed ArchestrA-enabled software.

4. Once you have configured the account, click OK.

Note: After you recreate the user account in the Change Network Account dialog box, the Microsoft Windows security component on your computer may take several minutes to update this information on the ArchestrA Galaxy node. Until that occurs, your ArchestrA IDE may not function properly. Rebooting the Galaxy node causes this update to occur immediately.

When you use the Change Network Account utility to create or use an account that is different from the one originally set up during installation, the old account is maintained (not deleted).

Wonderware System Platform 3.0 Course - Part 1

Page 428: Manual Wsp 3 Part 1-Rev a Gold

7-36 Module 7 – Galaxy Maintenance

WARNING! After you change any data shown in the Change Network Account dialog box, ensure that all other computers that have installed ArchestrA-enabled software use the same type of user account with the same user name and password.

Error Messages

When using the Change Network Account utility, you may encounter the following error messages.

Error Message Action Required Administrative privileges are required to run this utility.

You must have Administrator privileges on the computer to run this utility. Click OK, login as a user with Administrator rights, and start the Change Network Account utility again.

The Password was not correctly confirmed. Please ensure that the Password and Confirmation match exactly.

You mistyped either the password or confirmation password in the dialog box. These two passwords must match to ensure the accuracy of user account data. Click OK, retype both password and confirmation password text, and then click OK again.

Password cannot be empty. Please enter a valid password

You must type a password in the Change Network Account utility. Click OK, type a password in the dialog box, type the same password in the Confirm Password box, and then click OK again.

User account 'a' already exists. Please enter another user name.

You chose to create a local account by selecting Create Local Account in the Change Network Account utility. This account already exists. Click OK, type a new user name in the Change Network Account utility, and click OK.

Domain/Local Machine name cannot be empty.

You must enter an existing local machine or network domain account. Click OK, either type a valid network domain name or select the local machine name from the list, and click OK. If you don’t know the valid network domain name, ask your network administrator.

User account 'a' does not exist. Please enter another user name.

You chose to use a local machine or network domain account that does not exist. Click OK. Ensure the user account you entered in the Domain/Local Machine Name box is valid and the user name and password you typed are valid for that user account, and then click OK. If this message is displayed again, check with your network administrator about the existence of the account.

The password policy for this account allows the password to expire and to be changed. However the password must not expire or should not be changed for the ArchestrA products to function properly. Do you want to use this account?

You chose to use a local machine or network domain user account whose password policy allows the password to be changed or to expire. Click OK if you want to use this account or Cancel to return to the Change Network Account utility. Then, you can choose to use or create another user account.

Caution! It is recommend that you do not use a domain account whose password expires periodically or can be changed. Using such an account is allowed, but after the expiration date or the password is changed, node-to-node communications end. You then must use the Change Network Account utility on each computer to update the account data to re-establish communications.

Do you want to update user account 'a' to use this new password?

You chose to use a local machine user account, but the password you typed does not match the account's password. Click OK if you want to change the password for this user account or Cancel to revert to the original settings. If you click OK, the password for the account is changed. If you click Cancel , the Change Network Account utility is displayed, allowing you to correct the password or type another user name and password.

Invalid Domain name 'dom'. Please enter a valid domain name.

You typed an invalid network domain name in the Domain/Local Machine Name box. Click OK, retype the domain name, and click OK.

Wonderware Training

Page 429: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Network Account Utility 7-37

Error Message Action Required Invalid Password for user account 'a'. Please enter the correct password.

You chose to use a network domain user account, but the password you typed does not match the account's password. Click OK, correct the password, confirm the password, and click OK.

The system will now reboot. Please close all your open applications and press "OK" when you are done.

You changed account information in the Change Network Account utility. The computer must be restarted to implement those changes. Close open applications, and click OK.

User name cannot contain these characters: " / \\ [ ] : ; | , + * ? < > Please enter a valid user name.

You used one or more invalid characters in the User Name box. Click OK, type a valid user name and click OK.

A user name cannot consist solely of periods [.] or spaces.

You must type a user name in the Change Network Account utility. Click OK, type a user name in the dialog box, and then click OK again.

Multiple NIC Computers

Any node in your Galaxy that contains more than one network card must be configured according to the following instructions to ensure communications with other ArchestrA nodes.

Note: If a multiple NIC computer in your Galaxy uses only one NIC, you should disable all cards except the supervisory network.

For any multiple NIC ArchestrA node to communicate successfully with all other Galaxy nodes, you must define the correct order of network connections in the network services of the computer. Open the Network and Dial-up Connections dialog box (see image below) and rename each card with a clearly identifiable function (for instance, "Supervisory Net" and "PLC net"). Different operating systems provide unique access to the Network and Dial-up Connections dialog box (in Windows 2000 Professional, click Start ; point to Programs , Accessories and Communications ; and then click Network and Dial-up Connections ).

Wonderware System Platform 3.0 Course - Part 1

Page 430: Manual Wsp 3 Part 1-Rev a Gold

7-38 Module 7 – Galaxy Maintenance

Next, you must order the network cards properly. In the Network and Dial-up Connections dialog box, click Advanced Settings on the Advanced menu. In the Advanced Settings dialog

box (see image below), use the up and down arrows to define the correct order of Connections and click OK. The first connection in the list must be the supervisory network card. If a computer contains

more than two network cards (for instance, a supervisory connection, a PLC connection, and an RMC connection for ArchestrA redundancy), the supervisory net must be listed first and the

others can be listed in any other position.

Several other parameters must be configured to ensure successful node-to-node communications in the ArchestrA environment. You must configure the IP address and DNS settings as follows for each network card to function properly.

Do the following for each network connection

1. In the Network and Dial-up Connections dialog box, right-click the network connection and click Properties in the shortcut menu. The connection's Properties dialog box (see image below) is displayed.

Wonderware Training

Page 431: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Network Account Utility 7-39

2. Select Internet Protocol (TCP/IP) in the list of components used by this connection, and click Properties . The Internet Protocol (TCP/IP) Properties dialog box (see image below) is displayed.

Wonderware System Platform 3.0 Course - Part 1

Page 432: Manual Wsp 3 Part 1-Rev a Gold

7-40 Module 7 – Galaxy Maintenance

3. For the supervisory network, select Obtain an IP address automatically . For the other network connections, select Use the following IP address . Consult your network administrator for the proper settings for the remainder of the parameters in this group.

4. Click Advanced . The Advanced TCP/IP Settings dialog box (see image below) is displayed. Click the DNS tab.

Wonderware Training

Page 433: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Network Account Utility 7-41

5. For the supervisory network, select Register this connection's addresses in DNS. For the other network connections, clear this check box.

6. Click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 434: Manual Wsp 3 Part 1-Rev a Gold

7-42 Module 7 – Galaxy Maintenance

– Intentionally left blank –

Wonderware Training

Page 435: Manual Wsp 3 Part 1-Rev a Gold

Module 8

Device Integration Products

Section 1 – Wonderware I/O Servers 8-3

Section 2 – Data Access Servers 8-9

Section 3 – Device Integration Objects 8-19

Page 436: Manual Wsp 3 Part 1-Rev a Gold

8-2 Module 8 – Device Integration Products

Module Objectives

Obtain an overview and understanding of:

� DAServers and DI Objects and how they relate to the connectivity of your application to external data.

� FactorySuite Gateway and how it can enhance the connectivity of your application.

Wonderware Training

Page 437: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Wonderware I/O Servers 8-3

Section 1 – Wonderware I/O Servers

Section Objective

� Configure a Wonderware I/O Server (Modbus)

This section will describe the configuration of a Wonderware I/O Server (Modbus).

Introduction

Wonderware I/O Servers are Microsoft Windows application programs that enable other DDE- aware Windows applications (such as InTouch or Excel) access to data in the real world (such as PLCs or RTUs).

Wonderware servers are primarily intended for use with Wonderware's InTouch program; however, they can be used by any Microsoft Windows program capable of acting as a DDE client.

In this section, we will examine the start-up, configuration and use of a Wonderware I/O Server. Because Wonderware's I/O servers are Windows applications, they will all have the same basic appearance and capabilities. Keep in mind that depending on server required, additional hardware (network, and so on) may be necessary and the configuration screens may require additional information.

The following information references the Modbus I/O Server as a point-to-point server using the RS-232 serial port to PLCs provided at the Wonderware facility training environment. Your instructor may have you configure the following screens differently.

Note: All I/O Server setup which follows is specific to the Wonderware facility training environment. Your instructor will provide the proper configuration information. It accesses one Koyo DirectLogic O5 PLC via its programming port.

Configuring I/O Servers

Once the I/O Server has been installed, some configuration is required. Configuring the server automatically creates a configuration file named MODBUSDV.CFG. This file stores the configuration information about communication ports and all of the topic definitions (described in detail later).

The configuration file is automatically saved to the directory in which the I/O Server is installed unless a different directory is specified via the Configure / I/O Server Settings command.

a. Select Start / Programs / Wonderware / IOServers / Modicon MODBUS.

The MODBUS dialog box appears:

b. Click Configure / Com Port Settings .

Wonderware System Platform 3.0 Course - Part 1

Page 438: Manual Wsp 3 Part 1-Rev a Gold

8-4 Module 8 – Device Integration Products

The Communication Port Settings dialog box appears. This dialog is used to configure the communication port that will be used to communicate with the PLC equipment.

Com Port: Select the communication port that is connected to the PLC equipment.

Reply Timeout: Enter the amount of time (in seconds) that all PLCs connected via this serial communications port will be given to reply to commands from the I/O Server.

Note: This timeout is sustained only when the PLC fails to respond. When the PLC is responding normally, there is no penalty. The default value of 3 second should be sufficient for most configurations.

Protocol area: Select the protocol configured for the equipment attached to this communication port. RTU is recommended.

Baud Rate area: Select the baud rate (serial bit rate) setting that matches the equipment connected to this communication port.

Data Bits area: Select the option for the number of data bits that corresponds to the configuration of the equipment on this communication port.

If ASCII is selected for the protocol, use 7. If RTU is selected, use 8.

Stop Bits area: Select the appropriate number of stop bits for the communication port. If the baud rate is greater than 300, the stop bits should be set to 1.

Parity area: Select the setting that corresponds to the configuration of the equipment on this communication port.

Note: All devices on a single communication port must be configured with the same Protocol, Parity, Stop Bits, Data Bits and Baud Rate.

Wonderware Training

Page 439: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Wonderware I/O Servers 8-5

For this training class, the following settings must be configured as shown.

c. Save your changes in the suggested directory and click Done to exit.

Note: Click Save to save the current settings entered for the selected communication port. The Communication Port Settings dialog box remains displayed and another communication port can be configured.

Wonderware System Platform 3.0 Course - Part 1

Page 440: Manual Wsp 3 Part 1-Rev a Gold

8-6 Module 8 – Device Integration Products

Creating Topic Definitions

The Configure / Topic Definition command is used to create, modify, or delete topic definitions. One or more topic definitions must exist for each PLC that the I/O Server will communicate with.

Each topic definition must contain a unique name for the PLC associated with it. This unique name is then used as the topic name portion of the DDE Address for all DDE conversations to that PLC.

a. Click Configure / Topic Definition .

The Topic Definition dialog box appears:

Note: Once topics have been defined, their names will be listed in the Topics pane of this dialog box.

b. Click New to add a new topic definition.

The MODBUS Topic Definition dialog box appears:

c. Topic Name: Enter a unique name (up to 32-characters long) for the PLC in the field.

Note: When communicating with InTouch, this exact name is used as the topic name in the Access Name definition.

d. ComPort: Select the communications port to be associated with this topic.

Wonderware Training

Page 441: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Wonderware I/O Servers 8-7

e. Slave ID: Enter the Slave ID of the PLC in the box.

f. Slave Device Type: Drop-down list contains slave device types other than the default.

g. String Variable Style: The PLC will use this style to store ASCII strings in its registers.

h. Register Type : Select BINARY or BCD, based on hardware used.

i. Block I/O Sizes: Coil Read: Enter the maximum number of consecutive coils to be read at one time. In this example, the valid coil read values can be between 8 and 2000 and must be an even multiple of 8.

j. Coil Write: Enter the maximum number of consecutive coils that can be written to at one time. In this example, the valid coil write values can be between 8 and 800 and must be an even multiple of 8.

k. Register Read: Enter the maximum number of consecutive registers to be read at one time. In this example, the valid register read values can be between 1 and 125.

l. Register Write: Enter the maximum number of consecutive registers that can be written to at one time. In this example, the valid register write values can be between 1 and 100.

m. Update Interval: Enter the frequency (in milliseconds) that the I/O Server will read (poll) the items/points associated with this topic. Different items/points can be polled at different rates by defining multiple topic names for the same PLC and setting different update rates for each topic.

n. Click OK to accept the entries and close the dialog box.

The Topic Definition dialog box will open with the new topic listed:

o. Click the Done button to close this dialog box and return to the server's program window.

p. Click Modify to change an existing topic definition.

q. Click Delete to delete an existing topic definition.

Note: The previous information is provided for example only. Configuration steps for this class are provided in the following lab.

Wonderware System Platform 3.0 Course - Part 1

Page 442: Manual Wsp 3 Part 1-Rev a Gold

8-8 Module 8 – Device Integration Products

– Intentionally left blank –

Wonderware Training

Page 443: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Data Access Servers 8-9

Section 2 – Data Access Servers

Section Objective

� Become familiar with DAServer and its use with Wonderware Application Server.

This section provides familiarization with DAServer and its use with Wonderware Application Server.

Introduction

Wonderware’s DAServer is designed to provide simultaneous connectivity between client applications based on Wonderware® SuiteLink™, OPC and DDE protocols that run on Microsoft's Windows® 2000 and Windows XP operating systems and the data devices supported by the specific protocol being translated.

Wonderware's DAServers also come with an exclusive new user interface called the DAServer Manager, which is installed as a Microsoft® Management Console snap-in. Its end-user benefits include simple remote server activation, configuration and operation, and extensive protocol diagnostic troubleshooting.

Several standard features are available with each DAServer, including:

� Compliance with OPC version 2.05

� Stand-alone operation mode

� Support for hot configuration, device additions and device- and server-specific parameter modifications

A wide range of DAServers support connectivity to numerous protocols and products. Wonderware's current DAServers offering also includes support for:

� Allen-Bradley's CIP protocol for ControlLogix

� Allen-Bradley's TCP protocol

� Allen-Bradley's DH Plus protocol

� Siemens' Simatic Net S7

� Modbus® Serial protocol

Configuration

DAServers can be configured using the DAServer Manager utility. The DAServer Manager is an MMC shell capable of displaying specific configuration pages for each configuration node. This utility allows browsing and editing of servers on different nodes.

DAServers are hot configurable. In other words, they are configurable while the server is running or even acquiring data. Certain restrictions imposed by the underlying network/protocol/hardware might apply. For instance, if you uncheck System Items on the global parameters configuration dialog of the DAServer Manager and select Apply, and then re-check System Items and Apply, System Items data is valid only to newly connected clients.

The configuration data format for DAServers is XML. Any XML-enabled program (for example, IE and XML Notepad) can read this format.

Wonderware System Platform 3.0 Course - Part 1

Page 444: Manual Wsp 3 Part 1-Rev a Gold

8-10 Module 8 – Device Integration Products

Component Architecture

A DAServer is comprised of three physical parts:

� Plug-in Component(s): (responsible for communicating with clients, used by all DAServers). Plug-ins provide protocol translation functionality for device integration clients.

Typical Plug-ins use DDE, SuiteLink or OPC protocol, and serve as interfaces between their clients and the DAS Engine. A protocol can be disabled when customizing the installation for your DAServer.

� DAS Engine: common component used by all DAServers.

The DAS Engine is a middleware component that exposes two sets of unique interfaces, one for communicating with Plug-ins and one for communicating with Device Protocol Layer components. It encapsulates common tasks for the DAServer, like handling the item database, distributing data to clients, propagating clients' requests to the protocol, and providing diagnostics.

� Device Protocol Layer: Server specific (responsible for communicating with hardware and specific to the DAServer). The Device Protocol Layer provides translation between the hardware- specific protocol such as ModBus and CIP and the DAS Engine interface:

Each physical part of a DAServer is comprised of a set of .EXE and/or .DLL modules. ArchestrA provides the Plug-in and DAS Engine modules.

Wonderware Training

Page 445: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Data Access Servers 8-11

You must create the Device Protocol Layer (server specific) modules with the DAServer, and all three sets of modules are required for a fully functioning DAServer.

Plug-ins

Plug-ins provide protocol translation functionality for device integration clients. Typical Plug-ins communicate in DDE, SuiteLink or OPC protocol, and serve as interfaces between their clients and the DAS Engine. You can disable a protocol when customizing the installation for your DAServer.

DAS Engine

The DAS Engine is a middleware component that exposes two sets of unique interfaces, one for communicating with Plug-ins and one for communicating with Device Protocol Layer components. It encapsulates common tasks for the DAServer, like handling the item database, distributing data to clients, propagating clients' requests to the protocol, and providing diagnostics.

Device Protocol Layer

The Device Protocol Layer provides translation between the hardware specific protocol such as Modbus and CIP and the DAS Engine interface.

DAServer Characteristics

Configuration

The DAServer Manager is capable of displaying specific configuration pages for all servers. This utility allows browsing and editing of servers on different nodes.

Recall that DAServers are hot-configurable. In other words, they are configurable while the server is running or even acquiring data. Certain restrictions imposed by the underlying network/protocol/ hardware might apply.

For instance, if you uncheck System Items on the global parameters configuration dialog of the DAServer Manager and select Apply, and then re-check System Items and Apply, System Items data is valid only to newly connected clients.

The configuration data format for DAServers is XML. Any XML-enabled program (for example, IE and XML Notepad) can read this format.

Runtime

The DAS Engine is loaded by the DAServer as an in-process COM object.

It is not statically linked. In other words, a new DAS Engine (feature enhancement or bug fix) would not require re-linking to the other components nor re-QA of those other components. It is deployed to the system and attaches to all existing server components.

This is an important added value for the customer to be independent of ArchestrA release cycles, especially for OEM customers with their own release schedule.

Newly deployed Plug-ins do not require re-linking nor re-QA of associated components. Even new Plug-ins would not require any development effort for the other components. In fact, it is feasible to implement new functionality (like Store-and-Forward) in a Plug-in to enhance the server without involvement of the code of the other components.

Wonderware System Platform 3.0 Course - Part 1

Page 446: Manual Wsp 3 Part 1-Rev a Gold

8-12 Module 8 – Device Integration Products

Diagnostics

The DAServer Manager diagnostic tool displays generic diagnostic objects common to all servers as well as server-specific/server developer defined diagnostic data.

Hot Configuration

One of the big advantages provided by the DAServer is the ability to make your DAServer configurable while the server is running - hot configuration.

The extent to which a specific DAServer is hot configurable varies from server to server. You can choose from a variety of hot configuration responses, from not being hot configurable at all to being configurable of each individual parameter while the server is running.

The DAServer handles most of the hot configuration work. In general, a user will run the DAServer Manager and configure each hierarchy. Any changes she makes that add/delete/update a hierarchy are sent immediately to the running DAServer.

Server-specific code may elect to react to the change. Some parameters cannot be changed while the DAServer is running due to protocol-specific issues, and these can be ignored by the server- specific code.

Here is a complete list of notifications to the server about changes in the configuration:

� Add configuration hierarchy.

� Delete configuration hierarchy.

� Rename configuration hierarchy.

� Update parameters of configuration hierarchy.

� Add device group.

� Delete device group.

� Rename device group.

� Update parameters of device group.

� Clear the current configuration set.

� Switch to a new configuration set.

Wonderware Training

Page 447: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Data Access Servers 8-13

Integration to Third Party Applications

FactorySuite Gateway (FS Gateway) is a universal translator, capable of translating all major protocols (MX, OPC, DDE, SuiteLink) to any protocol required by a network component.

Note: There is an Online Seminar available for the FactorySuite Gateway . To register, visit www.wonderware.com/training or call 1-866-WW-TRAIN (1-866-998-7246) or email Wonderware Training at [email protected] .

A primary purpose of FS Gateway is to translate between ArchestrA MX protocol and other protocols. For instance, a Wonderware Application Server, which uses MX, previously could not be accessed by third-party clients except through InTouch. Excel, Visual Basic, and other third- party applications were unable to receive data from Wonderware products without using InTouch tags. Using FS Gateway as a protocol translator allows direct connection to a Wonderware Application Server. FS Gateway can replace OPCLink, which translates OPC to DDE or SuiteLink.

FS Gateway is also useful for legacy servers, controllers, and operating systems. Gateway can translate older DDE to the newer SuiteLink protocol, enabling legacy products to connect to newer systems.

Other Connectivity Tools

Wonderware Application Server can access device data by using client application objects. These DI Objects ($DDESuiteLinkClient, $InTouch proxy, $OPCClient) enable the server to interface with I/O devices that use DDE, SuiteLink, InTouch tags, or OPC protocol.

Other protocol connectivity tools include third-party OPC servers, the Archestra DAS Toolkit, the Rapid Protocol Modeler Kit, the ActiveX SECS-II/GEM kits, and the InTouch Tag Creator.

I/O servers provide connectivity for devices using DDE, FastDDE, and SuiteLink protocols. I/O servers can connect every Wonderware A2 component, as well as PLC, RTU, DCS, and ESD systems.

Wonderware System Platform 3.0 Course - Part 1

Page 448: Manual Wsp 3 Part 1-Rev a Gold

8-14 Module 8 – Device Integration Products

You can build I/O servers using Wonderware's Rapid Protocol Modeler (RPM) Kit. The RPM Kit can handle both serial and TCP/IP communications with either ASCII or binary protocols to connect Wonderware client applications to devices with non-standard protocols.

DAServers (Data Access Servers), provide simultaneous connectivity between plant floor devices and DDE, SuiteLink and/or OPC-based client applications running under Microsoft Windows. The DAS Toolkit allows you to create a DAServer specific to your needs. DAServer architecture is modular, allowing for plug-ins for DDE/SL, OPC, and other protocols.

Wonderware’s InControl software offers connectivity to third-party OPC servers and clients by allowing you to create an OPC Server and/or OPC client. You can use the OPC set of interfaces to collect and transfer data between software packages from any vendor. OPC uses the client-server model and the Microsoft COM/DCOM® protocols for vendor-independent data transfer. The InControl OPC Server consists of these three primary types of objects: server, group(s), and item(s). Each OPC item object represents a single data element in the data source and has a name, value, time stamp, and quality. Items also have attributes and properties. OPC groups manage the attributes of each item contained in them. The OPC server maintains the properties of all OPC items. The InControl OPC server uses SuiteLink for communications.

In addition to its own database, SQL Server can act as a gateway to systems based on Oracle, Sybase, Ingres and other databases. Once connected to SQL Server, external databases operate as if they were part of the native SQL Server database. Data from multiple databases can be combined in reports and queries.

Refer to the Wonderware support website, especially the Compatibility Matrix, for more information on specific connectivity tools.

FactorySuite Gateway FAQs

1) What is FactorySuite Gateway?

FactorySuite (FS) Gateway is an integration server and protocol translator that can be used to integrate classic Wonderware products with newer ArchestrA based products, as well as exposing data sources as OPC Servers to third party applications and external systems. FS Gateway therefore provides:

� A Universal Protocol Converter for Wonderware Products

� Exposes Wonderware A2 as an OPC Server

� Integration for classic servers

2) How is FS Gateway Delivered?

FS Gateway behaves like a DAServer and is therefore installed from the Wonderware Device Integration Products CD.

Wonderware Training

Page 449: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Data Access Servers 8-15

3) How is FS Gateway Licensed?

FS Gateway is available for use with any Wonderware Product, at no additional charge. The only stipulation is that it must be always used in conjunction with a Wonderware product, either in a server or client connection capacity.

4) What product client protocols are supported?

DDE, FastDDE, Suitelink and OPC

5) What is the value provided by FS Gateway?

FS Gateway provides totally free OPC connectivity for Wonderware products as well as third parties. This will allow a user to expose our classic IO servers as OPC servers and will allow them to interface third party OPC client products to Wonderware products. Wonderware is one of the few vendors who does not charge for OPC Server capability. It also breaths new life into classic products, by adding OPC DA as a supported interface. This is especially important as support for NetDDE is being phased out by Microsoft.

6) Why is FS Gateway needed?

� To remove NetDDE dependency

� To provide connectivity to earlier versions of InTouch

� To provide NT support which will allow connections to classic products that have not been migrated to later Operating Systems.

� To provide OPC connectivity to FS products (e.g. InTouch and Wonderware Application Server)

� To replace the OPCLink product used when connecting InTouch to OPC Servers.

� To provide Wonderware Application Server data for 3rd party clients

� To provide a mechanism for the transport of IAS data between two different Galaxies.

7) Does FS Gateway provide Galaxy to Galaxy communications with ArchestrA and the Wonderware Application Server?

FS Gateway does provide the means for data access from an ArchestrA Object Attribute in Galaxy A to an ArchestrA Object Attribute in Galaxy B, in the same fashion that an Object Attribute in Galaxy A could receive data from any OPC Server. The plan is that a future release of the Wonderware Application Server will have built-in "Intergalactic Communications". FS Gateway can still be used for this in the interim, but an even better solution is forth coming.

8) How is security controlled with FS Gateway?

When used with the Wonderware Application Server, Role-based security is employed. That means that a User is defined on the node where the FS Gateway is installed. That User account is linked to an ArchestrA Role, which is linked to a Security Group, which is linked to individual Object Attributes. Therefore, the defined user can only access those attributes which it is assigned within the Galaxy. This needs to be managed carefully as any program that utilizes that user account on the FS Gateway node, either locally or remotely can access the associated attributes, with no specific knowledge of which external application is accessing the Galaxy.

Wonderware System Platform 3.0 Course - Part 1

Page 450: Manual Wsp 3 Part 1-Rev a Gold

8-16 Module 8 – Device Integration Products

9) What are the common uses for FS Gateway?

� Exposes InTouch as an OPC Server

� Exposes Historian as an OPC Server (live data only)

� Exposes IAS as an OPC Server

� Basic Galaxy to Galaxy Data Access

� Exposes classic IO Servers (DDE) as a OPC DA or SuiteLink Servers

� Basic Read/Write Data Access from Classic InTouch (pre-7.11) to a Galaxy

� Factory Suite Integration (DT analyst, SCADAlarm, InBatch) to a Galaxy

� Replaces InTouch OPCLink

� Acts as a Data Concentrator for a client wanting access to many different sources.

10) What capability is there to browse tag and attribute values for products using the FS Gateway?

FS Gateway can "browse" InTouch and OPC DA Servers Data Connections. This is accomplished inside the SMC which is the centralized place for configuration and diagnostics. All other data connection items are manually entered (or alternatively can be imported from a CSV file) before the data can be browsed. This "browse" is the ability to navigate the actual native information (either on InTouch or OPCServer). Once a group is created and the items created inside the group then a client can browse this "configured" data.

For the Wonderware Application Server, it is necessary to manually enter the item names. This can be done on the IAS platform first and then exported into a .csv file and then imported into the FS Gateway. Once these items have been manually entered the OPC Client will be able to browse the data. The user can still access data that has not been configured for browsing but the item name must be known. SuiteLink inherently does not allow for browse capabilities.

11) How is the FS gateway configured and managed?

The FS gateway is configured like any other DAServer, by using the ArchestrA System Management Console or SMC.

12) What data is accessible in the Wonderware Application Server Galaxy via the FS Gateway?

The FS Gateway exposes 4 basic data types in a Galaxy. They are Boolean, String, Float and Integer.

Wonderware Training

Page 451: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Data Access Servers 8-17

13) What is FS Gateway compatible with?

Client Products

� DDE Clients [including FASTDDE V2 (pre-FactorySuite2000) and FASTDDE V3 (FactorySuite2000 Plus)]

� SuiteLink Clients

� OPC Clients (DA v2.05)

Server Products

� DDE Servers

� InTouch Data Source

� ArchestrA Galaxy Data source from Industrial Application 2.1

� SuiteLink Data Source

� OPC DA Servers (v2.05)

14) Can I run more then one instance of FS Gateway on a single computer?

No, only a single instance of the FS Gateway can be run on a single computer at the same time. This is similar to our DAServers.

15) Can I have multiple galaxies as data sources connected to an instance of FS Gateway?

No, the FS Gateway must be on the same platform as the Application Server and only one instance of Application Server can reside on a particular platform.

16) How many clients can I have connected to an instance of FS Gateway?

As many as you like!

17) How many Data Sources can I have connected to an instance of FS Gateway?

The FS Gateway can act as a data concentrator and can access as many sources as you would like to connect to (with the limitation of only one can be an Application Server).

18) What OS Versions is FactorySuite Gateway 1.0 Compatible with?

� Windows XP

� Windows NT 4.0

� Windows 2000

� Windows 2003

For additional information or details on how to access and configure Factory Suite Gateway please refer to the Wonderware FactorySuite Gateway User’s Guide.

Wonderware System Platform 3.0 Course - Part 1

Page 452: Manual Wsp 3 Part 1-Rev a Gold

8-18 Module 8 – Device Integration Products

– Intentionally left blank –

Wonderware Training

Page 453: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Device Integration Objects 8-19

Section 3 – Device Integration Objects

Section Objective

� Become more familiar with DI Objects and their use with Wonderware Application Server.

This section provides familiarization with DI Objects and their use with Wonderware Application Server.

Introduction

Device Integration (DI) Objects are designed for applications that connect to Application Server. They represent the application's network and devices, and mirror the actual device hierarchy. In Application Server, Device Integration (DI) Objects are a subset of Automation Objects available in the Template Toolset of the Integrated Development Environment (IDE). As a subset of these Automation Objects, Device Integration Objects consist of two parts:

� DI Network Object , which represents the communications port and are thus associated with DA Servers.

� DI Device Object , which represents the physical devices that make up a network. Examples of DI Device Objects are network bridge devices or PLCs. When the objects are deployed, they represent the network hierarchy. Each level of this hierarchy can be monitored for its individual status.

Device Integration objects are used to represent communications channels and field controllers. As such, they are most often arranged in a hierarchy that models the physical hierarchy of the network and devices on that network.

Device Integration objects are designed to make it very easy to integrate DAServers into the ArchestrA environment.

Therefore, deploying a DI Network actually deploys the DAServer and its associated components within the ArchestrA IDE/Galaxy. This facilitates the DAServer installation process for end-users.

DI Object Advantages

Device Integration Objects (DI Objects) represent communication with external devices. DI Objects may be DINetwork Objects (for example, the Redundant DI Object) or DI Device Objects. DI Objects (and their associated AppEngine) can reside on any I/O, DA, or Automation Object Server node in the Galaxy. DI Objects allow connectivity to data sources such as DDE servers, SuiteLink servers, OPC servers, and existing InTouch applications.

The advantages of using DI Objects are as follows:

� When ArchestrA IDE software is installed on a Wonderware Application Server, DI objects allow you to configure, deploy, and monitor DAServers from one centralized location.

� DI Objects can be used to represent all devices and PLCs in a network, enabling representation of an entire plant, including a hierarchical view of network connectivity.

� DI objects are so closely tied to the DAServer that when an object is deployed across the network, it remotely installs the DAServer (This means that you can install the DAServer without going to the actual machine, and that the DAServer connects immediately.).

Wonderware System Platform 3.0 Course - Part 1

Page 454: Manual Wsp 3 Part 1-Rev a Gold

8-20 Module 8 – Device Integration Products

� DI objects are very closely tied to the DAServer they are assigned to, so that when an object is deployed, it brings with it all code, including registry, scripting, attributes, and parent.

Note that in a large project, this process may take some time. However, tremendous savings are achieved when comparing centralized deployment with individual tasks should the Servers be separately installed and configured on each node.

DI Objects in the ArchestrA IDE

DI objects are located in the Template Toolbox and can also be imported into the Galaxy in the same way as Application Objects. They are imported directly into the Device Integration area of the Template Toolbox:

The differences between the Application and DI Objects are listed below:

� DI Objects are associated with a DAServer.

� DI Objects include some extra primitives in addition to the common Primitive (also hidden by default. A special dialog provides access to the attributes developers might need to override.).

� DI Objects include extra dependency files.

� DI Network Objects are hosted by an AppEngine, not an Area.

� This impacts the Deployment view within the ArchestrA IDE.

� The Host must be deployed before the object can be deployed.

� DI Objects can be hosted by each other or by DI Networks.

� GUIDs tie the host and the hosted object together.

� DI Devices and DI Network objects have extra tabs within their editors to configure ScanGroups, BlockReads, and BlockWrites.

Wonderware Training

Page 455: Manual Wsp 3 Part 1-Rev a Gold

Module 9

Multi-Node Applications

Section 1 – Application Redundancy 9-3

Lab 18 – Configuring Application Redundancy 9-17

Section 2 – DI Redundancy 9-31

Lab 19 – Configuring the Redundant DI Object 9-35

Section 3 – Multi Node Application 9-45

Lab 20 – Convert to Network Environment 9-49

Page 456: Manual Wsp 3 Part 1-Rev a Gold

9-2 Module 9 – Multi-Node Applications

Module Objectives

Obtain an overview and understanding of:

� Migrating to a network environment;

� Using exporting and importing to take objects that were created on one node and migrate them to a single node, and:

� How to deploy and undeploy objects on a galaxy located on a different node.

Wonderware Training

Page 457: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Application Redundancy 9-3

Section 1 – Application Redundancy

Section Objective

� This section covers the concept of redundancy, how it can be configured and key points to more effectively implement this feature.

� Understand the concept and functionality of Redundant DI Objects

This section provides an understanding of the concept of redundancy, how it can be configured and key points to more effectively implement this feature. It also provides an understanding of the concept and functionality of Redundant DI Objects

Redundant Configuration

Redundancy is important in processes that rely on continuous availability of information. There are two basic types or topologies of redundant configuration:

� Redundant Application Engines

� Redundant DI Objects

Redundant Application Engines

The purpose of Application Engine Redundancy is to ensure continuous operation by providing an engine that remains active in the event of a single system component failure. It operates on the principal that with redundant engines, one engine is in an Active Role while the other is in a Standby Role waiting to take control.

The hardware topology required for Redundant Application Engines functionality is simple: two computers with two network interface cards (NIC) each. (Additional network cards could be used for other purposes.)

To configure redundancy, open the Application Engine Object Editor and check "Enable Redundancy" on the Redundant tab.

Wonderware System Platform 3.0 Course - Part 1

Page 458: Manual Wsp 3 Part 1-Rev a Gold

9-4 Module 9 – Multi-Node Applications

Wonderware Training

Page 459: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Application Redundancy 9-5

The Application Engine that is enabled is considered the Primary engine of the redundant pair; when you enable this engine, an additional (Backup) engine is automatically created.

Since an engine is required to run under a platform, the platform objects that sponsor the Primary and Backup application engines need to be configured to use the dedicated NIC. This NIC provides a high speed inter-connection link or Redundant Message Channel between the platforms. The Message Channel is vital to keep both engines synchronized with alarms, history, and checkpoint items from the engine that is in the Active Role. Each engine also uses this Message Channel to provide its health, along with status information, to the other.

The sequence of deployment (cascade, Primary first, or Backup First) of the redundant pair of Application engines determines which of these in the pair will take the Active Role. The first engine deployed takes the Active role while the other one takes the Standby role. The engines maintain their current roles until a failure occurs. (A failure might consist of computer hardware lost or failed, or a network card failure.) If a failure occurs, the engine with the Standby role assumes the Active role and the engine that was in the Active role is given the role of Standby - Not Ready. When the cause of the failure has been remedied, this engine assumes the Standby - Ready role.

Terminology

Two sets of terms are critical to understanding the functions of redundant objects. These are described below.

During Configuration

Primary object: The object intended as the main or central provider of the functionality in the run-time. For AppEngines, it is the object you enable for redundancy. For data acquisition, it is the DIObject you intend to use first as your data source in the run-time.

Backup object: The object that provides the functionality of the Primary object when it fails. For AppEngines, it is the object created by the ArchestrA infrastructure when the Primary object has been enabled for redundancy. For data acquisition, it is the DIObject you do not intend to use first as your data source in the run-time.

During Run-Time

Active object: The object that is currently executing desired functions. For AppEngines, it is the object that is hosting and executing ApplicationObjects. For data acquisition, it is the object

that is providing field device data through the RedundantDIObject.

Standby object: The passive object; that is, it is waiting for a failure in the Active object's condition or for a force-failover. For AppEngines, it is the object that monitors the status of the Active AppEngine. For data acquisition, it is the object that is not providing field device data through the RedundantDIObject.

The Primary/Backup and Active/Standby objects form a redundancy pair. For AppEngine pairs, only the Primary and its hierarchy of assigned ApplicationObjects must be created, configured and deployed. The Backup is handled completely by the ArchestrA infrastructure (for instance, it is deployed separately from the Primary). For data acquisition, the Primary/Backup DIObjects (the data sources) must be separately created, configured and deployed. Also, you must create, configure and deploy a RedundantDIObject to control failovers between the two data source objects.

Wonderware System Platform 3.0 Course - Part 1

Page 460: Manual Wsp 3 Part 1-Rev a Gold

9-6 Module 9 – Multi-Node Applications

In the AppEngine redundancy environment, the Active and Standby objects monitor each other's status and switch when failure conditions occur. In the data acquisition environment, the RedundantDIObject monitors the status of the two DIObject data sources, and handles the switching from Active to Standby objects.

The relationship between the configuration time (Primary/Backup) and run-time (Active/Standby) object pairs is not static. In the run-time, either the Primary or Backup object can be the Active object at any particular time. Whenever one becomes the Active object, the other automatically becomes the Standby.

Configuration values for Primary and Backup also can be changed after deployment of the objects.

Note: In the case of AppEngine redundancy, ArchestrA supports a one-to-one topology in which the computers hosting the Primary and Backup object sets must be connected by crossover cable and have fixed IP addresses.

Key Points

a. Before placing an engine with redundancy enabled under a platform in the Deployment view, configure the platform Redundant Message Channel; otherwise the engine will show an error.

b. In the Application Views panes of the ArchestrA IDE, only in the Deployment view will the Backup engine be visible.

c. The Backup Engine cannot be edited.

d. After editing an engine with redundancy enabled while it is deployed, when it is redeployed the engine which has the Active role will perform this function. It will then update the engine that is in the Standby role.

e. A Backup engine's deployment status can be different from that of the Primary Engine, but operations such as renaming, importing and exporting, GRdump and GR load that are performed on the Primary Engine are automatically performed on the Backup. These operations cannot be performed on the Backup Engine alone.

f. Platforms hosting primary and backup AppEngines should have identical configuration. For instance, it is possible to configure the platform with the Primary to be the InTouch Alarm provider and filter the areas you want to query in the Platform editor. For the Alarm Management system to behave correctly, this same configuration should be implemented in the platform with the Backup. It is recommended that you make the following parameters common to both platforms:

� IT Alarm provider-Areas

� Store Forward directories

� Common user-defined attributes (UDAs)

� Common scripting.

Role Determination

The sequence of deployment (cascade, Primary first, or Backup First) of the redundant pair of Application engines determines which of these in the pair will take the Active Role. The first engine deployed takes the Active role while the other one takes the Standby role. The engines maintain

Wonderware Training

Page 461: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Application Redundancy 9-7

their current roles until a failure occurs. If either engine is deployed by itself, it assumes the Active Engine role.

If a failure occurs (computer hardware lost or failed, or a network card failure), the engine with the Standby role assumes the Active role and the engine that was in the Active role is given the role of Standby - Not Ready. When the cause of the failure has been remedied, this engine assumes the Standby - Ready role.

If you edit an engine with redundancy enabled while it is deployed, when it is redeployed the engine which has the Active role will perform this function. It will then update the engine that is in the Standby role.

Dedicated and Shared Loads

There are two types of redundant engine configuration: Dedicated and Shared load.

Note: Depending on the order of deployment, the Primary or Backup engine may take the role of Active Engine. If either engine is deployed by itself, it assumes the Active Engine role.

In a Dedicated redundant configuration, if the Active Engine fails or is shut down, or if a communication failure occurs, the engine in the Standby Ready role assumes the Active role. In this scenario, the platform with the engine in the Standby Ready role is essentially idling. See the following illustration.

Wonderware System Platform 3.0 Course - Part 1

Page 462: Manual Wsp 3 Part 1-Rev a Gold

9-8 Module 9 – Multi-Node Applications

Visualization Nodes

AutomationObject Server

Supervisory Network

AutomationObject Server

Redundancy Message Channel

AE_1 (Active)

Platform 1

Primary Backup AE_1

(Standby)

Platform 2

Control Network

In a Shared redundant configuration, two or more Redundant Engines reside on each of two platforms. Each platform hosts a Primary and a Backup engine. See the illustration below. This scenario operates similarly to the Dedicated configuration, but allows the application load to be shared on two computers until a failure occurs. When a failure occurs, one platform hosts the load of both application engines. The benefits of using this approach is that the time of failover is shortened and that only part of an application process is affected during a failure.

Note: It is important to understand both the CPU and memory load requirements of each engine. Each computer must be capable of supporting these needs when a failure occurs; otherwise, throughput for the application can be compromised

Wonderware Training

Page 463: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Application Redundancy 9-9

Visualization Nodes

Supervisory Network

AutomationObject Server AutomationObject Server

Redundancy Message Channel

Primary AE1

AE2 Bck Backup Backup

AE1 Bck AE2 Primary

Platform 1

Platform 2

Control Network

What Happens in Run-time

During initial deployment to its assigned WinPlatform, first code modules and other files for the Primary AppEngine are deployed, followed by those files for its assigned ApplicationObjects. All of these files are then deployed to the Standby AppEngine by the Active engine’s WinPlatform using the redundancy message channel (RMC).

Note: If some or all of these files already exist on the Standby AppEngine’s WinPlatform (perhaps, assigned to another AppEngine on that platform), only the delta files are deployed to the Standby AppEngine.

Wonderware System Platform 3.0 Course - Part 1

Page 464: Manual Wsp 3 Part 1-Rev a Gold

9-10 Module 9 – Multi-Node Applications

AutomationObjects are always assigned to the Primary AppEngine in the configuration environment. But in the run-time, AutomationObjects are always deployed to the Active AppEngine whether or not it was initially configured as the Primary object. All files are then deployed by the Active AppEngine’s WinPlatform to the Backup AppEngine as described above.

In the run-time environment, the Active and Standby AppEngines first attempt to establish communications across the RMC. This occurs when an AppEngine belonging to a redundant pair first starts up. Therefore, if one AppEngine is relocated later to a different WinPlatform, this communication between AppEngines can be reestablished.

During run-time, the Active and Standby engines communicate with each other and monitor each other's status.

In the case of a hardware or software failure on one computer, the Standby AppEngine will become the Active one. Then, if you want to move the new Standby AppEngine from its hosting computer, undeploy this AppEngine by using the On failure mark as undeployed option on the Undeploy dialog box, and then reassign and redeploy it to a WinPlatform that is configured for redundancy on another computer.

AppEngine Redundancy States

Redundant pairs of AppEngines can have one of the following states at a time:

� Active: The state of an AppEngine when it has communication with its partner object, its partner is in Standby-Not Ready, Standby-Sync’ing with Active, or Standby-Ready state. A Standby AppEngine transitions into this state when a failover condition has been detected. In this state, an AppEngine schedules and executes deployed objects, sends checkpoint data and sends subscriber list updates to the Standby AppEngine.

� Active - Standby not Available: The state of an Active AppEngine when it determines it cannot achieve communications with its partner object. This could mean that checkpoint, subscription and alarm state changes have not been successfully transmitted to the Standby object, a heartbeat ping has not been received from the Standby object, or notification is received that the Standby AppEngine has shutdown or is not running. If an AppEngine is in this state, it 1) continues normal execution of hosted objects, 2) cannot be manually switched to Standby state, and 3) while continuing to attempt communicate with the Standby, does not attempt to send data to the Standby object.

� Determining Failover Status: The initial state of a redundancy-enabled AppEngine when it is first started. It has not determined yet whether it is the Active or Standby AppEngine. Communication between the two AppEngines is attempted first over the RMC and then over the primary network to make this determination. If communication cannot be made after a certain timeout period, an AppEngine assumes the Active role if it has all of the code modules and checkpoint file data to do so. Continued attempts are made at communicating with its partner.

� Standby - Missed Heartbeats: The state of an AppEngine when 1) a heartbeat ping has not been received from its Active partner within a configured timeout period, 2) the Active AppEngine fails or hangs up, or 3) the Active AppEngine is shutdown on purpose. When in this state, the Standby object attempts to determine whether or not the Active object has failed. If a manual failover is initiated (by using the ForceFailoverCmd attribute), it will be processed only if the heartbeats were missed over the primary network and not missed over the RMC.

� Standby - Not Ready: The state of an AppEngine when one of several conditions occurs: 1) its has lost communications with its partner object or it maintains communications with its partner but has missed checkpoint updates or alarm state changes from the Active

Wonderware Training

Page 465: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Application Redundancy 9-11

AppEngine, 2) new objects are deployed to the Active AppEngine and necessary files have not been installed on the Standby AppEngine yet, or 3) the Standby AppEngine has lost communications over the RMC before it could complete synchronizing data. Typically, the AppEngine’s partner is in one of the following states: Active-Standby not Available, Active, or Standby- Missed Heartbeats.

� Standby - Ready: The state of an AppEngine when is has completed synchronizing code modules and checkpoint data with the Active AppEngine. In this state, the AppEngine monitors for Active AppEngine failure by verifying heartbeat pings received from the Active engine, checks that all files required for execution are in sync with the Active engine, and receives the following from the Active AppEngine: checkpoint change data, subscription-related notifications, alarm state changes, and history blocks.

� Standby - Sync'ng with Active: The state of an AppEngine when it is synchronizing code modules with the Active object. If code modules exist on the Standby computer that do not exist on the Active node, they are uninstalled, and likewise, any code modules that exist on the Active node but not on the Standby node are installed. Once all code modules are synchronized, the AppEngine transitions to Standby-Sync’d Code state.

� Standby - Sync'd Code: The state of a Standby AppEngine that has successfully synchronized all code modules with the Active object.

� Standby - Sync'd Data: The state of a Standby AppEngine when all object-related data, including checkpoint and subscriber information, are synchronized with the Active object. An object in this state typically transitions to Standby-Ready state.

� Switching to Active: A temporary, transitional state when a Standby AppEngine is commanded to become Active.

� Switching to Standby: A temporary, transitional state when an Active AppEngine is commanded to become Standby.

� Unknown: The state of a redundant partner when a communication loss occurs between AppEngines or when the partner AppEngine is not running.

Alarm Generation

When failover conditions occur, the ArchestrA system reports alarms to the Logger. These alarms contain the following information:

� The name of the AppEngine reporting the alarm.

� The node name of the AppEngine reporting the alarm.

� The state of the AppEngine.

� The node name of the AppEngine’s partner object.

Note: Depending on the scenario that causes a failover, the Standby AppEngine may become the Active in an offscan state and alarms may not be generated. If the Active AppEngine is shutdown offscan, the checkpointer may transfer that state to the Standby, and when the latter becomes the Active, it will startup offscan. When the AppEngine is put onscan, alarms then are generated.

Alarms reported are the following:

Wonderware System Platform 3.0 Course - Part 1

Page 466: Manual Wsp 3 Part 1-Rev a Gold

9-12 Module 9 – Multi-Node Applications

Alarm

Previous State

Current State

Alarm Raised When

Alarm Cleared When

Alarm Reported By

Standby - Not Ready 1

Active Standby - Not Ready

Standby - Not Ready

Entering Standby - Ready

ACtive Engine

Standby - Not Available

Active Active - Standby Not Available

Active - Standby Not Available

Entering Active Active Engine

Failover Occurred

Standby Becomes Active

During the next scan of the Active Engine

Active Engine

Legend:

1 The Active AppEngine monitors the status of the Standby through the RMC to determine when to raise this alarm. Also, if the Active AppEngine is in Active-Standby not Available state, this alarm is not generated.

When a failover occurs, the Standby AppEngine that becomes active will not report alarms outstanding from the old Active AppEngine. The state of those old alarms, though, is reflected on the new Active AppEngine as follows:

� Out of alarm

� Unacknowledged

� Unacknowledged-Return to normal

� Acknowledged-Return to normal

� Acknowledged

Timestamps are also preserved for alarms, including when:

� The alarm was acknowledged

� The alarm condition went true

� The alarm condition went false

Finally, the following information is preserved for alarms:

� An alarm was acknowledged

� The message input by the operator when the alarm was acknowledged

Note: All alarm state information is collected and sent to the Standby AppEngine at the end of a scan cycle and before being sent to alarm clients. Any alarms that occur between scan cycles, therefore, may not be reported to the Standby object if the Active object fails. The sequence of reporting alarms ensures that alarm clients do not report alarms in states that are different from those reported by the Standby AppEngine if the Active one fails.

History Generation

All active objects (AppEngine and hosted objects) report history data as they normally do in the run-time environment.

Historical data is reported to the historian only from the Active AppEngine.

Loss of connectivity with the historian does not cause a failover. The Active AppEngine then goes into store-forward mode and caches data every 30 seconds. Store-forward data (when the historian is unavailable) is synchronized with the Standby AppEngine.

Wonderware Training

Page 467: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Application Redundancy 9-13

When failover conditions occur, no more than 30 seconds of history data should be lost in the transition from Standby to Active status. This is done through a combination of store-forward operations when the historian is unavailable and normal reporting operations when it is available.

Forced Failover

Failover can be forced to occur. Do this through the ForceFailoverCmd attribute of the AppEngine. For instance, you can link multiple conditions in a script or use the Object Viewer utility to trigger a forced failover.

Deployment

Primary and Backup AppEngines can be deployed together or individually. When they are deployed together (no matter which object is actually selected for deployment), the Primary always becomes the Active and the Backup becomes the Standby. When they are deployed individually, the first one deployed becomes the Active.

Hosted ApplicationObjects are always deployed to the Active AppEngine. When deploying the first of a redundant pair of AppEngines, you can cascade deploy all objects it hosts. This operation can be paired with deploying both the Primary and Backup AppEngines at the same time.

Note: If you deploy the Backup AppEngine first and then deploy hosted objects to that AppEngine, ensure that network communications to both target computers is good before deploying the Primary AppEngine. Otherwise, errors may occur.

In the run-time environment, either the Primary or Backup AppEngine can become the Active or Standby depending upon failure conditions on either computer.

Before deploying the Primary and Backup AppEngines, all configuration requirements must be met. Each AppEngine must be assigned to a separate WinPlatform. A valid redundancy message channel (RMC) must be configured for each WinPlatform. To deploy the Primary and Backup together, select Include Redundant Partner in the Deploy dialog box. This option is not available when doing the following operations:

� Cascade deploy from the Galaxy

� Multiple object selection deploy

� Deployment of the WinPlatform that hosts the Primary or Backup AppEngine

Wonderware System Platform 3.0 Course - Part 1

Page 468: Manual Wsp 3 Part 1-Rev a Gold

9-14 Module 9 – Multi-Node Applications

See the following table for a matrix of allowed operations based on specific conditions.

Condition Deploy Both Primary

and Backup Objects Cascade Deploy Allowed

Backup AppEngine's host WinPlatform configured for failover and deployed.

Yes Yes

Backup AppEngine in error state. Yes Yes Backup AppEngine's host WinPlatform not deployed. No Yes Backup AppEngine's host WinPlatform not configured for failover and deployed.

Yes Yes

Deploy from Galaxy node. No Yes Deploy from WinPlatform hosting Primary AppEngine. No Yes Multiple object selection deploy. No No Backup AppEngine's host WinPlatform not configured for failover and not deployed.

No Yes

Deploy from Backup AppEngine. Yes Yes Deploy from Primary AppEngine. Yes Yes

Undeploying redundancy pairs of AppEngines is similar to any regular object undeployment. The Active and Backup AppEngines can be undeployed separately. Also, they can be undeployed as a pair by selecting one of the objects in an Application View, selecting the Undeploy command, and selecting Include Redundant Partner in the Undeploy dialog box.

Note: Undeployment of any AutomationObjects, including redundant AppEngine pairs, does not uninstall code modules for that object from the hosting computer. Code modules are uninstalled only when the WinPlatform is undeployed.

Wonderware Training

Page 469: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Application Redundancy 9-15

Errors and Warnings

Certain requirements (for instance, the order you configure an object pair for redundancy) are validated by the system infrastructure. If a requirement is not met, you may see error messages that describe the following:

� You can configure an AppEngine for redundancy before its associated WinPlatform, but if you do, you will get an error message that the Platform (specifically, the RMC) is not configured yet.

� If the RMC IP Address parameter is not configured in both hosting WinPlatforms, then the configuration state of both Primary and Backup AppEngines changes to Error, with a message indicating that the host WinPlatform is not configured with the network adapter required for redundant communications. When the RMC IP Address is configured and the WinPlatforms are checked in, the hosted AppEngines are automatically revalidated and the Error state is resolved. If hosted AppEngines are checked out, they are not revalidated.

� If both Primary and Backup AppEngines are assigned to the same WinPlatform and an attempt is made to deploy both engines, both the Primary and Backup will fail to deploy with a message noting that the Primary and Backup objects must be hosted by different WinPlatforms. Reassign the Backup object to another WinPlatform and deploy it separately.

� If both the Network Address and RMC IP Address parameters in the WinPlatform's editor address the same network card, you will get a warning message when you save the configuration. These two parameters must address different network cards.

Wonderware System Platform 3.0 Course - Part 1

Page 470: Manual Wsp 3 Part 1-Rev a Gold

9-16 Module 9 – Multi-Node Applications

– Intentionally left blank –

Wonderware Training

Page 471: Manual Wsp 3 Part 1-Rev a Gold

Lab 18 – Configuring Application Redundancy 9-17

Lab 18 – Configuring Application Redundancy

Introduction

This lab describes how to configure your galaxy for redundancy starting with the necessary network configuration in Windows to properly handle a second network connection as the galaxy’s redundant message channel.

Using the ArchestrA IDE, the galaxy is configured to become a two-node redundant system that will failover between the two nodes when a failure occurs in the system.

Note: It is assumed that the required second network card is already installed in both computers.

Note: Because of the additional hardware and network requirements necessary, this lab is usually executed as an Instructor demonstration only.

Objectives

Upon completion of this lab you should be able to:

� Configure a second network connection in Windows as the redundant message channel

� Configure the $WinPlatform and $AppEngine object for redundancy

� Create a deployment model for redundant engines

� Force a failover on a redundant system

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.

Configure Windows network connections

Note: The following configuration needs to be done on BOTH computers.

1. Rename the network connections as follows:

Local Area Connection to ArchestrA

Local Area Connection 2 to RMC

2. Use the network connections Advanced Settings to make sure that the ArchestrA connection is access before the RMC connection.

Wonderware System Platform 3.0 Course - Part 1

Page 472: Manual Wsp 3 Part 1-Rev a Gold

9-18 Module 9 – Multi-Node Applications

3. Assign an IP address to the RMC in a different subnet than the ArchestrA connection.

Important! The IP address for the RMC connection on both computers must be different but in the same subnet.

4. On the Advanced setting for TCP/IP, configure the RMC connection to not Register this connection’s addresses in DNS.

Configure the Galaxy for Redundancy

5. Undeploy the galaxy.

6. Configure the ABGRPlatform object’s Redundancy message channel IP address with its own RMC IP address.

7. Create a new instance of the $ABPlatform template using the default name and assign it to the ABControlSystem area.

8. Configure the ABPlatform_001 object with the name of the second computer and its own RMC IP address for the Redundancy message channel IP address .

9. Configure the ABAppEngine object for Redundancy and assign its backup to the ABPlatform_001 object.

Test Redundancy

10. Deploy the galaxy.

11. Using the watch list created in Lab 5, add a new watch window called Redundancy and add the following attribute references:

� ABAppEngine.Host

� ABAppEngine.Redundancy.Identity

� ABAppEngine.Redundancy.Status

� ABAppEngine.Redundancy.PartnerPlatform

� ABAppEngine.Redundancy.PartnerStatus

� ABAppEngine.Redundancy.FailoverOcurred

� ABAppEngine.Redundancy.ForceFailoverCmd

12. Save the watch list.

Wonderware Training

Page 473: Manual Wsp 3 Part 1-Rev a Gold

Lab 18 – Configuring Application Redundancy 9-19

13. Force a failover in the system and monitor the data using Object Viewer and the different watch windows created during the class.

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 474: Manual Wsp 3 Part 1-Rev a Gold

9-20 Module 9 – Multi-Node Applications

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Configure Windows network connections

Note: The following configuration needs to be done on BOTH computers.

1. Open Windows Network Connections by double-clicking on Start / Control Panel / Network

Connections .

The Network Connections window is displayed.

Wonderware Training

Page 475: Manual Wsp 3 Part 1-Rev a Gold

Lab 18 – Configuring Application Redundancy 9-21

2. Rename network connections as follow:

Local Area Connection to ArchestrA

Local Area Connection 2 to RMC

3. From the Advanced menu, select Advanced Settings .

Wonderware System Platform 3.0 Course - Part 1

Page 476: Manual Wsp 3 Part 1-Rev a Gold

9-22 Module 9 – Multi-Node Applications

4. On the Advanced Settings dialog box, Adapters and Bindings tab, make sure that the ArchestrA connection is access before the RMC connection and then click the OK button to close the dialog box.

Tip: You can use the and buttons to arrange the access order.

Wonderware Training

Page 477: Manual Wsp 3 Part 1-Rev a Gold

Lab 18 – Configuring Application Redundancy 9-23

5. Right-click on the RMC connection and select Properties .

6. At the RMC Properties dialog box, on the General tab, select the Internet Protocol (TCP/IP) item and click the Properties button.

Wonderware System Platform 3.0 Course - Part 1

Page 478: Manual Wsp 3 Part 1-Rev a Gold

9-24 Module 9 – Multi-Node Applications

7. At the Internet Protocol (TCP/IP) Properties dialog box select the Use the following IP address option and assign an IP address in a different subnet than the ArchestrA connection.

Click the Advanced button to continue.

Important! The IP address for the RMC connection on both computers must be different but in the same subnet.

Note: In this example the first computer will have an IP address of 192.168.1.1 and the second one will have an IP address of 192.168.1.2. Both will be have a subnet mask of 255.255.255.0

Wonderware Training

Page 479: Manual Wsp 3 Part 1-Rev a Gold

Lab 18 – Configuring Application Redundancy 9-25

8. On the Advanced TCP/IP Settings dialog box, select the DNS tab and uncheck the Register this connection’s address in DNS box.

9. Click the OK button to close the Advanced TCP/IP Settings dialog box.

Click the OK button to close the Internet Protocol (TCP/IP) Properties dialog box.

Click the Close button to close the RMC Properties dialog box.

Wonderware System Platform 3.0 Course - Part 1

Page 480: Manual Wsp 3 Part 1-Rev a Gold

9-26 Module 9 – Multi-Node Applications

Configure the Galaxy for Redundancy

10. Undeploy the ABGRPlatform object.

11. Double-click the ABGRPlatform instance to open its configuration editor.

12. Configure the object as follows:

On the Redundancy section:

Redundancy message channel IP address: 192.168.1.1 [IP address assign to the RMC connection on the first computer]

13. Click the Save and Close button and check in the object.

14. Create a new instance of the $ABPlatform template.

Leave the default name and assign it to the ABControlSystem area.

Wonderware Training

Page 481: Manual Wsp 3 Part 1-Rev a Gold

Lab 18 – Configuring Application Redundancy 9-27

15. Double-click the ABPlatform_001 instance to open its configuration editor.

16. Configure the object as follows:

Network address: [Name of the second computer]

On the Redundancy section:

Redundancy message channel IP address: 192.168.1.2 [IP address assign to the RMC connection on the second computer]

17. Click the Save and Close button and check in the object.

18. Double-click the ABAppEngine instance to open its configuration editor.

Wonderware System Platform 3.0 Course - Part 1

Page 482: Manual Wsp 3 Part 1-Rev a Gold

9-28 Module 9 – Multi-Node Applications

19. Select the Redundancy tab and configure the object as follows:

Enable redundancy: checked

20. Click the Save and Close button and check in the object.

21. On the Deployment view, assign the automatically created ABAppEngine (Backup) object to the ABPlatform_001 instance.

Wonderware Training

Page 483: Manual Wsp 3 Part 1-Rev a Gold

Lab 18 – Configuring Application Redundancy 9-29

Test Redundancy

22. Deploy the galaxy by right-clicking the name of the galaxy and selecting Deploy .

23. Open Object Viewer by right-clicking the ABAppEngine instance and selecting View in Object Viewer . If you closed Object Viewer before, you can use File / Load Watch List to open the file you saved earlier.

24. Right-click in the Watch List (bottom section of Object Viewer ) and select Add Watch Window to add a new tab to the watch list.

25. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab… to rename the watch list to Redundancy .

26. Add the following attributes to the watch list:

Host

Redundancy.Identity

Redundancy.Status

Redundancy.PartnerPlatform

Redundancy.PartnerStatus

Redundancy.FailoverOccurred

Redundancy.ForceFailoverCmd

27. Save the watch list.

Wonderware System Platform 3.0 Course - Part 1

Page 484: Manual Wsp 3 Part 1-Rev a Gold

9-30 Module 9 – Multi-Node Applications

28. Force a failover to the second computer by writing true to the ForceFailoverCmd attribute of the AppEngine.

You can use the Mixer watch window to verify that the objects are running properly.

29. Failover the system doing any of the following on the second computer:

� Unplug the power cable

� Shut down Windows

� Disconnect both network cables at the same time.

You can use the Mixer watch window to verify that the objects are running properly.

Wonderware Training

Page 485: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – DI Redundancy 9-31

Section 2 – DI Redundancy

Section Objective

� This section covers the concept of redundancy, how it can be configured and key points to more effectively implement this feature.

� Understand the concept and functionality of Redundant DI Objects

This section provides an understanding of the concept of redundancy, how it can be configured and key points to more effectively implement this feature. It also provides an understanding of the concept and functionality of Redundant DI Objects

Redundant DI Objects

Application Engines can host Redundant Device Integration Objects (DI Objects). The RedundantDIObject monitors and controls the redundant DIObject data sources. Unlike redundant AppEngines, individual DIObject data sources do not have redundancy-related states. For all intents and purposes, they function as standalone objects.

Only one DIObject data source provides field device data through the RedundantDIObject at a time. Both data sources must have commonly configured DAGroups which are reflected in and channeled through the RedundantDIObject, which monitors the two DIObject data sources and determines which one is Active at any given time. Both data sources must also have the same item address space.

The Redundant DI Object is a DINetwork Object used to enable continuity of I/O information from field devices. The Redundant DI Object provides the ability to configure a single object with connections to two different data sources. If the primary data source fails, the Redundant DI Object automatically switches to the backup data source for its information. There is a one-to-two relationship between an instance of the Redundant DI Object and the running instances of the source DI objects; that is, for each Redundant DI Object, a pair of source DI Objects is deployed.

Wonderware System Platform 3.0 Course - Part 1

Page 486: Manual Wsp 3 Part 1-Rev a Gold

9-32 Module 9 – Multi-Node Applications

* * ! !+,-

!" #

. .

. .

$' ( ) , )*+

' !

& '!" #

$%&

Configuration RedundantDIObjects

Configure redundancy in data acquisition objects in the ArchestrA IDE through their editors. Data acquisition redundancy objects (two DIObjects and the RedundantDIObject) do not have redundancy-related deployment statuses.

In data acquisition redundancy, you must configure all three components: a Primary DIObject data source, a Backup one, and a Redundant DIObject.

Because data acquisition redundant components are essentially standalone objects, all valid operations that apply to any other ApplicationObjects apply to the three objects. All ArchestrA IDE commands, Galaxy Dump and Load functions, and import and export operations are valid on the two DIObject data sources and the RedundantDIObject.

The main focus of RedundantDIObject configuration is:

� Setting the Primary DI Source and Backup DI Source on the General tab of the object’s editor.

� Setting up the common scan groups, and block read and block write groups on the respective tabs of the object’s editor.

Wonderware Training

Page 487: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – DI Redundancy 9-33

Note: You must configure at least one scan group before you can deploy the RedundantDIObject. Also, only scan, block read, and block write groups shared by the Primary and Backup DIObjects should be configured in the RedundantDIObject.

Deployment

Deployment for data acquisition redundancy is the same as individually deploying unrelated objects. No special conditions apply to each DIObject data source and the RedundantDIObject.

What Happens in Run-time

The three objects in the data acquisition redundancy scheme (RedundantDIObject and its two DIObject data sources) function like any other ArchestrA object with respect to deployment, alarming and historization. They have no special redundancy-related states or restrictions with respect to deployment, undeployment and redeployment.

During run-time, the RedundantDIObject monitors the status of the DIObject data sources, and handles the switching from Active to Standby object when failure conditions arise.

Wonderware System Platform 3.0 Course - Part 1

Page 488: Manual Wsp 3 Part 1-Rev a Gold

9-34 Module 9 – Multi-Node Applications

– Intentionally left blank –

Wonderware Training

Page 489: Manual Wsp 3 Part 1-Rev a Gold

Lab 19 – Configuring the Redundant DI Object 9-35

Lab 19 – Configuring the Redundant DI Object

Introduction

This lab describes the steps necessary to configure your galaxy for redundancy at the communication level with the field by using two similar device integration objects connected to the same field device, such a PLC.

Note: Because of the additional hardware and network requirements necessary, this lab is usually executed as an Instructor demonstration only.

Objectives

Upon completion of this lab you should be able to:

� Configure and use the $RedundantDIOObject

� Create a deployment model for redundant DI object

� Force a failover on a redundant DI system

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.

Configure the Redundant DI Object

1. Create two new instances of the $ABAppEngine template, name them ABAppEngineDI1 and ABAppEngineDI2 and assign them to the ABControlSystem area.

2. Host ABAppEngineDI1 on the ABGRPlatform platform and ABAppEngineDI2 on ABPlatform_001 platform.

3. Rename the InControl instance as DIO1 and host it on the ABAppEngineDI1 engine.

4. Create a copy of the DIO1 object by repeating Lab 6 but naming the object DIO2. Assign the new object to the ABControlSystem area and host it on the ABAppEngineDI2 engine.

5. Derived a new template from the $RedundantDIObject object, name it $ABRedundantDIObject , and assign it to the AB Training template toolset.

Wonderware System Platform 3.0 Course - Part 1

Page 490: Manual Wsp 3 Part 1-Rev a Gold

9-36 Module 9 – Multi-Node Applications

6. Create an instance of the $ABRedundantDIObject template and name it InControl .

7. On the General tab, configure the object as follows:

Primary DI source: DIO1

Backup DI source: DIO2

8. On the Scan Group tab, copy the common scan groups and attributes from the primary or backup DI sources.

9. Host the InControl instance on the ABAppEngine object.

Test the Redundant DI Object

10. Deploy the ABAppEngineDI1 , ABAppEngineDI2 , DIO1, DIO2 and InControl objects.

11. Using the watch list created in Lab 5, add a new watch window called RDIO and add the following attribute references:

� InControl.DISourcePrimary

� InControl.DISourceBackup

� InControl.DISourceActive

� InControl.DISourceStandby

� InControl.StatusPrimaryDISource

� InControl.StatusBackupDISource

� InControl.ConnectionStatus

� InControl.SwitchReason

� InControl.ForceFailoverCmd

12. Save the watch list.

13. Force a failover in the system and monitor the objects using Object Viewer and the different watch windows created during the class.

See the next page for Detailed Lab Instructions

Wonderware Training

Page 491: Manual Wsp 3 Part 1-Rev a Gold

Lab 19 – Configuring the Redundant DI Object 9-37

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Configure the Redundancy DI Object

1. Create two new instances of the $ABAppEngine template.

Name them ABAppEngineDI1 and ABAppEngineDI2 and assign them to the ABControlSystem area.

2. In the Deployment view, host ABAppEngineDI1 on the ABGRPlatform platform and ABAppEngineDI2 on ABPlatform_001 platform.

3. Undeploy the InControl instance, rename it DIO1 and host it on the ABAppEngineDI1 engine.

Wonderware System Platform 3.0 Course - Part 1

Page 492: Manual Wsp 3 Part 1-Rev a Gold

9-38 Module 9 – Multi-Node Applications

4. Use Lab 6 – Connecting to the Field to create another device integration object, but name it DIO2 instead of InControl . Assign it to the ABControlSystem area.

Note: You can export your object, rename the original, and then import the object to create a copy of the object with all of the original object’s configuration attributes.

5. In the Deployment view, host the DIO2 object on the ABAppEngineDI2 engine.

Wonderware Training

Page 493: Manual Wsp 3 Part 1-Rev a Gold

Lab 19 – Configuring the Redundant DI Object 9-39

6. Create a derived template from the $RedundantDIObject template, name it $ABRedundantDIObject and assign it to the AB Training template toolset.

7. Create an instance of the $ABRedundantDIObject template, name them InControl and assign it to the ABControlSystem area.

8. Double-click the InControl instance to open its configuration editor.

Wonderware System Platform 3.0 Course - Part 1

Page 494: Manual Wsp 3 Part 1-Rev a Gold

9-40 Module 9 – Multi-Node Applications

9. On the General tab, configure the object as follows:

Primary DI source: DIO1

Backup DI source: DIO2

10. Select the Scan Group tab and click on the Copy Common Scan Groups button.

On the Copy Common Scan Groups dialog box, click the OK button to accept tagname as the scan group for the new InControl object.

Wonderware Training

Page 495: Manual Wsp 3 Part 1-Rev a Gold

Lab 19 – Configuring the Redundant DI Object 9-41

11. Click on the Copy Attributes From Primary button.

12. Click the Save and Close button and check in the object.

Wonderware System Platform 3.0 Course - Part 1

Page 496: Manual Wsp 3 Part 1-Rev a Gold

9-42 Module 9 – Multi-Node Applications

13. In the Deployment view, host the new InControl object on the ABAppEngine engine.

Test the Redundant DI Object

14. Deploy the ABAppEngineDI1 object on cascade.

15. Deploy the ABAppEngineDI2 object on cascade.

16. Deploy the InControl object.

17. Open Object Viewer by right-clicking the InControl instance and selecting View in Object Viewer . If you closed Object Viewer before, you can use File / Load Watch List to open the file you saved earlier.

18. Right-click in the Watch List (bottom section of Object Viewer ) and select Add Watch Window to add a new tab to the watch list.

19. Right-click in the Watch List (bottom section of Object Viewer ) and select Rename Tab… to rename the watch list to RDIO.

Wonderware Training

Page 497: Manual Wsp 3 Part 1-Rev a Gold

Lab 19 – Configuring the Redundant DI Object 9-43

20. Add the following attributes to the watch list:

DISourcePrimary

DISourceBackup

DISourceActive

DISourceStandby

StatusPrimaryDISource

StatusBackupDISource

ConnectionStatus

SwitchReason

ForceFailoverCmd

21. Save the watch list.

22. Force a failover to the second device integration object by writing true to the ForceFailoverCmd attribute of the Redundant DI Object. You can use the Mixer watch window to verify that the objects are running properly.

Wonderware System Platform 3.0 Course - Part 1

Page 498: Manual Wsp 3 Part 1-Rev a Gold

9-44 Module 9 – Multi-Node Applications

23. Failover the system doing any of the following on the second computer:

� Unplug the power cable

� Shut down Windows

� Put the DIO2 object off scan

You can use the Mixer watch window to verify that the objects are running properly.

Wonderware Training

Page 499: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Multi Node Application 9-45

Section 3 – Multi Node Application

Section Objective

This section deals with migrating from a standalone configuration to a network configuration. At the conclusion of this section you will have an understanding of the steps necessary to migrate to a network environment.

This section provides an understanding of how to migrate from a standalone configuration to a network configuration. At the conclusion of this section you will have an understanding of the steps necessary to migrate to a network environment.

Standalone to Network Configuration

Earlier we discussed the standalone configuration you have been using up to this point. At this time you want to migrate over to a network configuration that will reflect four nodes accessing one Galaxy Repository. This will allow us to utilize a networked configuration to convey more complex concepts relating to connectivity, exporting objects and templates and other multi-node environmental considerations.

Each of the nodes contains the Bootstrap, the ArchestrA IDE, and a Galaxy Repository. Once you have reconfigured the environment there will be one machine (Node1) that will contain the Bootstrap, the ArchestrA IDE, and a Galaxy Repository. Three other nodes will be connected to the Galaxy on Node1. Those other three nodes will contain only the Bootstrap and the ArchestrA IDE.

In the networked architecture a common Galaxy Repository will be shared between a set of PCs allowing multiple users to simultaneously work on the same application.

The existing standalone environment is illustrated as follows:

Wonderware System Platform 3.0 Course - Part 1

Page 500: Manual Wsp 3 Part 1-Rev a Gold

9-46 Module 9 – Multi-Node Applications

The networked environment that you are migrating to is illustrated as follows:

Wonderware Training

Page 501: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Multi Node Application 9-47

Multi User Conversion Considerations

When migrating from a Stand Alone environmental configuration to a networked configuration there are some factors that must be taken into consideration. One of the key ones being that certain functions take place on the Galaxy Repository node BEFORE they take place from the connecting nodes.

There a need for only one PLC so the one residing on the resulting Galaxy Repository node is the one that is most likely the one desired for the network. Therefore, that is the one and only one that is to be exported in preparation for the network environment.

The node that contains the Galaxy Repository must do several tasks before any other nodes can connect. These include:

� Create the Galaxy to which all other nodes will connect.

� Create Platforms for other galaxy members.

� Rename the node.

� Name and deploy their own Platform as the first Platform deployed on the Galaxy Repository node.

Failure to follow these key steps before others connect and start deploying objects can produce less than desirable results.

Wonderware System Platform 3.0 Course - Part 1

Page 502: Manual Wsp 3 Part 1-Rev a Gold

9-48 Module 9 – Multi-Node Applications

– Intentionally left blank –

Wonderware Training

Page 503: Manual Wsp 3 Part 1-Rev a Gold

Lab 20 – Convert to Network Environment 9-49

Lab 20 – Convert to Network Environment

Introduction

This lab describes the steps necessary to convert to a Networked Configuration. In this lab you team up with your classmates to create a galaxy that spans across multiple nodes. In the networked environment a common Galaxy Repository is shared between a set of PCs allowing multiple users to simultaneously work on the same application.

To speed up the process, templates you created in the class are re-used.

Since there can only be one Galaxy Repository per galaxy, your team needs to designate one of the team members’ computer to become the sole Galaxy Repository for the galaxy. This person/ computer is designated as the Galaxy Master. The Galaxy Master has specific extra steps to perform.

Objectives

Upon completion of this lab you will be able to:

� Configure a galaxy for a multi-node environment.

Summary Lab Instructions

Following is a summary of the general steps you will complete for this lab.

Note: For this lab there are no detailed steps on the following pages.

Preparation

Note: This section is to be performed by everyone except where noted.

1. Undeploy the galaxy.

2. Export all your templates to a file called MyTemplates.aaPKG .

3. Galaxy Master: Export the InControl instance to a file called InControl.aaPKG .

Note: If you did Lab 19, then export both the I/O 1 and I/O 2.

Wonderware System Platform 3.0 Course - Part 1

Page 504: Manual Wsp 3 Part 1-Rev a Gold

9-50 Module 9 – Multi-Node Applications

Create a New Galaxy

Note: This section is only to be performed by the Galaxy Master .

4. Create a new galaxy named MultiNodeGalaxy .

5. Import the MyTemplates.aaPKG and InControl.aaPKG files.

6. Create an area instance named ControlSystem and assign the InControl object to it.

7. Create a platform instance named ABPlatform and assign it to the ControlSystem area.

8. Create an engine instance named AppEngineDI and assign it to the ControlSystem area.

9. On the Deployment view:

Host AppEngineDI on ABPlatform .

Host InControl on AppEngineDI .

Host ControlSystem on AppEngineDI .

10. Deploy the ABPlatform object on cascade.

11. Configure the galaxy’s security Authentication Mode to Galaxy .

12. Create a user account that belongs to the Administrator role for each member of the team.

Setup the Platforms

Note: This section is not to be performed by the Galaxy Master .

13. Use the ArchestrA IDE to connect to the MultiNodeGalaxy galaxy in the Galaxy Master’s

computer using your designated user account.

14. Import the MyTemplates.aaPKG file.

15. Create a platform instance named ABPlatform and configure it with your local computer’s name. Assign it to the ControlSystem area.

16. Deploy the ABPlatform object on cascade.

Wonderware Training

Page 505: Manual Wsp 3 Part 1-Rev a Gold

Lab 20 – Convert to Network Environment 9-51

Test the Galaxy

Note: This section is to be performed by everyone.

17. Create an engine instance named ABAppEngine , assign it to the ControlSystem area and

host it on your ABPlatform object.

18. Create an area instance named ABLine and host it on your ABAppEngine object.

19. Create an instance of your mixer template and name it properly with the valid 3-digit mixer ID at the end (ABMixer_ XXY) as identified in Lab 2. Host it on your ABLine area.

20. Deploy your ABAppEngine object on cascade.

21. Use Object Viewer to verify that all objects are running properly and are getting data from the field.

Note: Feel free to experiment and play around with the multi-node system to reinforce the knowledge acquired during this class.

Wonderware System Platform 3.0 Course - Part 1

Page 506: Manual Wsp 3 Part 1-Rev a Gold

9-52 Module 9 – Multi-Node Applications

– Intentionally left blank –

Wonderware Training

Page 507: Manual Wsp 3 Part 1-Rev a Gold

Module 10

ArchestrA Graphics

Introduction – InTouch HMI and ArchestrA Integratio n 10-1 Section 1 – Creating and Managing Symbols 10-3

Section 2 – Using ArchestrA Symbols in WindowMaker 10-85

Lab 21 – Symbol Creation 10-93

Section 3 – Using Custom Properties 10-103

Lab 22 – Defining Custom Properties 10-109

Section 4 – Animating Graphic Elements 10-117

Lab 23 – Animation 10-193

Lab 24 – Referencing a Symbol 10-203

Section 5 – Associating Scripts with Symbols 10-209

Lab 25 – Scripting 10-221

Section 5 – Quality & Status 10-224

Lab 26 – Q u a l i t y & S t a t u s 10-234

Page 508: Manual Wsp 3 Part 1-Rev a Gold

3-2 Module 10 – ArchestrA Graphics

Module Objectives

� Select the appropriate communication protocol.

� Use the appropriate tag strategies to solve a problem.

� Use Dynamic Reference Addressing as a troubleshooting tool.

� Monitor Value, Time and Quality.

Wonderware Training

Page 509: Manual Wsp 3 Part 1-Rev a Gold

Introduction – InTouch HMI and ArchestrA Integration

Section Objectives

� Define the differences between InTouch used Stand-Alone, Managed, and Published with the ArchestrA IDE.

Options to Manage InTouch Applications

You can manage your InTouch applications with the InTouch Application Manager or with the ArchestrA IDE.

There are three types of InTouch applications, categorized by how they are managed or where they were published from:

Stand-Alone InTouch applications (Created from the InTouch Application Manager)

Managed InTouch applications (Created from the ArchestrA IDE)

Published InTouch applications (Runtime Application Published from a Managed Application)

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.

Stand-Alone InTouch Applications

Stand-alone InTouch applications are managed by the InTouch Application Manager.

They appear in the InTouch Application Manager as Stand Alone.

Using the Application Manager, you can:

� Create and manage stand-alone InTouch applications.

� Start WindowMaker to edit InTouch applications

� Start WindowViewer to run InTouch applications.

You can also switch directly between WindowMaker and WindowViewer to test or run your applications and switch back to make modifications to your applications.

Network Application Development manages the propagation of changes from your InTouch application on a development node to running InTouch applications on target nodes.

Wonderware System Platform 3.0 Course - Part 1

Page 510: Manual Wsp 3 Part 1-Rev a Gold

1-18 Module 1 – Introduction

Managed InTouch Applications

You can manage your InTouch applications using the ArchestrA Integrated Development Environment (IDE). These applications are called “Managed” InTouch applications.

They appear in InTouch Application Manager as Managed. You develop an InTouch application on one node of the Galaxy with WindowMaker. You then deploy it to one or more target nodes running WindowViewer.

When you use the system platform functionality of the ArchestrA IDE to manage your InTouch applications, you can:

� See which InTouch applications are running on what node.

� Use a central repository for InTouch applications.

� Deploy changes to WindowViewer running on the remote nodes.

� Create and instantiate ArchestrA Graphics.

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.

Published InTouch Applications

After you edit your managed InTouch application, you can publish it.

A managed application appears in InTouch Application Manager as Published.

The advantage of published InTouch applications is that they can be distributed like stand-alone InTouch applications, but continue to support the functionality of the ArchestrA Symbols.

However, you can no longer:

� Use ArchestrA IDE to deploy the InTouch applications.

� Edit or add ArchestrA Symbols in the InTouch applications.

Wonderware Training

Page 511: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – InTouch HMI and ArchestrA Integration 1 -19

Comparing Stand-Alone, Managed, and Published InTou ch Applications

Stand-alone, managed, and published InTouch applications have some differences and some similarities, as described in the following table:

Stand-alone InTouch Applications

Managed InTouch Applications

Published InTouch Applications

Create Application Application Manager ArchestrA IDE

• New application • Importing stand-alone

application • Importing SmartSymbols

Not possible

Edit Application WindowMaker started from the Application Manager

WindowMaker started from within the IDE

WindowMaker started from the Application Manager

Delete Application Delete folder and remove from Application Manager

Delete InTouchViewApp template

Delete folder and remove from Application Manager

Support of ArchestrA Symbols

No Yes for all operations Yes, but only for viewing, not for creating and editing

Support of DB Dump and DB Load

Yes, function within Application Manager

Yes, function within the IDE Yes, function within Application Manager

Editing application in original resolution requires conversion

Yes Yes Yes

Management of Distributed Applications

Network Application Development (NAD)

ArchestrA IDE Network Application Development (NAD)

Configuring how new InTouch application versions are accepted

Configured in Application Manager (Network Application Development)

Configured in WindowMaker Configured in Application Manager (Network Application Development)

Use Fast-Switch to test application

Yes Yes Yes

Use tag value and tag parameter retention

Yes Yes, also requires configuration of the local working directory

Yes

Wonderware System Platform 3.0 Course - Part 1

Page 512: Manual Wsp 3 Part 1-Rev a Gold

1-20 Module 1 – Introduction

Managing InTouch Applications Using the IDE

ArchestrA manages your InTouch applications with a specific type of ArchestrA object called the InTouchViewApp object.

An InTouchViewApp template references one specific managed InTouch application at design time and cannot be executed at run time.

You must create an instance of the InTouchViewApp template. This instance can be deployed to a target node. The target node is the node on which the managed InTouch application runs in WindowViewer.

To distribute an InTouch application, you create multiple instances of the same template and deploy them to multiple nodes.

Optionally, you can:

� Export and import the InTouchViewApp object to exchange managed InTouch applications across Galaxies.

� Export and import tag dictionary data as .csv files.

� Export and import windows between different types of InTouch applications.

� Publish the managed InTouch application. The published InTouch application runs like a stand-alone InTouch application but can contain ArchestrA Symbols.

� Use the attributes of the deployed InTouchViewApp object to read from and write to InTouch tags with ArchestrA attributes.

To use the InTouchViewApp object

a. Derive an InTouchViewApp template from the $InTouchViewApp base template.

b. Associate the derived template with an InTouch application by creating a new InTouch application or importing a stand-alone InTouch application.

c. Open the application in WindowMaker.

d. Configure the application in WindowMaker and test it in WindowViewer.

e. Save and close WindowMaker. The InTouchViewApp template is checked in.

f. Derive instances from the InTouchViewApp template.

g. Deploy these instances to selected target nodes within the Galaxy.

h. Run Application Manager on the target nodes and run the managed InTouch applications in WindowViewer.

Associating an InTouchViewApp Template with an InTouch Application

After you create a new InTouchViewApp template, you can associate an InTouchViewApp template with an InTouch application by:

� Creating a new InTouch application.

� Importing a stand-alone InTouch application.

The InTouchViewApp template does not contain the InTouch application data itself, such as the tag configuration and values, but simply references the application.

Wonderware Training

Page 513: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – InTouch HMI and ArchestrA Integration 1 -21

Editing a Managed InTouch Application

You edit a managed InTouch application with WindowMaker as you do for a stand-alone InTouch application, except that you open the editor of the InTouchViewApp template to start the associated InTouch application in WindowMaker.

When you close WindowMaker after making changes to the InTouch application, the InTouchViewApp object is automatically checked in.

Testing a Managed InTouch Application

You can test a managed InTouch application with WindowViewer as you can with stand-alone InTouch applications.

When a managed InTouch application is open in WindowMaker, you can fast-switch to WindowViewer and then back to WindowMaker again.

If a managed InTouch application contains references to ArchestrA data, such as galaxy:UDA, then a WinPlatform object needs to be deployed to the node you are editing the InTouch application on. Otherwise, the data shows blank values.

Exporting and Importing an InTouchViewApp Object

You can export the InTouchViewApp object. You do this, for example, to use the managed InTouch application together with its hosting InTouchViewApp object in other Galaxies.

When you export the object, a package file (.aaPKG) is created containing information about the object, the associated managed InTouch application, and any ArchestrA Symbols the application uses.

When you import an InTouchViewApp object, the ArchestrA IDE also imports the managed InTouch application.

To import an InTouchViewApp object

a. On the Galaxy menu, point to Import , and then click Object(s) . The Export Automation Object(s) dialog box appears.

b. Select the ArchestrA package (.aaPKG) file that contains the InTouchViewApp object you want to import and click Open . The object and its managed InTouch application are imported.

c. Click Close .

To export an InTouchViewApp object

a. On the Galaxy menu, point to Export , and then click Object(s) . The Import Automation Object(s) dialog box appears.

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

c. Click Close .

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 System Platform 3.0 Course - Part 1

Page 514: Manual Wsp 3 Part 1-Rev a Gold

1-22 Module 1 – Introduction

Publishing Managed InTouch Applications

You can publish a managed InTouch application. The published InTouch application is no longer associated with the InTouchViewApp template.

The published application cannot be edited within the IDE or imported into another InTouchViewApp template. In other words, you cannot manage it with the IDE or republish it. The published InTouch application can still communicate with the Galaxy through any embedded ArchestrA Symbol. You can, for example, write data back to the Galaxy or visualize Galaxy data.

You can edit the ArchestrA Symbol using basic InTouch operations such as copying, cutting, pasting, duplicating, moving, resizing, flipping, rotating, and configuring with InTouch animation links.

However, the ArchestrA Symbols cannot be modified, nor can new ArchestrA Symbols be embedded into the InTouch application. These operations are only allowed with managed InTouch applications.

You can do this in environments that do not support the processing requirements of ArchestrA. For example, in remote plant operations or in small networks.

Exporting and Importing InTouch Windows between InTouch Applications

You can export windows from all three InTouch application types from WindowMaker, but there are some restrictions on importing exported windows or windows directly from an InTouch application.

� For stand-alone InTouch applications, you cannot import any windows from published and managed InTouch applications that contain ArchestrA Symbols. A warning message appears, and information on which windows were not imported is written to the Logger. If you import windows from managed or published InTouch application that contain ArchestrA Symbols, the windows are imported, but the ArchestrA Symbols are not functional and appear as “Not Found”.

� For managed InTouch applications, you can import any windows from published, stand- alone, and other managed InTouch applications. Embedded ArchestrA Symbols are not imported.

� For published InTouch applications, you can import any windows from stand-alone InTouch applications.

� Embedded ArchestrA Symbols are not imported.

Wonderware Training

Page 515: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – InTouch HMI and ArchestrA Integration 1 -23

Differences Between the InTouchViewApp Object and Other AutomationObjects

The InTouchViewApp object is unlike other AutomationObjects. You cannot perform some operations you can normally do with other AutomationObjects.

� If you try to configure an InTouchViewApp instance, a message appears asking if you want to open its parent template instead. You cannot configure the instance directly, only the parent template.

� If you try to open more than one InTouchViewApp template for configuration at a time on one node, IDE prevents you from doing so. Close WindowMaker, WindowViewer, and Application Manager and retry. Alternately, you can edit the InTouchViewApp object on a different node with InTouch WindowMaker.

� If you close the IDE while editing an InTouch application with WindowMaker, WindowMaker prompts you to save any changes. It then closes and the InTouchViewApp template is checked in.

� If you close the IDE while testing an InTouch application with WindowViewer, WindowViewer closes.

If you want to:

� Change the association between the InTouchViewApp and the InTouch application, create a new derived InTouchViewApp template instead.

� Use ArchestrA security (Galaxy security) in InTouch, deploy a WinPlatform instance to the node on which the deployed managed InTouch application is running.

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 System Platform 3.0 Course - Part 1

Page 516: Manual Wsp 3 Part 1-Rev a Gold

1-24 Module 1 – Introduction

Managing InTouch Applications with the IDE

You can use the ArchestrA IDE to:

� Create a new managed InTouch application.

� Import an existing InTouch application to use as a managed InTouch application.

� Start WindowMaker.

� Submit the changes you make in WindowMaker to a managed InTouch application.

� Export and import a managed InTouch application together with its InTouchViewApp object.

� Publish a managed InTouch application.

� Delete a managed InTouch application.

� Import and export tag data used in a managed InTouch application.

� Export tag data to and import tag data from a .csv file.

You can start the ArchestrA IDE from the InTouch Application Manager.

The following graphic shows how applications are imported, exported, managed, and published.

Starting the ArchestrA IDE from Application Manager

If ArchestrA IDE is installed on the same computer as InTouch, you can easily start the ArchestrA IDE from the InTouch Application Manager.

To start the ArchestrA IDE from Application Manager

In the InTouch Application Manager, do one of the following:

� On the File menu, click ArchestrA IDE.

� Click the ArchestrA IDE icon on the toolbar. The Connect to Galaxy dialog box opens.

Wonderware Training

Page 517: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – InTouch HMI and ArchestrA Integration 1 -25

Creating a Managed InTouch Application

You create a managed InTouch application by creating and configuring an InTouchViewApp object.

You can also view application version, resolution, and description information directly from the InTouchViewApp object.

The InTouch application directory is created as a share:

\\GRNodeName\GalaxyName-$InTouchViewAppObjectName

This directory is managed by the IDE, not by the InTouch Application Manager.

Note: The examples below show the objects installed with the Base_InTouch galaxy type. The Base_Application_Server galaxy type installs several more objects.

To create a managed InTouch application

a. Open the ArchestrA IDE.

b. In the Template Toolbox , expand the System toolset.

c. Derive a template from the $InTouchViewApp base template. Do the following:

� Right-click the $InTouchViewApp base template, point to New, and then click Derived Template . A new derived template appears with a default name.

� Rename it, if needed.

Wonderware System Platform 3.0 Course - Part 1

Page 518: Manual Wsp 3 Part 1-Rev a Gold

1-26 Module 1 – Introduction

d. Double-click the derived template.

The InTouchViewApp Initialization dialog box appears.

Select Create New InTouch Application and click Next .

e. Type a name for the InTouch application and a description.

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

Page 519: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – InTouch HMI and ArchestrA Integration 1 -27

To view application version, resolution, and description

a. Open the Template Toolbox .

b. Right-click the InTouchViewApp template, and then click Application Information . The Application Information dialog box appears.

Starting WindowMaker from the ArchestrA IDE

You can edit a managed InTouch application by starting WindowMaker from within the ArchestrA IDE.

You can start WindowMaker from an InTouchViewApp template or an instance.

When opening a managed InTouch application created with a different screen resolution than your current system resolution, a message appears.

� Click Yes to convert the InTouch application to the current system resolution and open it.

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

Wonderware System Platform 3.0 Course - Part 1

Page 520: Manual Wsp 3 Part 1-Rev a Gold

1-28 Module 1 – Introduction

To start WindowMaker from an InTouchViewApp instance

a. Open the ArchestrA IDE.

b. Locate the InTouchViewApp object whose parent hosts the managed InTouch application you want to modify.

c. Double-click the InTouchViewApp object. The InTouchViewApp Instance Edit dialog box appears.

Do any of the following:

� Click No to not open the template.

� Click Yes to open the associated InTouchViewApp template in WindowMaker.

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

Page 521: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – InTouch HMI and ArchestrA Integration 1 -29

Submitting Changes for an InTouch Application

After you modify your managed InTouch application, you can submit the changes for deployment to the target nodes.

After you make changes to a managed InTouch Application, any derived InTouchViewApp objects appear with the Pending Changes icon.

This indicates that you must redeploy the changes to the target nodes, for WindowViewer on those nodes to reflect the changes.

To submit the changes for an InTouch application

a. Modify your managed InTouch application in WindowMaker as you would with a stand-alone InTouch application.

b. Save your InTouch windows.

c. On the File menu, click Exit . WindowMaker closes and the focus returns to IDE. The Check In dialog box appears.

d. Type a comment for check in, if necessary and click OK. The Check In progress dialog box appears.

e. Click Close .

Wonderware System Platform 3.0 Course - Part 1

Page 522: Manual Wsp 3 Part 1-Rev a Gold

1-30 Module 1 – Introduction

Importing an InTouch Application

You can import an existing InTouch application to use as a managed InTouch application. You do this in two steps:

� Create an InTouchViewApp object to associate with the imported InTouch application.

� Import the InTouch application.

The imported InTouch application becomes a managed InTouch application.

The ArchestrA IDE creates a copy of the existing InTouch application in a folder that it manages. The IDE leaves the existing InTouch application and location unchanged.

If the version of the InTouch application you are importing is 6.0 or above, a conversion message appears. The application is converted before it is opened in WindowMaker. InTouch applications versions before 6.0 cannot be converted.

To import an InTouch application into a Galaxy

a. Open the ArchestrA IDE.

b. In the Template Toolbox, derive a template from the $InTouchViewApp base template.

c. Open the derived template. The InTouchViewApp Initialization dialog box appears.

d. Click Import Existing Application and click Next . The next panel appears.

Wonderware Training

Page 523: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – InTouch HMI and ArchestrA Integration 1 -31

e. Locate the InTouch application. Do any of the following:

� Click the ellipsis button to browse for the folder that contains the managed InTouch application.

� To search for the application, select the Find applications check box. Specify a search root for the search to begin and click Find . Select the InTouch application from the list.

f. Click Next . The next panel appears.

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 System Platform 3.0 Course - Part 1

Page 524: Manual Wsp 3 Part 1-Rev a Gold

1-32 Module 1 – Introduction

Exporting and Importing Tag Data

You can export the tag data of a managed InTouch application to a .csv file. You can import this data into another managed InTouch application or a stand-alone InTouch application.

To export tag data from a managed InTouch application

a. Open the ArchestrA IDE.

b. Select the derived InTouchViewApp template that contains the managed InTouch application from which you want to export the tag data.

c. On the Galaxy menu, point to Export , and then click DB Dump . The CSV File to Dump To dialog box appears.

d. Specify a location and file name for the .csv file and click Save. A confirmation dialog box appears.

e. Select Group output by types if you want the tag data to be grouped by data types in the .csv file.

f. Click OK. When a success message appears, click OK.

To import tag data from a .csv file to a managed InTouch application

a. Open the ArchestrA IDE.

b. Select the derived InTouchViewApp template that contains the managed InTouch application to which you want to import the tag data.

c. On the Galaxy menu, point to Import , and then click DB Load . The CSV File to Load From dialog box appears.

d. Select the .csv file and click Open . During the import, one or more messages may appear warning you of duplicate names. Select the appropriate option for each duplicate tag.

e. When a success message appears, click OK.

Retaining Tag Value and Parameters

When you use multiple managed InTouch applications on one node, all applications use the same directory. If you configure tag data or parameters to be retained and you switch applications, the run-time data is lost.

To configure retention in a managed InTouch application

a. Open the managed InTouch application with WindowMaker from the IDE.

b. On the Special menu, point to Configure , and then click WindowViewer . The WindowViewer Properties dialog box appears.

c. Click the Managed Application tab.

d. In the Local Working Directory box, type the name of a unique existing directory. This is the name of the directory on the target run-time node.

Wonderware Training

Page 525: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-3

Section 1 – Creating and Managing Symbols

Section Objectives

� Create ArchestrA Symbols.

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

� Create a new symbol.

� Open the symbol for editing with the ArchestrA Symbol Editor.

� Organize symbols within the Graphic Toolbox.

� Import and export symbols.

� Delete a symbol.

� Configure security for a symbol.

� Open the symbol in read-only mode with the ArchestrA Symbol Editor.

Creating a New Symbol

You can create a new symbol in either:

� The Graphic Toolbox for generic symbols that you are likely to frequently use in different situations, for example a valve symbol.

� The Graphics panel of an Automation object template , if you are likely to re-use the ArchestrA symbol in combination with the object functionality. An example would be a symbol representing a specific tank and your production facility has multiple tanks.

� The Graphics panel of an Automation object instance , if you are unlikely to re-use the symbol in any other situation.

Creating Symbols in the Graphic Toolbox

You can create a symbol in the Graphic Toolbox.

When you create a new symbol, the symbol is listed in the Graphic Toolbox. After you create a new symbol, you can move the symbol or open the ArchestrA Symbol Editor to edit it.

You can use the drawing tools and your mouse to create new shapes or embed symbols from the ArchestrA Graphics Library to become part of your new symbol.

Wonderware System Platform 3.0 Course - Part 1

Page 526: Manual Wsp 3 Part 1-Rev a Gold

3-4 Module 10 – ArchestrA Graphics

To create a new symbol from the IDE

a. On the Galaxy menu, point to New, and then click Symbol . The Graphic Toolbox appears and a new symbol is listed.

Note: You can press the following keys to create a new ArchestrA symbol: Ctrl + Shift + S.

b. Rename the symbol. Names must be unique within the entire hierarchy. Valid characters for symbol names include alphanumeric characters, # and _ (underscore). Symbol names cannot contain spaces and the symbol name cannot begin with the $ character.

c. Double-click the symbol name. The ArchestrA Symbol Editor opens.

d. Now you can draw your symbol.

Wonderware Training

Page 527: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-5

Working with Graphic Elements

This section shows you how to work with the common features of graphic elements.

About Graphic Elements

Graphic elements are basic shapes and controls you can use to create a symbol to your specifications. You can:

� Draw an element by selecting an element from the Tools panel, placing it on the canvas, and then configuring its properties.

� Select one or more elements on the canvas with the mouse or from the Element list.

� Edit certain elements in a special way called inline editing.

� Copy, cut, paste, and duplicate elements.

� Move elements around on the canvas.

� Align elements to each other.

� Change the spacing between elements.

� Resize elements.

� Change the z-order of elements to change which elements appear on top of others when they overlap.

� Rotate elements.

� Change the origin of elements to specify around which point the elements are rotated.

� Flip elements on their horizontal or vertical axis.

� Lock elements to stop them being moved or changed.

� Undo and redo any number of changes made previously to the symbol.

� Create groups of elements to bind them together.

� Create a path graphic from multiple open line elements.

Drawing and Dragging Elements

You can create elements such as lines, curves, circles, squares, and so on. You can combine these elements to create complex drawings of all the equipment in your manufacturing environment.

After you draw an element, you can modify its properties.

Regardless of the kind of element you are drawing, drawing each kind of element is very similar.

After you draw an element, the pointer tool is selected again by default. To draw multiple elements of the same type, double-click the element in the Tools panel. It remains selected after you draw your first element of that type. You can press the ESC key to return to the pointer tool again.

If you draw or drag an element outside of the visible canvas area to the right or bottom, horizontal and/or vertical scroll bars appear but the visible area does not follow the mouse.

You can later use the scroll bars to scroll the canvas and see the element you drew or moved.

Wonderware System Platform 3.0 Course - Part 1

Page 528: Manual Wsp 3 Part 1-Rev a Gold

3-6 Module 10 – ArchestrA Graphics

Drawing Rectangles, Rounded Rectangles, Ellipses, and Lines

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

To draw a rectangle, rounded rectangle, ellipse, or line

a. Click the appropriate icon in the Tools panel.

b. Click the canvas and drag the shape of the element on the canvas.

c. When you are done, release the mouse button.

Drawing Polylines, Polygons, Curves, and Closed Curves

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

To draw a polyline, polygon, curve, or closed curve

a. Click the appropriate icon in the Tools panel.

b. Click the canvas where you want to start the element.

c. Click the next point for the element.

d. Continue clicking until you have all the points you require.

e. When you are done, right-click.

f. You can change the shape of these elements anytime by editing their control points.

Drawing 2-Point Arcs, 2-Point Pies and 2-Point Chords

You can draw 2-point arcs, 2-point pies, and 2-point chords on the canvas. If you are drawing a closed element, the element automatically closes when you are done drawing.

To draw a 2-point arc, 2-point pie, or 2-point chord

a. Click the appropriate icon in the Tools panel.

b. Click the canvas where you want to start the element and hold the mouse button.

c. Drag the mouse to where you want the element to end.

d. When you are done, release the mouse button.

e. You can change the shape of these elements anytime by editing their control points.

Wonderware Training

Page 529: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-7

Drawing 3-Point Arcs, 3-Point Pies, and 3-Point Chords

You can draw 3-point arcs, 3-point pies and 3-point chords on the canvas. If you are drawing a closed element, the element automatically closes when you are done drawing.

To draw a 3-point arc, 3-point pie, or 3-point chord

a. Click the appropriate icon in the Tools panel.

b. Click the canvas where you want to start the element.

c. Click the canvas in two other places to define the element.

d. You can change the shape of these elements anytime by editing their control points.

Placing and Importing Images

You can place an image element on the canvas and import an image into it.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 530: Manual Wsp 3 Part 1-Rev a Gold

3-8 Module 10 – ArchestrA Graphics

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:

� Press Enter to type a new line of text. This new line is a new element.

� Click the canvas outside the text element.

Drawing Text Boxes

You can draw text boxes on the canvas. Text boxes can have borders and background fill.

You can also configure the text to wrap in the text box.

To draw a text box

a. Click the text box icon in the Tools panel.

b. Click the canvas where you want to place the text box.

c. Drag a rectangle on the canvas.

d. Release the mouse button. The text appears in edit mode.

e. Type a text label for the text box, and then press Enter.

Drawing Status Elements

You can use the status element to indicate specific quality and status conditions of attributes.

To draw status elements

a. Click the status icon in the Tools panel.

b. Click the canvas where you want to place the status element.

c. Drag a rectangle on the canvas.

d. Release the mouse button.

Wonderware Training

Page 531: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-9

Drawing Windows Controls

You can draw Windows controls on the canvas to add additional functionality to your symbol. Each of the Windows controls has specific behavior when it is drawn. For example, you can change the width of a combo box, but not the height.

To draw a windows control

a. Click the appropriate Windows control icon in the Tools panel.

b. Click the canvas where you want to place the Windows control.

c. Drag a rectangle on the canvas.

d. Release the mouse button.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 532: Manual Wsp 3 Part 1-Rev a Gold

3-10 Module 10 – ArchestrA Graphics

Editing Element Properties

You can control the appearance of an element, a group of elements, or multiple elements with functions on the toolbar and/or properties in the Properties Editor.

Often you can edit an element by changing the values of its properties instead of using the mouse to perform the same function. This is useful when you want very exact editing, such as when you want to resize an element to a specific width.

The Properties Editor shows the properties common to all selected elements.

� Read-only properties appear in grey.

� Non-default values appear in bold.

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:

Property Category Purpose Properties Editor

Graphic Element name or other describing identifiers

Appearance Element location, size, orientation, offset, transparency and locked status

Fill Style Any parameters related to the fill appearance of the element

Line Style Any parameters related to the line appearance of the element

Text Style Any parameters related to the text appearance of the element

Runtime Behavior Element visibility, tab order and any other element behavior at run time

Custom Properties Additional user-defined properties you can associate with any element

Wonderware Training

Page 533: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-11

Selecting Elements

You can select one or more elements by:

� Clicking on them with the mouse.

� Dragging the lasso around them with the mouse.

� Selecting them with a menu option or with a shortcut key.

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

Selected Element Description

Primary Element Appears with color-filled handles.

Behaves as an active selected element.

Is the point of reference for all operations, such as aligning or spacing multiple selected elements.

Secondary Elements Appear with white handles.

Behave as inactive selected elements.

Follow the edits made to the primary element.

To select a group, you must click one of the elements contained in the group.

Wonderware System Platform 3.0 Course - Part 1

Page 534: Manual Wsp 3 Part 1-Rev a Gold

3-12 Module 10 – ArchestrA Graphics

Selecting Elements by Mouse Click

You can select one or more elements by pressing Shift + clicking. This is particularly useful for selecting multiple elements that are not necessarily all included in a specified rectangular area on the canvas.

To select an element or multiple elements by mouse click

a. On the canvas, click an element. It becomes selected.

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.

Selecting Elements by Lasso

You can select one or more elements by lassoing them with your mouse. This is useful for selecting multiple elements within a specified rectangular area on the canvas.

To select elements by lasso

a. On the canvas, click outside any element and hold the mouse button down.

b. Drag the mouse so that the lasso wraps around all elements that you want to select.

c. When you are done, release the mouse button. The elements that are fully included in the lasso are selected.

Selecting All Elements

You can select all elements using the Select All function.

To select all elements

� On the Edit menu, click Select All. All elements on the canvas are selected.

Note: Note You can also press the F2 key to select all elements.

Wonderware Training

Page 535: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-13

Selecting Elements Using the Elements List

You can use the Elements List to select any elements on the canvas. The Elements List is particularly useful for selecting elements behind other elements.

The Elements List shows which elements are currently selected. The primary selected element appears by default in dark blue, the secondary selected elements appear by default in light blue.

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.

To select elements using the Elements List

a. In the Elements List, select the element name.

b. To select multiple elements, Ctrl + click the other elements.

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:

� Shift + click the selected element on the canvas.

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

Wonderware System Platform 3.0 Course - Part 1

Page 536: Manual Wsp 3 Part 1-Rev a Gold

3-14 Module 10 – ArchestrA Graphics

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:

Element Use inline editing to

Button, text, text box Edit the text.

Polyline, polygon, curve, closed curve Edit the control points.

2-point arc, 2-point pie, 2-point chord, 3-point arc, 3-point pie, 3-point chord

Edit the start and sweep angles.

Group Edit the individual elements and groups contained in the group.

Path Edit the control points.

To edit elements with inline editing

a. Select an element. The element handles appear.

b. Click the element again to begin inline editing.

� For buttons, text, and text boxes, the text is selected and you can type new text.

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

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

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

c. Click the canvas outside the element.

Wonderware Training

Page 537: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-15

Copying, Cutting, and Pasting Elements

After you draw elements, you have the same cut, copy, and paste options available to you as in any other Windows application. However, some of these options behave differently in the ArchestrA Symbol Editor.

You can also duplicate elements. Duplicating elements lets you quickly make copies of existing selected elements without first copying or cutting. You can duplicate one or more selected elements at the same time.

When you copy or duplicate elements, all of its properties are copied with the element. If you do not want the properties to be identical, you must change the properties after you copy.

Locked grouped elements and the path element behave differently when you copy or duplicate them.

If you copy or duplicate:

� A set of elements that are locked, the copy is not locked.

� Grouped elements, the copy is still grouped.

� A path element, the copy is also a path.

Copying Elements

After you select an element, you can copy it by using menu options or you can Ctrl + click.

To copy one or more elements

� Do any of the following:

� Select one or more elements to be copied on the canvas. On the Edit menu, click Copy. On the Edit menu, click Paste. The paste pointer appears. Click the canvas where you want to place the copy.

� Ctrl + click an element.

� Select one or more elements to be copied on the canvas. Press Ctrl + C. Press Ctrl + V. The paste pointer appears. Click the canvas where you want to place the copy.

Wonderware System Platform 3.0 Course - Part 1

Page 538: Manual Wsp 3 Part 1-Rev a Gold

3-16 Module 10 – ArchestrA Graphics

Cutting or Deleting Elements

You can cut elements or groups or you can delete them. Cutting lets you select elements or groups and remove them from the canvas. You can paste the removed elements or groups.

Deleting elements or groups deletes them from the canvas. You cannot paste deleted elements or groups.

To cut one or more elements

� Select one or more elements, and then do one of the following:

� On the Edit menu, click Cut.

� Press Ctrl + X.

To cut and paste elements on the canvas

a. Select the element or group.

b. On the Edit menu, click Cut.

c. Do one of the following:

� Click Paste on the Edit menu.

� Press Ctrl + V.

d. Click the canvas location where you want the element or group to be placed.

To delete an element or a group

a. To remove the element or group and not use it in the future, select the element or group.

b. Do one of the following:

� Click Delete on the Edit menu.

� Press Delete on your keyboard.

Wonderware Training

Page 539: Manual Wsp 3 Part 1-Rev a Gold

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:

� Click Duplicate on the Edit menu. The selected element is duplicated and appears offset to the original element.

� Press Ctrl + D. The selected element is duplicated and appears offset to the original element.

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

Wonderware System Platform 3.0 Course - Part 1

Page 540: Manual Wsp 3 Part 1-Rev a Gold

3-18 Module 10 – ArchestrA Graphics

Resizing Elements

You can resize selected elements by:

� Dragging the handles of a single element to increase or decrease its horizontal or vertical size.

� Changing the Width and Height properties of one or more elements using the Properties Editor.

� Proportionally resizing multiple elements.

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

Resizing a Single Element with the Mouse

You can resize a single selected element with the mouse.

You can resize most elements to any given width and height, or to a fixed width to height ratio.

To resize a single selected element with the mouse

a. Select an element. The handles of the selected element appear.

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.

Resizing Elements by Changing Size Properties

You can resize one or more elements by changing the width and/or height property of the selected element(s).

To resize elements by changing their size properties

a. Select one or more elements.

b. In the Properties Editor, type a value for Width and for Height. The selected elements are resized accordingly.

Wonderware Training

Page 541: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-19

Resizing Elements Proportionally

You can resize multiple elements proportionally on the canvas. One element is the primary element you can use to resize. The secondary elements resize proportionally to the change of the primary element.

To resize elements proportionally

a. Select multiple elements.

b. Drag one of the handles of the primary element. The secondary elements are resized accordingly by the same percentage.

c. Release the mouse button.

For example, assume the primary element is 100 pixels wide and 50 pixels high. A secondary element is 200 pixels wide and 20 pixels high.

You drag the handle of the primary element so that it is 120 pixels wide (20% increase) and 100 pixels high (100% increase).

Then the secondary element is resized to 240 pixels wide (20% increase of the original width of 200 pixels) and 40 pixels high (100% increase of the original width of 20 pixels).

Making Elements the Same Width, Height, or Size

You can make elements the same width, height, or size.

To make elements the same width

a. Select at least two elements. Make sure the primary element is the element with the target width for all elements.

b. On the Arrange menu, point to Size, and then click Make Same Width. The width of the secondary elements are resized to the same width as the primary element.

Wonderware System Platform 3.0 Course - Part 1

Page 542: Manual Wsp 3 Part 1-Rev a Gold

3-20 Module 10 – ArchestrA Graphics

To make elements the same height

a. Select at least two elements. Make sure the primary element is the element with the target height for all elements.

b. On the Arrange menu, point to Size, and then click Make Same Height. The height of the secondary elements are resized to the same height as the primary element.

To make elements the same size

a. Select at least two elements. Make sure the primary element is the element with the target size for all elements.

b. On the Arrange menu, point to Size, and then click Make Same Size. The size of the secondary elements are resized to the same size as the primary element.

Adjusting the z-Order of Elements

The z-order of elements specifies which element appears on top of other elements when the elements overlap on the canvas. The z-order also determines how the elements of a path graphic connect.

When you place new elements on the canvas, they are placed at the top and can cover all other elements.

However, you might want to bring certain elements forward so that they are always visible or overlap certain other elements. Or you may want to use a large background element behind all other elements. You can:

� Bring one or more elements to the very front.

� Send one or more elements to the very back.

� Bring one or more elements one level forward.

� Send one or more elements one level backward.

You can use the Elements List to see or change the z-order of the elements.

For more information of Adjusting the z-Order of Elements see Chapter 5 of Creating and Managing ArchestrA Graphics User’s Guide.

Wonderware Training

Page 543: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-21

Rotating Elements

You can rotate elements to any orientation (0 - 359 degrees):

� Graphically with the rotation handle.

� Numerically by typing the orientation angle in the Properties Editor.

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

Rotating Elements with the Mouse

You can rotate one or more elements with the mouse. If you select multiple elements, you can rotate the primary element. The secondary elements are rotated together with the primary element.

You can rotate elements:

� Freely in the range 0 to 359 in integer degrees.

� In multiples of 15 degrees.

� In multiples of 45 degrees.

You can rotate an element with the rotation handle. The rotation handle is a light-blue circle at the top of a selected element.

To rotate elements freely with the mouse

a. Select one or more elements.

b. Grab the rotation handle of the primary element.

c. Drag the mouse across the screen. All selected elements are rotated around their own points of origin as you move the mouse.

d. Release the mouse button.

To rotate elements by multiple of 15 degrees with the mouse

a. Select one or more elements.

b. Grab the rotation handle of the primary element.

c. Press and hold the Shift key.

d. Drag the mouse across the screen. All selected elements are rotated in multiples of 15 degrees around their own points or origin as you move the mouse.

e. Release the mouse button and the Shift key.

To rotate elements by multiple of 45 degrees with the mouse

a. Select one or more elements.

b. Grab the rotation handle of the primary element.

c. Press and hold the Ctrl key.

d. Drag the mouse across the screen. All selected elements are rotated in multiples of 45 degrees around their own points or origin as you move the mouse.

e. Release the mouse button and the Ctrl key.

Wonderware System Platform 3.0 Course - Part 1

Page 544: Manual Wsp 3 Part 1-Rev a Gold

3-22 Module 10 – ArchestrA Graphics

Rotating Elements by Changing the Angle Property

You can change the angle property of one or more selected elements.

To rotate elements by changing the angle property

a. Select one or more elements.

b. In the Properties Editor, type a value in the Angle box.

c. Press Enter. The selected elements rotate to the specified angle.

Rotating Elements by 90 Degrees

You can rotate elements by 90 degrees clockwise or counter-clockwise.

To rotate elements by 90 degrees clockwise

a. Select one or more elements.

b. On the Arrange menu, point to Transform, and then click Rotate Clockwise. The selected elements rotate by 90 degrees clockwise.

To rotate elements by 90 degrees counter-clockwise

a. Select one or more elements.

b. On the Arrange menu, point to Transform, and then click Rotate Counter Clockwise. The selected elements rotate by 90 degrees counter-clockwise.

Wonderware Training

Page 545: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-23

Moving the Origin of an Element

You can change the point of origin for any element. The point of origin specifies around which point the element rotates or flips. By default the point of origin is in the center of the element.

You can change the point of origin:

� With the mouse on the canvas.

� By specifying the absolute origin in the Properties Editor.

� By specifying the relative origin in the Properties Editor.

Changing Points of Origin with the Mouse

You can change the point of origin for an element with the mouse.

To change the point of origin for an element with the mouse

a. Select an element on the canvas.

b. Move the mouse over the rotation handle of the element. The point of origin icon for the element appears.

c. Drag the Point of Origin icon to where you want to place the new point of origin for the element.

d. Release the mouse button.

Changing Points of Origin in the Properties Editor

You can change the absolute or relative point of origin in the Properties Editor.

The absolute point of origin shows the position of the point of origin in relation to the canvas. The absolute point of origin changes when the element moves.

The relative point of origin shows the position of the point of origin in relation to the center of the element. The relative point of origin does not change when the element moves.

To change the point of origin in the Properties Editor

a. Select one or more elements on the canvas.

b. In the Properties Editor, do one of the following:

� Type the absolute coordinates in the x, y format for the point of origin.

� Type the relative coordinates in the x, y format for the point of origin.

c. Press Enter. The points of origin move to the specified absolute position or to the specified position in relation to the center points of the selected elements.

For example, if you have two elements, you can set the relative point of origin to 10, 10 to place the points of origin for both elements 10 pixels to the right and 10 pixels below the corresponding

center points of each element.

Wonderware System Platform 3.0 Course - Part 1

Page 546: Manual Wsp 3 Part 1-Rev a Gold

3-24 Module 10 – ArchestrA Graphics

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.

To flip elements horizontally

a. Select one or more elements.

b. On the Arrange menu, point to Transform, and then click Flip Horizontal. The selected elements are flipped horizontally on their vertical axis.

Working with Groups of Elements

You can group together multiple elements. This is useful to bind certain element together so that they are not inadvertently moved. The group is treated as a new element.

You can:

� Create a group from one or more elements.

� Ungroup the elements without losing their original configuration information.

� Add more elements to an existing group.

� Remove elements from a group.

� Edit the elements of a group without having to ungroup them.

Wonderware Training

Page 547: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-25

Creating a Group of Elements

After you create elements, you can group them. Grouping elements lets you manage the elements as one unit.

Groups are assigned default names when you create them, such as Group1, Group2, and so on. After you create a group, you can rename it.

Groups can have properties that are different than the properties of the elements.

To create a group

a. Select the elements you want as part of the new group.

b. On the Arrange menu, point to Grouping, and then click Group. The elements are combined into a group. The group is listed in the Elements List.

c. Rename the group as required. To do this:

� In the Elements List, click the group name and click again. The group name is in edit mode.

� Type a new name and press Enter. The group is renamed.

� You can also rename a group or elements by changing the Name property in the Properties Editor.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 548: Manual Wsp 3 Part 1-Rev a Gold

3-26 Module 10 – ArchestrA Graphics

Adding Elements to Existing Groups

After you create a group, you can add elements or other groups to an existing group.

For example, you can combine a group that represents a valve with another group that represents a tank to create a new group that can be called a tank unit.

You can add:

� Elements to groups.

� Groups to the primary selected group.

To add elements to an existing group

a. On the canvas, select the group and also elements and groups that you want to add.

b. Right-click a selected element or on the group, point to Grouping, and then click Add to Group. The selected elements are added to the group.

Note: Note You can also add elements to existing groups by using the Elements List in similar way.

Removing Elements from Groups

After you create a group, you can remove elements from the group. This lets you remove one or more elements you no longer want in that group.

Removing elements from the group removes them from the canvas. It also removes any scripts or animations you added to the element.

To remove an element from a group

a. On the canvas, select the group with the element(s) that you want to remove.

b. Click the group again to enter inline editing mode.

c. Select the element(s) that you want to remove from the group.

d. Right-click a selected elements, point to Grouping, and then click Remove from Group. The selected elements are removed from the group.

Note: Note You can also remove elements from existing groups by using the Elements List in similar way.

Wonderware Training

Page 549: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-27

Editing Components within a Group

You can edit components within a group without having to dissolve the group. Do this by:

� Selecting the element in Elements List.

� Using the Edit Group command on the shortcut menu.

� Slowly double-clicking to enter inline editing mode.

To edit components within a group by using the Elements List

a. In the Elements List, expand the group that contains the element that you want to edit.

b. Select the element that you want to edit. The element appears selected in the group and the group is outlined with a diagonal pattern.

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.

c. Select the element that you want to edit.

d. Edit the element with the Properties Editor, by mouse, by menu or pop-up menu according to your requirements.

e. Click outside the group.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 550: Manual Wsp 3 Part 1-Rev a Gold

3-28 Module 10 – ArchestrA Graphics

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.

The path graphic depends:

� On the order in which you drew its elements. Each element is linked to the next element by z-order. The z-order of the elements is the order shown in the Element Browser list.

� On the direction in which you drew its elements. The end point of one element is connected to the start point of the next element.

The properties of the elements contained within a path graphic are retained, so that when you break the path graphic, the elements of which it consists appear as they did before the path graphic is created.

The Path Graphic has the same properties as a rectangle, ellipse or polyline. It loses these properties when you break the path.

Wonderware Training

Page 551: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-29

Any shape with 2 open points can be joined

� Joined shapes can be Filled, animated etc.

� Path Tool:

� Example – create a shield:

� Create using Path button

� Break using Path Break button (or Arrange | Path)

� Path element can be animated as closed shape

� Paths can be edited using Edit | Path menu

� New elements can be added by drawing

� Existing contained elements can be deleted

Wonderware System Platform 3.0 Course - Part 1

Page 552: Manual Wsp 3 Part 1-Rev a Gold

3-30 Module 10 – ArchestrA Graphics

Editing Common Properties of Elements and Symbols

Some properties are common to most types of elements, such as fill, line styles, and visibility. You can:

� Edit the name of an element.

� Edit the fill properties of an element.

� Edit the line properties of an element.

� Edit the text properties of an element.

� Set the style.

� Set the transparency level of an element.

� Tweaking colors and style for an element’s gradient style.

� Enable and disable elements for run-time interaction.

� Change the visibility of an element.

� Change the tab order of an element.

� Use the Format Painter to format elements.

� Edit the general properties of a symbol.

Editing the Name of an Element

The name of an element uniquely identifies the element on the drawing surface.

When you draw a new element on the drawing surface, it is assigned a default name. You can then change its name in the Properties Editor or the Elements List.

Element names are case-insensitive and unique within the same element hierarchy. It is possible to have two elements with the same name if one is, for example, in a group and the other outside that group.

To change an element’s name in the Properties Editor

a. Select the element on the drawing surface.

b. In the Properties Editor, click the value for the Name box.

c. Type a new name and press Enter.

To change an element’s name in the Elements List

a. Select the element in the Elements List.

b. Click the element in the Elements List again.

c. Type a new name and press Enter.

Wonderware Training

Page 553: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-31

Editing the Fill Properties of an Element

You can configure the following fill properties for an element:

� Fill style as solid color, gradient, pattern or texture

� Unfilled style

� Fill orientation, relative to the element or to the screen

� Fill behavior, which determines if the object is to be filled horizontally, vertically, or both

� Horizontal fill direction

� Vertical fill direction

� Percent of horizontal fill

� Percent of vertical fill

Setting Fill Style

You can configure the fill style of one or more elements. You can do this to:

� Selected elements on the toolbar.

� Style properties in the Properties Editor.

� Nested style properties, such as just one color of a multi-colored gradient.

To configure the fill style of an element with the toolbar

a. Select one or more elements you want to configure.

b. On the toolbar, click the Fill Color icon. The fill style list appears.

c. Configure the fill color. Do any of the following:

� Click No Fill to configure an empty element.

� Click a predefined solid color in the display.

� Click More Solid Colors to open the Style Selection dialog box and select a solid color.

� Click Color Picker to select a color from the screen.

d. Configure the fill gradient, pattern, or texture. Do any of the following:

� Click a predefined gradient.

� Click More Gradients to open the Style Selection dialog box and configure a gradient.

� Click Patterns to open the Style Selection dialog box and select a pattern.

� Click Textures to open the Style Selection dialog box and select a texture.

Wonderware System Platform 3.0 Course - Part 1

Page 554: Manual Wsp 3 Part 1-Rev a Gold

3-32 Module 10 – ArchestrA Graphics

To configure the fill style by setting style properties

a. Select one or more elements.

b. In the Properties Editor, locate the FillStyle property.

c. Click the browse button to open the Style Selection dialog box.

To configure the fill style by setting gradient color style properties

a. Select one or more elements with gradient fill style.

b. In the Properties Editor, locate the Color1, Color2, and Color3 properties.

c. lick the browse button for any of these to set the selected gradient color from the Style Selection dialog box.

Setting Unfilled Style

You can configure an element’s unfilled style. The unfilled style of an element determines the element’s unfilled portion at design time and run time.

To configure the unfilled style of an element

a. Select one or more elements.

b. In the Properties Editor, click UnfilledStyle.

c. Click the browse button in the UnfilledStyle line. The Style Selection dialog box appears.

d. Select a solid color, gradient, pattern, or texture.

e. Click OK.

Setting Fill Orientation

You can configure an element’s fill orientation in the Properties Editor. The fill orientation property determines if the fill style is relative to the screen or element.

� If relative to the screen, the gradient, pattern, or texture does not rotate with the element.

� If relative to the element, the gradient, pattern, or texture rotates with the element.

To configure an element’s fill orientation

a. Select one or more elements you want to configure.

b. In the Properties Editor, click FillOrientation.

c. From the list in the same line, click RelativeToScreen or RelativeToGraphic.

Wonderware Training

Page 555: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-33

Setting Fill Behavior

You can set the fill behavior of an element. The fill can be:

� Horizontal.

� Vertical.

� Both horizontal and vertical.

To set an element’s fill behavior

a. Select one or more elements you want to configure.

b. In the Properties Editor, set the property FillBehavior to one of the following:

� Horizontal

� Vertical

� Both

Setting Horizontal Fill Direction and Percentage

An element can fill:

� From left to right.

� From right to left.

You can also set the amount you want the element to be horizontally filled by as a percentage.

To set an element’s horizontal fill direction and percentage

a. Select one or more elements you want to configure.

b. In the Properties Editor, set the HorizontalDirection property to:

� Right to fill from left to right.

� Left to fill from right to left.

c. For the HorizontalPercentFill property, type a percentage (0 - 100) in the value box.

Setting Vertical Fill Direction and Percentage

An element can fill:

� From bottom to top.

� From top to bottom.

You can also set the amount you want the element to be vertically filled by as a percentage.

To set an element’s vertical fill direction and percentage

a. Select one or more elements you want to configure.

b. In the Properties Editor, set the VerticalDirection property to:

� Top to fill from bottom to top.

� Bottom to fill from top to bottom.

c. For the VerticalPercentFill property, type a percentage (0 - 100) in the value box.

Wonderware System Platform 3.0 Course - Part 1

Page 556: Manual Wsp 3 Part 1-Rev a Gold

3-34 Module 10 – ArchestrA Graphics

Editing the Line Properties of an Element

You can set the line properties for any element that contains lines, such as:

� Lines and polylines.

� Rectangles, rounded rectangles, and ellipses.

� Curves, closed curves, and polygons.

� Arcs, pies, and chords.

� Text boxes.

You can set the:

� Start and end points for lines, arcs, and H/V lines.

� Line weight, which is the thickness of a line.

� Line pattern, which is the continuity of a line. For example, a continuous line, a dotted line, a dashed line, or a combination.

� Line style, which is the fill style of a line.

� Shape and size of the end points of a line.

Note: You can also set the element’s line properties in the Line Format properties group in the Properties Editor.

Setting Start or End Points of a Line

After you draw a line or H/V line, you can change its start or end points in the Properties Editor.

To set the line or H/V line start or end point

a. Select a line or H/V line.

b. In the Properties Editor, type coordinate values X, Y for the Start or End properties.

Wonderware Training

Page 557: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-35

Setting the Line Weight

You can set a line weight from 0 pixels to 255 pixels for any element that contains lines. You can set the line weight using the Format menu, the toolbar, or the LineWeight property in the Properties Editor.

Note: Extreme weight settings can cause unexpected behavior, especially with curves and line end styles.

To set the line weight using the Format menu

a. Select one or more elements.

b. On the Format menu, click Line Weight.

c. To use a predefined line weight, select it from the list.

d. To use another line weight, click More Line Options. The Select Line Options dialog box appears. In the Weight box, type a new line weight from 0 to 255 and then click OK.

Setting the Line Pattern

You can set the line pattern for any element that contains lines. The line pattern specifies the continuity of a line (continuous, dotted, dashed) and not its fill properties.

To set the line pattern

a. Select one or more elements.

b. On the Format menu, click Line Pattern.

c. To use a predefined line pattern, select it from the list.

d. To use another line pattern, click More Line Options. The Select Line Options dialog box appears. In the Pattern list, select a pattern, and then click OK.

Note: You can also set the line pattern by changing the LinePattern property in the Properties Editor.

Wonderware System Platform 3.0 Course - Part 1

Page 558: Manual Wsp 3 Part 1-Rev a Gold

3-36 Module 10 – ArchestrA Graphics

Setting the Line Style

You can set the line style for any element that contains lines. Setting the line style is similar to setting the fill style. You can also set the solid color, gradient, pattern, and texture for a line.

To set the line style

a. Select one or more elements.

b. On the toolbar, click the Line Color icon. The line style list appears.

c. Configure the line color. Do any of the following:

� Click a predefined solid color in the display.

� Click More Solid Colors to open the Style Selection dialog box and select a solid color.

� Click Color Picker to select a color from the screen.

d. Configure the line gradient, pattern, or texture. Do any of the following:

� Click a predefined gradient.

� Click More Gradients to open the Style Selection dialog box and configure a gradient.

� Click Patterns to open the Style Selection dialog box and select a pattern.

� Click Textures to open the Style Selection dialog box and select a texture.

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.

Setting the Text Properties of an Element

You can set the following for text, text box, and button elements:

� The text that appears

� The format in which the text appears

� The font of the text

� The alignment of the text

� The text style

You can also substitute strings in text, text box, and button elements.

Setting the Displayed Text

You can set the text of a text element, text box, or button in the canvas or by changing the Text property in the Properties Editor.

To set the text to display

a. Select the text element, text box or button on the canvas.

b. On the Edit menu, click Edit Text. The selected element appears in edit mode.

c. Type a text string and press Enter.

Wonderware Training

Page 559: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-37

Setting the Text Display Format

You can configure how values are shown for the text in a text box or button. For example, as a rounded float with the format #.###.

You can format the text display for the:

� Text element and the button element in the same way as in the InTouch HMI or with the TextFormat property in the Properties Editor.

� Text box element only with the TextFormat property.

To set the text display format

a. Select a text element, text box, or button.

b. In the Properties Editor, type a format for the TextFormat property.

Setting the Text Font

You can change the font style and font size of a text using:

� The Format menu.

� The Font property in the Properties Editor.

� Lists on the toolbar.

To set the text font, font style, and size

a. Select a text element, a text box, or a button element on the canvas.

b. On the Format menu, click Fonts. The Font dialog box appears.

c. Set the font, font style, size, and effects.

d. Click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 560: Manual Wsp 3 Part 1-Rev a Gold

3-38 Module 10 – ArchestrA Graphics

Setting the Text Color

You can set the text color as a solid color, a gradient, a pattern, or a texture.

Note: You can also change the text color in the Properties Editor with the TextColor property.

To set the text color

a. Select a text element, a text box, or a button element on the canvas.

b. Click the Text Color icon.

c. Configure the text color. Do any of the following:

� Click a predefined solid color in the display.

� Click More Solid Colors to open the Style Selection dialog box and select a solid color.

� Click Color Picker to select a color from the screen.

d. 4 Configure the text gradient, pattern, or texture. Do any of the following:

� Click a predefined gradient.

� Click More Gradients to open the Style Selection dialog box and configure a gradient.

� Click Patterns to open the Style Selection dialog box and select a pattern.

� Click Textures to open the Style Selection dialog box and select a texture.

Wonderware Training

Page 561: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-39

Setting the Text Alignment

You can change the horizontal and vertical positioning of text within a text box element or button element.

You can also change the positioning for a text element. If the text is modified at design time or run time, the alignment sets how the element boundary changes to fit around the modified text.

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.

Text Boxes Buttons

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.

� Text right alignments move additional text further over to the left.

� Text left alignments move additional text to the right.

� Changes in font size leave the point of alignment unchanged and modify the frame accordingly.

Wonderware System Platform 3.0 Course - Part 1

Page 562: Manual Wsp 3 Part 1-Rev a Gold

3-40 Module 10 – ArchestrA Graphics

To set the text alignment

a. Select a text element, text box element or button element on the canvas.

b. On the Format menu, point to Text Alignment, and then click the appropriate command:

Click this command To Top Left Align the text at the top left frame handle. Top Center Align the text at the top middle frame handle. Top Right Align the text at the top right frame handle. Middle Left Align the text at the middle left frame handle. Middle Center Align the text in the middle of the element. Middle Right Align the text at the middle right frame handle. Bottom Left Align the text at the bottom left frame handle. Bottom Center Align the text at the bottom center frame handle. Bottom Right Align the text at the bottom right frame handle.

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.

To substitute strings in a symbol by using the list

a. Select one or more elements.

b. Do one of the following:

� Press Ctrl + L.

� On the Special menu, click Substitute Strings.

The Substitute Strings dialog box appears.

Wonderware Training

Page 563: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-41

c. In the New column, type the text to be replaced.

d. Click OK.

To substitute strings in a symbol by using advanced functions

a. Select one or more elements.

b. Do one of the following:

� Press Ctrl + E.

� On the Special menu, click Substitute Strings.

The Substitute Strings dialog box appears.

c. Click Find & Replace. The dialog box expands and shows advanced options.

d. Configure the search strings. Do any of the following:

� To find specific strings in the list, type a string in the Find What box and click Find Next to find the next string.

� To replace a selected found string with another string, type a string in the Replace with box and click Replace.

� To replace multiple strings, type values in the Find What and Replace with boxes and click Replace all.

e. Configure the search options. Do any of the following:

� If you want the search to be case-sensitive, click Match Case.

� To find only entire words that match your search string, click Match Whole Word Only.

� To use wildcards, click Use Wildcards. Use an asterisk (*) to search for any sequence of characters. Use a question mark (?) to search for strings with one variable character.

f. Click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 564: Manual Wsp 3 Part 1-Rev a Gold

3-42 Module 10 – ArchestrA Graphics

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.

Setting a Solid Color

You can set a solid color using the Solid Color tab in the Style Selection dialog box. You can set a solid color from the:

� Standard palette.

� Color disc and bar.

� Value input boxes.

� Color picker.

� Custom palette.

You can also:

� Add the new color to the custom palette.

� Remove a color from the custom palette.

� Save the custom palette.

� Load a custom palette.

Wonderware Training

Page 565: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-43

Setting a Solid Color from the Standard Palette

You can set a solid color from the standard palette using the Solid Color tab in the Style Selection dialog box. The standard palette is a set of 48 predefined colors you can use to quickly select a solid color.

To set a solid color from the Standard Palette

a. In the Style Selection dialog box, click the Solid Color tab.

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.

Setting a Solid Color from the Color Disc and Bar

You can set a solid color using the color disc and bar on the Solid Color tab in the Style Selection dialog box. The color disc and bar let you graphically select the color and the luminance (brightness).

Wonderware System Platform 3.0 Course - Part 1

Page 566: Manual Wsp 3 Part 1-Rev a Gold

3-44 Module 10 – ArchestrA Graphics

To set a solid color from the color disc and bar

a. In the Style Selection dialog box, click the Solid Color tab.

b. Click on the color disk to select a color. The bar is updated and shows the selected color in varying degrees of luminance (brightness).

c. Click on the bar to select a luminance (brightness). The new color appears in the New color box on the right of the dialog box.

d. Click OK.

Setting a Solid Color with the Value Input Boxes

You can set a solid color by typing values that define the color, such as:

� Red component (0-255).

� Green component (0-255).

� Blue component (0-255).

� Hue (0-255).

� Saturation (0-255).

� Luminance (0-255).

To set a solid color with the value input boxes

a. In the Style Selection dialog box, click the Solid Color tab.

b. In the Red, Green, Blue, Hue, Sat. and Lum. boxes, type respective values. The resulting color appears in the New color box on the right of the dialog box and also on the color wheel and bar.

c. Click OK.

Setting a Solid Color with the Color Picker

You can set a solid color by using the color picker on the Solid Color tab in the Style Selection dialog box. The color picker lets you select a color from anywhere on the screen, even outside the IDE application.

To set a solid color with the color picker

a. In the Style Selection dialog box, click the Solid Color tab.

b. Click the Color Picker button. The color picker pointer appears.

c. Select a color from anywhere on the screen by moving the mouse. As you move the mouse, the new color appears in the New color box on the right of the dialog box.

d. Click the mouse to complete the color selection.

e. Click OK.

Wonderware Training

Page 567: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-45

Setting a Solid Color from the Custom Palette

You can set a solid color from the custom palette on the Solid Color tab in the Style Selection dialog box.

The custom palette is a set of colors that you want to frequently use. You can save the custom palette to a .pal file or load a custom palette from a .pal file.

To use colors from the custom palette, you must first add them.

To set a solid color from the custom palette

a. In the Style Selection dialog box, click the Solid Color tab.

b. In the Custom Palette area, select a color. The new color appears in the New color box on the right of the dialog box.

c. Click OK.

Adding and Removing Colors in the Custom Palette

You can add up to 36 solid colors to the custom palette. You can also remove any colors from the custom palette.

You cannot add a color that is already in the custom palette.

To add a solid color to the custom palette

a. In the Style Selection dialog box, click the Solid Color tab.

b. Add the color. Do any of the following:

� Select a solid color from the custom palette.

� Select a solid color from the color disc and bar.

� Type values for red, green, blue, hue, saturation, and luminance.

� Select a solid color with the color picker.

The new solid color appears in the New color box on the right of the dialog box.

c. Click the add button above Custom Palette. The solid color is added to the Custom Palette area.

To remove a solid color from the custom palette

a. In the Style Selection dialog box, click the Solid Color tab.

b. In the Custom Palette area, select the solid color you want to remove.

c. Click the Delete button above Custom Palette. The solid color is removed from the custom palette.

Wonderware System Platform 3.0 Course - Part 1

Page 568: Manual Wsp 3 Part 1-Rev a Gold

3-46 Module 10 – ArchestrA Graphics

Saving and Loading the Custom Palette

You can save the current custom palette or load a previously saved custom palette. The custom palette is loaded from or saved to a Windows Palette file (.pal).

After you save or load a custom palette, the .pal file is not connected to the symbol in any way.

To save a custom palette

a. In the Style Selection dialog box, click the Solid Color.

b. Click the Save Palette button. The Save Palette dialog box appears.

c. Browse to the location where you want to save the custom palette, type a name, and then click Save. The custom palette is saved as a palette file.

To load a custom palette

a. In the Style Selection dialog box, click the Solid Color tab.

b. Click the Load Palette button.

c. If you currently have colors in the custom palette, a message appears. Click Yes to continue and overwrite the current colors in the custom palette.

d. In the Load Palette dialog box, browse to the location of the palette file, select it, and then click Open. The custom palette is loaded from the selected file.

Wonderware Training

Page 569: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-47

Setting a Gradient

You can configure gradients by the:

� Number of colors - 1, 2 or 3.

� Direction - horizontal, vertical, radial, point based, or customized.

� Variant - depending on your selection for the number of colors and direction.

� Color distribution shape - bell or triangular with options to configure the center and falloff.

� Focus scales - width and height.

You set a gradient on the Gradient tab in the Style Selection dialog box.

Wonderware System Platform 3.0 Course - Part 1

Page 570: Manual Wsp 3 Part 1-Rev a Gold

3-48 Module 10 – ArchestrA Graphics

Setting the Number of Colors for a Gradient

You can set the number of colors you want to use in a gradient.

� If you use one color, the gradient is between this solid color and a specified shade of black to white.

� If you use two colors, the gradient is between these two colors.

� If you use three colors, the gradient is between these three colors in sequence.

To set a gradient using one color

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Colors area, click One. A color selection box and a slider for the dark to light selection appears.

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

Page 571: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-49

To set a gradient for three colors

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Colors area, select Three. Three color selection boxes appear.

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.

Setting the Direction of the Gradient

You can configure the direction of the gradient to be one of the following:

� Horizontal - from side to side

� Vertical - up and down

� Radial - circular from the center outwards

� Point based - from the inside outwards in linear fashion depending on the bounding points

� Custom angle - across the element at a specified angle

To set a horizontal gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Direction area, click Horizontal. The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

To set a vertical gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Direction area, click Vertical. The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 572: Manual Wsp 3 Part 1-Rev a Gold

3-50 Module 10 – ArchestrA Graphics

To set a radial gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Direction area, click Radial.

c. Set the center location. Do any of the following:

� In the Horizontal and Vertical boxes, type values for the center location.

� Click and drag the center point in the adjacent box.

The new gradient appears in the New color box on the right of the dialog box.

d. Click OK.

To set a point based gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Direction area, click Point Based.

c. Set the center location. Do any of the following:

� In the Horizontal and Vertical text boxes, type values for the center location.

� Click and drag the center point in the adjacent box.

The new gradient appears in the New color box on the right of the dialog box.

d. Click OK.

Wonderware Training

Page 573: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-51

To set the custom angle of a gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Direction area, click Custom.

c. Set the angle. Do any of the following:

� In the Angle text box, type a value for the angle.

� Click and drag the angle bar in the adjacent box.

The new gradient appears in the New color box on the right of the dialog box.

d. Click OK.

Changing the Variant of a Gradient

You can change the variant of a gradient. The variants are alternate gradients with the same colors you can quickly select.

To change the variant of a gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Variants area, click on a variant gradient.

The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 574: Manual Wsp 3 Part 1-Rev a Gold

3-52 Module 10 – ArchestrA Graphics

Setting the Color Distribution Shape

You can configure the distribution shape of a gradient with one or two colors. The shape can be a bell or a triangle.

� In a bell-shaped distribution, the gradient from one color to the next falls at a slow rate, then increasingly at a larger rate, then drops down to small rate again.

� In a triangular distribution, the gradient from one color to the next rises and falls at the same rate.

You can also configure the peak and the falloff.

� The peak specifies the offset of the gradient if it has one or two colors.

� The falloff specifies the amplitude of the gradient if it has one or two colors.

Additionally, you can configure the center point of a radial or point based gradient if it is defined by three colors.

To use a bell-shaped gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Color Distribution Shape area, click Bell. The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

To use a triangular gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Color Distribution Shape area, click Triangular. The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

Wonderware Training

Page 575: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-53

To set the peak of a gradient with one or two colors

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Color Distribution Shape area, do one of the following:

� Use the Peak slider to specify the peak.

� In the Peak box, type a value from 0 to 100.

The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

To set the falloff of a gradient with one or two colors

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Color Distribution Shape area, do one of the following:

� Use the Falloff slider to specify the peak.

� In the Falloff box, type a value from 0 to 100.

The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

To set the center point of a radial or point based gradient with three colors

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Color Distribution Shape area, do one of the following:

� Use the Center slider to specify the peak.

� In the Center box, type a value from 0 to 100.

The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

Setting the Focus Scales of a Gradient

You can set the focus scales of a radial or point based gradient. The focus scales acts as a magnification of the gradient. You can set the width or the height of the focus scales.

Width Height Appearance

0 0

50 0

0 50

50 50

You can also lock the width and the height.

Wonderware System Platform 3.0 Course - Part 1

Page 576: Manual Wsp 3 Part 1-Rev a Gold

3-54 Module 10 – ArchestrA Graphics

To set the width of the focus scales for a gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Focus Scales area, do one of the following:

� Use the Width slider to specify the width.

� In the Width text box, type a width value.

The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

To set the height of the focus scales for a gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. In the Focus Scales area, do one of the following:

� Use the Height slider to specify the height.

� In the Height text box, type a height value.

The new gradient appears in the New color box on the right of the dialog box.

c. Click OK.

To lock the width and the height of the focus scales for a gradient

a. In the Style Selection dialog box, click the Gradient tab.

b. Click Lock Width = Height. The width and height are set equal. When you make changes to the width or the height, they are set equal to each other.

c. Click OK.

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

Page 577: Manual Wsp 3 Part 1-Rev a Gold

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.

Wonderware System Platform 3.0 Course - Part 1

Page 578: Manual Wsp 3 Part 1-Rev a Gold

3-56 Module 10 – ArchestrA Graphics

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:

� Click Tile to create a pattern that repeats itself.

� Click Stretch to enlarge (or shrink) the pattern across the selected element.

e. Click OK.

Wonderware Training

Page 579: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-57

Setting the Style to No Fill

You can set the style to “No Fill”. For example if you set the fill style of a rectangle element to No Fill, the background of the rectangle appears transparent.

To set the No Fill style

a. In the Style Selection dialog box, click the No Fill tab.

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.

Setting the Transparency of a Style

You can set the transparency of a solid color, gradient, pattern, or texture.

To set the transparency of a style

a. Open the Style Selection dialog box.

b. At the bottom of the dialog box, do one of the following:

� Drag the Transparency slider handle.

� In the Transparency text box, type a percentage value.

The new style appears in the New color box.

c. Click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 580: Manual Wsp 3 Part 1-Rev a Gold

3-58 Module 10 – ArchestrA Graphics

Setting the Transparency Level of an Element

You can set the transparency level of an element. Levels range from 0% (opaque) to 100% (transparent).

Transparency of a group of elements behaves in a special way.

To set the transparency level of an element

a. Select one or more elements.

b. On the Format menu, click Transparency.

c. To use a predefined level, select it from the list.

d. To use a different level, click More Transparency Levels. The Select Transparency Level dialog box appears. Type a transparency level in the Transparency text box or use the slider to select a transparency level. Click OK.

Note: You can also set the transparency level by changing the Transparency property in the Properties Editor.

Tweaking the Colors and Transparency of a Gradient

You can easily change the colors and transparency of an element with a gradient style.

For example, you can create pipes with a gradient style of different colors. You can change the pipe color, but still keep the 3-D appearance.

You do this in the Properties Editor using the Color1, Color2, Color3, and Transparency sub- properties.

Wonderware Training

Page 581: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-59

To tweak the colors and transparency of a gradient

a. Select the element for which you want to change colors or transparency.

b. In the Properties Editor, locate the appropriate style setting. This can be:

� FillColor

� LineColor

� TextColor

� UnFillColor

c. Click the + icon to expand the property. The Color1, Color2, Color3, and Transparency sub- properties are shown.

d. Do one of the following:

� Click the color box of one of the color sub-properties.

� Type a new value for the transparency and press Enter. You are done.

e. Click the browse button. The Style Selection dialog box appears.

f. Select a color from the Style Selection dialog box and click OK. The solid color is applied to the selected element.

Enabling and Disabling Elements for Run-Time Interaction

You can enable or disable elements so that the run time user cannot use any interaction animations, such as:

� User input.

� Horizontal and vertical sliders.

� Pushbuttons.

� Action scripts.

� Showing and hiding symbols.

Other animations such as horizontal fills and tooltips continue to work as expected.

To enable an element for run-time interaction

a. Select one or more elements you want to enable.

b. In the Properties Editor Runtime Behavior group, set the Enabled property to True.

To disable an element for run-time interaction

a. Select one or more elements you want to disable.

b. In the Properties Editor Runtime Behavior group, set the Enabled property to False.

Wonderware System Platform 3.0 Course - Part 1

Page 582: Manual Wsp 3 Part 1-Rev a Gold

3-60 Module 10 – ArchestrA Graphics

Changing the Visibility of Elements

You can configure elements to be hidden or shown at run time.

The visibility of an element does not affect its animations. Even when an element is invisible, its animations continue to be evaluated.

To configure an element to be shown at run time

a. Select one or more elements you want to have shown at run time.

b. In the Properties Editor Runtime Behavior group, set the Visible property to True.

To configure an element to be hidden at run time

a. Select one or more elements you want to have hidden at run time.

b. In the Properties Editor Runtime Behavior group, set the Visible property to False.

Editing the Tab Order of an Element

You can configure the elements on the canvas so that at run time you can use the tab key to put each element in focus in a specified sequence. This sequence is called the tab order.

By default, when you place elements on the canvas, they have a tab order number of 0. Elements with the same tab order number are placed into focus by tabbing at run time according to their z- order. This means they are tabbed through at run time according to their position in the Elements List.

You can override the tab order by assigning a unique index number to the TabOrder property of each element.

Lower tab order numbers take precedence over higher tab order numbers. You must change this value to determine the tab order sequence.

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

Page 583: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-61

Using the Format Painter to Format Elements

You can apply formatting of one element to other elements quickly by using the format painter. You can apply the format of one element:

� One time to other elements.

� In repetitive mode to other elements.

When you use the format painter, it copies the following formats of the element if applicable for the target element(s):

� Font family, size, and style

� Text style, alignment, and word wrap settings

� Line style, weight, pattern, and ends

� Transparency

� Fill style, orientation, behavior, horizontal percent fill, and vertical percent fill

� Unfilled style

� Horizontal and vertical direction properties

You cannot use the format painter for:

� The status element.

� An element that is part of a path.

� Groups of elements.

� Elements in different hierarchy groups.

To copy the format of an element one time

a. Select the element with the format you want to copy.

b. On the Edit menu, click Format Painter. The pointer appears as the format painter cursor.

c. Select the element you want to apply the format to. The format is applied to the clicked element.

Wonderware System Platform 3.0 Course - Part 1

Page 584: Manual Wsp 3 Part 1-Rev a Gold

3-62 Module 10 – ArchestrA Graphics

To copy the format of an element in repetitive mode

a. Select the element with the format you want to copy.

b. On the toolbar, double-click the Format Painter icon. The pointer appears as the format painter cursor.

c. Click each element you want to apply the format to. The format is applied to the clicked element.

d. Repeat Step 3 for any other elements you want to apply the format to.

e. When you are done, press the Escape key.

Editing the General Properties of a Symbol

You can configure the general properties of a symbol. The general properties determine the overall appearance and behavior of the symbol. You can:

� Add a meaningful description to your symbol.

� Enable anti-aliasing, or smoothing, for your symbol to improve its appearance. The anti- aliasing filter essentially blurs the elements slightly at the edges.

� 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

Page 585: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-63

To allow multiple pop-ups for a symbol

a. Click on the canvas so that no elements are selected.

b. In the Properties Editor, select True for the MultiplePopupsAllowed property.

Setting Symbol and Element-Specific Properties

You can configure symbol-specific and element-specific properties.

You can configure:

� General properties of a symbol.

� Radius of rounded rectangles.

� Shape and end appearance of lines and H/V lines.

� Auto-sizing and word-wrapping in text boxes.

� Image-specific properties.

� Button-specific properties.

� Control points and tension in curves.

� Angles in pies, chords, and arcs.

� Status elements.

� Windows common controls.

Setting the Radius of Rounded Rectangles

You can specify the radius, in pixels, of the corners of rounded rectangles. The radius determines their “roundness”. You can:

� Enlarge or reduce the radius of the rounded rectangle on the fly. The easiest way to do this is with the keyboard.

� Set the radius of the rounded rectangle to a specific value using the Properties Editor.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 586: Manual Wsp 3 Part 1-Rev a Gold

3-64 Module 10 – ArchestrA Graphics

To reduce the radius of a rounded rectangle

a. Select one or more rounded rectangles on the canvas.

b. Press and hold Shift and the minus (-) key on the numeric keypad. The radius is reduced, and the rounded rectangle becomes more rectangular.

To set the radius of a rounded rectangle exactly

a. Select one or more rounded rectangles on the canvas.

b. In the Properties Editor, change the value for Radius property and press Enter. The selected rounded rectangles are updated accordingly.

Setting Line End Shape and Size

You can set the line end shape and size for any element that contains open lines such as lines, H/ V lines, polylines, curves, and arcs.

For a line end, you can set the shape to be an arrowhead, diamond, circle, or square. You can set the size if the line end shape is an arrowhead.

To set the line end shape

a. Select one or more elements.

b. On the Format menu, click Line Ends.

c. To use a predefined line end shape, select it from the list.

d. To use another line shape, click More Line Options. The Select Line Options dialog box appears. Do the following:

� In the Line Start list, click a shape for the start of the line.

� In the Line End list, click a shape for the end of the line.

� Click OK.

Wonderware Training

Page 587: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-65

To set the size of the line arrowheads

a. 1 Select one or more open line elements.

b. On the Format menu, click More Line Options. The Select Line Options dialog box appears.

c. Select a size on the Line Start Size list if the line starts with an arrowhead. Valid sizes are: XX Small, X Small, Small, Medium Small, Medium, Medium Large, Large, X Large, XX Large.

d. Select a size on the Line End Size list if the line ends with a shape.

e. Click OK.

Note: You can also set the line end shapes by changing the StartCap and EndCap properties in the Properties Editor.

Setting Auto Scaling and Word Wrapping for a Text B ox

You can configure a text box to auto scale the text or to word wrap the text within the text box.

� For auto scaling, the text is resized to fit the text box.

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

� Set the display mode (ImageStyle).

� Set the image alignment (ImageAlignment).

� Set the transparency color (HasTransparentColor, TransparentColor properties).

� Open the image in an image editing application.

� Select a different image for the image element.

Wonderware System Platform 3.0 Course - Part 1

Page 588: Manual Wsp 3 Part 1-Rev a Gold

3-66 Module 10 – ArchestrA Graphics

Placing an Image on the Canvas

You can place an image on the canvas. The image data must come from an image file. You can import the following image formats: .BMP, .GIF, .JPG, .JPEG, .TIF, .TIFF, .PNG, .ICO, .EMF.

You cannot use animated GIF images.

To place an image on the canvas

a. In the Tools panel, select the image icon.

b. Click the canvas where you want to place the image and drag the mouse to draw a rectangle that will contain your image.

c. Release the mouse button. The Open dialog box appears.

d. Browse to and select an image file, and then click Open. The image is loaded into the image frame. If the image frame is smaller than the image, the image is cropped to fit into the frame. If the image frame is larger than the image, the image appears in its original size.

Setting the Image Display Mode

You can set the way the image appears on the canvas.

� In normal mode, the image is not stretched or tiled. You can resize the image frame with the resizing handles.

� In stretch mode, the image is stretched so that it fills its frame.

� In tile mode, the image is repeated so that a tiled pattern that fills its frame is created.

� In auto mode, the image frame is enlarged or reduced to the image size. The resizing handles are locked. When the image style of an image element is Auto, you cannot change its size.

To stretch an image to the image frame

a. Select the image element you want to stretch.

b. In the Properties Editor, select ImageStyle.

c. In the list, click Stretch. The image is stretched to the image frame.

To tile an image in an image frame

a. Select the image element you want to tile.

b. In the Properties Editor, select ImageStyle.

c. In the list, click Tile. The image is tiled to fill the image frame.

Wonderware Training

Page 589: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-67

To set an image frame size to its image size

a. Select the image element you want to adjust.

b. In the Properties Editor, select ImageStyle.

c. In the list, click Auto. The image frame is enlarged or reduced to the image size.

Setting the Image Alignment

The image alignment specifies where the image appears in an image frame. By default, images appear in the center of the image frame. You can change this setting to one of the following:

� Top left, top center, or top right

� Middle left, center, or middle right

� Bottom left, bottom center, or bottom right

Note: You can also set the image alignment in the ImageAlignment property in the Properties Editor.

To set the image alignment

a. Select the image element with the image you want to align.

b. In the Properties Editor, select ImageAlignment.

c. In the list, click one of the following options: TopLeft, TopCenter, TopRight, MiddleLeft, Centers, MiddleRight, BottomLeft, BottomCenter or BottomRight. The image is aligned accordingly in the image frame.

Wonderware System Platform 3.0 Course - Part 1

Page 590: Manual Wsp 3 Part 1-Rev a Gold

3-68 Module 10 – ArchestrA Graphics

Setting the Image Color Transparency

Image color transparency lets you define a certain color within an image to be partially or entirely transparent. When you configure image transparency, you must:

� Enable color transparency for images.

� Specify the color that is to be used for transparency.

Setting the image color transparency is different than setting the transparency of the image element, as it only applies to one color. Image transparency applies to the entire image.

To enable image color transparency

a. Select the image element.

b. In the Properties Editor, select HasTransparentColor.

c. In the list, click True.

To set the transparency color for an image

a. Select the image element.

b. On the Edit menu, click Select Image Transparent Color. The pointer becomes a color picker.

c. Click the color you want to use as the transparency color. The image is updated with the new transparency color.

Note: You can also select a transparency color with the TransparentColor property in the Properties Editor.

Editing the Image

You can edit the image in an image element by opening it in an image editing application.

You can specify the image editor by changing the designer preferences.

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

Page 591: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-69

Setting the Image Editing Application

You can specify the image editor that opens when you select it edit an image.

You can select a currently registered image editing application or add one.

To set the image editing application

a. On the Special menu, click Preferences. The Designer Preferences dialog box appears.

b. Select an image editor from the Image Editor list.

To add an image editing application

a. On the Special menu, click Preferences. The Designer Preferences dialog box appears.

b. In the Image Editor list, click Choose Custom Editor. The Select Image Editing Application dialog box appears.

c. Browse to and select the executable of the image editing application and click Open. The image editor is added to the list.

Wonderware System Platform 3.0 Course - Part 1

Page 592: Manual Wsp 3 Part 1-Rev a Gold

3-70 Module 10 – ArchestrA Graphics

Selecting a Different Image

You can change the current image of an image element by selecting a new image.

To select a different image

a. Select the image element with the image you want to change.

b. On the Edit menu, click Select Image. The Open dialog box appears.

c. Browse to and select an image file, and then click Open. The image is loaded into the image frame.

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:

� Automatically scale the font size

� Configure the text to wrap within the button

Automatically Scaling Text in Buttons

You can automatically scale text so that the font size is adapted to the button size.

To automatically scale text in buttons

a. Select the button element on the canvas.

b. In the Properties Editor, set the AutoScale property to True.

Wrapping Text in Buttons

You can wrap text in buttons.

To wrap text in buttons

a. Select the button element on the canvas.

b. In the Properties Editor, set the WordWrap property to True.

Wonderware Training

Page 593: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-71

Configuring Buttons with Images

You can use buttons with an image in ArchestrA Symbols.

� The “up” image is the image that appears when the button is released at run time

� The “down” image is the image that appears then the button is pressed at run time

You can edit an up image or a down image after you assign it to a button.

To use a down image or up image on a button

a. Select the button element on the canvas.

b. In the Properties Editor, select Image in the property ButtonStyle list.

c. Click the browse button of the UpImage property and select an image in the Open dialog box. This is the image that appears on the button by default and also when the button is released.

d. Click the browse button of the DownImage property and select an image in the Open dialog box. This is the image that appears on the button when the button is clicked on.

To edit an up image or a down image of a button

a. Right-click the button element on the canvas. The context menu appears.

b. Click Edit Button Image, then click one of the following:

� Edit Up Image

� Edit Down Image

The up image or down image is opened in the default image editor.

c. Edit the image.

d. Save the image and close the image editor. The up image or down image is updated.

Editing Control Points

Control points determine the shapes of polylines, polygons, curves, and closed curves. To change the shape of these elements after they have been placed on the canvas, you can:

� Move individual control points.

� Add or remove control points.

Wonderware System Platform 3.0 Course - Part 1

Page 594: Manual Wsp 3 Part 1-Rev a Gold

3-72 Module 10 – ArchestrA Graphics

Moving Control Points

After you place a polyline, polygon, curve, or closed curve on the canvas, you can change its shape by editing its control points.

To move the control points of a polyline, polygon, curve, or closed curve

a. Select the polyline, polygon, curve, or closed curve.

b. On the Edit menu, click Edit Control Points. The control points of the element are shown.

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.

Adding and Removing Control Points

You can add or remove control points from polylines, polygons, curves, and closed curves.

To add control points to a curve or closed curve

a. Select the curve or closed curve.

b. On the Edit menu, click Edit Control Points. The control points of the element are shown.

c. Press and hold the Shift key.

d. Move the mouse over the curve or closed curve at the point you want to add a control point. The pointer appears as a pen with a plus symbol.

e. Click the curve or closed curve. The control point is added to the curve or closed curve.

f. Repeat the last step for any other control points you want to add.

g. When you are done, release the Shift key.

To delete control points from a curve or closed curve

a. Select the curve or closed curve.

b. On the Edit menu, click Edit Control Points. The control points of the element are shown.

c. Press and hold the Shift key.

d. Move the mouse over the control point you want to remove. The pointer appears as a pen with a minus symbol.

e. Click the control point. The control point is removed from the curve or closed curve.

f. Repeat the last step for any other control points you want to remove. You must have at least two control points.

g. When you are done, release the Ctrl key.

Wonderware Training

Page 595: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-73

Changing the Tension of Curves and Closed Curves

After you place a curve or a closed curve, you can change its tension. The tension specifies how tightly the curve bends through the control points. Valid range are float values from 0 (tightly) to 2 (loosely).

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.

To edit the tension of a curve or closed curve

a. Select the curve or closed curve.

b. In the Properties Editor, type a float value from 0 to 2 for the Tension property.

Changing Angles of Arcs, Pies and Chords

After you place an arc, pie, or chord, you can change the start angle and sweep angle of these elements.

You can change the angles to any integer degree from 0 to 359. When you change the angles, you can press the Shift and Ctrl key to make the angle snap to multiples of 15 or 45 degrees.

You can also move the start angle and sweep angle at the same time. The object appears to be “rotated” around its arc/pie/chord center point while keeping the same center point angle.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 596: Manual Wsp 3 Part 1-Rev a Gold

3-74 Module 10 – ArchestrA Graphics

To change the start or sweep angle of an arc, pie, or chord

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

Page 597: Manual Wsp 3 Part 1-Rev a Gold

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.

Wonderware System Platform 3.0 Course - Part 1

Page 598: Manual Wsp 3 Part 1-Rev a Gold

3-76 Module 10 – ArchestrA Graphics

Organizing Symbols in the Toolbox

In the Graphic Toolbox, you can organize your symbols by creating a folder hierarchy as you would with files and folders in Microsoft Explorer. You can move symbols around within the folder hierarchy. These folders are called Graphic Toolsets.

Creating Graphic Toolsets in the Toolbox

You can create Graphic Toolsets in the Graphic Toolbox to organize your symbols. For example you can create a Graphic Toolset called “Valves” to store all different types of valve symbols.

To create a Graphic Toolset in the Toolbox

a. Open the Graphic Toolbox .

b. Select either the Graphic Toolset under which you want to create a new Graphic Toolset or the Galaxy name if there are currently no Graphic Toolsets.

c. On the Galaxy menu, point to New, and then click Graphic Toolset . A new Graphic Toolset is created with a default name.

d. Rename the new Graphic Toolset as desired.

Moving Symbols between Graphic Toolsets

You can move symbols from one Graphic Toolset in the Graphic Toolbox to another. Moving symbols between Graphic Toolsets does not affect the functionality of any of its child symbols.

To move symbols between Graphic Toolsets in the Toolbox

a. Open the Graphic Toolbox and locate the symbol you want to move.

b. Drag the symbol to the Graphic Toolset you want to place it in. The symbol is moved to the new Graphic Toolset.

Note: To move the symbol to the top level in the Graphic Toolset hierarchy, drag the symbol to the Galaxy name icon.

Wonderware Training

Page 599: Manual Wsp 3 Part 1-Rev a Gold

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.

To rename a symbol in the Toolbox

a. Open the Graphic Toolbox .

b. Select the symbol you want to rename.

c. Click Edit and then Rename . The symbol name is in edit mode.

d. Type a new unique name for the symbol and press Enter. The symbol is renamed.

Renaming Graphic Toolsets

You can rename a Graphic Toolset at any time. Renaming a Graphic Toolset does not affect the functionality of any symbols it contains.

To rename a Graphic Toolset in the Toolbox

a. Open the Graphic Toolbox .

b. Select the Graphic Toolset you want to rename.

c. Click Edit and then Rename . The Graphic Toolset name is in edit mode.

d. Type a new unique name for the Graphic Toolset and press Enter. The Graphic Toolset is renamed.

Wonderware System Platform 3.0 Course - Part 1

Page 600: Manual Wsp 3 Part 1-Rev a Gold

3-78 Module 10 – ArchestrA Graphics

Deleting Graphic Toolsets

You can delete a Graphic Toolset in the Graphic Toolbox at any time.

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.

To delete a Graphic Toolset in the Toolbox

a. Open the Graphic Toolbox .

b. Select the Graphic Toolset you want to delete.

c. Click Edit and then Delete . The Delete Graphic Toolset dialog box appears.

d. Click Yes. The Graphic Toolset is deleted.

Moving Graphic Toolsets

You can move a Graphic Toolset within the Graphic Toolset hierarchy of the Graphic Toolbox. If you move a Graphic Toolsets, all symbols and Graphic Toolsets it contains are also moved.

To move a Graphic Toolset in the Toolbox

a. Open the Graphic Toolbox .

b. Locate the Graphic Toolset you want to move.

c. Drag it to the Graphic Toolset you want to place it in. The Graphic Toolset is moved to the new Graphic Toolset.

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

Page 601: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-79

Customizing Graphic Toolsets

You can hide or show Graphic Toolsets after creating them. You can either do this for selected Graphic Toolsets or for all Graphic Toolsets.

To customize Graphic Toolsets

a. Open the Graphic Toolbox .

b. Right-click the Galaxy icon in the Graphic Toolbox and click Customize Toolsets from the context menu. The Customize Toolsets dialog box appears.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 602: Manual Wsp 3 Part 1-Rev a Gold

3-80 Module 10 – ArchestrA Graphics

Opening Symbols for Editing

You can either start the ArchestrA Symbol Editor from a symbol:

� Contained in the Graphic Toolbox.

� Contained in an Automation object template or instance.

� Inserted in an InTouch window.

When you open a symbol in the ArchestrA Symbol Editor, it is checked-out. No other user can edit the symbol until you check the symbol in again.

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

To edit a symbol in the Graphic Toolbox

a. Open the Graphic Toolbox .

b. Locate the symbol you want to edit by browsing in the Graphic Toolbox .

c. Double-click it. The ArchestrA Symbol Editor opens.

Wonderware Training

Page 603: Manual Wsp 3 Part 1-Rev a Gold

Section 1 – Creating and Managing Symbols 3-81

d. Now you can edit your symbol. For specific information about using the drawing tools, see Creating and Managing ArchestrA Graphics User’s Guide Chapter 5 - Working with Graphic Elements.

e. When you are done, click Save and Close . The ArchestrA Symbol Editor is closed and the To edit a symbol that is embedded in an InTouch window

To edit a symbol that is embedded in an InTouch window

a. In WindowMaker, open the InTouch window that contains the embedded symbol.

b. Right-click the embedded symbol you want to edit. Select the symbol name. The ArchestrA Symbol Editor opens.

c. Now you can edit your symbol. For specific information about using the drawing tools, see Creating and Managing ArchestrA Graphics User’s Guide Chapter 5 - Working with Graphic Elements.

d. When you are done, click Save and Close . The ArchestrA Symbol Editor is closed and the updated symbol is checked in.

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 and Exporting Symbols as ArchestrA Object Files

You can import and export symbols as ArchestrA Automation object files.

When you export (or import) templates or instances that contain symbols, the symbols are exported (imported) with the template or instance.

When you export (import) all automation objects, the contained symbols and the symbols in the graphic toolsets are also exported (imported).

When you export an Automation object A that contains symbols, if these symbols:

� contain embedded symbols from the Graphic Toolbox, these symbols are exported along with the symbols associated with the Automation object.

� contain embedded graphics from other Automation objects, these symbols (including any embedded symbols from the Graphic Toolbox contained in them) and their parent Automation object are not exported with Automated object A. They remain as references, and upon import, the system tries to reestablish the connection with those exact references in the target Galaxy.

Wonderware System Platform 3.0 Course - Part 1

Page 604: Manual Wsp 3 Part 1-Rev a Gold

3-82 Module 10 – ArchestrA Graphics

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

Page 605: Manual Wsp 3 Part 1-Rev a Gold

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.

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

� You cannot delete symbols that someone else has open for editing or left checked out.

� If you delete a symbol from an Automation Object, the symbol still appears to other users until you check in the Automation Object.

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

� Open the Graphic Toolbox .

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

Wonderware System Platform 3.0 Course - Part 1

Page 606: Manual Wsp 3 Part 1-Rev a Gold

3-84 Module 10 – ArchestrA Graphics

Viewing a Symbol in Read-Only Mode

You can view a symbol in read-only mode if you don’t want to edit it, or if it is checked out by somebody else.

To view a symbol in read-only mode

a. In the Graphic Toolbox, select the symbol that you want to view in read-only mode.

b. On the Galaxy menu, click Open Read-Only. The selected symbol opens in the ArchestrA Symbol Editor.

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

Page 607: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Using ArchestrA Symbols in WindowMaker 3-85

Section 2 – Using ArchestrA Symbols in WindowMaker

Section Objectives

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

ArchestrA IDE

InTouchViewApp Automation Manages

Object (Template)

ProvideArchest Symbol

ArchestrA Symbol Editor

Templates and

Instances

Provides ArchestrA

Symbol Functionality

InTouch WindowMaker

IDE-Managed InTouch Applications

s rA s

InTouch WindowViewer

Test Application

IDE-Managed InTouch Applications

You can:

� Insert ArchestrA symbols into an InTouch window.

� Configure inserted ArchestrA symbols.

� Start the ArchestrA IDE Symbol Editor.

� Test the ArchestrA Symbols in WindowViewer.

� Create a new Instance of the Automation object that is hosting the inserted ArchestrA Symbol.

Wonderware System Platform 3.0 Course - Part 1

Page 608: Manual Wsp 3 Part 1-Rev a Gold

3-86 Module 10 – ArchestrA Graphics

Inserting ArchestrA Symbols into an InTouch Window

You can insert an ArchestrA symbol into the InTouch Windows of your IDE-managed InTouch application.

The ArchestrA symbol may either be part of:

� The Graphic Toolbox.

� An ArchestrA object template.

� An ArchestrA object instance.

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.

Inserting ArchestrA Symbols from the Graphic Toolbox

You can insert ArchestrA symbols from the Graphic Toolbox.

a. In WindowMaker, on the Edit menu, click Embed ArchestrA Symbol. The Galaxy Browser dialog box appears.

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

Page 609: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Using ArchestrA Symbols in WindowMaker 3-87

Configuring ArchestrA Symbols in WindowMaker

You can configure inserted ArchestrA symbols in the following ways:

� Standard editing, such as copying, cutting, pasting, duplicating, resizing, moving and deleting.

� Configuring WindowMaker animation links.

� Connect an ArchestrA symbol with InTouch tagnames.

� Selecting an alternate instance of the same parent.

� Selecting an alternate symbol of the same instance.

� Resizing the inserted ArchestrA symbol to its original size.

� Enabling or disabling dynamic size propagation.

Configuring WindowMaker Animation Links of an Arche strA Symbol

You can configure WindowMaker animation links of an inserted ArchestrA Symbol in the same way as any other InTouch object. You can only configure animation links that are external to the inserted ArchestrA Symbol. These are:

� Object size.

� Object location.

� Visibility.

� Orientation.

� Enablement.

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.

To configure WindowMaker animation links of an inserted ArchestrA symbol

a. Select the inserted ArchestrA symbol.

b. From the Special menu, select Animation Links . The Animation Links dialog box appears.

c. Make any changes as you would to any other InTouch object.

d. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 610: Manual Wsp 3 Part 1-Rev a Gold

3-88 Module 10 – ArchestrA Graphics

Substituting Strings in an ArchestrA Symbol

You can substitute all strings in an inserted ArchestrA Symbol with alternate strings.

To substitute all strings in an inserted ArchestrA symbol

a. Select the inserted ArchestrA symbol .

b. On the Special menu, point to Substitute , and then click Substitute Strings . The Substitute Strings dialog box appears.

c. Type new strings in the corresponding boxes and click OK. The strings in the inserted ArchestrA symbol are substituted by the new alternate strings.

Substituting References in an ArchestrA Symbol

You can substitute all references in an inserted ArchestrA Symbol with alternate references.

To substitute all references in an inserted ArchestrA symbol

a. Select the inserted ArchestrA symbol .

b. On the Special menu, click Substitute Tags . The Substitute Tags dialog box appears.

c. Type new references in the corresponding boxes and click OK. The references in the inserted ArchestrA symbol are substituted by the new alternate references.

Resizing the Inserted ArchestrA Symbol to its Origi nal Size

You can resize the inserted ArchestrA Symbol to its original size when created in the ArchestrA Symbol Editor.

To resize an inserted ArchestrA symbol to its original size

a. Select the inserted ArchestrA symbol you want to change to its original size.

b. On the Special menu, point to ArchestrA Graphic ‘name’, and then click Symbol - Original Size. The inserted ArchestrA symbol is changed to its original size.

Wonderware Training

Page 611: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Using ArchestrA Symbols in WindowMaker 3-89

Enabling or Disabling Dynamic Size Change of Insert ed ArchestrA Symbols

You can enable or disable the dynamic size change of inserted ArchestrA symbols.

If the dynamic size change is enabled, any changes to the absolute anchor point position of the parent symbol:

� Leave the anchor points of its child symbols unchanged.

� Move the child symbol position accordingly.

If the dynamic size change is disabled, any changes to the absolute anchor point position of the parent symbol:

� Move the anchor points of its child symbols accordingly.

� Leave the child symbol position unchanged.

Note: For more information about dynamic size propagation, see Creating and Managing ArchestrA Graphics User’s Guide.

To enable or disable dynamic size change of an inserted symbol

a. Select the inserted ArchestrA symbol .

b. On the Special menu, point to ArchestrA Graphic ‘name’, then check or uncheck Dynamic Size Propagation .

Editing ArchestrA Symbols in the ArchestrA Symbol Editor

You can edit inserted ArchestrA symbols with the ArchestrA Symbol Editor that is integrated in the ArchestrA IDE. This is done in two steps:

a. Open the inserted ArchestrA symbol in ArchestrA Symbol Editor , modify the symbol and save it. The ArchestrA symbol is updated in object template, instance or in the Graphic Toolbox .

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 System Platform 3.0 Course - Part 1

Page 612: Manual Wsp 3 Part 1-Rev a Gold

3-90 Module 10 – ArchestrA Graphics

Editing an Inserted ArchestrA Symbol

You can easily edit an inserted ArchestrA symbol from within InTouch WindowMaker.

If the symbol or its children are used by other IDE-managed InTouch applications, the changes are propagated to the children and the InTouch applications.

To edit inserted ArchestrA symbols with the ArchestrA Symbol Editor

a. Select the inserted ArchestrA symbol .

b. On the Special menu, point to ArchestrA Graphic Object "name", and then click Edit Symbol . The ArchestrA Symbol Editor with the ArchestrA symbol appears.

c. Edit the ArchestrA symbol. For more information, see the Creating and Managing ArchestrA Graphics User’s Guide.

d. When you are done, click Close and Save. The changes are saved and the ArchestrA Symbol Editor closes.

e. If the ArchestrA object is hosted by an object instance or object template, save and close the object editor in the IDE.

Wonderware Training

Page 613: Manual Wsp 3 Part 1-Rev a Gold

Section 2 – Using ArchestrA Symbols in WindowMaker 3-91

Accepting Symbol Changes in WindowMaker

After an ArchestrA symbol has changed and you are currently using it in WindowMaker, you can accept the change in WindowMaker.

To accept symbol changes in WindowMaker

Either:

� Double-click the Symbol Changed icon in the status bar.

� Close the InTouch window containing the inserted ArchestrA symbol and open it again.

In both cases the changes made to the ArchestrA symbol are reflected in the inserted symbol in the InTouch window.

Accepting Symbol Changes in WindowViewer

After an ArchestrA symbol has changed and you are currently testing it in WindowViewer, you can accept the change in WindowViewer.

For more information about testing inserted ArchestrA symbols, see InTouch ArchestrA Integration Guide - Chapter 3 Using ArchestrA Symbols in WindowMaker - Testing ArchestrA Symbols in WindowViewer.

To accept symbol changes in WindowViewer when testing

Either:

� Fast-switch to WindowMaker and then back to WindowViewer.

� Close the InTouch window and open it again.

In both cases the changes made to the ArchestrA symbol are reflected in the inserted ArchestrA symbol in the InTouch window.

Wonderware System Platform 3.0 Course - Part 1

Page 614: Manual Wsp 3 Part 1-Rev a Gold

3-92 Module 10 – ArchestrA Graphics

Testing ArchestrA Symbols in WindowViewer

You can test the inserted ArchestrA symbol in an InTouch window without having to derive an InTouchViewApp instance. You can test an inserted ArchestrA symbol, if you have previously:

� Created an ArchestrA symbol in the Graphic Toolbox, in an automation object template or automation object instance.

� Created an IDE-managed InTouch application.

� Inserted the ArchestrA symbol in the IDE-managed InTouch application.

Development and Testing Process of

ArchestrA Symbols

ArchestrA Symbol Editor

Create Modify

ArchestrA ArchestrA

Symbol Symbol and

Save

WindowMaker

Insert

ArchestrA Accept

Symbol into Changes in

InTouch WindowMaker

Window

WindowViewer

Fast Switch to

Test ArchestrA Fast Switch to

WindowViewer Symbol in

WindowMaker WindowViewer

To test inserted ArchestrA symbols in WindowViewer

a. From WindowMaker, click Runtime to switch to WindowViewer.

b. Test the animations, behavior and appearance of the inserted symbol(s) as you would with a normal run-time environment.

Note: You can fast-switch back to WindowMaker to make changes to the way the ArchestrA symbol is inserted.

To change and test inserted ArchestrA symbols in WindowViewer

a. Make changes to the ArchestrA symbol in the IDE.

b. Save the changes. If WindowViewer is:

� Open then after a short while, a message appears in WindowViewer asking you to accept the changes. Click Yes.

� Closed then you can fast-switch from WindowMaker to WindowViewer to see your changes.

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

Page 615: Manual Wsp 3 Part 1-Rev a Gold

Lab 21 – Symbol Creation 3-93

Lab 21 – Symbol Creation

Introduction

In this lab, you will create a Symbol that will be used to visualize the Galaxy from Lab 1 and the Reactor process from Lab 2.

Objectives

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

� Use the ArchestrA Symbol editor and the drawing tools

� Create a new tank symbol

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.

The IDE should be open from the last lab.

a. Create a New Graphic Toolset , named Class Symbols .

b. Create a New Symbol named Main_Reactor .

c. Draw a basic tank outline and place a rectangle on it for a view of the level in the tank.

d. Rename the element Main_Tank .

e. Color the Main_Tank and add four pipes:

� GatePipe

� ValveAPipe

� ValveBPipe

� DrainPipe

f. Save the symbol.

g. Embed MainTank into an InTouch Window named NewReactor .

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 616: Manual Wsp 3 Part 1-Rev a Gold

3-94 Module 10 – ArchestrA Graphics

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Draw the Main Tank

1. If the IDE is not open, launch the ArchestrA IDE and connect to your Galaxy.

2. Click the Graphic Toolbox tab.

3. Right-click on the Galaxy root and create a New / Graphic Toolset , named Class Symbols .

4. Right-click on Class Symbols and create a New / Symbol called Main_Reactor .

5. Double-click Main_Reactor to open the new symbol editor.

The ArchestrA Symbol editor opens.

Wonderware Training

Page 617: Manual Wsp 3 Part 1-Rev a Gold

Lab 21 – 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.

When completed, the two objects should look like this:

Wonderware System Platform 3.0 Course - Part 1

Page 618: Manual Wsp 3 Part 1-Rev a Gold

3-96 Module 10 – ArchestrA Graphics

8. Select both the PolyLine and Arc objects.

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

Page 619: Manual Wsp 3 Part 1-Rev a Gold

Lab 21 – 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.

Wonderware System Platform 3.0 Course - Part 1

Page 620: Manual Wsp 3 Part 1-Rev a Gold

3-98 Module 10 – ArchestrA Graphics

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.

14. As objects are drawn, they are automatically named. For clarification purposes, rename the long rectangle Pipe and the short one Flange .

15. Once the objects are named, group them and rename the group GatePipe .

Wonderware Training

Page 621: Manual Wsp 3 Part 1-Rev a Gold

Lab 21 – Symbol Creation 3-99

16. Duplicate the GatePipe group three (3) times for total of four sets of pipes.

17. Name the new groups:

� ValveAPipe

� ValveBPipe

� DrainPipe

18. Position the pipes as shown, omitting the text labels. Resize the pipes as necessary.

19. Click on the blank area of the canvas to deselect everything. In the Properties Panel in the right pane, select Smoothing and set it to True . This will enhance the appearance of your object by anti-aliasing all objects for a smoother look.

Optional : You may also want to select MainTank and set its line weight to No Line .

Wonderware System Platform 3.0 Course - Part 1

Page 622: Manual Wsp 3 Part 1-Rev a Gold

3-100 Module 10 – ArchestrA Graphics

20. Save your symbol and Close the symbol editor. Add the comment Initial Design to the Check in box and click OK.

21. Click the Template Toolbox tab. Double-click AdvancedClass to launch InTouch WindowMaker if not already open.

22. In WindowMaker , create a New Window called NewReactor .

You may wish to re-size this window later.

23. If prompted to copy Window Scripts, click Yes to continue.

24. Click the Embed ArchestrA Graphic icon from the toolbar.

Wonderware Training

Page 623: Manual Wsp 3 Part 1-Rev a Gold

Lab 21 – Symbol Creation 3-101

25. Select your Main_Reactor symbol and place it on the NewReactor Window.

Wonderware System Platform 3.0 Course - Part 1

Page 624: Manual Wsp 3 Part 1-Rev a Gold

3-102 Module 10 – ArchestrA Graphics

Wonderware Training

Page 625: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Using Custom Properties 3-103

Section 3 – Using Custom Properties

Section Objective

� 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

- Elapsed Time

Default Value:

- Value

- Reference (Element or Attribute)

- Expression

CUSTOM PROPERTY 1

Description

SYMBOL CUSTOM PROPERTY 2 CUSTOM PROPERTY 3

Visibility:

- Public Custom Property

- Private Custom Property

CUSTOM PROPERTY N

About Custom Properties

Custom Properties let you extend the standard properties of a symbol or an embedded or inserted symbol. Standard Properties like Height, Width, Angle, and Transparency are common to all Elements. You can associate Custom Properties with functions you want exposed and that you want to re-use. You can also use custom properties to connect an inserted ArchestrA symbol to InTouch tagnames.

Wonderware System Platform 3.0 Course - Part 1

Page 626: Manual Wsp 3 Part 1-Rev a Gold

3-104 Module 10 – ArchestrA Graphics

Managing Custom Properties

You can manage all custom properties of a symbol in the Edit Custom Properties dialog box.

The Edit Custom Properties dialog box lets you:

� Add and delete custom properties.

� Set the types and data types of custom properties.

� Set the default values of custom properties.

� Determine the visibility of each custom property.

� Add a description for each custom property.

� Validate and clear custom properties.

You can also:

� Link custom properties to external sources.

� Override custom properties with new values.

� Revert custom property values to their default values.

Wonderware Training

Page 627: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Using Custom Properties 3-105

Adding and Deleting Custom Properties

You can add and delete custom properties in the Edit Custom Properties dialog box.

To add 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. Click the Add icon. A new line is added in the custom properties list.

d. Type a name for the new custom property and press Enter.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 628: Manual Wsp 3 Part 1-Rev a Gold

3-106 Module 10 – ArchestrA Graphics

Configuring Custom Properties

You can configure custom properties either when you create them or at a later point of time.

To configure a custom property

a. Click the canvas of the symbol.

b. On the Special menu, click Custom Properties . The Edit Custom Properties dialog box appears.

c. Select the custom property you want to edit. The configuration for the selected custom property appears on the right side of the dialog box.

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:

Data Type Symbol

Boolean

Elapsed Time

Float

Integer

Wonderware Training

Page 629: Manual Wsp 3 Part 1-Rev a Gold

Section 3 – Using Custom Properties 3-107

Data Type Symbol

String

Time

e. If you want to either:

� Make the property read-only at design time and prevent further changes to it when the

symbol is embedded into another symbol, click the Lock icon.

� Make the property read-only at run time and prevent its value being changed, click the Lock icon.

f. In the Default Value box, type a literal value, reference or expression or browse for a reference using the Browse icon.

g. If the selected data type is String, Time or Elapsed Time, you can click either the T icon or label icon.

� Select the T icon to indicate that the default value is a static value.

� Select the label icon to indicate that the default value is a reference to a value.

h. In the Visibility box, select either:

� Public, so that the custom property is visible and can be used in a parent symbol if the symbol is embedded or inserted.

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

Validating Custom Properties

You can validate custom properties to track down and avoid configuration errors.

To validate a custom property

a. Click on 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 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.

Wonderware System Platform 3.0 Course - Part 1

Page 630: Manual Wsp 3 Part 1-Rev a Gold

3-108 Module 10 – ArchestrA Graphics

Clearing the Configuration of Custom Properties

You can clear the configuration of custom properties. This resets the configuration to its default values.

To clear the configuration of a custom property

a. In the Edit Custom Properties dialog box, select the custom property.

b. Click the Clear icon. The configured values are reset to their default values.

Linking Custom Properties to External Sources

You can link custom properties of a symbol directly to external sources, either by:

� Configuring Automation objects that point at external sources and then pointing the custom property at the corresponding attribute reference.

� Configuring a special InTouch reference syntax in the Default Value box. When you insert the symbol on an InTouch window, the referenced InTouch tagnames connect to the tagnames of InTouch.

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.

Overriding Custom Properties

You can override the custom property default values of:

� Embedded symbols within symbols in the ArchestrA Symbol Editor.

� Inserted symbols in InTouch WindowMaker.

Note: When you override the custom property, it appears bold in the custom property list.

� You can override the following custom property values:

� Default value.

� Visibility, but only from public to private, not private to public.

� Description.

� Locked state.

� String mode setting.

You cannot override the Data Type of a custom property.

Reverting to Original Custom Property Values

After you have overridden a custom property value, you can revert it to its original value. This can also be done for embedded symbols in other symbols and in InTouch WindowMaker.

To revert to the original custom property value

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

Page 631: Manual Wsp 3 Part 1-Rev a Gold

Lab 22 – Defining Custom Properties 3-109

Lab 22 – Defining Custom Properties

Introduction

Custom properties are “tag-like items” that allow for the eventual implementation. This lab will cover the basics of creating custom properties for use in ArchestrA symbols as well as identifying the custom properties inherited with embedded ArchestrA symbols. This lab builds on the Main_Reactor symbol created in Lab 3.

Objectives

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

� Create Custom Properties for ArchestrA symbols

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.

a. From InTouch NewReactor window, open the Main_Reactor symbol in the Symbol Editor and

add the following Custom Properties:

Custom Property Data Type Default Value Visibility Level Integer 0 Public Agitator Boolean

b. Embed the ArchestrA Graphic Valves/ValveDiaphragm onto your canvas.

c. Resize it and place it on one of the pipes on the Main_Tank element.

d. Duplicate the ValveDiaphragm and place it on the remaining three pipes with appropriately named instances.

e. Embed a Switch Symbol and rename it Start .

f. Switch to WindowMaker and Update the symbol.

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 632: Manual Wsp 3 Part 1-Rev a Gold

3-110 Module 10 – ArchestrA Graphics

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Draw the Main Tank

1. Launch WindowMaker if it is not already running and open the NewReactor Window.

2. Right-click your Main_Reactor symbol and select ArchestrA Graphic “Main_Reactor1” / Edit Symbol .

Note: Pay close attention to the symbol names. This will help you avoid mistakes.

The ArchestrA Symbol Editor will open with Main_Reactor showing.

3. Right-click any blank space and select Custom Properties .

Wonderware Training

Page 633: Manual Wsp 3 Part 1-Rev a Gold

Lab 22 – Defining Custom Properties 3-111

The Edit Custom Properties dialog opens.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 634: Manual Wsp 3 Part 1-Rev a Gold

3-112 Module 10 – ArchestrA Graphics

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

Page 635: Manual Wsp 3 Part 1-Rev a Gold

Lab 22 – Defining Custom Properties 3-113

Embed a Symbol From the ArchestrA Symbol Library

Most symbols in the ArchestrA Symbol Library already have predefined functionality. When you embed an existing ArchestrA Symbol into a symbol you are editing, it will automatically bring Custom Properties into your symbol, but these will only be accessible via the embedded graphic.

8. Click the Embed Graphic button on the toolbar. Expand the ArchestrA Symbol Library and select the Valves folder. Double-click the ValveDiaphragm symbol and place the symbol on your canvas.

9. Place and size the ValveDiaphragm as shown below.

Wonderware System Platform 3.0 Course - Part 1

Page 636: Manual Wsp 3 Part 1-Rev a Gold

3-114 Module 10 – ArchestrA Graphics

10. Rename the instance of the ValveDiaphragm to GateValve.

11. In the Elements list in the left pane, right-click on the GateValve symbol and select Custom Properties .

Note: You can also right-click directly on the symbol.

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

Page 637: Manual Wsp 3 Part 1-Rev a Gold

Lab 22 – 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.

14. Click the Embed Graphic button one more time. From the Switches folder, insert a Switch symbol into your symbol. Rename the instance of the symbol to Start .

The switch should include a Custom Property named Value .

15. Save and Close your symbol and add the appropriate Check-in comments.

16. Switch to WindowMaker .

Wonderware System Platform 3.0 Course - Part 1

Page 638: Manual Wsp 3 Part 1-Rev a Gold

3-116 Module 10 – ArchestrA Graphics

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.

19. Click OK when finished.

Wonderware Training

Page 639: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-117

Section 4 – Animating Graphic Elements

Section Objective

� Configure and apply Animation to objects.

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

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

� Interaction animations, such as disablement, user input, horizontal slider, vertical slider, pushbutton, action script, show symbol or hide symbol.

� 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 System Platform 3.0 Course - Part 1

Page 640: Manual Wsp 3 Part 1-Rev a Gold

3-118 Module 10 – ArchestrA Graphics

Adding an Animation to an Element

You can add one or more animations to a single element in your ArchestrA symbol.

To add an animation to an element

a. Select the element to which you want to add an animation.

b. On the Special menu, click Edit Animations or double-click on the Element.

The Edit Animations dialog box appears.

c. Click the Add icon.

The list of animations appears.

Wonderware Training

Page 641: Manual Wsp 3 Part 1-Rev a Gold

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.

Reviewing which Animations are Assigned to an Eleme nt

You can review which animations are assigned to an element and change the number of animations or their configuration at the same time.

To review which animations are assigned to an element

� Select the element. The assigned animations appear in the Animation Editor.

Wonderware System Platform 3.0 Course - Part 1

Page 642: Manual Wsp 3 Part 1-Rev a Gold

3-120 Module 10 – ArchestrA Graphics

Showing and Hiding the Animation List

You can show or hide the animation list. If you hide the animation list, the configuration space is expanded giving you more space to configure the animations.

To hide the animation list

� In the Edit Animations dialog box, click the Hide icon. The animation list is hidden and the configuration space is expanded.

To show the animation list

� In the Edit Animations dialog box, click the Show icon. The animation list is shown and the configuration space is reduced to its default width.

Wonderware Training

Page 643: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-121

Removing Animations from an Element

You can remove an animation from an element by using the Edit Animations dialog box. You can do this for either:

� Individual animations.

� All animations at the same time.

To remove an animation from an element

a. Select the element from which you want to remove an animation.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Select the animation you want to remove from the animation list on the left side of the dialog box.

d. Click the Remove icon. A confirmation dialog box appears.

e. Click Yes. The animation is removed from the list and no longer associated with the element.

To remove all animations from an element

a. Select one or more elements from which you want to remove all animations.

b. On the Edit menu, point to Animations , and then click Clear . All animations are removed from the selected element(s).

Wonderware System Platform 3.0 Course - Part 1

Page 644: Manual Wsp 3 Part 1-Rev a Gold

3-122 Module 10 – ArchestrA Graphics

Enabling and Disabling Animations

You can enable or disable animations for an element. When you disable an animation, its configuration is not lost. This lets you see, for example, each animation independently from each other.

To disable 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 disable from the animation list on the left side of the dialog box.

d. Select Disabled from the list of that row.

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

Page 645: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-123

Validating the Configuration of an Animation

You can validate the configuration of an animation.

If the configuration has an error, an exclamation mark is shown next to the animation icon.

Errors include for example:

� Animation is disabled.

� Syntax errors, such as data mismatches.

� Required values not specified.

� Specified values out of valid range.

To validate the configuration of an animation

a. Select the element that contains the animations you want to validate.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Select the animation you want to validate.

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.

Clearing the Configuration from an Animation

You can clear all data from the configuration boxes of an animation and reset the settings to their defaults.

To clear all data from the configuration boxes of an animation

a. In the Edit Animations dialog box, select the animation.

b. In the configuration panel, click the Clear icon.

All data from the configuration boxes is cleared and the settings are reset to their defaults.

Connecting Animations with Data Sources

You can connect animations to:

� ArchestrA attributes.

� Element properties.

� Custom properties.

� InTouch tags.

Wonderware System Platform 3.0 Course - Part 1

Page 646: Manual Wsp 3 Part 1-Rev a Gold

3-124 Module 10 – ArchestrA Graphics

Connecting Animations with Element Properties

You can connect the element behavior and appearance with a property of any element on the canvas.

You can browse the properties of all elements on the canvas with the Galaxy Browser .

Note: You cannot connect animations to properties of elements that are part of an embedded symbol on the canvas.

To connect animations to element property references using the Galaxy Browser

a. Select the element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Select the animation you want to configure from the animation list.

d. Select the parameter you want to configure.

e. Click the Browse button. The Galaxy Browser appears.

f. Click the Element Browser tab. The Element Browser panel appears.

g. From the Elements list on the left select an element. The right side shows the properties of the selected element.

h. Select a property and click OK. The selected element and property is shown in the configuration box.

Wonderware Training

Page 647: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-125

Connecting Animations with Custom Properties

You can connect the element behavior and appearance with a custom property of either:

� The current symbol.

� An embedded symbol on the canvas.

To connect animations to element property references using the Galaxy Browser

a. Select the element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Select the animation you want to configure from the animation list.

d. Select the parameter you want to configure.

e. Click the Browse button. The Galaxy Browser appears.

f. Click the Element Browser tab. The Element Browser panel appears.

g. From the Elements list on the left select the symbol. The right side shows the custom properties and other properties of the selected symbol.

h. Select a custom property and click OK. The selected custom property is shown in the configuration box.

Connecting Animations with InTouch tags

You can connect the element behavior and appearance with an InTouch tagname. The InTouch tagname provides values at runtime that control the behavior and appearance of the element.

This can be done either by:

� Configuring a reference with the intouch:tagname syntax. The animation connects to the InTouch tagname of the node the symbol is deployed to.

� Using a custom property and configuring the custom property in the inserted ArchestrA symbol in InTouch to reference an InTouch tag. For more information, see the InTouch ArchestrA Integration Guide.

� Configuring an ArchestrA attribute reference to the IDE-managed InTouch application object InTouchViewApp that contains the InTouch tagnames as attributes. This is bound to a specific node. This is a special case of configuring an ArchestrA attribute reference.

� Configuring an ArchestrA attribute reference to an InTouchProxy object that contains the InTouch tagnames as items. This is a special case of configuring an ArchestrA attribute reference.

Wonderware System Platform 3.0 Course - Part 1

Page 648: Manual Wsp 3 Part 1-Rev a Gold

3-126 Module 10 – ArchestrA Graphics

Note: To configure a reference to use an InTouch SuperTag, use the following syntax: attribute(“intouch:SuperTag\Member”).

Connecting Animations with InTouchViewApp Attributes

To be able to browse for InTouch tags, you must first:

� Create an IDE-managed InTouch application by deriving an InTouchViewApp object and configuring it in WindowMaker.

� Derive an instance of the InTouchViewApp object.

The InTouch tags are represented by attributes of the InTouchViewApp object instance.

To connect animations to InTouch tags

a. Select the element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Select the animation you want to configure from the animation list.

d. Select the parameter you want to configure.

e. Click the Browse button. The Galaxy Browser appears.

f. Select the InTouchViewApp object that corresponds to the IDE-managed InTouch application. The right panel is populated with InTouch tags.

g. Select a tag and click OK. The selected ArchestrA reference to an InTouch tag is shown in the configuration box.

Wonderware Training

Page 649: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-127

Managing Animations

You can easily manage animations in the Edit Animations dialog box. You can:

� Change the way the list of animations appears.

� Switch easily between multiple animations of an element.

Organizing the Animation List

You can either organize the list of animations alphabetically or by category.

To organize the animation list

� In the Edit Animations dialog box, click the:

� Alphabetic sort icon to sort alphabetically.

� Category icon to sort by category.

Switching between Animations

If you have more than one animation for an element you can easily switch between their configuration panels without having to use the animation list. This is particularly useful when the animation list is hidden.

To switch between animations

� In the Edit Animations dialog box, on the configuration panel click either the left or right arrow icon.

The configuration panel changes to the configuration panel of the previous or next animation.

Wonderware System Platform 3.0 Course - Part 1

Page 650: Manual Wsp 3 Part 1-Rev a Gold

3-128 Module 10 – ArchestrA Graphics

Configuring Common Types of Animations

Every animation type has its own set of configuration parameters. This section shows you how to configure each type of animation and what references it can use.

You can either configure:

� Visualization animations, such as:

� Visibility animations.

� Fill style, line style or text style animations.

� Blink animations.

� Horizontal or vertical percent fill animations.

� Horizontal or vertical location animations.

� Width or height animations.

� Orientation animations.

� Value display animations.

� Tooltip animations.

� Interaction animations, such as:

� Disablement animation.

� User input animation.

� Horizontal and vertical slider animations.

� Pushbutton animations. �

Action script animations.

� Show or hide animations.

Configuring a Visibility Animation

You can configure an element with a visibility animation.

To configure an element with a visibility 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 Visibility . The visibility animation is added to the animation list and the Visibility configuration panel appears.

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

Page 651: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-129

Configuring a Fill Style Animation

You can configure an element either with a:

� Boolean fill style animation.

� Truth table fill style animation.

The truth table fill style animation lets you:

� Associate expressions of any data type supported by ArchestrA with a fill style.

� Define as many fill styles as you require and associate each one with a condition.

You can define the conditions by specifying a comparison operator (=, >, >=, <, <=) and a breakpoint, which itself can be a value, an attribute reference or an expression.

You can add conditions, delete conditions and also change the order in which the conditions are processed.

Configuring a Boolean Fill Style Animation

You can configure an element with a boolean/discrete fill style animation.

To configure an element with a boolean fill style 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 Style . The fill style animation is added to the animation list and the Fill Style state selection panel appears.

d. Click the Boolean button. The Boolean Fill Style configuration panel appears.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 652: Manual Wsp 3 Part 1-Rev a Gold

3-130 Module 10 – ArchestrA Graphics

To set default fill style in a boolean fill style animation

a. Open the Edit Animations dialog box, Boolean Fill Style panel.

b. In the Element Fill Style area, click the color box to select a style from the style selection dialog box.

To use default fill style in a boolean fill style animation

a. Open the Edit Animations dialog box, Boolean Fill Style panel.

b. Unselect Color to use the corresponding default fill style.

Configuring a Truth Table Fill Style Animation

You can configure an element with a fill style animation based on a truth table.

To configure an element with a truth table fill style 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 Style . The fill style animation is added to the animation list and the Fill Style state selection panel appears.

d. Click the Truth Table button. The Truth Table Fill Style configuration panel appears.

e. In the Expression Or Reference area:

� Select the data type of the expression from the list.

� Type a value, attribute reference or expression in the text box.

f. If the data type of the expression is string or internationalized string, you can specify to ignore the case by selecting Ignore Case.

g. In the Truth Table , click the color box in the Color column. The style selection dialog box appears.

h. In the Operator column, select the comparison operator.

i. In the Value or Expression column, type a value, attribute reference or expression.

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

Page 653: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-131

To add a condition to a truth table fill style animation

a. Open the Edit Animations dialog box, Truth Table Fill Style panel.

b. Click the Add icon. An additional condition is added to the truth table.

c. Configure color, operator and breakpoint value according to your requirements.

To delete a condition from an analog fill style animation

a. Open the Edit Animations dialog box, Truth Table Fill Style panel.

b. Select the condition you want to delete.

c. Click the Remove icon. The condition is removed.

To change the processing order of fill style conditions

a. Open the Edit Animations dialog box, Truth Table Fill Style panel.

b. Select the condition you want to move up or down the condition list in order for it to be processed sooner or later.

c. Either click the:

� Arrow up icon to move the condition up in the truth table.

� Arrow down icon to move the condition down in the truth table.

Wonderware System Platform 3.0 Course - Part 1

Page 654: Manual Wsp 3 Part 1-Rev a Gold

3-132 Module 10 – ArchestrA Graphics

Example:

The table below shows an analog fill color animation that describes the following behavior:

� When the attribute TankLevel_001.PV is 0 then the fill style is solid black.

� When the attribute TankLevel_001.PV is smaller than 20, then the fill style is solid red.

� When the attribute TankLevel_001.PV is greater than the attribute Standards.TankMax then the fill style is red with a diagonal pattern.

� In all other cases, the fill style is solid blue.

Condition Color Operator Expression 1 Solid Black = 0 2 Solid Red < 20 3 Red, Pattern > Standards.TankMax

Expression: TankLevel_001.PV Element Fill Style: Solid blue

Configuring a Line Style Animation

You can configure an element either with a:

� Boolean line style animation.

� Truth table line style animation.

The truth table line style animation lets you:

� Associate expressions of any data type supported by ArchestrA with a line style.

� Define as many line styles as you want and associate each one with a condition.

You can define the conditions by specifying a comparison operator (=, >, >=, <, <=) and a breakpoint, which itself can be a value, an attribute reference or an expression.

You can add conditions, delete conditions and also change the order in which the conditions are processed.

Wonderware Training

Page 655: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-133

Configuring a Boolean Line Style Animation

You can configure an element with a boolean line style animation. You can either use a new style or use all or parts of the default appearance of a line for:

� Line style.

� Line thickness.

� Line pattern.

To configure an element with a boolean line style 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 Line Style . The line style animation is added to the animation list and the Line Style state selection panel appears.

d. Click the Boolean button. The Boolean Line Style configuration panel appears.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 656: Manual Wsp 3 Part 1-Rev a Gold

3-134 Module 10 – ArchestrA Graphics

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.

Configuring a Truth Table Line Style Animation

You can configure an element with a truth table line style animation.

To configure an element with a truth table line style 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 Line Style . The line style animation is added to the animation list and the Line Style state selection panel appears.

d. Click the Truth Table button. The Truth Table Line Style configuration panel appears.

e. In the Expression or Reference box:

� Select the data type of the expression from the list.

� Type a value, attribute reference or expression in the text box.

f. If the data type of the expression is string or internationalized string, you can specify to ignore the case by selecting Ignore Case.

g. In the Truth Table , click the color box in the Color column. The Style Selection dialog box appears.

h. In the Weight column, type a value for the line weight.

i. In the Pattern column, select a line pattern.

j. In the Operator column, select the comparison operator.

k. In the Value or Expression column, type a value, attribute reference or expression.

l. When you are done, click OK.

Wonderware Training

Page 657: Manual Wsp 3 Part 1-Rev a Gold

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.

To add a condition to a truth table line style animation

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.

To delete a condition from an analog line color animation

a. In the Edit Animations dialog box, Truth Table Line Style panel, select the condition you want to delete.

b. Click the Remove button. The condition is removed.

To change the processing order of line style conditions

a. Open the Edit Animations dialog box, Truth Table Line Style panel

b. Select the condition you want to move up or down the condition list in order for it to be processed sooner or later.

c. Either click the:

� Arrow up icon to move the condition up in the truth table.

� Arrow down icon to move the condition down in the truth table.

Wonderware System Platform 3.0 Course - Part 1

Page 658: Manual Wsp 3 Part 1-Rev a Gold

3-136 Module 10 – ArchestrA Graphics

Configuring a Text Style Animation

You can configure an element either with a:

� Boolean text style animation.

� Truth table text style animation.

The truth table text style animation lets you:

� Associate expressions of any data type supported by ArchestrA with a text style.

� Define as many text styles as you want and associate each one with a condition.

You can define the conditions by specifying a comparison operator (=, >, >=, <, <=) and a breakpoint, which itself can be a value, an attribute reference or an expression.

You can add conditions, delete conditions and also change the order in which the conditions are processed.

Configuring a Boolean Text Style Animation

You can configure an element with a boolean text style animation.

To configure an element with a boolean text style 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 Text Style . The text style animation is added to the animation list and the Text Style state selection panel appears.

d. Click the Boolean button. The Boolean Text Style configuration panel appears.

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

Page 659: Manual Wsp 3 Part 1-Rev a Gold

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 configure an element with a truth table text style 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 Text Style . The text style animation is added to the animation list. The Text Style information page appears.

d. Click the Truth Table button. The Truth Table Text Style configuration panel appears.

e. Select the data type of the expression from the list.

f. Type a value, attribute reference or expression in the text box.

g. If the data type of the expression is string or internationalized string, you can specify to ignore the case by selecting Ignore Case.

h. In the Truth Table , click the color box in the Color column. The style selection dialog box appears.

i. Click on the cell in the Font column to select a font.

j. In the Operator column, select the comparison operator.

k. In the Value or Expression column, type a value, attribute reference or expression.

l. When you are done, click OK.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 660: Manual Wsp 3 Part 1-Rev a Gold

3-138 Module 10 – ArchestrA Graphics

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.

To add a condition to a truth table text style animation

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.

To delete a condition from a truth table text style animation

a. In the Edit Animations dialog box, Truth Table Text Style panel, select the condition you want to delete.

b. Click the Remove button. The condition is removed.

To change the processing order of text style conditions

a. Open the Edit Animations dialog box, Truth Table Text Style panel

b. Select the condition you want to move up or down the condition list in order for it to be processed sooner or later.

c. Either click the:

� Arrow up icon to move the condition up in the truth table.

� Arrow down icon to move the condition down in the truth table.

Wonderware Training

Page 661: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-139

Configuring a Blink Animation

You can configure an element with a blink animation. You can specify:

� The blinking speed: slow, medium or fast.

� If the element should blink invisibly or if it should blink with specified colors.

To configure an element with a blink 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 Blink . The blink animation is added to the animation list and the Blink configuration panel appears.

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:

� True, 1, On to enable blinking when the expression is true.

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

Wonderware System Platform 3.0 Course - Part 1

Page 662: Manual Wsp 3 Part 1-Rev a Gold

3-140 Module 10 – ArchestrA Graphics

Configuring a Percent Fill Horizontal Animation

You can configure an element with a percent fill horizontal animation.

Besides specifying the expressions that determine how much of the element is filled at run time, you can also specify:

� Fill Direction : from left to right or right to left.

� Unfill Color : the style of the background when the element has 0% filling.

� Fill Orientation : if the filling is in relation to the element or to the screen.

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.

d. In the Analog box, type an analog value, attribute reference or expression.

Wonderware Training

Page 663: Manual Wsp 3 Part 1-Rev a Gold

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:

� Fill Color box to select a style from the style selection dialog box. This is the fill style of the element.

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

� Right - to fill from left to right.

� Left - to fill from right to left.

k. In the Orientation area, select either:

� Relative to Graphic - so that the filling is in relation to the element and the filling rotates with the element.

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

m. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 664: Manual Wsp 3 Part 1-Rev a Gold

3-142 Module 10 – ArchestrA Graphics

Configuring a Percent Fill Vertical Animation

You can configure an element with a percent fill vertical animation.

Besides specifying the expressions that determine how much of the element is filled at run time, you can also specify:

� Fill Direction : from bottom to top or top to bottom.

� Unfill Color : the style of the background when the element has 0% filling.

� Fill Orientation : if the filling is in relation to the element or to the screen.

To configure an element with a percent fill vertical 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 Vertical . The percent fill vertical animation is added to the animation list and the % Fill Vertical configuration panel appears.

d. In the Analog box, type an analog value, attribute reference or expression.

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.

Wonderware Training

Page 665: Manual Wsp 3 Part 1-Rev a Gold

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:

� Fill Color box to select a style from the style selection dialog box. This is the fill style of the element.

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

� Up - to fill from bottom to top.

� Down - to fill from top to bottom.

k. In the Orientation area, select either:

� Relative to Graphic - so that the filling is in relation to the element and the filling rotates with the element.

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

m. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 666: Manual Wsp 3 Part 1-Rev a Gold

3-144 Module 10 – ArchestrA Graphics

Configuring a Location Horizontal Animation

You can configure an element with a location horizontal animation.

To configure an element with a location 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 Location Horizontal. The location horizontal animation is added to the animation list and the Location Horizontal configuration panel appears.

d. In the Analog box, type an analog value, attribute reference or expression.

e. In the Value-At Left End 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-At Right End 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. When you are done, click OK.

Wonderware Training

Page 667: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-145

Configuring a Location Vertical Animation

You can configure an element with a location vertical animation.

To configure an element with a location vertical 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 Location Vertical . The location vertical animation is added to the animation list and the Location Vertical configuration panel appears.

d. In the Analog box, type an analog value, attribute reference or expression.

e. In the Value - At Top box, type an analog value, attribute reference or expression that corresponds to the offset specified by the Movement - Up value.

f. In the Value - At Bottom 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. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 668: Manual Wsp 3 Part 1-Rev a Gold

3-146 Module 10 – ArchestrA Graphics

Configuring a Width Animation

You can configure an element with a width animation. You can also specify if the element is to be anchored to its left side, center, right side or origin.

To configure an element with a width 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 Width . The width animation is added to the animation list and the Width configuration panel appears.

d. In the Analog box, type an analog value, attribute reference or expression.

e. In the Value-At Min Size box, type an analog value, attribute reference or expression that corresponds to the minimum width specified by the Width-Min% value.

f. In the Value-At Max Size box, type an analog value, attribute reference or expression that corresponds to the maximum width specified by the Width-Max% value.

g. In the Width-Min% box, type an analog value, attribute reference or expression for the minimum width in percent of the original element.

h. In the Width-Max% box, type an analog value, attribute reference or expression for the maximum width in percent of the original element.

i. In the Anchor area, select either:

� Left - to specify that the left side of the element is anchored.

� Center - to specify that the horizontal center of the element is anchored.

� Right - to specify that the right side of the element is anchored.

� Origin - to specify that the origin of the element is anchored.

j. When you are done, click OK.

Wonderware Training

Page 669: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-147

Configuring a Height Animation

You can configure an element with a height animation. You can also specify if the element is to be anchored to its top side, middle, bottom side or origin.

To configure an element with a height 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 Height . The height animation is added to the animation list and the Height configuration panel appears.

d. In the Analog box, type an analog value, attribute reference or expression.

e. In the Value-At Min Size box, type an analog value, attribute reference or expression that corresponds to the minimum height specified by the Height-Min% value.

f. In the Value-At Max Size box, type an analog value, attribute reference or expression that corresponds to the maximum height specified by the Height-Max% value.

g. In the Height-Min% box, type an analog value, attribute reference or expression for the minimum height in percent of the original element.

h. In the Height-Max% box, type an analog value, attribute reference or expression for the maximum height in percent of the original element.

i. In the Anchor area, select either:

� Top - to specify that the top side of the element is anchored.

� Middle - to specify that the vertical center of the element is anchored.

� Bottom - to specify that the bottom side of the element is anchored.

� Origin - to specify that the origin of the element is anchored.

j. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 670: Manual Wsp 3 Part 1-Rev a Gold

3-148 Module 10 – ArchestrA Graphics

Configuring an Orientation Animation

You can configure an element with an orientation animation. You can also:

� Specify a different orientation origin.

� Ignore or accept the design-time orientation of the element on the canvas.

� Preview the orientation at run time with a slider.

To configure an element with an orientation 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 Orientation . The orientation animation is added to the animation list and the Orientation configuration panel appears.

d. In the Analog box, type an analog value, attribute reference or expression.

e. In the Value-At CCW End box, type an analog value, attribute reference or expression that corresponds to the maximum angle in degrees for the counter-clockwise orientation as specified by the Orientation-CCW value.

f. In the Value-At CW End box, type an analog value, attribute reference or expression that corresponds to the maximum angle in degrees for the counter-clockwise orientation as specified by the Orientation-CW value.

g. In the Orientation-CCW box, type an analog value, attribute reference or expression for the maximum orientation in counter-clockwise direction in degrees.

h. In the Orientation-CW box, type an analog value, attribute reference or expression for the maximum orientation in clockwise direction in degrees.

Wonderware Training

Page 671: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-149

i. In the Orientation Offset area, Select either:

� Replace Current to ignore the design-time orientation of the element as it appears on the canvas and to use absolute orientation.

� Use Current as Offset Orientation to orientate the element at run time in relation to its design-time orientation on the canvas.

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:

� Replace Current Angle to ignore the design-time rotation setting of the element as it appears on the canvas.

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

n. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 672: Manual Wsp 3 Part 1-Rev a Gold

3-150 Module 10 – ArchestrA Graphics

Configuring a Value Display Animation

You can configure an element with a value display animation. You can either display:

� A boolean value.

� An analog value.

� A string value.

� A time value.

Configuring a Boolean Value Display Animation

You can configure an element to show a boolean value.

To configure an element with a boolean value display 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 Value Display . The value display animation is added to the animation list and the Value Display state selection panel appears.

d. Click the Boolean button. The Boolean Value Display configuration panel appears.

e. In the Boolean box, type a boolean value, attribute reference or expression.

f. In the True Message box, type a value, attribute reference or expression for the text display when the expression is true.

g. In the False Message box, type a value, attribute reference or expression for the text display when the expression is false.

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.

h. When you are done, click OK.

Wonderware Training

Page 673: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-151

Configuring an Analog Value Display Animation

You can configure an element to show an analog value.

To configure an element with an analog value display 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 Value Display . The value display animation is added to the animation list and the Value Display state selection panel appears.

d. Click the Analog button. The Analog Value Display configuration panel appears.

e. In the Analog box, type an analog value, attribute reference or expression.

f. 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. For example: PV = #,###.##

g. When you are done, click OK.

Configuring a String Value Display Animation

You can configure an element to show a string value.

To configure an element with a string value display 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 Value Display . The value display animation is added to the animation list and the Value Display state selection panel appears.

d. Click the String button. The String Value Display configuration panel appears.

e. In the String box, type a string value, attribute reference or expression.

f. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 674: Manual Wsp 3 Part 1-Rev a Gold

3-152 Module 10 – ArchestrA Graphics

Configuring a Time Value Display Animation

You can configure an element to show a time value.

To configure an element with a time value display 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 Value Display . The value display animation is added to the animation list and the Value Display state selection panel appears.

d. Click the Time button. The Time Value Display configuration panel appears.

e. In the Time or Elapsed Time box, type a time or elapsed time value, attribute reference or expression.

� 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

f. When you are done, click OK.

Wonderware Training

Page 675: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-153

Configuring a Name Display Animation

You can configure an element to show the tag name, hierarchical name or contained name of the Automation object that is hosting it.

For example if the Automation object hosting the symbol is named Valve_001 and Valve_001 is contained in Pump_001 and has a contained name of InletValve, then configuring an element with the value display animation with:

� Tag Name shows Valve_001 at run time.

� Hierarchical Name shows Pump_001.InletValve at runtime.

� Contained Name shows InletValve at run time.

To configure an element with a name display 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 Value Display . The value display animation is added to the animation list and the Value Display state selection panel appears.

d. Click the Name button. The Name Value Display configuration panel appears.

e. Select:

� Tag Name to show the tag name of the hosting Automation object.

� Hierarchical Name to show the hierarchical name of the hosting Automation object.

� Contained Name to show the contained name of the hosting Automation object.

f. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 676: Manual Wsp 3 Part 1-Rev a Gold

3-154 Module 10 – ArchestrA Graphics

Configuring a Tooltip Animation

You can configure an element with a tooltip animation.

Note: The tooltip animation does not work with Windows Common Controls.

To configure an element with a tooltip 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 Tooltip . The tooltip animation is added to the animation list and the Tooltip configuration panel appears.

d. In the Expression box, type either:

� A static value and make sure the input mode icon is set to static.

� An attribute reference or expression and make sure the input mode icon is set to attribute or reference.

e. When you are done, click OK.

Wonderware Training

Page 677: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-155

Configuring a Disablement Animation

You can configure an element with a disablement animation. This lets you disable an element depending on a run-time value or expression.

To configure an element with a disablement 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 Disable . The disablement animation is added to the animation list and the Disable configuration panel appears.

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:

� True,1, On in which case the element is disabled at run time whenever the expression is true.

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

Wonderware System Platform 3.0 Course - Part 1

Page 678: Manual Wsp 3 Part 1-Rev a Gold

3-156 Module 10 – ArchestrA Graphics

Configuring a User Input Animation

You can configure an element with a user input animation for the following data types:

� Boolean.

� Analog (integer, float, double).

� String.

� Time.

� Elapsed time.

Configuring a User Input Animation for a Discrete Value

You can configure an element with a user input animation for a boolean value.

To configure an element with a user input 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 User Input . The user input animation is added to the animation list and the User Input state selection panel appears.

d. Click the Boolean button. The Boolean Value User Input configuration panel appears.

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

Page 679: Manual Wsp 3 Part 1-Rev a Gold

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.

Configuring a User Input Animation for an Analog Value

You can configure an element with a user input animation for an analog value.

To configure an element with a user input animation for an analog value

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 User Input . The user input animation is added to the animation list and the User Input state selection panel appears.

d. Click the Analog button. The Analog Value User Input configuration panel appears.

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:

� First selecting Restrict Values .

� The Typing values, attribute references or expressions for the Minimum and Maximum boxes.

Wonderware System Platform 3.0 Course - Part 1

Page 680: Manual Wsp 3 Part 1-Rev a Gold

3-158 Module 10 – ArchestrA Graphics

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.

Configuring a User Input Animation for a String Value

You can configure an element with a user input animation for a string value.

To configure an element with a user input animation for a string value

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 User Input . The user input animation is added to the animation list and the User Input state selection panel appears.

d. Click the String button. The String Value User Input configuration panel appears.

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

Page 681: Manual Wsp 3 Part 1-Rev a Gold

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:

� Select Password.

� Type in the replacement character in the adjacent box.

� Select Encrypt if you want to encrypt the string that holds the password.

m. When you are done, click OK.

Configuring a User Input Animation for a Time Value

You can configure an element with a user input animation for a time value.

To configure an element with a user input animation for a time value

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 User Input . The user input animation is added to the animation list and the User Input state selection panel appears.

d. Click the Time button. The Time Value User Input configuration panel appears.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 682: Manual Wsp 3 Part 1-Rev a Gold

3-160 Module 10 – ArchestrA Graphics

j. To use the current date and time as default, select Use Current Date/Time as Default .

k. Select either:

� Use Input Dialog to use the Time User Input dialog box at run time to type date and time values in individual boxes.

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

� Date and Time to type date and time.

� Date to only type a date.

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

Configuring a User Input Animation for an Elapsed Time Value

You can configure an element with a user input animation for an elapsed time value.

To configure an element with a user input animation for an elapsed time value

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 User Input . The user input animation is added to the animation list and the User Input state selection panel appears.

d. Click the Elapsed Time button. The Elapsed Time Value User Input configuration panel appears.

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

Page 683: Manual Wsp 3 Part 1-Rev a Gold

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:

� Show Days if you also want to input days.

� Show Milliseconds if you also want to input milliseconds.

l. When you are done, click OK.

Configuring a Horizontal Slider Animation

You can configure an element with a horizontal slider animation. This lets you drag an element at run time in horizontal direction and write a corresponding value back to an attribute.

To configure an element with a horizontal slider 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 Slider Horizontal . The horizontal slider animation is added to the animation list and the Slider Horizontal configuration panel appears.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 684: Manual Wsp 3 Part 1-Rev a Gold

3-162 Module 10 – ArchestrA Graphics

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:

� Left to anchor the element at its left side.

� Center to anchor the element at its center point.

� Right to anchor the element at its right side.

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

m. When you are done, click OK.

Wonderware Training

Page 685: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-163

Configuring a Vertical Slider Animation

You can configure an element with a vertical slider animation.

To configure an element with a vertical slider 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 Slider Vertical . The vertical slider animation is added to the animation list and the Slider Vertical configuration panel appears.

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:

� Top to anchor the element at its top side.

� Middle to anchor the element at its middle point.

� Bottom to anchor the element at its bottom side.

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

Wonderware System Platform 3.0 Course - Part 1

Page 686: Manual Wsp 3 Part 1-Rev a Gold

3-164 Module 10 – ArchestrA Graphics

l. If you want to preview the movement as it appears in run time, drag the slider in the Preview area.

m. When you are done, click OK.

Configuring a Pushbutton Animation

You can configure an element with a pushbutton animation to change either boolean, analog or string references.

Configuring a Pushbutton Animation for a Boolean Value

a. You can configure an element with a pushbutton to change a boolean value.

b. To configure an element with a pushbutton animation to change a boolean value

c. Select the element you want to configure.

d. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

e. Click the Add icon and select Pushbutton . The pushbutton animation is added to the animation list and the Pushbutton state selection panel appears.

f. Click the Boolean button. The Boolean Pushbutton configuration panel appears.

g. In the Boolean box, type a boolean attribute reference or browse for one by using the Browse button.

Wonderware Training

Page 687: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-165

h. From the Action list, select either:

� Direct so the value becomes true when the element is clicked and the mouse button held. The value returns to false when the mouse button is released.

� Reverse so the value becomes false when the element is clicked and the mouse button held. The value returns to true when the mouse button is released.

� Toggle so the value becomes true, if it is false and false if it is true when the element is clicked.

� Set so the value is set to true when the element is clicked.

� Reset so the value is set to false when the element is clicked.

i. If you selected Toggle as action, you can configure the value to be written, when the mouse button is released instead. Select On button release.

j. If you selected Direct, Reverse, Reset or Set as action, you can configure the value to be written:

� Continuously by selecting 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.

� Once by unselecting Continuously while button is pressed.

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.

m. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 688: Manual Wsp 3 Part 1-Rev a Gold

3-166 Module 10 – ArchestrA Graphics

Configuring a PushButton Animation for an Analog Value

You can configure an element with a pushbutton to set an analog value.

To configure an element with a pushbutton animation to set an analog value

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 Pushbutton . The pushbutton animation is added to the animation list and the Pushbutton state selection panel appears.

d. Click the Analog button. The Analog Pushbutton configuration panel appears.

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:

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

� Toggle so the value becomes Value1 , if it is Value2 and Value2 if it is Value1 when the element is clicked.

� Set so the value is set to Value1 when the element is clicked.

� Increment so the value is increased by Value1 .

� Decrement so the value is decreased by Value1 .

� Multiply so the value is multiplied with Value1 .

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

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

� Once by unselecting the Continuously while button is pressed.

j. This does not apply if you selected Toggle as action.

Wonderware Training

Page 689: Manual Wsp 3 Part 1-Rev a Gold

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.

m. When you are done, click OK.

Configuring a PushButton Animation for a String Value

You can configure an element with a pushbutton to set a string value.

To configure an element with a pushbutton animation to set a string value

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 Pushbutton . The pushbutton animation is added to the animation list and the Pushbutton state selection panel appears.

d. Click the Analog button. The String Pushbutton configuration panel appears.

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:

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

� Toggle so the value becomes Value1, if it is Value2 and Value2 if it is Value1 when the element is clicked

� Set so the value is set to Value1 when the element is clicked.

Wonderware System Platform 3.0 Course - Part 1

Page 690: Manual Wsp 3 Part 1-Rev a Gold

3-168 Module 10 – ArchestrA Graphics

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:

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

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

n. When you are done, click OK.

Wonderware Training

Page 691: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-169

Configuring an Action Script Animation

You can configure an element with an action script animation.

You can assign multiple action scripts to one element that are activated in different ways, such as:

� On Primary Click/Key Down to activate the action script when the primary mouse button or a specific key is pressed.

� While Primary Click/Key Down to activate the action script when the primary mouse button or a specific key is pressed and held.

� On Primary Click/Key Up to activate the action script when the primary mouse button or a specific key is released

� On Primary Double Click to activate the action script when the primary mouse button is double-clicked.

� On Secondary Down to activate the action script when the secondary mouse button is pressed.

� While Secondary Down to activate the action script when the secondary mouse button is pressed and held.

� On Secondary Up to activate the action script when the secondary mouse button is released.

� On Secondary Double Click to activate the action script when the secondary mouse button is double-clicked.

� On Center Down to activate the action script when the center mouse button is pressed.

� While Center Down to activate the action script when the center mouse button is pressed and held.

� On Center Up to activate the action script when the center mouse button is released.

� On Center Double Click to activate the action script when the center mouse button is double-clicked.

� On Mouse Over to activate the action script when the mouse pointer is moved over the element.

� On Mouse Leave to activate the action script when the mouse pointer is moved out of the element.

� While Mouse Over to activate the action script while the mouse pointer is over the element.

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.

Wonderware System Platform 3.0 Course - Part 1

Page 692: Manual Wsp 3 Part 1-Rev a Gold

3-170 Module 10 – ArchestrA Graphics

To configure an element with an action script 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 Action Scripts . The action scripts animation is added to the animation list and the Action Scripts configuration panel appears.

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

Page 693: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-171

Configuring a Show Symbol Animation

You can configure an element with a show symbol animation. A Show symbol animation shows a specified symbol in a new window, when the element is clicked on.

You can configure:

� Which symbol appears in the new window.

� If the window has a title bar, and if so, if it has a caption.

� If the window is modal or modeless.

� If the window has a close button.

� If the window can be resized.

� The initial window position.

� The size of the window.

To configure an element with a show symbol 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 Show Symbol . The show symbol animation is added to the animation list.

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 .

Wonderware System Platform 3.0 Course - Part 1

Page 694: Manual Wsp 3 Part 1-Rev a Gold

3-172 Module 10 – ArchestrA Graphics

j. Select where you want the window to appear by selecting a position in the Position list. You can select one of the following:

� Center Screen to position the symbol in the center of the screen.

� Top Left Mouse Position to position the symbol’s top left corner at the position of the mouse pointer.

� Top Right Mouse Position to position the symbol’s top right corner at the position of the mouse pointer.

� Bottom Left Mouse Position to position the symbol’s bottom left corner at the position of the mouse pointer.

� Bottom Right Mouse Position to position the symbol’s bottom right corner at the position of the mouse pointer.

� Center Mouse Position to position the symbol’s center point on the mouse pointer.

� Top Left X,Y Position to position the symbol’s top left corner at a specified position.

� Center X,Y Position to position the symbol’s center point at a specified position.

� Top of Screen to position the symbol at the top center of the screen.

� Left Side of Screen to position the symbol at the left middle of the screen.

� Right Side of Screen to position the symbol at the right middle of the screen.

� Bottom of Screen to position the symbol at the bottom center of the screen.

� Top Left Corner of Screen to position the symbol at the top left corner of the screen.

� Top Right Corner of Screen to position the symbol at the top right corner of the screen.

� Bottom Left Corner of Screen to position the symbol at the bottom left corner of the screen.

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

� Symbol Size (1x) to make the window size the same as the size of the symbol.

� Symbol Size plus 25% (1.25x) to make the window size 25% larger than the size of the symbol.

� Symbol Size plus 50% (1.5x) to make the window size 50% larger than the size of the symbol.

� Symbol Size plus 75% (1.75x) to make the window size 75% larger than the size of the symbol.

� Double Symbol Size (2x) to make the window size twice the size of the symbol.

� Triple Symbol Size (3x) to make the window size three times the size of the symbol.

� Quadruple Symbol Size (4x) to make the window size four times the size of the symbol.

� 25% Screen Size to make the window size cover 25% of the screen.

� 50% Screen Size to make the window size cover 50% of the screen.

� 75% Screen Size to make the window size cover 75% of the screen.

� Full Screen Size to make the window size cover the entire screen.

� Custom Width and Height to specify a width and height.

Wonderware Training

Page 695: Manual Wsp 3 Part 1-Rev a Gold

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.

Configuring a Hide Symbol Animation

You can configure an element with a hide symbol animation. The hide symbol animation lets you either close:

The current symbol.

� A symbol that is shown by a specified element.

� To configure an element with a hide symbol animation

Select the element you want to configure.

a. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

b. Click the Add icon and select Hide Symbol . The hide symbol animation is added to the animation list and the Symbol Hide configuration panel appears.

c. Select either:

� Current Symbol , if you want to close the currently shown symbol or window.

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

Wonderware System Platform 3.0 Course - Part 1

Page 696: Manual Wsp 3 Part 1-Rev a Gold

3-174 Module 10 – ArchestrA Graphics

Configuring Element-Specific Animations

Some elements have their own unique animation type that can only be used for that element type. You cannot remove their unique animation, but depending on the element you can add and remove other common animations.

The elements with specific animations are:

� Status Graphic .

� Windows Common Controls , such as Radio Button Group, Check Box, Edit Box, Combo Box, Calendar, DateTime Picker and List Box.

Configuring a Status Graphic Animation

You can configure the Status Graphic element to indicate quality and status from:

� ArchestrA attributes used in elements with animation.

� ArchestrA attributes directly.

The appearance of the Status Graphic element depends on the settings in the Configure Quality and Status Display dialog box.

Note: The Status Graphic animation is only used by the Status element and cannot be removed from the Status element.

To configure a Status Graphic animation

a. Select the Status element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears and the Status Graphic configuration panel appears.

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

Page 697: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-175

e. Click the Expression tab. The Expression panel appears.

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.

g. To add further values or expression, click the Add button.

An additional row is added for data input.

h. Click OK when finished.

Note: This will be discussed in more detail later in the course.

Configuring a Radio Button Group Animation

The Radio Button Group animation is only used by the Radio Button Group element.

You can either create a:

� Static radio button group - uses static captions and values that you define in the configuration panel.

� Array radio button group - uses captions and values that are contained in an Automation Object array.

� Enum radio button group - uses captions and values that are contained in an enum data type of an Automation Object.

Wonderware System Platform 3.0 Course - Part 1

Page 698: Manual Wsp 3 Part 1-Rev a Gold

3-176 Module 10 – ArchestrA Graphics

Configuring a Static Radio Button Group Animation

You can configure a radio button group with static values and captions.

To configure a static radio button group animation.

a. Select the radio button group element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears and the Static Radio Button Group configuration panel is shown on the right side.

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:

� Add an option, click the Add icon.

� Delete an option, select it in the list and click the Remove icon.

� Move an option up the list, select it in the list and click the Arrow up icon.

� 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

Page 699: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-177

Configuring an Array Radio Button Group Animation

You can configure a radio button group with values from an array and captions.

To configure an array radio button group animation

a. Select the radio button group element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Click the Array button. The Array Radio Button Group configuration panel is shown on the right side.

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:

� None to show the items in the order they are in the enum attribute.

� Ascending to show the items sorted in ascending order.

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

Wonderware System Platform 3.0 Course - Part 1

Page 700: Manual Wsp 3 Part 1-Rev a Gold

3-178 Module 10 – ArchestrA Graphics

Configuring an Enum Radio Button Group Animation

You can configure a radio button group with values from an enum attribute and captions.

To configure an enum radio button group animation

a. Select the radio button group element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Click the Enum button. The Enum Radio Button Group configuration panel is shown on the right side.

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:

� None to show the items in the order they are in the enum attribute.

� Ascending to show the items sorted in ascending order.

� 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

Page 701: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-179

Configuring a Check Box Animation

The Check Box animation is only used by the Check Box element.

To configure a Check Box animation

a. Select the Check Box element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears and the Check Box configuration panel is shown on the right side.

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 System Platform 3.0 Course - Part 1

Page 702: Manual Wsp 3 Part 1-Rev a Gold

3-180 Module 10 – ArchestrA Graphics

Configuring an Edit Box Animation

The Edit Box animation is only used by the Edit Box element. You cannot remove this animation from the Edit Box element, but you can add certain common animations.

You can also use Edit Box-specific methods in scripting to load and save the text at run time. You can browse these methods in the Galaxy Browser with the Edit Box selected.

To configure an Edit Box animation

a. Select the Edit Box element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears and the Edit Box configuration panel is shown on the right side.

c. In the String Reference box, type an string attribute reference. The string attribute reference contains the text in the edit box at run time.

d. In the Configuration area, select:

� Multiline to wrap the text in the edit box.

� Read-Only to use the edit box to only show text and not allow text input.

� Maximum Length to limit the maximum numbers of characters you can type in the edit box control. You can specify the maximum number in the Characters box.

You can enter a default text in the Text box.

Configuring a Combo Box Animation

The Combo Box animation is only used by the Combo Box element.

You can either create a:

� Static Combo Box - uses static captions and values that you define in the configuration panel.

� Array Combo Box - uses captions and values that are contained in an Automation object array.

� Enum Combo Box - uses captions and values that are contained in an enum data type of an Automation object.

You can also use Combo Box-specific methods in scripting to perform various functions at run time. You can browse these methods in the Galaxy Browser with the Combo Box selected.

Wonderware Training

Page 703: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-181

Configuring a Static Combo Box Animation

You can configure a combo box with static values and captions.

To configure a static combo box animation

a. Select the radio button group element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears and the Static Combo Box configuration panel is shown on the right side.

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:

� Add an option, click the Add icon.

� Delete an option, select it in the list and click the Remove icon.

� Move an option up the list, select it in the list and click the Arrow up icon.

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

� Simple - at run time you can type a value, but not select any.

� DropDown - at run time you can either type a value, or select one from the list.

� DropDownList - at run time you can only select a value from the list, but not type one.

i. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 704: Manual Wsp 3 Part 1-Rev a Gold

3-182 Module 10 – ArchestrA Graphics

Configuring an Array Combo Box Animation

You can configure a combo box with values from an array and captions.

To configure an array radio button group animation

a. Select the radio button group element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Click the Array button. The Array Combo Box configuration panel is shown on the right side.

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:

� None to show the items in the order they are in the enum attribute.

� Ascending to show the items sorted in ascending order.

� Descending to show the items sorted in descending order.

h. When you are done, click OK.

Wonderware Training

Page 705: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-183

Configuring an Enum Combo Box Animation

You can configure a combo box with values from an enum attribute and captions.

To configure an enum combo box animation

a. Select the combo box element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Click the Enum button. The Enum Combo Box configuration panel is shown on the right side.

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:

� None to show the items in the order they are in the enum attribute.

� Ascending to show the items sorted in ascending order.

� Descending to show the items sorted in descending order.

g. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 706: Manual Wsp 3 Part 1-Rev a Gold

3-184 Module 10 – ArchestrA Graphics

Configuring a Calendar Control Animation

The Calendar Control animation is only used by the Calendar Control element.

To configure a Calendar control animation

a. Select the Calendar control element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears and the Calendar configuration panel is shown on the right side.

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:

� In the MinDate box, type a lower limit for the date.

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

� Month Background.

� Month Trailing Forecolor.

� Title Background.

� Title Foreground.

The style selection dialog box appears and you can select a solid color.

h. When you are done, click OK.

Wonderware Training

Page 707: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-185

Configuring a DateTime Picker Animation

The DateTime Picker animation is only used by the DateTime Picker element.

To configure a DateTime Picker animation

a. Select the DateTime Picker control element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears and the DateTime Picker configuration panel appears.

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:

� Long to show the date and time in the dddd MMMM dd, yyyy format, for example: Thursday, August 03 2006.

� Short to show the date and time in the dd/MM/yyyy format, for example: 8/3/2006.

� Time to show just the time in the hh:mm:ss format, for example: 3:46:09 PM.

� Custom to specify your own time format. Use the following letters to set the time format.

Note: The formats are listed on page 3-152.

e. If you want to restrict the date the user can select at run time, you can specify limits in the:

� MinDate box - type a lower limit for the date.

� MaxDate box - type an upper limit for date.

� If you want to change the colors of the calendar control that drops down, click in the Calendar Colors area the following color boxes:

� Month Background.

� Month Trailing Forecolor.

� Title Background.

� Title Foreground.

The style selection dialog box appears and you can select a solid color.

Wonderware System Platform 3.0 Course - Part 1

Page 708: Manual Wsp 3 Part 1-Rev a Gold

3-186 Module 10 – ArchestrA Graphics

Configuring a List Box Animation

The List Box animation is only used by the List Box element.

You can either create a:

� Static List Box - uses static captions and values you define in the configuration panel.

� Array List Box - uses captions and values contained in an Automation object array.

� Enum List Box - uses captions and values contained in an enum data type of an Automation object.

You can also use List Box-specific methods in scripting to perform various functions at run time. You can browse these methods in the Galaxy Browser with the List Box selected.

Configuring a Static List Box Animation

You can configure a list box with static values and captions.

To configure a static list box animation

a. Select the list box element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears and the Static List Box configuration panel is shown on the right side.

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:

� Add an option, click the Add icon.

� Delete an option, select it in the list and click the Remove icon.

� Move an option up the list, select it in the list and click the Arrow up icon.

� 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

Page 709: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-187

Configuring an Array List Box Animation

You can configure a list box with values from an array and captions.

To configure an array list box animation

a. Select the list box element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Click the Array button. The Array List Box configuration panel is shown on the right side.

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:

� None to show the items in the order they are in the enum attribute.

� Ascending to show the items sorted in ascending order.

� Descending to show the items sorted in descending order.

i. When you are done, click OK.

Wonderware System Platform 3.0 Course - Part 1

Page 710: Manual Wsp 3 Part 1-Rev a Gold

3-188 Module 10 – ArchestrA Graphics

Configuring an Enum List Box Animation

You can configure a list box with values from an enum attribute and captions.

To configure an enum list box animation

a. Select the radio button group element you want to configure.

b. On the Special menu, click Edit Animations . The Edit Animations dialog box appears.

c. Click the Enum button. The Enum List Box configuration panel is shown on the right side.

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:

� None to show the items in the order they are in the enum attribute.

� Ascending to show the items sorted in ascending order.

� Descending to show the items sorted in descending order.

g. When you are done, click OK.

Wonderware Training

Page 711: Manual Wsp 3 Part 1-Rev a Gold

Section 4 – Animating Graphic Elements 3-189

Submitting the Value Changes

You can configure a Windows Common Control to write the data either:

� Immediately when it is selected in the control at run time.

� When a specified boolean expression becomes true.

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.

To submit value changes immediately

a. Open the Windows common control in the Edit Animations dialog box.

b. In the Submit Value Changes area, select Immediately .

To submit value changes after a boolean expression becomes true

a. Open the Windows common control in the Edit Animations dialog box.

b. In the Submit Value Changes area, select On Trigger Condition .

c. In the Boolean Expression box, type a boolean expression or browse for a boolean attribute.

Cutting, Copying and Pasting Animations

You can cut, copy and paste animations and their configuration between different elements. This is useful when you want to duplicate the animations of one element, such as a line, to a different type of element, such as a polyline.

Note: If you try to paste an animation to an element that is already configured with that animation, an appropriate dialog box appears.

To copy and paste animations between elements

a. Select the element from which you want copy the animations.

b. On the Edit menu, point to Animations , and then click Copy .

c. Select one or more elements to which you want to paste the animations.

d. On the Edit menu, point to Animations , and then click Paste . The animation links are copied from the source element to the target element(s).

Wonderware System Platform 3.0 Course - Part 1

Page 712: Manual Wsp 3 Part 1-Rev a Gold

SYMBOL1

ELEMENT1

CustomProperty1 CustomProperty2 CustomProperty3

3-190 Module 10 – ArchestrA Graphics

To cut and paste animations between elements

a. Select the element from which you want to cut the animations.

b. On the Edit menu, point to Animations , and then click Cut .

c. Select one or more elements to which you want to paste the animations.

d. On the Edit menu, point to Animations , and then click Paste . The animation links are removed from the source element and copied to the target element(s).

Connecting ArchestrA Symbols with InTouch Tagnames

You can connect ArchestrA symbols with InTouch tagnames by overriding the custom properties of an inserted ArchestrA symbol. The custom properties expose the ArchestrA symbol animation links to InTouch.

Connecting ArchestrA Symbols with InTouch Tags

ArchestrA Symbol Editor

SYMBOL4

SYMBOL3

SYMBOL2

InTouch WindowMaker EMBED ARCHESTRA SYMBOL

InTouch Tags

tag3

SYMBOL1 tag2

tag1

ELEMENT1 CustomProperty1

CustomProperty2

CustomProperty3

USES INTOUCH TAG AS REFERENCE

Wonderware Training

Page 713: Manual Wsp 3 Part 1-Rev a Gold

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:

ArchestrA Symbol Inserted ArchestrA Symbol Object.Extension galaxy:Object.Extension intouch:Tagname Tagname

To connect an ArchestrA symbol with an InTouch tagname

a. Select the inserted ArchestrA symbol on the InTouch window.

b. On the Special menu, point to the ArchestrA Graphic Object "name", and then click Edit Custom Properties . The Edit Custom Properties dialog box appears.

c. Select the custom property you want to connect to an InTouch tagname . The configuration for the selected custom property appears on the right.

d. In the Default Value box, either:

� Type the name of the InTouch tagname.

� Click the browse button and select a tagname from the Select Tag dialog box.

Note: You can restore the original value of the custom property by clicking the Restore icon.

e. When you are done, click OK. Any animation in the ArchestrA symbol that is configured with the selected custom property now interacts with the InTouch tagname instead.

Wonderware System Platform 3.0 Course - Part 1

Page 714: Manual Wsp 3 Part 1-Rev a Gold

3-192 Module 10 – ArchestrA Graphics

Wonderware Training

Page 715: Manual Wsp 3 Part 1-Rev a Gold

Lab 23 – Animation 3-193

Lab 23 – 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:

� Create and apply animation to an ArchestrA Symbol

Wonderware System Platform 3.0 Course - Part 1

Page 716: Manual Wsp 3 Part 1-Rev a Gold

3-194 Module 10 – ArchestrA Graphics

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.

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:

Custom Property Name Default Value Agitator Agitator_PLC1 DrainValve.FillColor Green DrainValve.Value Drain_Valve_PLC1 GateValve.FillColor Green GateValve.Value Gate_PLC1 Start.Value Start_PLC1 Level Tank_Level_PLC1 ValveA.FillColor Green ValveA.Value Valve_A_PLC1 ValveB.FillColor Green ValveB.Value Valve_B_PLC1

i. Test in Runtime .

See the next page for Detailed Lab Instructions

Wonderware Training

Page 717: Manual Wsp 3 Part 1-Rev a Gold

Lab 23 – Animation 3-195

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Animate the Tank Object

1. Launch WindowMaker if it is not already running and open the NewReactor Window.

2. Right-click your Main_Reactor symbol and select ArchestrA Graphic “Main_Reactor1” / Edit Symbol .

3. Select the Rounded Rectangle in the middle of the tank and Rename it LevelIndicator .

4. Double-click on the LevelIndicator to access its animation links.

5. Click the Add Animation icon to add an animation to the object.

6. Select the Visualization Animation % Fill Vertical .

Wonderware System Platform 3.0 Course - Part 1

Page 718: Manual Wsp 3 Part 1-Rev a Gold

3-196 Module 10 – ArchestrA Graphics

7. Click the ellipsis button to the right of the Expression Or Reference field to open the Galaxy Browser.

8. Click the Element Browser tab. Select Main_Reactor to be able to select the Custom Properties associated with the symbol. Select the Level Property.

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.

10. Set At Max Fill to 1000.

Wonderware Training

Page 719: Manual Wsp 3 Part 1-Rev a Gold

Lab 23 – 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.

12. Click OK when finished.

Wonderware System Platform 3.0 Course - Part 1

Page 720: Manual Wsp 3 Part 1-Rev a Gold

3-198 Module 10 – ArchestrA Graphics

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.

15. Select the State Boolean . Set the Expression Or Reference to Agitator .

16. Without exiting the Edit Animations dialog box, add another animation Select the Fill Style animation.

Wonderware Training

Page 721: Manual Wsp 3 Part 1-Rev a Gold

Lab 23 – Animation 3-199

17. Select the State of Boolean and define the animation as shown below using:

� Expression Or Reference: Agitator

� Green for On

� Red for Off

18. Click OK when finished.

19. Save and Close the Symbol Editor and add a Check-in comment as appropriate.

20. Switch back to WindowMaker and update the symbol by double-clicking the update icon.

Wonderware System Platform 3.0 Course - Part 1

Page 722: Manual Wsp 3 Part 1-Rev a Gold

3-200 Module 10 – ArchestrA Graphics

Assign Tags to Custom Properties

21. Double-click on the symbol in WindowMaker to bring up the Custom Properties dialog.

22. Select the Agitator property.

23. Click on the ellipsis button to the right of the Default Value field.

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

Page 723: Manual Wsp 3 Part 1-Rev a Gold

Lab 23 – Animation 3-201

24. Assign the tags to the Custom Properties as shown.

Custom Property Name Default Value Agitator Agitator_PLC1 DrainValve.FillColor Green DrainValve.Value Drain_Valve_PLC1 GateValve.FillColor Green GateValve.Value Gate_PLC1 Level Tank_Level_PLC1 Start.Value Start_PLC1 ValveA.FillColor Green ValveA.Value Valve_A_PLC1 ValveB.FillColor Green ValveB.Value Valve_B_PLC1

25. Click OK to exit when finished.

Wonderware System Platform 3.0 Course - Part 1

Page 724: Manual Wsp 3 Part 1-Rev a Gold

3-202 Module 10 – ArchestrA Graphics

26. Test your animations in Runtime .

Wonderware Training

Page 725: Manual Wsp 3 Part 1-Rev a Gold

Lab 24 – Referencing a Symbol 3-203

Lab 24 – Referencing a Symbol

Introduction

ArchestrA Symbols have the ability to call, or open another symbol via an animation link. This is similar to the Show Window animation link, but without ever having to create a Window to house the

symbol. However, since the symbol will not be in a window, it will not be possible to assign the Custom Properties to InTouch Tags. To get around this, when the custom property is defined, the default value can be assigned directly to an InTouch tag, using the syntax of ‘InTouch:Tagname’.

This lab uses the Main_Reactor symbol created and modified in previous labs.

Objectives

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

� Call one symbol from within another

Wonderware System Platform 3.0 Course - Part 1

Page 726: Manual Wsp 3 Part 1-Rev a Gold

3-204 Module 10 – ArchestrA Graphics

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.

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.

Element ArchestrA Graphic Library

Symbol Name Panel Background PanelBrushed Digital Meter DigitalMeterRollingDigits Lights* LightGlossyGreenRed * Rename each instance of the light to match what they are representing. For example, Start and Agitator

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 .

See the next page for Detailed Lab Instructions

Wonderware Training

Page 727: Manual Wsp 3 Part 1-Rev a Gold

Lab 24 – Referencing a Symbol 3-205

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

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.

Element ArchestrA Graphic Library

Symbol Name Panel Background PanelBrushed Digital Meter DigitalMeterRollingDigits Lights* LightGlossyGreenRed * Rename each instance of the light to match what they are representing. For example, Start and Agitator

Wonderware System Platform 3.0 Course - Part 1

Page 728: Manual Wsp 3 Part 1-Rev a Gold

3-206 Module 10 – ArchestrA Graphics

5. Each instance of the light has a custom property named Value . Assign each Default Value to an appropriately named InTouch Tag. For example, right-click on the symbol for the Process Running light and select Custom Properties .

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

Page 729: Manual Wsp 3 Part 1-Rev a Gold

Lab 24 – 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 .

11. Set the Reference of the Animation to the Symbol StatusPanel . Click the ellipsis button to Browse to the symbol. Leave the rest of the options as default and click OK.

12. Save and Close the Main_Reactor symbol.

Wonderware System Platform 3.0 Course - Part 1

Page 730: Manual Wsp 3 Part 1-Rev a Gold

3-208 Module 10 – ArchestrA Graphics

13. Switch back to WindowMaker .

14. Update the symbol.

15. Switch to Runtime and test the animation.

Wonderware Training

Page 731: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – Associating Scripts with Symbols 3-209

Section 5 – Associating Scripts with Symbols

Section Objective

� Configure scripts and associate them with objects.

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

About Symbol Scripts

You can configure your symbol with scripts that can be executed in run time. Symbol scripts can either be:

� Predefined.

� Named.

Predefined scripts are similar to InTouch window scripts in that they are executed either:

� Once when the symbol is shown or opened.

� Periodically while the symbol is showing.

� Once when the symbol is hidden or closed.

� Any combination of the above.

Named scripts let you execute any number of scripts in run time that are triggered by values or expressions:

� Being true: While True .

� Being false: While False .

� Transitioning from false to true: On True .

� Transitioning from true to false: On False .

� Changing in value or quality: DataChange .

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:

� Configure the predefined scripts of a symbol. � Add named scripts to a symbol.

� Edit existing named or predefined scripts in a symbol.

� Rename named scripts in a symbol.

� Remove named scripts from a symbol.

� Substitute references in named or predefined scripts.

� Use Element Methods in named or predefined scripts.

Wonderware System Platform 3.0 Course - Part 1

Page 732: Manual Wsp 3 Part 1-Rev a Gold

3-210 Module 10 – ArchestrA Graphics

Configuring the Predefined Scripts of a Symbol

You can configure the predefined scripts of a symbol. The predefined scripts can consist of:

� A script that is run once when the symbol opens.

� A script that is run periodically as long as the symbol is open.

� A script that is run once when the symbol closes.

Note: The Predefined Scripts animation cannot be deleted. It can contain scripts for each trigger type On Show , While Showing and On Hide .

To configure the predefined scripts for a symbol

a. Open the symbol in the ArchestrA Symbol Editor .

b. On the Special menu, click Scripts . The Edit Scripts dialog box appears.

c. From the Trigger Type list, select either:

� On Show to configure a script that is executed once when the symbol is opened.

� While Showing to configure a script that is executed every so often while the symbol is open.

� On Hide to configure a script that is executed once when the symbol is closed.

d. If you configured a While Showing script, type a time period in milliseconds in the Period box. This specifies after how many milliseconds the action script is executed.

e. Type your script in the main edit box.

f. Use the Script Function Browser and Attribute Browser to select external data.

g. When you are done, click OK. The script editor checks the syntax of the script and may inform you of invalid syntax. Either click:

� Yes to save changes even if the script contains errors.

� No to not save the changes and close the script dialog box.

� Cancel to not save the changes and keep the script dialog box open.

Wonderware Training

Page 733: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – Associating Scripts with Symbols 3-211

Adding Named Scripts to a Symbol

You can add named scripts to a symbol. These can either be run:

� Once when the specified values, data or expressions change.

� Periodically if the values or expressions fulfill a certain criteria, such as being true.

Note: Every named script can contain only one trigger type.

To add a named script to a symbol

a. Open the symbol in the ArchestrA Symbol Editor .

b. On the Special menu, click Scripts . The Edit Scripts dialog box appears.

c. Click the Add icon. A new entry is created in the Named Scripts list on the left of the panel.

d. Type a name for the named script. The name appears on the right panel as header.

e. In the Expression field, either:

� Type an expression, value or reference.

� Browse for a reference.

f. The expression acts as data source for the script trigger.

Wonderware System Platform 3.0 Course - Part 1

Page 734: Manual Wsp 3 Part 1-Rev a Gold

3-212 Module 10 – ArchestrA Graphics

g. In the Trigger box, select either:

� WhileTrue to trigger the script periodically when the expression is true.

� WhileFalse to trigger the script periodically when the expression is false.

� OnTrue to trigger the script once when the expression becomes true from false.

� OnFalse to trigger the script once when the expression becomes false from true.

� DataChange to trigger the script once when the expression or its quality changes.

h. If you selected DataChange , select Quality Changes to trigger the script when the quality of the specified expression changes.

i. If required, in the Trigger Period box, type a time delay in milliseconds. The time delay specifies how often the script is run when the trigger condition is fulfilled.

j. If required, in the Deadband box, type the deadband value. The deadband specifies by how much the expression must change before the script is executed.

k. Type your script in the main edit box.

l. Use the Script Function Browser and Attribute Browser to select external data.

m. When you are done, click OK. The script editor checks the syntax of the script and may inform you of invalid syntax. Either click:

� Yes to save changes even if the script contains errors.

� No to not save the changes and close the script dialog box.

� Cancel to not save the changes and keep the script dialog box open.

Example:

While the boolean Controls.FillTank is true, the tank level Tank_001.pv is increased by 1 unit every second.

Wonderware Training

Page 735: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – Associating Scripts with Symbols 3-213

Editing Scripts Associated with a Symbol

You can edit predefined and named scripts that are already associated with a symbol.

To edit scripts that are already associated with a symbol

Open the symbol in the ArchestrA Symbol Editor.

a. On the Special menu, click Scripts . The Edit Scripts dialog box appears.

b. Select the script from the list in the left of the panel. The right is populated with the script configuration.

c. If you are editing the predefined script, select from the TriggerType list either:

� On Show if the action script you want to edit is executed once when the symbol is opened.

� While Showing if the action script you want to edit is executed every so often while the symbol is open.

� On Hide if the action script you want to edit is executed once when the symbol is closed.

d. Edit the action script in the script box.

e. When you are done, click OK.

Renaming Scripts in a Symbol

You can rename named scripts in a symbol. When you rename the named script, the functionality of the associated script does not change.

To rename a named

a. Open the symbol in the ArchestrA Symbol Editor .

b. On the Special menu, click Scripts . The Edit Scripts dialog box appears.

c. From the Named Scripts list, click the script you want to rename.

d. Click the script again. It appears in edit mode.

e. Enter a new name for the script and press Enter. The script is renamed.

Wonderware System Platform 3.0 Course - Part 1

Page 736: Manual Wsp 3 Part 1-Rev a Gold

3-214 Module 10 – ArchestrA Graphics

Removing Scripts from a Symbol

You can remove predefined or named scripts that are already associated with a symbol.

To remove predefined scripts that are already associated with a symbol

a. Open the symbol in the ArchestrA Symbol Editor .

b. On the Special menu, click Scripts . The Edit Scripts dialog box appears.

c. Select Predefined Scripts from the list.

d. From the Trigger Type list, select either:

� On Show if the action script you want to remove is executed once when the symbol is opened.

� While Showing if the action script you want to remove is executed every so often while the symbol is open.

� On Hide if the action script you want to remove is executed once when the symbol is closed.

e. Delete all the script in the script box.

f. When you are done, click OK.

To remove named scripts that are already associated with a symbol

a. Open the symbol in the ArchestrA Symbol Editor .

b. On the Special menu, click Scripts . The Edit Scripts dialog box appears.

c. Select the named script from the list.

d. Click the Remove icon.

A confirmation dialog box appears.

e. Click Yes. The script is removed.

Substituting Attribute References in Scripts

You can substitute attribute references in scripts in the same way as you would with attribute references in elements. For more information, see Substituting References in Elements page 6- 91.

Example: Changing Element Properties using Scripts

You can change some of the properties of elements using scripting. This lets you configure additional run-time animation to your elements on top of the design-time animation of those elements.

When you write your script for the symbol or for one of its elements, you can use the Galaxy Browser to show and select either a:

� Property of an element.

� Custom property of the symbol.

Wonderware Training

Page 737: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – Associating Scripts with Symbols 3-215

To select an element property or a symbol custom property

a. From the script window, click the Galaxy Browser icon. The Galaxy Browser dialog box appears.

b. Click the Element Browser tab. The Galaxy Browser is populated with the element names and the properties of the selected element.

c. Select an element or symbol from the list on the left. The right side is populated with the properties of the selected element or symbol.

d. Select a property from the right panel and click OK. The reference is pasted into the script window.

Wonderware System Platform 3.0 Course - Part 1

Page 738: Manual Wsp 3 Part 1-Rev a Gold

3-216 Module 10 – ArchestrA Graphics

Using Methods in Scripting

Some elements, such as the Edit Box, Combo Box and List Box controls, support methods in scripting. These methods can be used to perform various functions on the elements themselves at run time.

You can see the properties and methods that are supported by any given element by opening the Galaxy Browser and selecting the element.

You can use the methods of the:

� Edit Box control to save and load the text at run time to and from a file.

� Combo Box and List Box controls to access and change the contents of their lists at run time.

Configuring Edit Box Methods

You can use the methods of an Edit Box control to:

� Save the contained text at run time to a file.

� Load text into the control from a file at run time.

To save the contained text in an Edit Box control

In an action script, use the following method: ControlName.SaveText(FileName);

where ControlName is the name of the Edit Box control and FileName is the name of the file you want to save the contents of the control to.

The text contained in the control at run time is saved to the specified file.

To load text into an Edit Box control from a file

In an action script, use the following method: ControlName.LoadText(FileName);

where ControlName is the name of the Edit Box control and FileName is the name of the file you want to load the text from.

The text contained in the file is loaded into the run time contents of the Edit Box control.

Wonderware Training

Page 739: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – Associating Scripts with Symbols 3-217

Configuring Combo Box and List Box Methods

The Combo Box and List Box controls have methods which you can use to access and change the items in the list at run time. Typically, you would configure an action script to access these methods.

You can:

� Add and inserting items into the list.

� Delete individual or all items from the list.

� Find an item in the list.

� Get the item caption based on a specified index.

� Associate the items with values.

� Load items from and save items to a file.

Adding and Inserting Items into a List

You can add an individual item:

� To the end of the list.

� Above the currently selected item.

To add an item to a Combo Box or List Box list

In an action script, use the following method: ControlName.AddItem(“ItemCaption”);

where ControlName is the name of the Combo Box or List Box control and ItemCaption is the new item you want to add.

The item is added to the end of the list.

To insert an item in a Combo Box or List Box list

In an action script, use the following method: Controlname.InsertItem(“ItemCaption”);

where ControlName is the name of the Combo Box or List Box control and ItemCaption is the new item you want to insert.

The item is inserted above the currently selected item in the list.

Wonderware System Platform 3.0 Course - Part 1

Page 740: Manual Wsp 3 Part 1-Rev a Gold

3-218 Module 10 – ArchestrA Graphics

Deleting Items from a List

You can delete:

� An individual item from a list.

� The selected item from a list.

� All items from a list.

To delete an individual item from a Combo Box or List Box list

In an action script, use the following method: ControlName.DeleteItem(Index);

where ControlName is the name of the Combo Box or List Box control and Index is the index of the item you want to delete.

The item at the specified index is deleted, subsequent items are moved up the list.

To delete the selected item from a Combo Box or List Box list

In an action script, use the following method: ControlName.DeleteSelection();

where ControlName is the name of the Combo Box or List Box control.

The selected item is deleted, subsequent items are moved up the list.

To delete all items from a Combo Box or List Box list

In an action script, use the following method: Controlname.Clear();

where ControlName is the name of the Combo Box or List Box control.

All items of the control are deleted.

Finding an Item in a List

You can find a item in a Combo Box or List Box list. You need to specify the item caption and the method returns the index number if the item is found, otherwise -1.

Finding an item in a Combo Box or List Box list

In an action script, use the following method: Index = ControlName.Find(“ItemCaption”);

where ControlName is the name of the Combo Box or List Box control and ItemCaption is the caption of the item you are looking for.

Index is set to -1 if the item is not found, otherwise contains the index of the found item.

Wonderware Training

Page 741: Manual Wsp 3 Part 1-Rev a Gold

Section 5 – Associating Scripts with Symbols 3-219

Reading the Caption of a Selected Item in a List

You can read the caption of a selected item in a Combo Box or List Box list.

Reading the caption of a selected item in a Combo Box or List Box list

In an action script, use the following method: Caption = Controlname.GetItem(Index);

where ControlName is the name of the Combo Box or List Box control and Index is the index of the item for which you want to read the caption.

Caption contains the item caption of the specified index.

Associating Items with Values in a List

You can associate items with values in a Combo Box or List Box control. This is the same as using a secondary index system to identify items in the list.

You can either:

� Set Item Data, which associates an item with a value. � Get Item Data, which returns the value that is associated with an item.

To set item data in a Combo Box or List Box list

In an action script, use the following method: Controlname.SetItemData(Index,Value);

where ControlName is the name of the Combo Box or List Box control, Index is the index of the item that you want to set and Value is the value you want to assign to the item.

To get item data in a Combo Box or List Box list

In an action script, use the following method: Value = Controlname.GetItemData(Index);

where ControlName is the name of the Combo Box or List Box control and Index is the index of the item for which you want to get the value.

Value contains the value that is assigned to the item.

Wonderware System Platform 3.0 Course - Part 1

Page 742: Manual Wsp 3 Part 1-Rev a Gold

3-220 Module 10 – ArchestrA Graphics

Loading and Saving Item Lists

You can load and save all items in a list from and to a file.

To load the item list for a Combo Box or List Box control from a file

In an action script, use the following method: Controlname.LoadList(FileName);

where ControlName is the name of the Combo Box or List Box control and FileName is the name of a file on the local hard drive or on the network.

The list contained in the file is loaded and, if valid, the current list is overwritten.

To save the item list for a Combo Box or List Box control to a file

In an action script, use the following method: Controlname.SaveList(FileName);

where ControlName is the name of the Combo Box or List Box control and FileName is the name of a file on the local hard drive or on the network.

The list is saved to the specified file.

Wonderware Training

Page 743: Manual Wsp 3 Part 1-Rev a Gold

Lab 25 – Scripting 3-221

Lab 25 – 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:

� Configure and implement Scripting within ArchestrA Graphics

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.

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 :

Property Data Type Visibility GrowMe Boolean Private ShrinkMe Boolean Private InitialSize Float Private GrowSize Float Private As these Custom Properties will not be linked to tags, all should have their Visibility set to Private (Hidden) .

f. Add the following Action Scripts to TankMeter :

Trigger Type Delay Script On Mouse Over 500 ms GrowMe = True;

ShrinkMe = False; On Mouse Leave 500 ms GrowMe = False;

ShrinkMe = True;

Wonderware System Platform 3.0 Course - Part 1

Page 744: Manual Wsp 3 Part 1-Rev a Gold

3-222 Module 10 – ArchestrA Graphics

g. Add the following Predefined Script . InitialSize = TankMeter.Height; GrowSize = InitialSize * 5;

h. Add the following Named Scripts :

Expression Trigger Period Script GrowMeter While True 50 ms TankMeter.Height = TankMeter.Height * 1.10;

TankMeter.Width = TankMeter.Height; If TankMeter.Height >= GrowSize then

GrowMe = False; Endif;

ShrinkMeter While True 50 ms TankMeter.Height = TankMeter.Height / 1.10; TankMeter.Width = TankMeter.Height;

If TankMeter.Height <= InitialSize then ShrinkMe = False;

Endif;

i. Switch to WindowMaker and update the symbol.

j. Link the Custom Property TankMeter.Value to the InTouch Tag Tank_Level_PLC1 .

k. Change the Default Value of TankMeter.Max to 1000. This matches the range Tank_Level_PLC1.

l. Test the growing and shrinking functionality of the meter in Runtime .

See the next page for Detailed Lab Instructions

Wonderware Training

Page 745: Manual Wsp 3 Part 1-Rev a Gold

Lab 25 – Scripting 3-223

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Edit the Main_Tank

1. Launch WindowMaker if it is not already running and open the NewReactor Window.

2. Right-click and Edit the Main_Reactor Symbol in the Symbol Editor.

3. Click the Embed ArchestrA Graphic button on the toolbar.

4. Expand the Analog Meters folder in the ArchestrA Symbol Library. Select and place the symbol AnalogMeterRound onto your canvas.

Wonderware System Platform 3.0 Course - Part 1

Page 746: Manual Wsp 3 Part 1-Rev a Gold

3-224 Module 10 – ArchestrA Graphics

5. Size and position the Meter on the tank as shown below.

6. Rename the instance of the AnalogMeterRound to TankMeter .

7. With the TankMeter selected, scroll down the Properties pane to Runtime Behavior . Set TreatAsIcon to True .

Wonderware Training

Page 747: Manual Wsp 3 Part 1-Rev a Gold

Lab 25 – Scripting 3-225

8. Deselect everything and right-click on the canvas and create the four Custom Properties in the table below:

Property Data Type Visibility GrowMe Boolean Private ShrinkMe Boolean Private InitialSize Float Private GrowSize Float Private As these Custom Properties will not be linked to tags, all should have their Visibility set to Private (Hidden) .

9. Double-click on the TankMeter Element and add an Action Script for a Trigger type On Mouse Over .

Wonderware System Platform 3.0 Course - Part 1

Page 748: Manual Wsp 3 Part 1-Rev a Gold

3-226 Module 10 – ArchestrA Graphics

10. Enter the following script in the white space below the yellow bar. GrowMe = True; ShrinkMe = False;

Note: The yellow bar is difficult to see on some monitors.

11. Do NOT click OK yet.

12. Add an additional Action Script for the Trigger type On Mouse Leave . GrowMe = False; ShrinkMe = True;

13. Click OK to exit the animations for this element.

Wonderware Training

Page 749: Manual Wsp 3 Part 1-Rev a Gold

Lab 25 – Scripting 3-227

14. Right-click on a blank part of the canvas to deselect everything and select Scripts .

15. Add the following Predefined Script . InitialSize = TankMeter.Height; GrowSize = InitialSize * 5;

Wonderware System Platform 3.0 Course - Part 1

Page 750: Manual Wsp 3 Part 1-Rev a Gold

3-228 Module 10 – ArchestrA Graphics

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

Page 751: Manual Wsp 3 Part 1-Rev a Gold

Lab 25 – Scripting 3-229

19. Switch to WindowMaker .

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.

22. Change the Default Value of TankMeter.Max to 1000. This matches the range of Tank_Level_PLC1.

23. You may wish to turn off the Show Halo around Hotlink feature with the main menu command Special / Configure / WindowViewer .

Wonderware System Platform 3.0 Course - Part 1

Page 752: Manual Wsp 3 Part 1-Rev a Gold

3-230 Module 10 – ArchestrA Graphics

24. Switch to Runtime to test out the functionality of the meter. Mousing over the Meter should cause it to get bigger and be easier to read. Moving your mouse off the Meter should cause it to shrink.

Wonderware Training

Page 753: Manual Wsp 3 Part 1-Rev a Gold

Section 6 – Quality and Status in ArchestrA 5-19

Section 6 – Quality and Status in ArchestrA

Section Objective

� Configure visual clues regarding the status of your data and/or plant operations.

� Observe visual clues in Runtime.

Status Behavior and the Galaxy

The IDE can configure how we manage

� Data Quality visualization

� Status visualization

Enables an indication of status to be shown

� Automatic once configured

� Configured cross-Galaxy

� All applications behave the same

Status feedback configured in IDE

� Extremely flexible options

� Access from IDE main menu

Wonderware System Platform 3.0 Course - Part 1

Page 754: Manual Wsp 3 Part 1-Rev a Gold

5-20 Module 10 – ArchestrA Graphics

Control override of most aspects of graphics

� Bad

� Uncertain

� Initializing

� Communication Error

� Configuration Error

� Operational Error

� Software Error

� Security

� Warning

� Pending

Preview of settings

Wonderware Training

Page 755: Manual Wsp 3 Part 1-Rev a Gold

Section 6 – Quality and Status in ArchestrA 5-21

Status Graphics

You can use a Status Graphic element to indicate the status or quality of:

� One or more specified ArchestrA attributes.

� All ArchestrA attributes that are used in one or more specified elements in the same hierarchical level.

Status Graphic Element shows Quality and Status Directly or Indirectly

Attribute

A

Attribute

B

Attribute

C

Attribute

D

Attribute

E

Deliver values

(and also quality

and status) to

animate the

elements

Element 1

Deliver quality and

status directly from

ArchestrA attributes

Element 2

Element 3

Deliver quality and

status indirectly from

ArchestrA attributes

via the elements

Status Graphic Element

Abnormal quality and status may be:

� An error status due to communication, configuration, operational, security or software error.

� Bad, initializing, pending, uncertain or warning quality.

The Status Graphic element lets you assign:

� One or more ArchestrA attributes, values or expressions.

� One or more elements on the canvas that contain animations.

You can also:

� Configure the appearance of the Status Graphic element for each quality and status state.

� Show quality and status information directly with the elements.

Wonderware System Platform 3.0 Course - Part 1

Page 756: Manual Wsp 3 Part 1-Rev a Gold

5-22 Module 10 – ArchestrA Graphics

Showing Quality and Status

You can do either of the following to show a specified status or quality at run time:

� Use a Status Graphic element that shows you an icon. It indicates the status or quality of specified ArchestrA attributes directly or those used indirectly in elements.

The Status Graphic element cannot monitor attributes of elements that are not in the same hierarchy level in the Element Browser, nor elements that use the attributes in scripts, nor elements that are invisible at run time.

� Change the appearance of animated elements that are using the specified ArchestrA attributes. This can be done either by:

� Overriding the animation or changing the appearance of the element.

� Drawing an outline around the element.

In all cases, you can configure how quality and status is shown in the Configure Quality and Status Display dialog box. This is configured outside the ArchestrA Symbol Editor in the IDE.

The setting is applied globally across the Galaxy to all selected animated elements that use the monitored attribute. This applies also to:

� Elements contained in groups.

� Elements in symbols embedded in other symbols.

This does not apply to:

� Elements that use the monitored attribute in scripts.

� Elements that are invisible at run time.

Configuring Element-Specific Animations

Fore a review of configuring unique animation types, see page 6-75.

Restrictions of the Status Graphic Element

The Status Graphic element must be in the same hierarchical level as the animated elements with the attributes you want to monitor.

If you move elements out of their hierarchical level after you have associated them with a Status Graphic element, for example, by grouping them, their attributes are no longer monitored.

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

Page 757: Manual Wsp 3 Part 1-Rev a Gold

Lab 26 – Implementing Quality & Status In ArchestrA Graphics 5-23

Lab 13 – Implementing Quality & Status In ArchestrA Graphics

Introduction

All ArchestrA graphics have the ability to give feedback related to I/O quality. This feedback can take the form of an Icon appearing in their symbol, or change in appearance, such as a dashed line around and object, when there is a quality related problem. Predefined graphics in the ArchestrA Graphic Library already have the quality object embedded in them, whereas user defined objects will need to have the object added. Additionally, a configuration changes to the IDE needs to me made to fully implement the functionality.

Objectives

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

� Expose and configure Quality and Status indicators

� Observe Quality and Status indicators in Runtime

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.

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.

See the next page for Detailed Lab Instructions

Wonderware System Platform 3.0 Course - Part 1

Page 758: Manual Wsp 3 Part 1-Rev a Gold

5-24 Module 10 – ArchestrA Graphics

Detailed Lab Instructions

Following are Detailed Lab Instructions for completing this lab. For a summary of instructions, please refer to the Summary Lab Instructions on the previous page(s).

Configure a Quality and Status Display Animation

1. Launch the ArchestrA IDE and connect to your Galaxy.

2. From the Galaxy menu, select Configure / Quality and Status Display .

Wonderware Training

Page 759: Manual Wsp 3 Part 1-Rev a Gold

Lab 26 – 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.

5. Click OK to exit the dialog box.

Wonderware System Platform 3.0 Course - Part 1

Page 760: Manual Wsp 3 Part 1-Rev a Gold

5-26 Module 10 – ArchestrA Graphics

Place a Status Primitive on an ArchestrA Symbol

6. Open the Main_Reactor symbol in the Symbol Editor.

7. Select the Status icon from the Tools pane and place it on the LevelIndicator element. When placed, it will automatically take you to the Edit Animations dialog.

8. Select the LevelIndicator Graphical Element and click on >> to apply the quality options.

9. Click OK when finished.

10. Save and Close the symbol and check it in.

11. Open or switch back to WindowMaker .

12. Open the NewReactor window and close any other opened windows.

Note: If the NewReactor window was open during this lab, update the symbol.

13. Switch to Runtime .

Wonderware Training

Page 761: Manual Wsp 3 Part 1-Rev a Gold

Lab 26 – 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.

15. Close WindowViewer when finished.

Wonderware System Platform 3.0 Course - Part 1

Page 762: Manual Wsp 3 Part 1-Rev a Gold

5-28 Module 10 – ArchestrA Graphics

Wonderware Training

Page 763: Manual Wsp 3 Part 1-Rev a Gold

Appendix A

Wonderware Application Server Glossary

Page 764: Manual Wsp 3 Part 1-Rev a Gold

A-2 Appendix A – Wonderware Application Server Glos sary

– Intentionally left blank –

Wonderware Training

Page 765: Manual Wsp 3 Part 1-Rev a Gold

Appendix A – Wonderware Application Server Glossary A-3

Application

A collection of objects within a Galaxy Repository that performs an automation task. Synonymous with Galaxy. There may be one or more applications within a Galaxy Repository.

Application Engine (AppEngine) A scan-based engine that hosts and executes the runtime logic contained within AutomationObjects.

ApplicationObject An AutomationObject that represents some element of your application. This may include things such as (but not limited to) an automation process component (for instance, a thermocouple, pump, motor, valve, reactor, or tank) or associated application component (for instance, function block, PID loop, Sequential Function Chart, Ladder Logic program, batch phase, or SPC data sheet).

Application Server The supervisory control platform. Application Server uses existing Wonderware products such as InTouch for visualization, the Wonderware Historian for data storage, and the device Integration product line like a Data Access Server (DAServer) for device communications. An Application Server can be distributed across multiple computers as part of a single Galaxy Namespace.

Application Views The Application Views pane displays the object-related contents of the Galaxy in different ways: Model view, Deployment view, Derivation view and Operations view. The Model view is the default display when the Integrated Development Environment (IDE) is first opened.

ArchestrA The distributed architecture for supervisory control and manufacturing information systems. It is an open and extensible technology based on a distributed, object-based design.

ArchestrA Object Toolkit A programmer’s tool used to create new ApplicationObjects and Device Integration Object Templates, including their configuration and run-time implementations. Includes a developer tool used to build DI Objects and create unique Domain Objects that interact with DI Objects in the ArchestrA environment.

Area A logical grouping of AutomationObjects that represents an area or unit of a plant. It is used to group related AutomationObjects for alarm, history, and security purposes. It is represented by an Area AutomationObject.

Area Object The System Object that represents an Area of your plant within a Galaxy. The Area Object acts as an alarm concentrator, and is used to place other Automation Objects into proper context with respect to the actual physical automation layout.

Assignment The designation of a host for an AutomationObject. For example, an AppEngine AutomationObject is assigned to a WinPlatform AutomationObject.

Attribute An externally accessible data item of an AutomationObject.

Attribute Reference String A text string that references an attribute of an AutomationObject.

Wonderware System Platform 3.0 Course - Part 1

Page 766: Manual Wsp 3 Part 1-Rev a Gold

A-4 Appendix A – Wonderware Application Server Glos sary

AutomationObject A type of object that represents permanent things in your plant (such as Application Objects or Device Integration Objects) as objects with user-defined, unique names within the Galaxy. It provides a standard way to create, name, download, execute, and monitor the represented component.

Automation Object Server (AOS) A computer that hosts one or more application engines and associated automation objects. A Wonderware Application Server Galaxy Namespace can contain several Automation Object Servers, each which requires a Platform.

Backup Application Engine The object created by the ArchestrA infrastructure when the Primary object has been enabled for Redundancy. See Redundancy for further detail.

Base Template A root template at the top of a derived hierarchy. Unlike other templates, a base template is not derived from another template but developed with the Application Object Toolkit and imported into a Galaxy. Base templates and derived templates always have a $ before their name in the IDE.

Block Read Group A DAGroup that is triggered by the user or another object. It reads a block of data from the external data source and indicates the completion status.

Block Write Group A DAGroup that is triggered by the user or another object after all the required data items have been set. The block of data is then sent to the external data device. When the block write is complete, it indicates the completion status.

Bootstrap The base ArchestrA service which is required on all ArchestrA computers. It provides the base software environment to enable a platform and allows a computer to be included in the Galaxy Namespace.

Change Log The revision history that tracks the life cycle activities of ArchestrA Objects, such as object creation, check-in/check-out, deployment, and import/export.

Change Propagation The ability to create templates which will allow each component template to support changes such that a change in one of the elements can be automatically propagated to all — or select, related — instances.

Check-In IDE operation for making a configured object available for other users to Check-Out and use.

Check-Out IDE operation for the purpose of editing an object. It makes the item unavailable for other users to Check-Out.

Checkpoint The act of saving to disk the configuration, state, and all associated data necessary to support automatic restart of a running AutomationObject. The restarted object has the same configuration, state, and associated data as the last checkpoint image on disk.

Compound Object. An Application Object that contains at least one other Application Object.

Wonderware Training

Page 767: Manual Wsp 3 Part 1-Rev a Gold

Appendix A – Wonderware Application Server Glossary A-5

Contained Name An alternate naming convention that when combined with the tag name of the root container object, results in the Hierarchical Name. For instance, for a given object, it’s Hierarchical Name = Line1.Tank1.InletValve and its Contained Name= InletValve

Containment A hierarchical grouping that allows one or more AutomationObjects to exist within the name space of a parent AutomationObject and be treated like parts of the parent AutomationObject. This functionality allows for relative referencing to be defined at the template and instance level.

DAGroup A data access group associated with Device Integration Objects (DIObjects). It defines how communications is achieved with external data sources. It can be a ScanGroup, Block Read or Block Write groups.

DAServer Manager (DAS Manager) The System Management Console (SMC) snap-in supplied by the DAServer that provides the required user interface for activation, configuration, and diagnosis of the DAServer.

Data Access Server (DAServer) The server executable that handles all communications between field devices and client applications. Similar in function to I/O Servers but with more advanced capabilities.

Data Access Server Toolkit (DAS Toolkit) A developer tool used to build Data Access Servers (DAServers).

Deployment The operation which instantiates an automation object instance in the ArchestrA runtime. This action involves installing all the necessary software and instantiating the object on the target platform with the objects default attribute data from Galaxy Repository.

Deployment View The part of the Applications View in the IDE that shows how objects are physically dispersed across Platforms, Areas and Engines. This is a view of how the application is spread across computing resources.

Derivation The creation of a new Template based on an existing Template.

Derivation View The part of the Applications View in the IDE that shows the parent-child relationship between base templates, derived templates and derived instances. A view into the genealogy of the application.

Derived Template Any template with a parent template. Device Integration Object (DIObjects) An AutomationObject that represents the communication with external devices or software. DIObjects run on an Application Engine, and include DINetwork and DIDevice objects.

DIDevice Object An object that represents the actual external device (for example, a PLC or RTU) that is associated with a DINetwork Object. It provides the ability to diagnose and browse data registers of the DAGroups for that device.

DINetwork Object An object that represents the network interface port to the device via the Data Access Server or the object that represents the communications path to another software application. It provides diagnostics and configuration for that specific network card.

Wonderware System Platform 3.0 Course - Part 1

Page 768: Manual Wsp 3 Part 1-Rev a Gold

A-6 Appendix A – Wonderware Application Server Glos sary

Element Basic shapes, such as rectangles, lines, and text elements, and controls you can use to create an ArchestrA Symbol to your specifications.

Engine Object An ArchestrA system enabled object that contains Local Message Exchange and provides a host for Application objects, Device Integration objects and Area objects.

Event Record The data that is transferred about the system and logged when a defined event changes state (for instance, an analog crosses its high level limit, an acknowledgement is made, or an operator logs in to the system).

Export The act of generating a Package file (.aaPKG file extension) from persisted data in the Galaxy Database. The resulting .aaPKG file can be imported into another Galaxy through the IDE import mechanism.

FactorySuite Gateway FactorySuite Gateway is a Microsoft Windows application program that acts as a communications protocol converter. Built with the ArchestrA DAS Toolkit, FS Gateway can be used to link clients and data sources that communicate using different data access protocols.

Galaxy The entire application. The complete ArchestrA system consisting of a single logical name space (defined by the Galaxy Database) and a collection of Platforms, Engines and objects. One or more networked PC’s that constitute an automation system. This is referred to as the Galaxy Namespace.

Galaxy Database The relational database containing all persistent configuration information like Templates, Instances, Security, etc. in a Galaxy Repository.

Galaxy Database Manager The Galaxy Database Manager is a utility you can use to manage your Galaxies. It can back up and restore Galaxies should they become corrupted or to reproduce a Galaxy on another computer. The Galaxy Database Manager is part of the System Management Console (SMC).

GalaxyObject The object that represents a Galaxy.

Galaxy Repository The software sub-system consisting of one or more Galaxy Databases.

Graphic Toolbox The part of the IDE main window that shows a hierarchy of graphic toolsets, which contain ArchestrA Symbols and client controls.

Hierarchical Name The name of the object in the context of its container object. For instance, Tank1.OutletValve, where an object called Tank1 contains the OutletValve object.

Historical Storage System (Historian) The time series data storage system, used to compress and store high volumes of time series data for latter retrieval. For the Wonderware Application Server, the standard Historian is IndustrialSQL Server.

Host The parent instance of a child instance in the deployment view. (Example: a Platform instance is a Host for an AppEngine instance).

Wonderware Training

Page 769: Manual Wsp 3 Part 1-Rev a Gold

Appendix A – Wonderware Application Server Glossary A-7

Import The act of reading a .aaPKG File and using it to create AutomationObject instances and Templates in the Galaxy Repository.

Wonderware Application Server Refers to the Wonderware A2 Supervisory Control Platform, commonly known as the Application Server. The Wonderware Application Server is sized by (a) the number of Workstation / Server Platforms, (b) by real I/O in the system, and (c) the number of Terminal Services sessions. The Application Server license is per Galaxy. An Application Server can be distributed across multiple computers as part of a single Galaxy Namespace. The Wonderware Application Server is designed to leverage existing Wonderware products such as InTouch for visualization, Industrial SQL as its historian, and the device Integration product line (I/O Servers) for device communications. The Wonderware Application Server uses InTouch v8.0 or InTouch View v8.0 for visualization with the addition of Platforms to the visualization node.

Instance An object, which is a unique representation of a template that can exist in runtime.

Instantiation The creation of a new object instance based on a corresponding Template.

Integrated Development Environment (IDE) The Integrated Development Environment (IDE) is the user interface for the configuration side of Application Server. It is used to manage templates, create object instances, deploy and un-deploy objects and a host of other functions associated with the development and maintenance of the system. It is only available as part of the Wonderware A2 Development License.

InTouch View InTouch View Clients are InTouch Runtime Version 8.0 clients that solely use of the Wonderware Application Server for its data source. In addition, standard InTouch v8.0 runtimes can leverage the Wonderware Application Server with the addition of a Platform license.

I/O Count Number of I/O points being accessed into the Galaxy. I/O points are real I/O and are not equivalent to InTouch tags. I/O count is based on the number of I/O points that are configured through an OPC Server, I/O Server, DA Server or InTouch Proxy Object, over the whole Application Server Namespace, regardless of how many PCs are in the system.

Life Cycle Cost The cost of a Supervisory Control System attributed to initial development, application changes and on-going maintenance. The Wonderware Application Server reduces these costs through the use of a component object-based development environment and automated change propagation capabilities.

Live Mode An action in ActiveFactory™ that enables the configuration of a Runtime application to be refreshed at a designated interval.

Log Viewer A Microsoft Management Console (MMC) snap-in that provides a user interface for viewing messages reported to the LogViewer.

Message Exchange The object to object communications protocol used by ArchestrA and the Wonderware Application Server.

Model View The part of the Applications View in the IDE that shows how objects are arranged to describe the physical layout of the plant and supervisory process being controlled.

Wonderware System Platform 3.0 Course - Part 1

Page 770: Manual Wsp 3 Part 1-Rev a Gold

A-8 Appendix A – Wonderware Application Server Glos sary

Object Any template or instance found in a Galaxy Database. A common characteristic of all objects is they are stored as separate components in the Galaxy Repository.

Object Extensions The capability to add additional functions to an Automation Object while not altering the objects original behavior. Can be added to derived templates and object instances. They include Scripts, User Defined Attributes (UDAs) and Attribute Extensions.

Object Viewer A utility in which you can view the attribute values of the selected object in run-time. This utility is only available when an object is deployed. Object Viewer provides the user with diagnostic information on Application Objects for the purpose of detecting performance parameters, resource consumption and reliability measurements. In addition to viewing an object’s data value, data quality and the communication status of the object, you can also modify some of it’s attributes for diagnostic testing. Modifications can include adjusting timing parameters and setting objects in an execution or idle mode.

OffScan The state of an Object that indicates it is idle and not ready to execute its normal runtime processing.

OnScan The state of an Object in which it is performing its normal runtime processing based on a configured schedule.

Package Definition File (.aaPDF) The standard description file that contains the configuration data and implementation code for a base template. File extension is .aaPDF.

Package File (.aaPKG) The standard description file that contains the configuration data and implementation code for one or more object instances or Templates. File extension is .aaPKG.

Platform Count Number of PCs in the Galaxy. Each Workstation and/or Server communicating directly with the Application Server requires a platform to be part of the Galaxy Namespace. This includes each InTouch 9.0 or higher and InTouch View 8.0 or higher client. Each InTouch Terminal Services Session needs IAS Terminal Services Session License. A Platform License includes a per seat FSCAL2000 with Microsoft 2000 SQL Server CAL. Stand-alone computers that only host Historian Servers or remote DA Servers do not need a platform license.

Platform Manager The Platform Manager provides Galaxy application diagnostics by allowing you to view the run- time status of some system objects and to perform actions upon those objects. Actions include setting platforms and engines in an executable or idle mode and starting and stopping platforms and engines. This utility is an extension snap-in to the ArchestrA System Management Console (SMC).

Platform Object An object that represents a single computer in a Galaxy, consisting of a system wide message exchange component and a set of basic services. This object hosts all Application Engines.

PLC Programmable logic controller.

Primary Application Engine The object created by the ArchestrA infrastructure when the Backup object has been created through Redundancy. See Redundancy for further detail.

Wonderware Training

Page 771: Manual Wsp 3 Part 1-Rev a Gold

Appendix A – Wonderware Application Server Glossary A-9

Properties Data common to all attributes of objects, such as name, value, quality, and data type.

Proxy Object A Proxy Objects is an Automation Object that represents an actual product for the purpose of device integration with the Wonderware Application Server or InTouch® HMI. For example, there is a Proxy Object that enables the Wonderware Application Server to access an OPC server.

Redundancy

During Configuration

� Primary object: The object intended as the main or central provider of the functionality in the run-time. For AppEngines, it is the object you enable for redundancy. For data acquisition, it is the DIObject you intend to use first as your data source in the run-time.

� Backup object: The object that provides the functionality of the Primary object when it fails. For AppEngines, it is the object created by the ArchestrA infrastructure when the Primary object has been enabled for redundancy. For data acquisition, it is the DIObject you do not intend to use first as your data source in the run-time.

During Run-Time

� Active object: The object that is currently executing desired functions. For AppEngines, it is the object that is hosting and executing ApplicationObjects. For data acquisition, it is the object that is providing field device data through the RedundantDIObject.

� Standby object: The passive object; that is, it is waiting for a failure in the Active object’s condition or for a force-failover. For AppEngines, it is the object that monitors the status of the Active AppEngine. For data acquisition, it is the object that is not providing field device data through the RedundantDIObject.

Redundant DI Object The RedundantDIObject monitors and controls the redundant DIObject data sources. Unlike redundant AppEngines, individual DIObject data sources do not have redundancy-related states. For all intents and purposes, they function as standalone objects.

Redundant Message Channel

The Redundant Message Channel (RMC) is a dedicated Ethernet connection which is required between the platforms hosting redundant engines. The RMC is vital to keep both engines synchronized with alarms, history, and checkpoint items from the engine that is in the Active Role. Each engine also uses this Message Channel to provide its health and status information to the other.

Reference A string that refers to an object or to data within one of its attributes.

Relational Reference A reference to an object’s attributes that uses a keyword in place of an object's tagname. These keywords allow a reference to be made by an object's relationship to the target attribute. Examples of these keywords are "Me", "MyPlatform", and "MyContainer".

Remote Reference The ability to redirect ArchestrA object references or references to remote InTouch tags. The new script function used to redirect remote references at runtime is IOSetRemoteReferences.

Runtime The InTouch® (WindowViewer™) function that provides the viewing of data from the configuration of the application in InTouch development (WindowMaker).

Wonderware System Platform 3.0 Course - Part 1

Page 772: Manual Wsp 3 Part 1-Rev a Gold

A-10 Appendix A – Wonderware Application Server Glo ssary

Scan Group A DAGroup that requires only the update interval be defined and the data will be retrieved at the requested rate.

Scan State The Scan State of an object in run-time. This can be either off-scan or on-scan.

Security Wonderware Application Server security is applied to the Integrated Development Environment (IDE), the System Management Console (SMC), and the runtime data level. At the runtime data level which centralizes the definition of all permissions to the ApplicationObjects. These ApplicationObjects can be accessed by a variety of clients but the security is centrally defined allowing ease of maintenance. The users that are allowed to modify these ApplicationObjects at runtime are mapped to the objects by user defined roles. These roles can be mapped directly to existing groups in a Microsoft Domain or workgroup.

SmartSymbols SmartSymbols are objects that 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. They are created from a graphic in an InTouch window that has been made into a cell and 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.

System Management Console (SMC) The central runtime system administration/management user interface in which all required runtime administration functions can be accomplished.

System Objects Objects that represent an Area, Platform or Engine.

TagName The unique name given to an object. For instance, for a given object, its TagName = V1101 and its HierarchicalName = Line1.Tank1.InletValve.

Template An object containing configuration information and software templates used to create new Derived Templates and/or Instances.

Template Toolbox The part of the IDE Main Window that hosts template toolsets, which contain object templates. The Template Toolbox contains a tree view of template categories in the Galaxy.

Toolset A named collection of Templates displayed together in the IDE Template ToolBox.

User Defined Attributes (UDA) The purpose of a User Defined Attribute is to allow users to add new functionality to an object. An attribute which is added to an object at configuration time

UserDefined object An AutomationObject created from the $UserDefined template. This template does not have any application-specific attributes or logic. Therefore, the user must define these attributes and associated logic.

WinPlatform object An object that represents a single computer in a Galaxy, consisting of a system-wide message exchange component, a set of basic services, the operating system, and the physical hardware. This object hosts all AppEngines.

Wonderware Training

Page 773: Manual Wsp 3 Part 1-Rev a Gold

Appendix B

Plant Model Planning Diagrams

Page 774: Manual Wsp 3 Part 1-Rev a Gold

B-2 Appendix B – Plant Model Planning Diagrams

– Intentionally left blank –

Wonderware Training

Page 775: Manual Wsp 3 Part 1-Rev a Gold

B-3

The Plant Model Planning Diagrams are displayed on the following pages.

Wonderware System Platform 3.0 Course - Part 1

Page 776: Manual Wsp 3 Part 1-Rev a Gold

B-4 Appendix B – Plant Model Planning Diagrams

Wonderware Training

Page 777: Manual Wsp 3 Part 1-Rev a Gold

B-5

Wonderware System Platform 3.0 Course - Part 1

Page 778: Manual Wsp 3 Part 1-Rev a Gold

B-6 Appendix B – Plant Model Planning Diagrams

Wonderware Training

Page 779: Manual Wsp 3 Part 1-Rev a Gold

B-7

Wonderware System Platform 3.0 Course - Part 1

Page 780: Manual Wsp 3 Part 1-Rev a Gold

B-8 Appendix B – Plant Model Planning Diagrams

– Intentionally left blank –

Wonderware Training