ArchestrA Training Manual Class 1

April 6, 2024 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download ArchestrA Training Manual Class 1...

Description

Revision A September 2007 Part Number 05-2090

on Wonderware@Application Server 3.0 and Device Integration Products

INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. O 2007 by lnvensys 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 lnvensys 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.

lnvensys 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 lnvensys software described in this document is subject to the terms of the applicable Wonderware Corporation or lnvensys Systems, Inc., license. These terms include provisions that limit your rights such as use restrictions, disclaimers of warranties and limitations of Wonderware and lnvensys 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 lnvensys' Wonderware business unit upon request by calling 1.949.727.3200 or by sending an e-mail to [email protected]. Invensys; Wondeware; 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 lnvensys plc, its subsidiaries and affiliated companies. All other brands and product or setvice names may be the trademarks or service marks of their respective owners.

Table of Contents

Table of Contents Module 1

Introduction ................................................................................. - 1 Section 1 -Course Introduction Section 2 - Wonderware System Platform Lab 1 -Creating a Galaxy Section 3 -The ArchestrA IDE Section 4 -Automation Object Section 5 - System Requireme .............. 1-77 Section 6 - Application Plannin 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 Mode Section 2 -The Deployment Mod Lab 4 - Creating and Deployi ........................... 2-17 Section 3 - The Runtime Envi Lab 5 -Using Object Viewe Section 4 - Connecting to the ........................................ 2-41 Lab 6 -Connecting to the

Module 3

Application Objects ....................................................................3-1 Section I-Templates and lnstan Section 2 -The $UserDefined Ob Section 3 - Change Control and Propagati Lab 8 -Change Control and Propagat Section 4 -The $ Lab 9 - Meter Section 5 -The $ Lab 10 -Valv

Module 4

Extending the Objects ................................................................4-1 Section 1 - UDA Section 2 - Exte

Lab 13 - DDESuiteLinkClient Auto Reconnect Lab 14 -Automatic Reference Configuration

Module 5

Alarms and History .....................................................................5-1 Section 1 -Alarm

.....................................................................

Module 6

5-9

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

6-13

Wonderware System Platform 3.0 Course -Part 1

3

4

Wonderware System Platform 3.0 Course - Part 1 Module 7

Galaxy Maintenance ..................................................................7-1 Section 1 -Exporting and Importing Objects Section 2 -Configuring Instances Through Section 3 -System Management Console (SMC) ........................................... Section 4 - Network Account Utility

Module 8

Device lntegration Products ..................................................... 8-1 8-3 Section I - Wondeware 110 Server Section 2 - Data Access Server Section 3 - Device Integration

Module 9

7-21 7-33

8-9

-19

. .

Multi-Node Appl~cat~ons ..........................................................9-1 Section I -Application Redundancy .................................................................. 9-3 Lab 18 - Configuring Application Redundancy ......................................... 9-17 Section 2 - Dl Redundancy................................. Lab 19 -Configuring the Re Section 3 - Multi Node Applicatio Lab 20 - Convert to Network

Appendix A Wonderware Application Server Glossary ............................... A-I Appendix B Plant Model Planning Diagrams ................................................ B-I

Wondenvare Training

Introduction Section 1 - Course Introduction Section 2 - Wonderware System Platform Lab 1 - Creating a Galaxy Section 3 - The ArchestrA IDE Section 4 - Automation Objects Section 5

- System Requirements, Licensing and Support

Section 6 - Application Planning Lab 2 - Identifying the Mixer

1-2

Module 1 - Introduction

.

Module Objective Introduce the Wonderware@System Platform and its archftecture, envlronrnent, and requirements for installation and l~censing.

Wonderware Training

-

Section I Course lntroduction

Section I- Course lntroduction Section Objective This section :denrifies the objectives and agenda for the Wonderware System Platform 3.0 - Part 1 course as well as the key basics of Wondeware 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 ArchestrAa 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 nistory, using feat~resand f~nctionaitys ~ c as h A~tomationObjects, templates, template nstances, ArchestrAO Integrate0 Development Env ronment and Quickscript .NET. This course also provides a fundamental understanding of how to utilize the lnTouch@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: e Create new projects using ArchestrAB Integrated Development Environment

.

Model the plant floor using automation objects Work with the alarm and history configuration in the Galaxy Configure ArchestrAB 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://ww.wonderware.com/training/online~training/tutorials.asp e Manufacturing industry experience

Wondeware System Platform 3.0 Course -Pad 1

1-3

1-4

Module I- Introduction

Agenda Module I- lntroduction Section I -Course lntroduction This section describes the Wonderware0 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 I -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.

Wondeware Training

Section I- Course Introduction 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 t o the Field This section provides an understanding of the Device Integration Objects, I10 Server and DA Sewer. It also provides an overview of Dl Objects. Lab 6 - Connecting to the Field

Module 3 -Application Objects Section I-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 5UserDefined 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 5AnalogDevice object and its functionality. Lab 9 - Meter Section 5 -The SDiscreteDevice Object This section introduces you to the concept of the 5DiscreteDevice 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 WDAs 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 - lntroductiori t o Quickscript .NET

-

.

-

Wonderware Svstern Platform 3.0 Course Parl 1

1-5

Module I- Introduction

1-6

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 I -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 thenetwork account and how to use the Change Network Account and how to configure it.

Module 8 - Device Integration Products Section I - Wonderware 110 Sewers This section will describe the configuration of a Wonderware 110 Server (Modbus)

-

.

Section 2 - Data Access Servers This section provides familiarization with DASewer and its use with Wonderware Application Server.

Wondenvare Training

Section 1 - Course Introduction

1-7

Section 3 -Device Integration Objects This section provides familiarization with Dl Objects and their use with Wondenvare Application Server.

Module 9 - Multi-Node Applications Section I -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 Dl Objects Lab 18 -Configuring Application Redundancy Section 2 - Dl 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 Dl Objects Lab 19 -Configuring the Redundant Dl 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

.-

Wondenvare System Platform 3.0 Course -Pad 1

1-8

Module 1 - Introduction

Wonderware Software Solutions WonderwareB 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.

Wonderware Approach

to industrial Applications

e

e

e

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 ArchestrAB industrial automation and information software architecture.

Wonderware Training

Section 1 - Course Introduction Wonderware System Platform The Wondeware 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

Wonderware Svstem Platform 3.0 Course -Pad 1

1-9

1-10

Module 1 - Introduction S y s t e m Platform Components The Wondeware System Platform consists of a variety of software components

Wonderware System Platform e Wonderware Application Sewer (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 ServerTM)plant data historian e Wonderware lnformation Sewer (formerly known as Suitevoyage@) industrial portal software for Internethtranet visualization and content management Wonderware Device Integration Tools for field device connectivity

.

Wonderware Clients e Wonderware InTouch63 View human-machine interface (HMI) software as a visualization client for the System Platform e ActiveFactoryTMtrending and analysis software Reporting Client-Access Licenses for lnformation Server to enable information-sharing and reporting over the Web Wonderware Functional Modules To complement the capabilities and benefits offered by the Wondeware System Platform, Wondeware 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

Section I-Course Introduction Production and Performance Management Software Solutions 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 soflware solutions: Integrate with your existing plant, IT and business systems, creating one effective system for the entire organization e Leverage a single, open and scalable soflware architecture called the ArchestrA industrial automation and information software architecture e Complete MES and flexible batching capabilities that can help you actively manage production and collect data for analysis and reporting

e

Enable secure, wide-scale delivery of reports on KPls, 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

.*

Wondeware System Platform 3.0 Course -Pad 1

1-11

Module 1 -Introduction P r o d u c t 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 lnBatchTMflexible batch management software e Manufacturing Execution Module (formerly known as lnTrackTM)resource and WIP tracking software e 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 e Equipment Performance Module (formerly known as DT AnalystTM)equipment downtime tracking and performance management software e QI AnalystTMfor 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: e Easily design, build, deploy and maintain the most flexible and secure supervisory solutions with the lowest total life-cycle costs e Scale from a single machine up to multiple networked supervisory stations Integrate plant devices, databases, and control systems 0 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 prebundled with powerful visualization software P r o d u c t Offerings f h e Wonderware Supervisory HMI Software Solutions consist of a variety of products: e

e

Wonderware System Platform 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 lnControlTMreal-time control software

Wondeware Training

Section I- Course Introduction Geographically Distributed SCADA (Geo-SCADA) Software Solutions Since the late 1980s, the Wondeware 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 Wondeware Geo-SCADA Software Solutions consist of a variety of products: e Wonderware System Platform providing a core set of service capabilities as a foundation for application development, operations, and information delivery. e InTouch human-machine interface (HMI) software for process visualization and control SCADAlarmTMevent notification software for real-time alarm notification, data acqqisition, and remote control from telecommunication devices to industrial automation software systems

.

Wondeware Syslem Plalform 3.0 Course -Part 1

1-13

1-14

Module 1 - Introduction Wondenvare 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: e Wonderware Application Server (formerly known as Industrial Application Sewer) for system-wide, real-time data acquisition, alarm and event management, centralized security, data manipulation, remote deployment, and collaborative engineering rn ArchestrA Object Toolkit for creating application objects for use within the Wonderware Application Sewer e InTouch human-machine interface (HMI) software for process visualization and control e Wonderware System Platform providing a core set of service capabilities as a foundation for application development, operations, and information delivery e Functional Modules for searnlessly integrating new functional capabilities into Wonderware Application Sewer 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 rn 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 e Wonderware Information Server (formerly known as Suitevoyager) Web analysis software for InterneVintranet visualization and content management e Device and Software Connectivity Tools offering a library of hundreds of DA Servers and 110 Servers, the DA Server Toolkit, and Device Integration (Dl) 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 decisionmaking 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 e Incontrol real-time control soflware InBatch flexible batch management software e SCADAlarm event notification software for real-time alarm notification, data acquisition, and remote control from telecommunication devices to industrial automation software systems 0 InTouch for Terminal Services software for remote hosting of InTouch applications

.

Wondenvare software offers robust, best-of-breed soflware 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.

.-

Wondeware Training

Section I- Course introduction 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 controll simulation systems. ArchestrA leverages advanced software technologies to fill the gap between ERP systems and the control systems. This architecture provides the following: e Framework: supports common services and a core set of system objects e 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 Windowsa 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.

Wanderware System Plafform 3.0 Course - Parl 1

1-15

1-16

Module I- Introduction

- Intentionally

Wondenvare Training

left blank -

Section 2 - Wonderware System Platform

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.

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, ArchestrAe 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: e lndustrial domain services e Software and device connectivity services Information and data management services 0 Information-deliveryand visualization services e

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

Wondenvare System Platform 3.0 Course -Part 1

1-17

Module I - Introduction enables Wondeware 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, 2417. Industrial Domain Services provide: Real-time, peer-to-peer communications and messaging, enabling instant responses High computing availability and redundancy for critical applications r 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 Wondeware System Platiorm 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: e Integration of manufacturing and business systems e Easy importing and migration of legacy systems and external system configurations e 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 HMls m Historians and relational databases Quality and maintenance systems I I

Enterprise resource management (ERP) and business systems Manufacturing execution systems (MES)

Information and Data Management Services Furthermore, the Wondeware 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 becauseit enables immediate access to key

Wonderware Training

Section 2 - Wonderware Svstem Platform performance indicators (KPls); 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 Wondeware System ~lafformprovides 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: e Content management tools e 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 rn 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: rn

e

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

rn

e

e

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

-

.

Wondeware System Platform 3.0 Course -Pad 1

1-19

1-20

Module I

- Introduction

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

e

. e

e

e

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 customersi; 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.

.-

Wondeware Training

Section 2 - Wondenvare System Platform Application Development Services provide: Flexible, comprehensive software development capabilities for HMI andlor MES applications Advanced ArchestrA technology, which facilitates the assembly of applications that are component-based and generated from standard templates e Smartsymbol technology, enabling the creation of re-usable graphics e Different development views, which show:

. e

How the application is related to the facility or plant How the application is distributed across the network rn 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 Microsofl products including: Microsofl Windows operating systems The Visual Studio development system m

rn

SQL Server, BizTalk server Sharepoint services Microsofl Office Internet Ex~lorerinternet 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 soflware 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: e The ability to re-architect systems at any time to support different system topologies (i.e., Single Node, ClientIServer, Peer-to-Peer or Web-centric e Easy redistribution of server load Remote application installation and administration e An online configuration database that centrally maintains soflware e Remote change propagation e 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.

-

W o n d e w r e System Platform 3.0 Course Part I

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 lnvensys 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 ~ l a n t s .

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 realtime environment. In other words, the majority of manufacturers have not successfully integrated the functionalities of automationlbusinesslinformation 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 v find it difficult to quantify resulting tangible benefits.

Wondeware Training

Section 2 - Wonderware System Platform 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 everincreasing speed - making the ultimate goal of productivity improvement even more difficult to achieve.

BUSINESS SYSTEMS

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, lnvensys has developed a solution, ArchestrATMautomation 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 !/A Series A2TM system (IIA Series A2) has taken the first major step toward reducing the risk of automation obsolescence and protecting manufacturers' investments far into the future.

Wondenvare System Plalform 3.0 Course -Pad 1

1-23

1-24

Module I- 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 0 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 e Utilize existing assets more efficiently to increase production, without the need to expand the plant or build new capacity e 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

Section 2 - Wonderware System Platform 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 e Integrate and synchronize existing production systems and new applications e

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 ~ l a n t .

ArchestrA Architecture ArchestrA, developed by lnvensys, 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.

BUSINESS SYSTEMS

Wondeware System Platform 3.0 Course -Part 1

1-25

Module I- 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 e Deployment, scripting, and calculation services e Alarm and event subsystems with reliable delivery Built-in distributed architecture services for scalability Integration with various types of field devices

. .. e e

e e e e

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 lnformation 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 lnformation 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 lnformation Pyramid.

Wondeware Training

Section 2 - Wonderware System Platform

Wondeware System Platform 3.0 Course -Part I

1-27

1-28

Module I- Introduction Scalability Wonderware Application Sewer 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.

I, Structure Graphics Development Background Process Promotion of Standards Global Application Change Data Represented By

1 Hlerarchlcal Done Last Developed in Objects Strictly Enforced Progagated from Templates Physical Devices as Objects

Tag Based

Flat Done Early Developed in Tags Not Strictly Enforced Changed in Tools like Excel 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 Microsofl 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: e Alarm Monitoring

Wondenvare Training

Section 2 - Wondeware System Platform

e e

e e 0

Animation Scripts Security Scripts Supervisory Scripts Historical data storage Integration with other applications and Databases Event Detection Flow and movement calculations Device integration

AlarmstEvents

ocumentation

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 (KPls), 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.

-

Wondenvare System Platform 3.0 Course Paii 1

Module I - Introduction Using object-oriented tools in manufacturing applications Manufacturing applications typically have a lot of common components. These include common types of: Plant devices and equipment e Operating procedures Process measurements Calculations e Graphics displays

This leads to a cookie cutter approach, where typically small software programs are developed as objectslcode 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 objectoriented 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

Parent Template

Child Objects

J

\

Replication D~aphragm valve

Diaphragm valve

D~aphragm valve

D~aphragm

valve

1 Change Propagation

I

Powered

valve

Powered valve

Powered valve

Powered valve

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:

e

e

e

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

Wondenvare Training

Section 2 - Wonderware System Platform 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 tagbased 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.

1 0 Tags are defined and linked to the application

9.

If the application is to be deployed in a client-server environment, the application is rearchitected to centralize alarming, event detection, history archiving, graphics and 10 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 created last Wondenvare Application Sewer 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 supewisory application using the Application Sewer 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 supewisory 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, inputloutputs, 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 I drain valves and agitator.

-

Wondemare System Platform 3.0 Course Pae 1

1-31

Module I- Introduction 5. Device templates have attributes which represent real I10 available in the PLC or control system. These attributes are then linked to the I f 0 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 lnTouch@,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.

Wondenvare Training

Section 2 - Wonderware System Platform Plant Model for Developing Application Server Course 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

B PUMP 1

I

OUTLEl

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.

-

Wondeware Sysfem Platform 3.0 Course Part I

1-33

1-34

Module I- 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 t o Galaxy dialog box is displayed.

This dialog box is comprised of three groups of options: Galaxy RepositoryIGalaxy connect selections: This consists of the GR Node Name and Galaxy Name boxes. Action buttons: Connect, New Galaxy, Delete Galaxy, About and Cancel. e

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.

Wondeware Training

Lab 1 -Creating a Galaxy

Lab 1 - Creating a 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: r Create a Galaxy r 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.a., if the user is Ann Brown, Valve would be ABValve)

Summary Lab lnstructions 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 cyour initialszGalaxy. 2. Connect to the new Galaxy and open the ArchestrA development environment.

See the next page for Detailed Lab lnstructions

Wondenvare System Platform 3.0 Course - P a d 1

1-35

1-36

Module I - Introduction

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

Create a Galaxy 1. Launch the Integrated Development Environment by selecting Start IAll Programs I Wonderware IArchestrA 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.

Wondeware Training

Lab 1 - Creating a Galaxy 3.

For Galaxy name enter the ABGalaxy and make sure Galaxy type is set to

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

Creating galax/ A B G a l a v on S\I'SPiATFORL!VPC

Creating Galaxy 'ABGalaxy' on SYSPiATFORI,!VPC ... ... with Security not enabled Cleaning up File and Global Data Repositories... Restore galaxy begin Get database connection information Get file repository information

. -

-. ...

.I

35% completed

I ...

-. .: ..,

Wonderware System Platform 3.0 Course -Pad 1

1-37

1-38

Module 1 - Introduction 5. As soon as the process is complete and the Close button is enabled, click Close

uccess u y c e

Get database connehon ~nformabon Get file repository lnformabon Remove restore duectory Restore from backup files Restore database Restore file repository Restore global data

El

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

Lab 1 -Creating a Galaxy This closes the Connect To Galaxy dialog box and displays the Integrated Development Environment (ArchestrA IDE).

-

Wondeware System Platform 3.0 Course Pad 1

1-39

1-40

Module I- Introduction

- Infentionally left blank -

Wondeware Training

Section 3 -The ArchestrA IDE

Section 3 - The ArchestrA IDE Section Objectives

..

Discuss ArchestrA IDE Introduce the Template Toolbox and Application Views Discuss the object Check-intcneck-out process.

This section provides an overview of the ArchestrA IDE, the Template Toolbox and Application Views and the object Check-inlcheck-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 D Create a new Galaxy Destroy a Galaxy ImporVExport Objects (aapackage, .csv) s ImporVExport script function libraries (.dll, .tlb, .olb, .wdf, .aaSLIB) Security Configuration Configure User security rn Configure Object security e

e

Object Configuration rn Create new objects rn Check out objects Edit objects m Configure Historization through objects rn Configure objects for Alarms and Events Extending object functionality rn Check in objects with comments Deploy/undeploy objects a Propagate changes to runtime objects rn View object's configuration errorstwarnings

-

Wondeware System Platform 3.0 Course Pad 1

1-41

1-42

Module I - Introduction

e

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 e Menu bar e Toolbar Template Toolbox e Application Views e

e

Object Editor Area Operations View Status bar

Wondeware Training

Section 3 - The ArchestrA IDE 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:

e

e

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 CN 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.

-

Wondeware System Platform 3.0 Course Part 1

1-43

1-44

Module 1 - Introduction e

e e

e

e

e

e e

e

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:

e e

e

0

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.

Wondeware Training

Section 3 -The ArchestrA

IDE

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 onloff the Toolbar of the Main Window. Status Bar - For toggling onloff the Status Bar of the Main Window.

Wondenvare Syslem Platform 3.0 Course - Parf 1

1-45

1-46

Module 1 - Introduction Objects menu - the Objects menu includes the following commands:

@

e

e

e

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. e

e

e e e

View i n 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 plafform. 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

Section 3 -The ArchestrA IDE

.

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:

e

e

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 chedied in.

Wonderware System Platform 3.0 Course -Par/ f

1-47

1-48

Module I - 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 scriot libraries and uodates their status to Good. To display the Operations pane, either e 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.

&

BAppEnslne $Area

$AnalogDevce $DDESuteLmkCbent

Good Good & ~l ood Good

a

Succeeded Succeeded succeeded Succeeded

- Object s a Bare Template - Object s a Base Template - Object ir a Bare Template

- Object is a Base Template

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 ErrorsiWarnings 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 CtrlcC). The Operations pane, like the Template Toolbox and Applications Views, is also updated as the status and conditions of objects in the Galaxy change.

Wondeware Training

Section 3 -The ArchestrA IDE 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 referto 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 ooerations 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 Syslem Platform 3.0 Course - Parl 1

1-49

1-50

Module I- 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. *,.-z 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).

O ~ en For o~eninathe editor of the obiect in focus. The editor appears in the Object Editor d~ientArea o i 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. h g d Check-In - For checking in to the Galaxy Repository an object which was previously checked out. This command ;pens 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 tf?; object in focus.

Wondeware Training

Section 3 -The ArchestrA IDE

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 fmm the nodes that currently host them, this command opens the Undeploy Object dialog box.

bd

Delete - For deleting the object in focus

%,ssa 3 Customize Toolsets - For maintaining the toolset categories displayed in the Template Toolbox, this command opens the Customize Toolsets dialog box.

User lnformation - For configuring global user preferences for the ArchestrA IDE Using this command opens the Configure User lnformation dialog box. Galaxy Status - For accessing the status of the current Galaxy. Model View - For displaying the Model view in the Main Window.

""-2 Deployment View - For displaying the Deployment view in the Main Window. bxs-i

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 - Parf 1

1-51

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 Repositoly, 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.

Section 3 - The ArchestrA

IDE

Application Views The Application Views pane displays the galaxy configuration based on how an object is related to other objects: e Model View - This defines the Object relationship to the automation scheme layout. The Objects are organized into Areas to represent the physical plant layout. e 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:

4 ass~gnedArea

I

-

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, DevicelntegrationObjects,.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.

-

Wondeware Syslem Plafform 3.0 Course Part 1

1-53

1-54

Module I- 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.

Wondeware Training

Section 3 -The ArchestrA IDE An example of a Derivation view is as follows:

. .. ; :..-..@ AnalogDavice-001 6.. @ . $AppEngine . . :---.. AppEngine-001 . .

F

& . $Area .

:--.@ Area-OOi

El 8 $DiscreteDevice El.. O BFieldReference

6.. . @ . $Winplatform

; '..-.%Winplatform-001

El- 0 Unused Base Templates

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.

Wondeware System Plalform 3.0 Course -Pad 1

1-55

1-56

Module 1 - Introduction An example of a Graphic Toolbox is as follows:

g.aAnalog Meters @ &3~uttons @ rnclock &

acompressors

@

Counters

El. DiqitalMeters E l BDisplays

Fans

@-

BISA Symbols Lights 8.Indicators

a--&3 Panels &- 0 Pipes

+.-&3

Pumps Sliders Switches 9. Q val%/es

h...

Vessels

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:

Wondeware Training

Section 3 -The ArchestrA IDE Three Types of Status Indicators There are three kinds of indicators that accompany object icons: e

deployment status (for instances only)

e

configuration status (for templates and instances) redundancy status (for instances only).

Deployment status indicators include:

DESuiteLinkClient-001 in example above)

AppEngine-001 in example above) I

Deployed w~thsoftware update requlred (see W~nPlatform-001in example above)

Wondenvare System Platform 3.0 Course -Part 1

1-57

1-58

Module 1 - Introduction Configuration status indicators include:

F.

. .

.Description .. . -

. . . . . .

... .

.

1-

.. --..

Configuratlon warning

I (no indicator) / Configuration good Redundancy status indicators include: Description AppEnglne undeployed. 11sredundant palr deployed AppEngine 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:

! Description

-m Icon

Appltes to InTouchV~ewAppdeployment when files are bemg transferred

Wondeware Trarnrng

I

Section 3 - The ArchestrA IDE 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 IDESconnect 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 u n r e s e ~ e d 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.

Woodeware System Platform 3.0Course -Pad 1

1-59

1-60

Module I- Introduction

WinPlatform_OOl WinPlatform_OOl WinPlatFoim_OOl WinPlatform_OOl

Defaultuser Defaultuser Defaultuser DefaultUser

Updated configuration. Updated configuration. Checkin by user.

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 t o 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 I n 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

Section 3 -The ArchestrA IDE

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 I n dialog box enables you to provide comments about configuration changes made while the object was checked out. It is comprised of the following options: e 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 lnformation on the Edit menu and select Ask for Check In Comments in the Configure User lnformation dialog box.

.

Undo Checkout, Override Check O u t Two other ArchestrA IDE commands related to the conceDt 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 ouV 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 Pad 1

1-61

Module I- 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 110 servers and other platforms.

Wondenvare Training

Section 4 - Automation Objects

Section 4 - Automation Objects Section Objectives Introduce the various objects in the ArchestrA IDE. Identify when an0 how they are used. Explain how to create and configure instances of objects. lntroduce 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: 0 Application objects AnalogDevice Boolean DiscreteDevice Double FieldReference n Float Integer Sequencer String Switch UserDefined

e

Device Integration objects DDESuiteLinkClient InTouchProxy OPCClient RedundantDlObject System objects AppEngine Area InTouchViewApp ViewEngine Winplatform

Wonderware System Platform 3.0 Course -Part 1

1-64

Module 1 - Introduction Application Objects @J Application

;..... @ $AnalogDevice ;-----@ $Boolean ;----. g $DiscreteDevice ;--.-- g $Double ;-----@ $FieldReference ;----. @ $Float ;---. Q $Integer ;---- Q $Sequencer ;----. 8 $String

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 lnput (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 lnput or Analog Output e 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: e Supports optional scaling of input and output, both linear and square root conversions. e Supports HiHi, Hi, Lo, and LoLo level alarms on PV with both value and time deadbanding. e Supports Rate of Change (ROC) alarming on PV for both positive-slope and negativeslope 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.

.

Wondenvare Training

Section 4 - Automation Objects e

* e

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 "Of? 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 " P V (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 " B a d 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: lnput and Output states of the DiscreteDevice object are totally independent of each other and can be configured as required by the user's application. lnput 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. e Supports devices with two to three commandable states ('Passive', 'Activel', 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. e 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 e 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).

.

.-

Wondeware System Platform 3.0 Course -Part 1

1-65

1-66

Module 1 - Introduction D o u b l e 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: e ReadOnly - Input object e Readwrite - Output object with scanned Feedback e

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.

lnteger 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 Wondeware Application Server application. You can use it to automate: 0 repetitive manufacturing procedures with a finite number of steps r 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.comltraining or call 1-866-WW-TRAIN (1-866-998-7246) or email Wondeware Training at [email protected].

String Object The String object is derived from the FieldReference object.

S w i t c h Object ~he'switchobject is the object for accessing data from a simple discrete (011) device. This object can act as both a discrete input and a discrete output.

Wondeware Training

Section 4 - Automation Objects The Switch Object can be configured into three basic access modes: e ReadOnly - Input object Readwrite - Output object with scanned Feedback e

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: e

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 e

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 ( I n l e t ) --V102 ( O u t l e t ) --LT103 ( L e v e l )

The Tank object derived from the UserDefined object can be customized to raise an alarm when both the lnlet 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: i f r n e . i n l e t == "Open" a n d m e . o u t l e t == "Open" t h e n me.statealarrn else rne.statea1a.m endif;

=

true;

=

false;

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.

Wondeware System Platform 3.0 Course - Pad 1

1-68

Module 1 - Introduction Device lntegration Objects @Device Integration i... @j $DDESuiteLinkClient 1- $InTouchProxy j... $OPCClient L.% TBRedundantDIObiect A Devicelntegration object (DlObjects) is an Automationobject that represents communication with external devices. DlObjects run on an AppEngine, and include DlNetwork Objects and DlDevice Objects. A DlDevice Object is a representation of an actual external device (for example, a PLC or RTU) that is associated with a DlNetwork Object. A DlNetwork Object is a representation of a physical connection to a DlDevice Object via the Data Access Sewer. 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: e hosting application objects, device integration objects and areas containing the logic to setup and initialize objects, when they're deployed. e containing the logic to remove objects from the engine, when they're undeployed. e 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

Section 4 - Automation Objects 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 alarmlevent clients to monitor their areas of responsibility. This object is very simple; it only allows the value of three attributes to be historized: e Active alarm counter e Unacknowledged alarm counter e

Disabled (or silenced) alarm counter

InTouchViewApp Object The InTouchViewApp object represents an lnTouch 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 lnTouch 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.

WinPlatforrn Object The WinPlatform platform object is a key base object. The key functionality of this object includes: e Calculating various statistics related to the node it's deployed to. These statistics are published in attributes. e Monitoring various statistics related to the node it's deployed to. These monitored attributes can be alarmed as well has historized. e

e

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. e Is used by message exchange to bind unresolved attribute references

Wondeware System Platform 3.0 Course - Pad 1

1-69

1-70

Module I - Introduction

Hosting and Containment Relationships Host relationships are displayed in Deployment View. Galaxy Platform (representative of your Plant) Engine Area Application Objects Dl Objects Containment relationships are displayed in Model View. Areas Areas Application Objects Application Objects

Wondeware Training

Section 4 - Automation Objects

Templates and lnstances 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 Sewer 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.

I

Templates

/Emt Template

Each template inherits attributes from theone above it

Child Instances

i

Each object instance inherits attributes from its template

lnstances lnstances are the run-time objects treat$ from templates in Wonderware Application Sewer. lnstances are the specific things in your environment like processes, valves, conveyer belts.

Wondeware Syslem Plafform 3.0 Course -Pail 1

1-71

Module I- Introduction holding tanks, and sensors. lnstances can get information from sensors on the real-world device or from application logic in Wonderware Application Sewer. lnstances 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 tem~latescome in.

Creating and Deleting lnstances 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 ,:,.,."n j($, Sewer name: RTEngine e 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 t h e Object

6. On the Deployment view, assign the Incontrol instance to the ABAppEngine object and deploy the object.

Wondenvare Sysfem Plafform 3.0 Course - Pad 1

2-51

2-52

Module 2 -Application Infrastructure Verify t h e Connection o n 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: e Connectionstatus e Reconnect ServerNode Se~erName ComrnunicationProtocoI e ScanGroupList (enter 1 as the array index) 9.

Save the watch list

See the next page for Detailed Lab Instructions

Wondenvare Training

Lab 6 - Connecting to the Field

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

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 I Derived Template.

2. A new template is created. Use $ABDDESuiteLinkClient for the name.

3. Move the $ABDDESuiteLinkClient object to your template toolset

Wondenvare System Platform 3.0 Course - Pal? 1

2-53

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.

Server node: Server name:

Priority: Communication protocol:

.c--,.8 : K

8-4

,.

..........

E c i r a - h r v huser !

Domain name:

Wondeware Training

Lab 6 - Connecting to the Field

.

6. On the General tab, configure the object as follows:

e

Sewer node: . The following screenshot uses 'MOE' as an (+F" +?I)cl example. Sewer name: RTEngine Communication protocol: SuiteLink

7. Select the Topic tab

Wondeware System Platform 3.0 Course - Par1 1

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.

Wondeware Training

Lab 6 - Connecting to the Field 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 -Pad 1

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.

... i.

....

. & ABAppEngine i

i&.-& ABIntake

&.- 63 ABProduction

;----& ABLinel [ ABLinel J i..... & ABLine2 [ ABLineZ 1

Deploy the Object 14. Select the Deployment view.

6 . @Unassigned . i !.....@ B

Host

ABGRPlalform

6;.@ ABAppEngine ABControlSystem

...

& ABDischarge

i . 6%

ABIntake

i;b ABUnel [ ABLinel]

j .

Wondenvare Training

& ABUne2 [ ABLineZ] 62 ABProduction

Lab 6 - Connecting to the Field 15. Assign t h e Incontrol instance to t h e ABAppEngine object. . .

i

Lo Deployment

- .

~

,a Unassigned

.

. .--

- P X

,A

Host

$.-@ ABGRPiatforrn R- @ ABAppEnqine ;----$3ABControlSystm i-.-. i;il ABDischarge I...-.611 ABIntake i--- ABLinel [ ABLinell i - ABLine2 [ ABLineZ]

16. Right-click t h e Incontrol instance a n d select Deploy.

Wonderware Sysfem Plafform 3.0 Course -Pad ?

2-59

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.

Lab 6 - Connecting to the Field 19. Click the Close button to return to the ArchestrA IDE. The different views now display the instance in its deployed state

,

aUnassignedHost

8 . @ ABGRPlatforrn

@-.- @ ABAppEngine

+ $3ABControlSystm

.

:r.i ..

:. i.

;---.-63 ABDischarge : 63 ABIntake : & ABLinel [ ABLinel ] @

... . I.--

& ABAppEngine

63 ABProducUon '..... 63 ABLinel[ ABLinel] '..... 6% ABLine2[ABLineZ]

1

Verify Connection on Runtime 20. In the Model view, open Object Viewer by right-clicking the Instance instance and selecting View in Object Viewer.

-

Wondenware Syslem Plafform 3.0 Course Part 1

2-61

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 1 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.

.

M0dfy.. Remuve kcm Waicii Add Atirlbute Reference.,,

I

Rename Tab..

.

Open.. Save Save As..

.

Wonderware Training

.

I

Lab 6 -Connecting to the Field 23. Right-click in the Watch List (bottom section of Object Viewer) and select Rename Tab to rename the default Watch List 1 tab.

I I

Add Ath-ibute Reference...

I

~ d watch d whdow

...

Open

Save As...

24. The Rename Tab dialog box is displayed. Enter Incontrol for the Tab Name field and click OK.

25. On the Attribute List (lefl section of Object Viewer) locate the following - attributes, right-click on them, and select ~ d t odWatch to add them to the watch list: e ConnectionStatus Reconnect e ServerName ServerNode CommunicationProtocoI ScanGroupList (enter 1 as the array index)

.

I----

-

Atb b~teRefmnce

Value

0d1ty

1nControl.ConnecbonSt~tus

Connected

1nControl.Reconnect InControlServerNarne InControlServerNode

RTEngine

C13:Good CO:Good CO:Good CO:Good CO:Good C0:Good

false

MOE

Suitelink InControl.A~B~(SmnGroupList)[l] tagname 1nCon~ol.ComrnunicationProtocol

/ stab2

-

Ok

Ok Ok Ok

Ok Ok

Wondeware System Platform 3.0 Course -Par/ 1

2-63

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.

..

Modi*. Remove from \Vat&

I

Add Amibute Reference... Add W a t h chhdow Remove Watch Window RenameTab...

Wonderware Training

1

I

Application Objects Section 1 - Templates and Instances Section 2

- The $UserDefined Object

Lab 7 - Heat Exchanger

- Change Control and Propagation Lab 8 - Change Control and Propagation Section 4 - The $AnalogDevice Object Section 3

Lab 9 - Meter Section 5 - The $DiscreteDevice Object

- Valve, Pump and Motor Section 6 - Containment Lab 11 - Mixer Lab 10

3-2

Module 3 -Application Objects

Wonderware Training

Module Objectives Be able to Identify and work w ~ t htemplates Derive and configure templates

Wondenvare System Platform 3.0 Course -Pad 1

3-4

Module 3 -Application Objects

Wondeware Training

Section 1 -Templates and lnstances

Section 1 - Templates and lnstances 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.

Wondewre System Plafform 3.0 Course - Pad 1

3-5

3-6

Module 3 -Application Objects rern plates

/ParentTemplate

Each template inherits

I from the one above it

Child Instances

I

Each object instance

inherih attributes from its template

lnstances lnstances are the run-time objects created from templates in Wonderware Application Server. lnstances are the specific things in your environment like processes, valves, conveyer belts. holding tanks, and sensors. lnstances can get information from sensors on the real-world device or from application logic in Wondeware Application Server. lnstances 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.

Wondeware Training

Section 1 -Templates and Instances 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.

Valve 001

Valve 002

Valve 003

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.

-Application

Objects

$AnalogDevice

9

$DiscreteDevice SFieldReference

Base Templates

SUserDefined $Valve -Derived

Template

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 confiauratlon auicklv and easilv.

Wondenvare System Platform 3.0 Course -Part 1

3-7

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 Aoolication Views Dane.

Wonderware Training

Section 2 -The $UserDefined Object

Section 2 -The $UserDefined Object Section Objectives T h ~ ssection Introduces you to the 5UserDefined object and its functlonal~ty. 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. e 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: m Calculated Calculated retentive User writeable rn Object writeable

.

Note: We recommend you do not extend the Field Attribute value with an lnput, 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: e Integer * Float e Double The Analog Field Attribute provides the enabling and configuration for the following functionality: Scaling of lnput and Output values e e e e e

History HIHi, Hi, Lo and LoLo Limit Alarms Rate of Change Alarms Target Deviation Alarms Bad Value Alarm Statistics

Wondeware System Platform 3.0 Course -Pail 1

3-9

3-10

Module 3 -Application Objects The Discrete Field Attribute provides the enabling and configuration for the following functionality: e State Labels e Histoly State Alarm e Bad Value Alarm e

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: e

e

e

e

e

e

LTIOO -Analog Field Attribute - lnput from a level transmitter configured with options such as: Scaling, Limit alarms and Statistics (MinlMaxlAvg). TT100 -Analog Field Attribute - lnput from a temperature transmitter configured with options such as Rate of Change alarm and Statistics (MinIMaxlAvg). SWlOOa - Discrete Field Attribute - lnput from a limit switch configured with options such as State Labels and State alarm. SWlOOb - Discrete Field Attribute - lnput from a limit switch configured with options such as State Labels and State alarm. XV100a - Discrete Field Attribute - lnputoutput to a solenoid valve configured with options such as State Labels, State alarm, and Statistics (OpenlClose time). XV100b - Discrete Field Attribute - lnputoutput to a solenoid valve configured with options such as State Labels, State alarm, Statistics (OpenlClose 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 XVlOOa and XVlOOb 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: I F m e . X V 1 0 0 a == "Open" AND me.XV100b == "Open" THEN rne.Value0penAlarm = true; ELSE me.Value0penAlarm = 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.

Wondeware Training

Lab 7 - Heat Exchanger

Lab 7 - Heat xchanger Introduction In this lab the 8UserDefined 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: e Configure and use object templates to create instances that will inherited the configuration Use the Field Attributes functionality provided by the 5UserDefined 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 vour obiects in a common oalaxv 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 t h e Heat Exchanger Template 1. Derived a new template from the 5UserDefined object, name it $ABHeatEx, and assign it to the A B Training template toolset.

2. Add to the $ABHeatEx template four analog field attributes named T I , T2, T3 and T4. Configure each field attribute as follows: Access mode:

Input

Data type:

Float

Engineering units:

Deg F

Enable 110 scaling:

checked

Raw value - Maximum:

"

-

EU value Maximum:

EU range value - Maximum: EU range value Minimum:

4095.0 250.0 -5.0 255.0

-

Wonderware System Platform 3.0 Course Parl I

3-11

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 ABlntake area. 4. Configure the Input source of each one of the four field attributes with the following references:

where X X i s your student number.

Deploy the Object 5. Deploy the object.

View the Heat Exchanger Data o n 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.TI ABHeatEx.T2 ABHeatEx.T3 ABHeatEx.T4 8.

Save the watch list

See the next page for Detailed Lab Instructions

Lab 7 - Heat Exchanger

Detailed Lab lnstructions Following are Detailed Lab Instructions for completing this lab. For a surnrnaty of instructions, please refer to the Summary Lab lnstructions 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 WserDefined template and selecting New IDerived Template.

o

$oirartroe"i, , >=) 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: e

e

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 T i m e o u t 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

Wondeware System Platform 3.0 Course -Part 1

4-35

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. O v e r f l o w 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). D i v i s i o n b y 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 + m and - m and also NaN (Not a Number). Net Call Execution E r r o r s 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 e

e

Math functions: Includes functions like Abs, Sin, Sqrt, etc. String functions: StringLen, etc. System functions: LogMessage, etc.

I m p o r t i n g Additional B i n a r y Libraries Script Library Packages can be added to the system and made available to the user like preinstalled script libraries. Note: Script libraries developed with the InTouch 32-bit Extensibility toolkit can be imported and converted to Script function Libraries.

E x p o r t i n g B i n a r y 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 6, the script libraries that the object depends upon need to be manually copied to Galaxy 6.

Wondenvare Training

Section 3 - Introduction to QuickScript .NET 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 dl1 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: e e

e

e e

Script text can be lockedlunlocked 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 lockedlunlocked). 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 lnstance, 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 lnstance, 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: e Declaring variables of .NET types. Calling public constructors (with and without parameters) of .NET types. e e

e e

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 QSll Case Sensitivity All QuickScript .NET keywords and variable name identifiers are not case sensitive. However, the case is p r e s e ~ e dthroughout editor sessions.

QSll 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 sugge&s.

Wondeware System Plafiorm 3.0 Course - Par/ f

4-37

4-38

Module 4 - Extending the Objects Examples: Dim A; 'This is a single line comment Dim B; {This is an example of a multiline comment1

QSll 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. QSll Operations that Require 1 Operand Operation

-

/ Description Complement

/ Negation NOT

/ Logical NOT

QSll Operations that Require 2 Operands Operation

MOD

/

Description Muittpl~cat~on D~v~s~on Addlt~onand Concatenation Subtractm Assignment Modulo

/ SHL

/ Lefl Shifl

SHR

/ Right Shift

&

I

1

I Bitwise AND / Exclusive OR

1

inclusive OR Pnwer

1 Less than >

) {"." ) );

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:

~ctiveX@ Server: Other names for ActiveX Sewer are COM Server, ActiveX component, ActiveX EXE, ActiveX DLL.

Support for

OLE Automation Compatible ActiveX Servers

Support for COM Sewers: e Support for GeVSet Property Support for method invocation on COM sewer 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 t o the variables. Use Add methods t o 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.

Wondenvare Training

Section 3 - Introduction to Quickscript .NET 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, earlybound 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 latebound 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 as attribute boolean din discrete double each / elaosedtime else elseif endif kdwhile

/

/ /

/ /

/

exit false float for if in indirect integer messaae mod new next not

.............................

---

null object or real shl shr / step string / then /time to / true /w e

/

1

1

Wondewwe System Platform 3.0 Course - Pad 1

4-49

4-50

Module 4 - Extending the Objects lndirect Keyword The lndirect keyword supports dynamically binding a variable to an arbitrary reference string for getlset 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 returns 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 lndirect instead.

Quickscript .NET also reserves for future use the following words:

call case catch class continue default delegate do end I endsub endswitch enum error

/ function / goto

this

namespace

/ nothing

implicit

1 throw

on

triger

private protected public raiseevent readonly ref return select sizeof

typeof until using virtual void when with

I

-

Wondeware Training

imports include inherits interface internal 1 is like Me MyArea

/

/

I

Lab 13 - DDESuiteLinkClient Auto Reconnect

Lab 13 -

uiteLinkCIient Auto

econnect

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 scrid.

Objectives Upon completion of this lab you should be able to: Use the QuickScript.NET scripting engine to extend your objects with extra functionality e Use attributes, including UDAs, within scripts e Create scripts with different execution types e Reconnect whenever the Incontrol object gets disconnected

Summary Lab lnstructions 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.

Wondeware System Plafform 3.0 Course - Part 1

4-51

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

Lab 13 - DDESuiteLinkClient Auto Reconnect

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

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 and configure it as follows:

to add a new script to the object. Name the script Reconnect

Aliases section:

(locked)

Declarations section:

(locked)

Scripts section: Execution type:

Execute (locked)

Basics section:

(locked)

Expression:

Me.ConnectionStatus o 2

Trigger type:

WhileTrue

Trigger period:

00:00:05.0000000

Script body section: Me.Reconnect = True;

3.

Select the UDAs tab

.*-

Wondenvare System Platlorm 3.0 Course - Pail 1

4-53

4-54

Module 4 - Extending the Objects

4. Click the plus icon button and configure it as follows:

Data type:

Integer

Category:

Calculated

to add a UDA to the object. Name the UDA DisconnectCnt

5. Select the Scripts tab to add a new script to the object. Name the script 6. Click the plus icon button DisconnectMonitor and configure it as follows: Aliases section:

(locked)

Declarations section:

(locked)

Scripts section: Execution type:

Execute (locked)

Basics section:

(locked)

Expression:

Me.ConnectionStatus o 2

Trigger type:

OnTrue

Script body section: Me.DisconnectCnt = Me.DisconnectCnt

Wondemare Training

+

1;

Lab 13 - DDESuiteLinkClient Auto Reconnect 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;

Click the Save and Close button and check in the object.

Deploy the Incontrol instance Note: Your instructor will demonstrate new attributes in Object Viewer.

Wonderware System Platform 3.0 Course - Pati 1

4-55

4-56

Module 4 - Extending the Objects

- Intentionally left blank -

Wonderware Training

Lab 14 - A u t o m a t i c Reference Configuration

Lab 14 - Automatic

eference

onfiguration

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 lnstructions on subsequent pages.

Add t h e auto-configuration functionality 1. Add a Boolean User writeable UDA to the $ABMixer template, name it AssignlOCmd and set its initial value to True.

2. Add a script called Assign10 (locked) with an Execute execution type configured as follows: Expression:

Me.AssignlOCmd

Trigger type:

WhileTrue

Trigger period:

00:00:00.0000000

Script body: (provided as a text file as part of the training material)

Wonderware Sysfem Plafiorm 3.0 Course - PaIi 1

4-57

4-58

Module 4 - Extending the Objects Create and deploy a Mixer instance

3. Create a new instance of the $ABMixer template, name it A B M i x e r - W a n d assign it to the ABLine2 area.

4. Deploy both, the new mixer instance and ABMixer-001

See the next page for Detailed Lab Instructions

Wondeware Training

Lab 14 -Automatic Reference Configuration

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

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 and configure it as follows:

to add a UDA to the object. Name the UDA AssignlOCmd

Data type:

Boolean

Category:

User writeable

TruelFalse:

checked

iiLjllij UDA name:

3.

AnbnIOCmd

Select the Scripts tab

Wonderware Syslem Plalform 3.0 Course - Pail1

4-59

4-60

Module 4 - Extending the Objects

to add a new script to the object. Name the script Assign10

4. Click the plus icon button and configure it as follows: Aliases section:

(locked)

Declarations section:

(locked)

Scripts section: Execution type:

Execute (locked)

Basics section:

(locked)

Expression:

Me.AssignlOCmd

Trigger type:

WhileTrue

Trigger period:

OO:OO:OO.OOOOOOO

Script body section: 'Get the common part for the references. Dim dataSource As String; datasource = "1nControl.tagname.T" + StringRight(Me.Tagname, 31; 'Configure inlet valve 1. Me.Inletl.CLS.1np~tSource = datasource + "-IV1-CLS"; Me.Inletl.OLS.1nputSource = datasource t "-IV1-OLS"; Me.Inletl.CmdOpen.OutputDest = datasource + "-IV1-CmdOpen"; 'Configure inlet valve 2. Me.Inlet2.CLS.InputSource = datasource + "-IV2-CLS"; Me.Inlet2.OLS.InputSource = datasource t "_IV2_0LS"; Me.Inlet2.CmdOpen.OutputDest = datasource t "-IV2-CmdOpen"; 'Configure outlet valve. Me.Outlet.CLS.1nputSource = datasource + "-OV-CLS"; Me.Outlet.OLS.InputSource = datasource + "-OV-OLS"; Me.Outlet.CmdOpen.0utputDest = datasource + "-OV-CmdOpen"; 'Configure transfer pump 1. Me.Pumpl.FlowSwitch.InputSource = datasource + "-TP1-FlowSwitch"; Me.Pumpl.CmdStart.OutputDest = datasource + "-TP1-CmdStart"; 'Configure transfer pump 2. Me.Pump2.FlowSwitch.InputSource = datasource t " TP2-FlowSwitch"; Me.Pump2.CmdStart.OutputDest = datasource + " - ~ ~ ? ~ m d ~ t a r t " ; 'Configure level meter. Me.LIT.PV.1np~t.InputSource = datasource

'Configure temperature transmitter. = datasource

Me.TT.PV.Input.InputSource

+ "-LT-PV";

+ "-TT-PV";

'Configure agitator. Me.Agitator.AuxContact.1nputSource = datasource t "-AG-AuxContact"; Me.Agitator.CmdStart.0utputDest = datasource t "-AG-Cmdstart"; Me.Agitator.Speed.1nputSource = datasource + "-AG-Speed"; Me.Agitator.SpeedSP.1nputSource = datasource + "-AG-SpeedSP"; 'Reset trigger. Me.AssignIOCmd = False;

Wondemaare Training

Lab 14 -Automatic Reference Configuration

5. Click the Save and Close button and check in the object

Wondenvare Svstern Plafforrn 3.0 Course - Pad 1

4-61

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 dialoq box with a warninq is displayed Click the Yes button.

Note: The new instance of the SABMixer 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 ---. I m ~ o r t a n t If ! there is a warnina icon on the mixer instance itself, notifv Your instructor.

i

.

i

& ABoischarpe

8.. & ABlntake :

&

'

Q aanwto;_ool

& ABProduction

AgitatorJol [Asitat hletl..OOl [ I n l e t i l hletZ.OD1 [inlet21 outlet_ool [outlet I Pump1_001 [Pump1 P"mp2_001 [PompZ:

l"let1_002 [Inlet1 1 l"lti2_002 [Inlet2 1 o"!l~!_oo2 [outlet I Pump1_002[Pumpl: Pump2-002 [Pump2

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

Alarms and Section 1 - Alarms Lab 15 - Configuring Alarms

- Historization Lab 16 - Configuring History

Section 2

5-2

Module 5 -Alarms and History Module Objective Obtain an overview and understanding of the concepts of Alarms, Events and Hislorizat~onand how ArchestrA handles each.

Wondenvare Training

Section 1 -Alarms

Section 1 -Alarms

.

Section Objectives Famll~arlzeyou w ~ t hthe 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 AlarmlEvent 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 system1 s o h a r e 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. e A process device is not in the desired state, such as a pump that should be running has stopped. .. e 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: e 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. e 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. e A platform has come back online after it had a failure or shutdown. e A user has logged into the system. e Detection of a severe software problem; such as a failed Application Object component.

.

The following items are not considered alarms or events: e Configuration actions within the Galaxy Repository; for example import or check-out. Installation of Bootstrap on a PC. e 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 windowh the View Engine.

.

.

Wondeware Syslem Plalform 3.0 Course - Part 1

5-3

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 AutornationObject 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 AlarmIEvent Notification Distributors that are running in the subscribed Areas throughout the Galaxy (inside every Area, Platform, Engine, Dl 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:

1 Timestamp of alarm event Common message text string.

/ Time

1 Comment

1 Area I Alarm a r o u ~ 1 Common name for alarm primitive I Alarm Type .. (string) . .. (e.g. "PV.HiAlarm") New alarm state lack. rtn. etc.l

I

Value MxReference Limit MxReference Units MxReference Category Category

/ Nla

1 1

1 State

1 Nla

/ Nla 1 Class / 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

Wondenvare Training

Section I-Alarms AutomationObject's acknowledge attribute for the alarm. Security is used as part of this set (it is a Userseattribute). 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 EnablelDisable The InTouch Alarm Client can enableldisable 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 Sewer. 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.

Svstem Events:

I

-

.............

Distributed Alarm subsystem Mapping .. - . ---. -Calegoryl = Syslem Type = SYS . Typc (or ................. Timestamp -.-Time Tagname Name Comment Tag description Area Event Type - if string, or use System event description Comment field ("started. "stopped) N/a Lies,,

fie,,

Priority = 1 N/a N/A N/A

Provider = Galaxy Event Class = EVENT

---

-

Securitv Audit (includes User Data Change) --. . ..Events: .....

I

. . . . . . . . . . .

ArchestrA field .

Type = Operator Change Timestamp Tag.primitive.attribute Tag description Area View engine name

Distributed Alarm subsystem Mapping -... Type = OPR Time Name Comment Alarm group

-. . . . . . . .

/

Wondeware System Platform 3.0 Course -Part 1

5-5

5-6

Module 5 -Alarms and History Securitv Audit (includes User Data Change) - . Events: (continued)

..

-.

..

I Operator 1 name

.........

1 Distributed Alarm subsystem

Mapping ... -!.. . . . . . --

1

/

1

Limit

/ value

New value Nla

State = none (preferred) or "UNACK R T N

Nla

Priority = 999

NIA

Provider = Galaxy

NIA

Event Class = EVENT

Awwlication Data Change - Events:

--

.............

I

........

..

...

Distributed Alarm subsystem Mapping ....... -

1 .

Type = LGC

Timestamp

Time

Tag.primitive.attribute

Name? Or name+comment?

/

.....

I old value

..

/

Nla Nla NIA

/

.

Wondeware Training

Comment P!a~m.92Jp Platform (!he PC's node n -. -. .

Limit

/ Value / State = none (preferred)or

New value

/ --

I

.-

Type = Data Change

Tag description

1

. . . .

/ RequestingEngineName+

"UNACK-R T N Priority = 999 Provider = Galaxy

a

d

1 1

Section 1 -Alarms 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+Blyestff#n8ate

The following syntax gets all alarms from a specific area: $Galaxy!Area

The following syntax gets alarms from two areas: \\Galaxy!Areal \\Galaxy!Area2

The following syntax gets all alarms from the Platform on computer node (by default):

-+ You can also use a wildcard. The following syntax gets all alarms from Areal, Area2, Area3, and SO on:

The following syntax gets all alarms from all objects starting with the characters "Tank" in the area "Area":

Displaying alarmslevents 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: e 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. e Display of key alarm information. e Acknowledgment of selected alarms with a comment. Suppression of alarms (local filter only).

Wondeware System Platform 3.0 Course - Pad 1

5-7

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.

Wondewwe Training

Lab 15 - Configuring Alarms

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: e Configure the $Winpiatform object as an alarm provider for the galaxy e Configure alarms within objects including using the Alarm Extension e Configure and use the Alarm DB Logger Manager e 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 vour obiects in a common aalaxv later in the course.

Summary Lab Instructions Following is a summaw of the general steps you will complete for this lab. For detailed instructions, please refer to the Detailed Lab lnstructions on subsequent pages. Configure t h e WinPlatform object a s a n A l a r m Provider

1. Configure the ABGRPlatForm instance to be an InTouch alarm provider for ail areas in the galaxy.

Configure t h e $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

Wondeware System Platform 3.0 Course - Pad 1

5-9

Module 5 - A l a r m s and History Configure t h e A l a r m 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 s c r i p t o n $ABMixer

7. Modify the Assign10 script of the $ABMixer template by adding the following line of code to the Configure agitator section of the code: Me.Agitator.Malfunction.1nputSource

=

datasource

=

"_AGMalfunction";

View t h e alarm data on R u n t i m e 8.

Deploy the ABGRPlalform 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: e LIT-001.PV LIT-001 .lnAlarm 0

e

. e

e e e

e

LIT-001 .Hi.lnAlarm LIT-001.Hi.Limit LIT~001.Hi.TimeAlarmOn LIT-001.Hi.TirneAlarmOff Agitator-001.lnAlarm Agitator-001 .Malfunction Agitator-001 .Malfunction.lnAlarm Agitator~OO1.Malfunction.TimeAlarmOn Agitator~OO1.Malfunction.TimeAlarmOff

10. Save the watch list

Wondeware Training

Lab 15 -Configuring Alarms 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:

13. Leave the defaults advanced settings and start Alarm DB Logger Manager.

View the Alarm History data 14. Use SQL Sewer Management Studio to query all data from the v-AlarmHistory view,

See the next page for Detailed Lab Instructions

Wondeware System Platform 3.0 Course -Part 1

5-12

Module 5 -Alarms and History

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

Configure the WinPlatform Object as an Alarm Provider 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, "Areal 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

Lab 15 - Configuring Alarms 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.0Course - P a d 1

5-13

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

urnname:

m:

9.

Naiiuntbon

~~t~

We"

Categoq:

I0bjert.a~iteab:e

id

.-14

Select the Extensions tab.

10. Select the Malfunction attribute and configure its extensions as follows: Input extension: Source: Alarm extension:

checked -..

checked (locked)

Category:

Process

Priority:

500

Alarm message:

me.ShortDesc

Active alarm state:

True

Wondeware Training

Lab 15 - Configuring Alarms 11. Click the Save and Close button and check in the object.

Update Auto-configuration Script on $ABMixer 12. Double-click the SABMixer template to open its configuration editor. Select the Scripts tab.

13. Select the Assign10 tab and add the following line of code to the Configure agitator section of the code: Me.Agitator.Malfunction.InputSource

=

datasource +"-AG-~alfunction";

14. Click the Save and Close button and check in the object

-

Wondeware System Plalform 3.0 Course Pad 1

5-15

Module 5 -Alarms and History View the Alarm Data in Runtime 15. Deploy the ABGRPlalform 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 I 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

Lab 15 - Confiaurina Alarms 19. Add the following attributes to the watch list: For the LIT-001 object:

For the Agitator-001 object:

Malfunction

For the ABLinel object:

bue bue 30.0 8/13/2007 2:08:17.741.. 8/13/2007 2:07:17.743 bue

. ...

CO:Good C0:Good C0:Good CO:Good CO:Good C0:Good C0:Good C0:Good

Ok Ok Ok Ok Ok Ok Ok Ok

C0:Good

Ok

20. Save the watch list

Wondeware Syslem Platform 3.0 Course - Part 1

5-17

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 1All Programs IWondeware I InTouch IAlarm 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:

Wonderware Training

Detailed

Lab 15 -Configuring Alarms 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 Plafform 3.0 Course -Part 1

5-19

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!ABControlSystern \Galaxy!ABDischarge \Galaxy!ABlntake \Galaxy!ABProductio

Wonderware Training

Lab 15 -Configuring Alarms 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

5-21

5-22

Module 5 -Alarms and History

View the Alarm History Data 29. Launch the SQL Sewer Management Studio by selecting Start 1 All Programs 1 Microsoft SQL Sewer 2005 1 SQL Sewer Management Studio.

30. Configure the Connect to Sewer dialog box as follows and then click the Connect button to continue:

Sewer type:

Database Engine

Sewer name:

localhost

Authentication:

Windows Authentication

Wondenvare Training

Lab 15 - Configuring Alarms 31. In the Object Explorer (lefl pane) navigate to localhost / Databases I WWALMDB I 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.

8/13/2007 2:57:... UNACK-Rlh

.... WACXRTh

Lli.00l.h

8/13/2007 2 5 7

A~btm~00Zt4,..The DiroeteDev... liBLine2

8/13/2OO725 ?... UNACV-NM

Agitalw_W2.M

/l3/2007 257:..,

WACKPLM

12007257:

...

/ZOO7 256:

... WACVUlt.I

12007 2%:

...

...

ThemroeieDev..

.

M x e i Hi level al...

ABLine2

liBUne2

WA

WACK-rVM

Wonderware Syslem Plafform 3.0 Course - Pad 1

5-24

Module 5 - Alarms and History

- lnfenfionally left blank -

Wonderware Training

Section 2 - Historization

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 Sewer 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 Sewer (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 Svslem Plafform 3.0 Course Pad 1

5-25

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 historizedlstored.

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: e 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 - s~ecifiesthe 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

Section 2 - Historization 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 lefl 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 representationjust 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 ~istorian.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 o r d e ~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 cliecrt.

-

Wondeware Syslem Plalform 3.0 Course Pad 1

5-27

5-28

Module 5 -Alarms and History Historian Timestamp mapping The timestamp to be sent to Historian for each attribute valuelquality 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: e The network connection to Historian goes down unexpectedly. The Historian storage node goes down or fails unexpectedly. e The Galaxy Platform and its Engines which are generating history startup prior to Historian node startup in a recovery situation. e 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 storelforward. 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 storelforward must be configurable in the Platform. Also, whether storelforward is enabledldisabled can be configured.

.

When storelfotward capacity is consumed, the oldest data is.discarded in preference to newer data.

Wondeware Training

Lab 16 - Configuring History

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: e Configure the $AppEngine object to store history data to a Wondeiware Historian e 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

Wondeware System Plalform 3.0 Course -Pail 1

5-29

5-30

Module 5 -Alarms and History Configure the $ABMixer.lnletl template for History 5. Configure the $ABMixer.lnletl 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 ABGRPlatforrn 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: e e

o

Agitator-001.Speed Inlet1.PV LIT-001.PV

See the next page for Detailed Lab instructions

Wanderware Training

Lab 16 - Configuring 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 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 t o 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 Parf I

5-31

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.lnletl Template for History 10. Double-click the $ABMixer.lnletl 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

Wondeware Training

Lab 16 - Configuring History 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.

seed

ANriLwte name:

I1r~uiommicimS:n

!-[I-/

B & &

9,,,,:

~ j ~ ~ ! ~ ~ t ~tifferr ~ t +omirp~iiarcc . - s t i l ~

w ..

....................

1

e

r

,

~

t

i

n

a

t

i

o

n

{

~

63l

R

~-

"

..............................rf-. .............

Alarm message:

a

Engineering units:

value dcadband: Trend high:

/ O g j

TI

EU

14

EU

a

Trend tour:

Label for Trud state:

7-

. . . . . . . . . . . . . . . . . . .

. .

15. Click the Save and Close button and check in the object.

-

Wondeware System Platform 3.0 Course Part 1

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 IAll Programs I Wonderware I ActiveFactory I Trend.

18. Configure the Sewer List Configuration as follows and click the Add button:

Sewer:

LOCALHOST

Authentication information: Use Integrated security:

checked

Lab 16 - Configuring History 19. After the server has being added to the Sewer list click the Close button.

20. With LOCALHOST selected on the Sewers pane (top-left pane), you will see the attribute references configured for historization in the Tags pane (bottom-left pane).

Wondeware System Platform 3.0 Course -Pad 1

5-35

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:

22. Click on the Live Mode icon

Wondeware Training

to configure the Trend to update automatically

Module 6

Security - Security Overview Lab 17 - Security

Section 1

6-2

Module 6 - Security Module Objective Configure, deploy, and test securtty w ~ t hAppllcatlon Server

Wonderware Training

Section 1 - Security Overview

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. ArchestrATMsecurity is designed to prevent users from performing unauthorized activities. This includes users of: e 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 [email protected] 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.

Wondeware System Platform 3.0 Course -Pad 1

6-3

6-4

Module 6 - Security Security Access Map

.

\

...............................................

\ .....................................I i:

Each Object Attribute has a : ,I security;lassification. Based i on the Roles granted access to the security group, the user i will be allowed to or stopped from writinq to the attribute. !

q;up objects together that the -. user wants to treat in a s~mtlarway.

:

'

:

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 Soflware 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 offscanlonscan 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.

..-

-

Wondenvare Tra~n~ng

Section 1 - Security Overview The final aspect ofthe 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 AutornationObjects to the Security Model

If the Security is not enabled then Authentication mode is disabled.

Authentication Mode

Wondewere System Platform 3.0 Course -Par/ 1

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 Sewer utilities or runtime processes. e 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. e 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. e 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: a 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 storedl 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 disolaved in the Note box.

Wonderware Training

Section 1 -Security Overview Authentication Mode selections provide the following general results: e

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.

e

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 ID€. 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.

e

e

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. e

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.

-

.

-

Wondeware System Platform 3.0 Course Part 1

6-7

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: e 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. e 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 usernamel 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

Wondeware Training

Section 1 -Security Overview 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 Sewer 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 lefl 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 ( 0 s ) 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: e Machines and users participating in a domain. Users being drawn from multiple domains.

.

-

Wondenvare Svstern Platform 3.0 Course Pad 1

6-9

6-10

Module 6 - Security

.

Machines and users defined witnln a Workgro~pNore the userslgro~pshave been defined on each machfne and lmported tnro the Galaxy Reposllory (GR) and defineo as Local Host.

Minimal Operating System Permissions Required for Launching 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 Sewer 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.

Section 1 - Security Overview

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: 0 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.

Wondenvare System Platform 3.0 Course - Parl 1

6-11

6-12

Module 6 - Security

- Intentionally left blank -

Wondenvare Training

Lab 17 - Security

Lab 17 - Security Introduction As you work with the security settings within the ArchestrA ID€ 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: e e

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 lnstructions Following is a summary of the general steps you will complete for this lab. For detailed instructions, please refer to the Detailed Lab lnstructions on subsequent pages.

Import t h e 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.

-

Wondenvare System Platform 3.0 Course Part 1

6-14

Module 6 - Security Configure t h e SecurityTest Object 3.

Configure the Security Classifications for each UDA in the object as follows: Attl-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 a n d Deploy a n 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 f o r t h e 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 t o GObject Attribute using Objectviewer:

checked

On the Operational permissions section: Default:

checked

TestGroup:

unchecked

Wondenvare Training

Lab 17 - Securitv

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

.-

Wondeware System Platform 3.0 Course - Part 1

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 Supewisors 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 P e r m i s s i o n s 16. Verify that the WEng user cannot modify the security configuration through the ArchestrA IDE

Test Operational P e r m i s s i o n s 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:

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.

Wondemare Training

Lab 17 - Security View the Security Audit Trail 21. Use SQL Sewer 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 -Pad I

6-17

6-18

Module 6 - Security

Detailed Lab lnstructions 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@).

Import the SecurityTest Object 1.

From the Galaxy menu, select Import1 Object@) to import an automation object

2. On the lmport Automation Object(s) dialog box, navigate to C:\Wonderware Training and select the $SecurityTest.aaPKG file. Click the Open button.

Wondenvare Training

Lab 17 - Securitv 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 followina module.

You can find the imported object in the Application toolset

e.

ABGala?

$ @ A6 Training . i: . i.. : :. .i .

,.,,

-

@ Application . : (J SAnalogDevim :

. . (9 SBoolean .i : ;- g SDiscreteDevice . .i 9 $Double .

yO

SFieldReference

Wondenvare System Platform 3.0 Course - Part 1

6-19

6-20

Module 6 -Security 4.

Rename the object $ABSecurityTest and move it your toolset. ... . . -.- .... ..-.....

-

-. .-

pjTemplate Toolbox .

. .. .

. . . .. ..

P

.

Configure the SecurityTest object 5.

Double-click the $ABSecurityTest template to open its configuration editor. Select the UDAs tab.

Wondeware Training

Lab 17 - Security 6. Select the Attl-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.

Datatype: category:

7.

Repeat step 6 to configure the security classifications for the following attributes: ~tt2-operate: Att3-SecuredWrite: Att4-VerifiedWrite:

I @

rq

AM-Tune:

[ -

Att6-Configure:

8.

g

Operate Secured Wr~te -

Ver~f~ed Wr~te Tune Configure

Click the Save and Close button and check in the object

Wonderware System Platform 3.0 Course - Pad 1

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 I Security to enable and configure security for the galaxy.

Wondenvare Training

Lab 17 -Security 12. Select Galaxy for the Authentication Mode.

Wondeware System Platform 3.0 Course - Pad 1

6-23

6-24

Module 6 - Security 13. Select the Security Groups tab.

-

Wonderware Training

Lab 17 - Security

14. Click the plus icon button TestGroup.

to add a new security group. Name the new security group

15. Select the Default security group and locate the ABSecurityTest-001 instance in the objects list (right pane).

-

Wondeware System Platform 3.0 Course Parf 1

6-25

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

Lab 17 -Security 17. Select the Roles tab.

Ei Ei E

rncan St21t the IDE rnImpcrbng and Expoibng General Configuiabm rnsystem Configurabon

-

Wondenvare System Platform 3.0 Course Pad l

6-27

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 t o GObject Attribute using Objectviewer: checked On the Operational permissions section: Default:

checked

TestGroup:

unchecked

Wonderware Training

Lab 17 -Security

19. Click the plus icon button

to add a new role and name it Operators.

Double-click on the Access level fieid 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

Wondeware Svslern Platform 3.0 Course - Parf 1

6-29

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

Can Start the iDE Importing and Exporting General Configuration System Configuration DeviceIntegration Objects Application Configuration [? Framework Configuration User Configuration [? Deployment Permi~sions C] Graphic Management Peimirsions SMC Permissions

'

C] c a n Startfitop EngineiPiatbrm [?can Write t o GObject Atbibutes using 0

[?can

acknowledge Alarms

- [ ? Can modify 'Configure-amibutes --- [? Can modify Uperate'amibuter Can modify Tune'atVibutes

Wonderware Training

Lab 17 - Security

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: SMC Permissions:

unchecked 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

............

'

.

Can Mo&fy Tune' Amhtes

Wondeware System Plafform 3.0 C o m e - Parif

6-31

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)

B

SMC Permissions

'.. -mCan Siart k SMC 'i

..

Can start/Stop En@ne/Flatfom Can Write to GObject Attributes udng 0

Can acbowledge Alarms O C a n modify Toofigure"attributes . Can modify "Operate'atbbutes .

..

Wondenvare Training

-m

Can modify Tune'amiwtes

Lab 17 - Security 23. Select the Users tab.

Wondenvare Svsfem Platform 3.0 Course - Pad 1

6-33

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

Lab 17 - Security 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

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 - Pafi l

6-35

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.

Wondenvare Training

Lab 17 - Security

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.

-

Wondenvare System Platform 3.0Course Pad 1

6-37

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: Bv default the Administrator account DOES NOT have a

Wondeware Training

D ~ S S W O assianed. ~ ~

Lab 17 - Securitv

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 I 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:

Scanstate ScanStateCmd

ABSecurityTest-ODl.Att2-Operaie ABSecurityTest_001.At1313SecuredWriie false

ABsecurityTest-ODl.A~4-Verified\fiIrite false ABSecurityTest-001.AE5-Tune false ABSecurityTest-00l.Am-Configure false ABSecurityTest-001.Att7-ReadOnly false ABSecurityTest-00l.ScanState true ABSecurib,Test-001,SmnSiateCmd hue

C0:Good C0:Good C0:Good C0:Good C0:Good C0:Good

Ok Ok Ok Ok Ok Ok

40. Save the watch list

Wondenvare System Platform 3.0Course -Part 1

6-39

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 lefl side of the status bar.

I

. --. -.-- ....

.

.. . .. . ..-. .. ...-. ....

-..

FILE: C:\.?ona~r,;,areTrain~ng'fily Watch rnr~ndc;,! .. . . User: hoper

Wondeware Training

- -.. .. . -. .. .!.lode: .

U S E T I .p4

Lab 17 - Security 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 Loaaer Manaaer utilitv.

43. Launch the SQL Sewer Management Studio by selecting Start / A l l Programs IMicrosoft SQL Server 2005 1 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

Wondenvare Svstem Plafform 3.0 Course -Pad 7

6-41

6-42

Module 6 - Security 45. In the Object Explorer (left pane) navigate to localhost IDatabases IWWALMDB [Views to get a list of all the database's Views in the Object Explorer Details (right pane).

dbo

dbo dbo

dbo dbo dbo dba dba dba

dba dbo

ot l Mampement o CI NobficaPan Sernces

o @ SQi server agent

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.

-T... LBDerharge

OPR

false

bue

.

.

hue

hue Closed

Stopwd false

Wondeware Training

Galaxy Maintenance Section 1 - Exporting and Importing Objects Section 2 - Configuring Instances Through a .CSV File Section 3 - System Management Console (SMC) Section 4

- Network Account Utility

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 Ut:lity

Wonderware Training

Section 1 -Exporting and Importing Objects

Section 1 - Exporting and Importing Objects

.

Section Objective T h ~ ssection discusses some fundamental funct~onsdealing 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.

Wondeware System Platform 3.0 Course - Pad 1

7-3

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 AutornationObjects.

Wondenrare Training

Section 1 - Exporting and Importing Objects 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.

I/

Export completed

Wondeware System Platform 3.0 Course -Part 1

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. . . .. . . 1.' Name

'

ABAulur~~al~unOblecI~~aPKG

I

Size Type 6.61 3 KP M P G F e

..

.-

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 IDES 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 s c r i ~function t libraries are transferred se~aratelv.

Wondenvare Training

Section 1 -Exporting and Importing Objects To export all automation objects 1. From the Galaxy menu, select ExportIAll Object(s).

Wondeware System Platform 3.0 Course - Parf 1

7-7

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.

Export completed

I[

BTest: Exported successfully. k t r ~ n oExoorted : successfullv.

Wondeware Training

I 4

Section 1 -Exporting and lmporting Objects 3. When the export process is finished, click Close. The resulting .aaPKG file can be used to import the objects into another existing Galaxy. ..

' Name ~~ABAulomalion0b:ecl aaP(&

I

B -

..

Sic] Type 6.613
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF