You are on page 1of 92

System Platform

Part 1

Wonderware System Platform


Part 1
Pablo Gernimo Tirado
Applications Engineer
Pablo.geronimo@invensys.com

Wonderware Training
8:30 AM
10:00 AM

Entrance hall to your left

At the lobby

1:00 PM

On every computer

3:00 PM

In the kitchen

4:30 PM

Outside the bulding

6:00 PM

Silence your phones

System Platform Part 1


Agenda

Day 3

Day 2

Day 1

Contents
Module 1:

Introduction

Module 2:

Application

Infrastructure
Module 3:

Application Objects

Module 4:

Extending the Objects

Module 5:

Alarms and History

Module 6:

Security

Module 7:

Galaxy Maintenance

Module 8:

Device Integration

Products
Module 9:

Multi-Node Applications

System Platform Part 1


Module 1:
Introduction

Contents
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:
Lab 2

Application Planning
Identifying the Mixer

Course Description
The System Platform
Part 1 training course
is a 4-day instructorled course designed
to give the knowledge
necessary to develop
and support
applications with
Wonderware
Application Server.

Course Objectives
Create new projects

using ArchestrA
Integrated
Development
Environment
Model the plant floor
using automation
objects
Work with the alarm
and history
configuration in the
Galaxy
Configure ArchestrA
security in the Galaxy

Wonderware System Platform


Project Specific Work
QuickStart Applications
Function Specific Modules
System
Platform

Clients

Microsoft Technology & Industry Standards

Wonderware System Platform


Wonderware Clients

Analysis Client
(ActiveFactory)

InTouch View

Reporting Client
(SuiteVoyager CAL)

Wonderware System Platform


Application Server
(IAS)

Historian
(InSQL)

Information Server
(SuiteVoyager)

Device Integration

3rd Party
Data Sources

S/W
Applications

3rd Party
Controllers

Application Server Evolution


Name
chang
e

IAS 2.0/2.1

ArchestrA
Galaxies

2000+
2000+

Supervisory
Execution
Engine

Time Propagation
Scan On Demand

Failover support
SCADA Support
Internationalization
Objects
Single Node

1000+
1000+

IAS 1.0

Scalability
Performance
Robustness

Node by node upgrade


Performance & Robustness
ArchestrA Graphics
IDE Update

430+
430+

IAS 1.5

Application
Server 3.0

Application
Server 3.x

10,000+
Platfor
ms
Installe
d
Already

FY 2005 FY 2006FY 2007 Projections

Concepts and Terminology


It is an open and extensible system of components based
on a distributed, object-oriented design.
ArchestrA

It provides a unified environment for visualization, plant


history, device communications and automation application
integration.

Application Server

Galaxy
Application Servers application, configuration
information and project database.
Galaxy Repository

Single computer and software where the Galaxy


database is located.

Concepts and Terminology

Galaxy
Platform
Engine
Container App
Objects
App Objects
Attribu
tes

Wonderware Application
Server
Highlights

Leverage the .NET Framework for the Automation


World
Object-based application
One global networked namespace
Centralized configuration and security
Multi-user development environment

Intake
Production
Line 1

Component-based plant application model

Line 2
Discharge

Self documenting
Advanced system maintenance and diagnostics

Evolution from HMI to AS


Oper.
Oper. Interface
Interface

Oper.
Oper. Interface
Interface

Oper.
Oper. Interface
Interface Tags
Tags Process
Process Data
Data
Scripts
Scripts
Appl.
Appl.
History
History

Windows
Animation
Remote
Navigation Scripts
Trends/Alarms, etc.
Security
Tag names
Scaling
History Configuration
Engineering Units
Event Configuration
Alarm Configuration
Access Name Link
I/O Item names
Application Scripts
Data Change Scripts
Condition Scripts
Window Scripts
SQL Access, Files, etc.
Other Supervisory Logic
Alarm Groups
Access Names
Security & Users
Process Data History
Alarm History
Event History

Windows
Animation
Navigation Scripts
Trends/Alarms, etc.
Security

Windows
Animation
Navigation Scripts
Trends/Alarms, etc.
Security

Traditional HMI
Introduction of Remote
references
Tag server + Clients

references

Tag server issues


PV
CLS

IAS Solution:

CV101

OLS
Cmd

Encapsulation in objects

Derivation from
templates

LS_Alarm
Timeout_Alarm
PV
CLS

$Valve

CV102

OLS
Cmd
LS_Alarm
Timeout_Alarm
PV
CLS

Derived from templates


CV103

OLS
Cmd
LS_Alarm
Timeout_Alarm

Represented by objects

Evolution from HMI to AS


Windows
Animation
Navigation Scripts
Trends/Alarms, etc.

Oper.
Oper. Interf.
Interf.

History
History

Process Data History


Alarm History
Event History

Oper.
Oper. Interf.
Interf.

Oper.
Oper. Interf.
Interf.

Windows
Animation
Navigation Scripts
Trends/Alarms, etc.

Windows
Animation
Navigation Scripts
Trends/Alarms, etc.

One global name space

Security at data level

CV101

IAS Solution:

CV102

CV103

One global and secure


name space for all process data

Encapsulation in objects

Derivation from
templates

Evolution from HMI to AS

History
History

Process Data History


Alarm History
Event History

Windows
Animation
Navigation Scripts
Trends/Alarms, etc.

Oper.
Oper. Interf.
Interf.

Oper.
Oper. Interf.
Interf.

Oper.
Oper. Interf.
Interf.

Windows
Animation
Navigation Scripts
Trends/Alarms, etc.

Windows
Animation
Navigation Scripts
Trends/Alarms, etc.

CV101

CV103

CV102

Easy creation of object


instances using drag and drop from
templates

IAS Solution:

Encapsulation in objects

Derivation from
templates
One global name space

Security at data level

Object Oriented vs. Tag Based


Process

Object Oriented

Tag Based

Structure

Hierarchical

Flat

Graphics Development

Done Last

Done Early

Background Process

Development in Objects

Developed in Tags

Promotion of Standards

Strictly Enforced

Not Strictly Enforced

Global Application
Change

Propagate from templates

Change in tools like


Excel

Data Represented by

Physical Devices as
Objects

Data Types and


communication bits as
tags

Scalability

Large System

Small System

Application Object
Server Only

Integrated
Single Node

Distributed
Peer to Peer

Single Server
Multi Client

Distributed Multi Server


Multi Client

Enhanced Communications
Intercommunications is no longer performed by either NetDDE or
SuiteLink.
New Communications Protocol LMX/NMX (Local/Network Message
Exchange):
Guaranteed Order of Delivery
Enhanced Diagnostics

Inputs & Outputs

Automation Objects
Graphics

Alarms & Events

Logic / Scripting

History Scheme

Documentation

Security

Automation Objects
Templates and Instances
Instances derived from templates and inherit all the
configuration
New templates can be derived from existing templates
Changes to templates can be propagated to derived objects
Templates allow the development of a library of standard
objects

CV101

$Valve

CV101

CV101

ArchestrA Topology
Visualization Node

ArchestrA
Runtime

Visualization Node Engineering Station Engineering Station

ArchestrA
Runtime

I/O Data Server

Galaxy
Repository

Historian

Information
Server

Workstation

ArchestrA Topology
Visualization Node

Visualization Node Engineering Station Engineering Station

InTouch

InTouch

IDE

IDE

Platform

Platform

Platform

Platform

Bootstrap

Bootstrap

Bootstrap

Bootstrap

Galaxy Rep.

Historian

Workstation

Info Server

Platform

Platform

Platform

Platform

Bootstrap

Bootstrap

Bootstrap

Bootstrap

ArchestrA
Runtime

ArchestrA
Runtime

Galaxy
Repository

IO Server
Platform
Bootstrap
I/O Data Server

Historian

Information
Server

ArchestrA Topology
Visualization Node

Visualization Node Engineering Station Engineering Station

InTouch

InTouch

IDE

IDE

Platform

Platform

Platform

Platform

Bootstrap

Bootstrap

Bootstrap

Bootstrap

Galaxy Rep.

Historian

Workstation

Info Server

Platform

Platform

Platform

Platform

Bootstrap

Bootstrap

Bootstrap

Bootstrap

ArchestrA
Runtime

ArchestrA
Runtime

Galaxy
Repository

Historian

IO Server
Platform
Bootstrap
I/O Data Server

Unified Name Space

Information
Server

System Requirements
Software
ArchestrA
IDE

ArchestrA
Runtime

Galaxy
Repository

Windows Vista
Business
Enterprise
Ultimate

Windows Server 2003


SP2
Standard Edition
Enterprise Edition

Windows Server 2003


R2 SP2
Standard Edition
Enterprise Edition

Windows XP
Professional SP2
Tablet 2005

SQL Server 2005 SP2


Standard
Enterprise
.Net Framework CLR

(Professional)

System Requirements
Hardware
Galaxy Repository
Minimum

Recommended

CPU

Single-Core 3 GHz

Dual-Core 2 GHz

RAM

1 Gb

2Gb

ArchestrA IDE and Runtime


Minimum
CPU

Single-Core 2 GHz

RAM

1 Gb
All Systems
Minimum

Hard Drive

30 Gb available

Display

SVGA (1024x768)

Optical
Drive

CD-ROM

Concepts and Terminology


This refers to the total application model that resides in the
Galaxy Repository.

Number of I/O points being access into the Galaxy.

Galaxy

IO Count

Platform Count
Number of PCs in the Galaxy that will be part of the
single namespace.
IDE
Integrated Development Environment for configuring
the Galaxy

Licensing
WW System Platform
IO
Count

Histo
ry

Platfor
ms

IO
Count

Histor
y

Platfor
ms

250

250

50,000

25,000

250

1,000

50,000

50,000

1,000

1,000

50,000

100,000

1,000

5,000

100,000

25,000

5,000

1,000

100,000

50,000

5,000

5,000

100,000

100,000

5,000

12,000

200,000

25,000

5,000

25,000

200,000

50,000

25,000

5,000

200,000

100,000

25,000

12,000

500,000

50,000

25,000

25,000

500,000

100,000

25,000

50,000

1,000,000

50,000

50,000

12,000

1,000,000

100,000

Licensing
WW Development Studio
Galaxy IO - Can Connect to a
Galaxy of this Size

InTouch Tags

History Tags
(24Hr data retrieval)

Unlimited

Any Size

60,000

500

Large

5,000

3,000

500

Medium

1,000

1,000

100

Small

250

500

100

Limited**

NA

64

NA

** Limited Includes InTouch Dev/RT (IDE) and Device Integration only; does not include AF, WIS, or
Historian Server. Just like the 64 Tag InTouch Development Today.
Unlimited includes ActiveFactory.

LAB 1
Creating a Galaxy

Suggested Project Workflow


Identify Field Devices and Functional Requirements

Defined Naming Conventions

Defined the Plant Model

Plan Templates

Defined the Security Model

Defined the Deployment Model

LAB 2
Identifying the Mixer

LAB 2
Identifying the Mixer
Heat Exchanger

Mixer System

LAB 2
Identifying the Mixer

LAB 2
Identifying the Mixer

System Platform Part 1


Module 2:
Application
Infrastructure

Contents
Section 1:

The Plant Model

Lab 3
Creating the Plant
Model
Section 2:

The Deployment Model

Lab 4
Creating and
Deploying the Deployment
Model
Section 3:
The Runtime
Environment
Lab 5
Section 4:

Using Object Viewer


Connecting to the Field

Lab 6
Connecting to the
Field

The Plant Model


Plant
Section
Area

Section

Section
Area
Production Line
Manufacturing Cell

Production Line

Area

Manufacturing
Production
Cell

Line

Manufacturin

LAB 3
Creating the Plant Model

Plant

Line1
Line2

ControlSystem

Discharge
Discharge

Intake
Intake

Production

The Deployment Model


Platform
AppEngine

AppEngine

Area

Area

Area

Area

DI Object

DI Object

DI Object

DI Object

Bootstrap

Creating the Deployment


Model

LAB 5
Using Object Viewer

Connecting to the Field

Device
Driver

Field Device

Legacy InTouch Node

LAB 6
Connecting to the Field

Galaxy

Device
Driver

Field Device
InControl

System Platform Part 1


Module 3:
Application
Objects

Contents
Section 1:

Templates and Instances

Section 2:

The $UserDefined Object

Lab 7

Heat Exchanger

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

Meter

Section 5:
The $DiscreteDevice
Object
Lab 10
Valve, Pump and
Motor

Templates
Base Template

Derived Template

Core objects created with the


ArchestrA Object Toolkit

Templates created from another


template within the ArchestrA
IDE

Contain the base attributes and


functionality of the object

Inherits the attributes,


functionality and configuration
from the parent template

Read-Only configuration

Writeable configuration

Template
$CV101
$Inlet
$CV102
$DiscreteDevice

$Valve
$CV103
$Outlet
$CV104

LAB 7
Heat Exchanger

Control of Changes and


Propagation
Locking Attributes

Locking an attribute prevents changes of that


attribute on derived objects (templates and
instances).
Locking attributes helps to establish standards
in the galaxy.
Locking an attribute locks that attribute all the
way down on the derivation hierarchy.
Unlocking an attribute releases the locking
control only one level down.

Control of Changes and


Propagation
$CV101
$Inlet
$CV102
$DiscreteDevice

$Valve
$CV103
$Outlet
$CV104

Unlocked
Locked
Locked In Parent

Change Control and


Propagation

LAB 9
Meter

$Meter

LAB 10
Valve, Pump and Motor

$Meter

$Valve

$Pump

$Motor

Containment
Containment
Allows more advanced structures to be modeled as a single
object.
Container and contained objects are still accessible as
individual objects.
Relationship can be build at the template or instance level.

$Tank
$Agitator
Agitator

$LevelMeter
Level Meter

$InletValve
Inlet Valve

$OutletValve
Outlet Valve

LAB 11
Mixer

$Meter

$Valve

$Pump

$Motor

$Mixer

System Platform Part 1


Module 4:
Extending the
Objects

Contents
Section 1:

UDAs

Section 2:

Extensions

Lab 12

Motor Speed

Section 3:
Introduction to
QuickScripts .NET
Lab 13
DDESuiteLinkClient
Auto Reconnect
Lab 14
Automatic Reference
Configuration

UDA Categories
Same
Object
Calculated
Calculated Retentive
Object Writeable

User Writeable

Other
Objects

External
Users

Extensions

LAB 12
Motor Speed

Relative References
Me
MyContainer
MyArea
MyEngine
MyPlatform
MyHost

Executing an Object
Inputs

Scripts

Behavior

Scripts

Outputs

Attributes

The object will


1. Get all the inputs values referenced in
the object
2. Execute all After Input scripts
3. Execute the Internal Behavior
4. Execute all Before Outputs
5. Writes all the outputs values

Scheduler 2.1

All Inputs are up to date at the


start of the next scan.
Execute DIs read/write values to server

Read Inputs /
Idle

Execute App
Objects

Send changes to
other engines

Read Queued Input

Prepare checkpoint data


Write checkpoint data
in separate thread

Scheduler 3.0

All Inputs are up to date at the


start of the next scan.
Execute DIs read/write values to server

Read Inputs /
Idle

Execute App
Objects

Read/Write
interrupts

Read/Write
interrupts

Read Queued Input

Send changes to
other engines

Prepare checkpoint data


Write checkpoint data
in separate thread

DDESuiteLinkClient Auto
Reconnect

Automatic Reference
Configuration

System Platform Part 1


Module 5:
Alarms and History

Contents
Section 1:
Lab 15
Section 2:
Lab 16

Alarms
Configuring Alarms
Historization
Configuring History

Alarms

Alarm Engine
Alarms are generate by the
objects.
Alarm providers make the
alarms available to external
alarm subscribers.
Available alarm subscribers
allows:
Visualization and
acknowledge of alarms
Logged alarms into a
SQL Server database

Alarms
Alarm Provider
$WinPlatform object as the InTouch Alarm Provider for the
galaxy.
A single $WinPlatform can provide alarms from the whole galaxy.
Alarm providers can be limited to provide alarms for specific
areas of the galaxy.

Alarm Viewer
Area

WinPlatform

PROV
PROV

AppEngine

Alarm DB Logger

Alarms
\\BlueNode\Galaxy!Plant

Plant

\\RedNode\Galaxy!Plant

Intake
Discharge
Production
Line1
Line2

BlueNode

RedNode

Line1
Line2

Intake
Discharge

Production
Line1 Line2

LAB 15
Configuring Alarms

Historization
History Engine

$AppEngine object as the Historian client for the objects.


An $AppEngine historize only the objects that it host.
Native support for Store & Forward.

CLIENT
CLIENT

Area
AppEngine

WinPlatform
Historian

Historization
InSQL

Classic InSQL Behavior:


The IDAS component behaves as a
DDE/SuiteLink client.
Data is read/acquired by InSQL.
InSQL plays an ACTIVE role in the
data acquisition process.

MDAS

InSQL and IAS:


History is sent using the MDAS
component.
The AppEngine initialize the
communication and write/sent the
data.
InSQL plays a PASSIVE role in the
data acquisition process.

Application
Server

IDAS

InTouch
IOS

LAB 16
Configuring History

System Platform Part 1


Module 6:
Security

Contents
Section 1:
Lab 17

Security Overview
Security

Security
Development
Security
Develoment
Testing
Troubleshooting
Environment
GENERAL
PERMISSIONS

Security Audit Trail


The Galaxy generates an event
for every user-generated write to
an attribute.
Alarm DB Logger is used to log
the events.
Use the v_EventHistory view in
the alarm database to query
events.

Runtime Security
Security
ASSIGNED TO
Classifications ATTRIBUTES

Security Groups

OPERATIONAL
PERMISSIONS

Roles

BELONGS TO
ONE OR MORE

Users

LAB 17
Security

System Platform Part 1


Module 7:
Galaxy
Maintenance

Contents
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

System Platform Part 1


Module 8:
Device Integration
Products

Contents
Section 1:

I/O Servers

Section 2:

Data Access Servers

Section 3:
Device Integration
Objects

Device Integration Products

ArchestrA
Runtime

IO Servers and DA Servers


Communications between the Galaxy
and field devices is achieved through
Device Integration Products.
Supported protocols include DDE,
SuiteLink and OPC.
New internal architecture for DA
Servers provides independency
between components.

DDE

I/O Data Server

SuiteLink

DDE

SuiteLink

OPC

IO Server

DAS
DA Server
Engine

PLC Protocol

PLC Protocol

DA Servers and DI Objects


I/O Data Server

NIC
PLC_1
PLC_2

DHP
SLC_A
SLC_B

CNET
PLC5_A
PLC5_B

System Platform Part 1


Module 9:
Multi-Node
Applications

Contents
Section 1:

Application Redundancy

Lab 18
Configuring
Application Redundancy
Section 2:

DI Redundancy

Lab 19
Configuring the
Redundant DI Object
Section 3:

Multi-Node Application

Lab 20
Convert to Network
Environment

Application Redundancy
Non-Redundant System
The server handles all
the data.
If server if lost, client
lose connection to all
data:
InTouch
Historian
Other Application
Object Servers

Redundant System
Redundant server
maintain synchronized
data through dedicated
network.
If the primary server is
lost, the backup server
will take over.
The switch between the
servers is transparent to
the clients.

Client/Server Architecture

ArchestrA
Runtime

Application Redundancy
Characteristics
Currently supported only
in pairs

ArchestrA

Second network
connection (RMC)
necessary
Configuration
Terminology:
Primary AppEngine
Backup AppEngine
Runtime Terminology
Active AppEngine
Standby AppEngine
Active AppEngine refer to
Standby AppEngine as
Partner.

RMC

AppEngine1

AppEngine1
(Backup)

Platform1

Platform2

Primary

Backup

Standby
Active

Standby
Active

Redundant Message Channel


Automatic Synchronization

1.Current data
(Checkpoint)

ArchestrA

2.Alarm states and


times

RMC

3.History store and


forward blocks
4.Deployed objects
and configuration
5.AppEngine status

Active

Standby

Supported Configuration
Characteristics
Peer to peer architecture

ArchestrA

Each WinPlatform host a


different AppEngine and
Application Objects
No need for dedicated
backup nodes
WinPlatforms can host
more than one
AppEngine:
Backup for
AppEngine1 is
assigned to Node 2
Backup for
AppEngine2 is
assigned to Node 1

AppEngine1

RMC

AppEngine2

AppEngine2
(Backup)

AppEngine1
(Backup)

Platform1

Platform2

Redundancy Configuration
Windows Networking
nd network card.
1. Install 2nd

2. Configure the ArchestrA connection to be accessed before the


RMC connection.
3. Give the RMC connection a fixed IP address in a different
Subnet than the ArchestrA connection.

Wonderware Application Server


1. Configure the WinPlatforms with their corresponding local RMC
IP addresses.
2. Configure the AppEngine to be redundant.
3. Assign the AppEngines (Primary and Backup) to the
WinPlatforms.

Configuring Application
Redundancy

DI Redundancy
Field Device Connectivity

Loss of the control


network would cause
the server to lose
connection to data.

ArchestrA
Runtime

The Redundant DI
Object allows
communications
through a Standby
network if the Active
is lost.
The Redundant DI
Object allows
Applications Objects
to subscribe to a
single object that in
turn can retrieve data
from either a Primary
or Backup DI object.

CIP

DH+

DI Redundancy
Application
Objects

RDIO

DIO_1

AppEngine1

DIO_2

DAServer (A) DAServer (B)

Platform1
CIP
Control Networks
DH+

Configuring Redundant DI
Object

Convert to Network
Environment

Galaxy Master

Remote Node

Remote Node

Remote Node

ArchestrA IDE

ArchestrA IDE

ArchestrA IDE

ArchestrA IDE

AppEngine

AppEngine

AppEngine

AppEngine

Platform

Platform

Platform

Platform

MyTemplates.aaPKG

MyTemplates.aaPKG

MyTemplates.aaPKG

MyTemplates.aaPKG

InControl.aaPKG

1.
2.
3.

Undeploy local (current) Galaxy


Export objects
Select Galaxy Master

4.
5.
6.

Create new galaxy on Galaxy Master


Create and deploy platforms
Import objects

Convert to Network
Environment

Galaxy Master

Remote Node

Remote Node

Remote Node

ArchestrA IDE

ArchestrA IDE

ArchestrA IDE

ArchestrA IDE

AE

AEDI

Platform

AE

AE

AE

Platform

Platform

Platform

Powering intelligent plant


decisions in real time.

You might also like