Wonderware Application Server User's Guide: Invensys Systems, Inc
Wonderware Application Server User's Guide: Invensys Systems, Inc
User’s Guide
Revision A
Last Revision: 7/25/07
Copyright
© 2007 Invensys Systems, Inc. All Rights Reserved.
All rights reserved. No part of this documentation shall be reproduced, stored in a
retrieval system, or transmitted by any means, electronic, mechanical,
photocopying, recording, or otherwise, without the prior written permission of
Invensys Systems, Inc. No copyright or patent liability is assumed with respect to
the use of the information contained herein. Although every precaution has been
taken in the preparation of this documentation, the publisher and the author
assume no responsibility for errors or omissions. Neither is any liability assumed
for damages resulting from the use of the information contained herein.
The information in this documentation is subject to change without notice and does
not represent a commitment on the part of Invensys Systems, Inc. The software
described in this documentation is furnished under a license or nondisclosure
agreement. This software may be used or copied only in accordance with the terms
of these agreements.
Trademarks
All terms mentioned in this documentation that are known to be trademarks or
service marks have been appropriately capitalized. Invensys Systems, Inc. cannot
attest to the accuracy of this information. Use of a term in this documentation
should not be regarded as affecting the validity of any trademark or service mark.
Alarm Logger, ActiveFactory, ArchestrA, Avantis, DBDump, DBLoad, DT Analyst,
FactoryFocus, FactoryOffice, FactorySuite, FactorySuite A2, InBatch, InControl,
IndustrialRAD, IndustrialSQL Server, InTouch, MaintenanceSuite, MuniSuite, QI
Analyst, SCADAlarm, SCADASuite, SuiteLink, SuiteVoyager, WindowMaker,
WindowViewer, Wonderware, and Wonderware Logger are trademarks of Invensys
plc, its subsidiaries and affiliates. All other brands may be trademarks of their
respective owners.
3
Contents
Welcome.......................................... 11
Documentation Conventions.............................................11
Technical Support .............................................................12
Troubleshooting ...............................................................236
Generating Alarms .......................................................238
Generating History ......................................................239
Working with Data Acquisition Redundancy ................240
Configuring Data Acquisition Redundancy ................240
Deploying Redundant DIObjects .................................241
What Happens in Run Time ........................................241
RedundantDIObject and PLC Connectivity............241
Welcome
Documentation Conventions
This documentation uses the following conventions:
Technical Support
Wonderware Technical Support offers a variety of support
options to answer any questions on Wonderware products
and their implementation.
Before you contact Technical Support, refer to the relevant
section(s) in this documentation for a possible solution to the
problem. If you need to contact technical support for help,
have the following information ready:
• The type and version of the operating system you are
using.
Chapter 1
What’s a Galaxy?
A Galaxy is your specific production environment, including
all computers and components. It is a collection of platforms,
engines, templates, instances, and attributes you define as
the parts of your specific application. This collection is stored
in a Galaxy database.
3 Do the following:
• In the GR Node Name list, type, or select the name of a
computer that has the Galaxy Repository software
installed. Click the Browse button to browse the
available domains and nodes on your network.
• In the Galaxy Name box, type the name of the Galaxy
you want to create within that Galaxy Repository.
Galaxy names can be up to 32 alphanumeric
characters, including _ (underscore), $, and #. The
first character must be a letter. Galaxy names cannot
contain spaces.
• In the Galaxy Type list, select the name of the already
created backup galaxy files which are located at
BackupGalaxies folder. The selected file will be used
as template to create new galaxy. System will restore
the selected backup galaxy and rename to the galaxy
name which user has provided in Galaxy Name box.
2 Do the following:
• In the GR node name list, select the name of a
computer you previously connected to. Click the
Browse button to browse and select from the available
domains and nodes on your network.
• In the Galaxy name list, select the name of the Galaxy
on that GR node.
• Click Connect.
If the selected Galaxy has security enabled, the Login
dialog box appears. Type your user name and password
and click OK.
The Galaxy opens in the IDE. You are ready to start
working with your Galaxy.
Template
Toolbox
Toolboxes
Application
views
Tabs
Status
bar
User name, if Galaxy name License
Messages security is enabled and node name icon
Template Toolbox
Model View
The Model view shows objects and their containment
relationships, organized in a folder structure. For more
information about containment, see Creating Derived
Templates on page 48.
This view most accurately represents an application
perspective of your processes. For example, specific process
areas, tanks, valves, pumps and their relationships are listed
based on containment.
Note Objects belong to the same Area as the object that contains
them.
Deployment View
The Deployment view shows instances only in terms of their
assignment relationships. This view allows you to organize
those objects through a folder structure.
This view shows which objects instances reside on which
computers. In the ArchestrA environment, the physical
location of object instances is not required to approximate the
real-world environment it models. The Deployment view does
not need to reflect your physical plant environment.
The tree structure acts like a standard Windows Explorer
tree. It is initially divided into two hierarchical levels:
<Galaxy Name> and the Unassigned Host folder.
For objects shown in any view, you see the following symbol
in the corner of the object's icon:
Not deployed
[No Deployed
icon]
Deployed, but pending configuration changes
exist that have not been deployed.
Derivation View
The Derivation view shows objects and templates in terms of
their parent/child relationship. An object derived from
another object appears in a hierarchy level under it.
The tree structure acts like a standard Windows Explorer
tree, and initially is divided into three hierarchical levels:
<Galaxy Name>, <Used Base Templates>, and the Unused
Base Templates folder.
Operations View
The Operations view shows the results of validating the
configuration of objects. You may need to open it before you
see it. On the View menu, click Operations.
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 shown after all objects in the Galaxy are
validated.
Docking Views
To dock a view, drag the view to the location you want it. For
example, drag the title bar of the Template Toolbox and dock
it under the Application views. You can also undock it by
dropping it anywhere on your desktop. Drag it back to dock it
again.
Floating Views
You can also float a view. With your cursor over the view you
want to float, click the arrow. On the menu that appears,
click Floating.
You can also float just one view. To float the Derivation view,
click the arrow. On the menu that appears, click Floating.
The view floats on your desktop. You can move it to another
location or dock it.
Hiding Views
To hide a view, click the Pin icon. The views “hide” as tabs on
the side of the window. The Operations view hides at the
bottom of the window.
When you move the mouse over the tab, the view expands
into the workspace.
Note If you do not have logon rights, you cannot open a Galaxy.
To log on to a Galaxy
1 When you open a security enabled Galaxy, the Change
User dialog box appears.
Changing Users
You can change users in a Galaxy at any time. Any security
restrictions associated with a user change when the user logs
on or logs off from the Galaxy. For more information about
users and security, see Configuring Security on page 190.
If the Galaxy has not be configured to enable security, you
see a message. All users in an open security environment are
treated as the DefaultUser by the Galaxy. This means all
users have full access to everything.
To change users
1 On the Galaxy menu, click Change User.
If security is enabled on the Galaxy, the Change User
dialog box appears.
Chapter 2
Galaxy Objects
AutomationObjects
Device Integration
EngineObjects PlatformObjects AreaObjects Application Objects
Objects (DIObjects)
Switch and so on
User-Defined
Instances
Instances are the run-time objects created from templates in
Application Server. Instances are the specific things in your
environment like processes, valves, conveyer belts, holding
tanks, and sensors. Instances can get information from
sensors on the real-world device or from application logic in
Application Server. Instances exist during run time.
In your environment, you may have a few instances or
several thousand. Many of these instances may be similar or
identical, such as valves or holding tanks. Creating a new
valve object from scratch when you have several thousand
identical valves is time-consuming. That’s where templates
come in.
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.
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.
Parent Template
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.
Application Templates
These base templates let you easily create devices in your
Galaxy. They contain the properties you need to set for each
kind of device. For example, a DiscreteDevice device contains
all the settings you need to specify for an on/off device. Of
course, using UDAs, scripts, and extension, you can extend
and customize any device you select.
System Templates
These objects represent the parts of an IAS system that
represent the system itself and not the domain they are
monitoring/controlling. These base templates let you create
more system level grouping and computers, such as areas
you add objects to or another host AppEngine.
WinPlatform Object
The WinPlatform platform object is a key base object because
you need a platform to host the objects you are modeling.
This object:
• Calculates various statistics for the node it is deployed to.
These statistics are published in attributes.
AppEngine Object
The AppEngine object must have a Platform on which to run.
This object:
• Hosts ApplicationObjects, device integration objects and
areas.
Area Object
All ApplicationObjects belong to an area. Areas can contain
sub-Areas. Areas provide a key organizational role in
grouping alarm information and providing that information
to those who use alarm/event clients to monitor their areas of
responsibility.
This object allows the value of three attributes to be
historized:
• Active alarm counter
ViewEngine Object
The ViewEngine object must have a Platform on which to
run. This object:
• Hosts InTouchViewApp objects.
InTouchViewApp Object
The InTouchViewApp object must have a ViewEngine on
which to run. This object:
• Manages the synchronization and delivery of files
required by the associated InTouch application.
• Provides run-time access to tags on the associated
InTouch application.
Chapter 3
Managing Toolsets
Toolsets are the high-level folders shown in the Application
Toolbox. Toolsets can be created for templates and graphics
for the purpose of organizing each. You can also create
toolsets within toolsets.
Use the Template Toolbox to view and organize object
templates.
Creating Toolsets
When you create your own toolset, it must have a unique
name. Toolset names are not case sensitive, so Valves is the
same name as valves. You can use up to 64 alphanumerics
and special characters, including spaces and punctuation,
except $.
Deleting Toolsets
You can delete toolsets you no longer want or need. Before
you start, make sure you move or delete all content from the
toolset.
The toolset you want to delete must be empty, or it cannot
deleted.
To delete a toolset
1 Select the toolset you want to delete.
2 On the Edit menu, click Delete.
3 Click Yes to delete the toolset.
Base Template
Derived Template
Derived Template
Derived Template
Name Description
180
Inlet V alve
180
O utlet V alve
Level
A g itator
ApplicationObject Containment
ApplicationObjects can be contained by other
ApplicationObjects. This provides context for the contained
object and a naming hierarchy that provides a powerful tool
for referencing objects.
• Outlet Valve
• Level
Tank Template
Tank
180
InletValve
Agitator
180
OutletValve
Level
• Agitator = Agitator01
• Level = Level01
Tank = Tank01
180
InletValve = InletValve01
Agitator = Agitator01
180
OutletValve = OutletValve01
Level = Level01
• Tank01.Agitator
• Tank01.Outlet
• Tank01.Level
Tank = Tank01
180
Agitator = Tank01.Agitator01
180
Level = Tank01.Level01
Name Description
Containment Examples
You can have a Tank object that contains two DiscreteDevice
objects that represent its inlet and outlet valves.
To implement containment
1 Create the following instances: Tank1 from $UserDefined
and Valve from $DiscreteDevice. Valve has only one
name, Valve.
2 In the Model or Deployment view, drag Valve on to Tank.
Editing Objects
Using the Object Editor, you define attributes specific to the
object.
The Object Editor shows object extension pages that are
common to all objects and may also show you pages that are
unique to the object. See Enhancing Objects on page 101 for
more information about the Scripts, UDAs, and Extensions
pages. Click the tab of each page to open that page.
When you open the Object Editor in non-ReadOnly mode, the
object is checked out. No one else can edit an object while you
are working with it. If someone else is already working on it,
you can open it to view but you cannot make changes.
When editing an object, you may see attribute text boxes
showing a --- (dashdashdash). The --- is a placeholder
reference that does not cause the associated object to be
placed in a warning configuration status when it is validated.
You may also see attribute text boxes showing a ---.---
(dashdashdash dot dashdashdash). You need to provide a
valid reference in the text box. The ---.--- placeholder causes
the associated object to be placed in a warning configuration
status when the associated object is validated.
When you are finished editing an object and save it, the
configuration data for the object is validated. If errors or
warnings are identified during validation, a message
appears. You can cancel the save or save the object
configuration as it is.
• If you cancel, the Object Editor remains open so you can
correct the problems.
Getting Help
Tooltips are available in the Object Editor. Point to any
editor option and a tooltip appears, showing the attribute
name. This name is used when referring to the attribute in
scripts, for example.
Each object also includes documentation about usage,
configuration, run-time behavior, and attributes. For help
with configuring the object, click the question mark on the
toolbar to open the help for that object.
The rest of the help file shows general information about the
object.
Group Locking/Security
The lock and security controls associated with option groups
quickly set those conditions for all options in the group.
The group control typically reflects the setting for all options
in the group. But, if at least one option in the group has a
lock or security control that is different from the other
options, the group control shows an indeterminate icon.
In addition to the undefined controls, the group controls for
locking and security are the same as those for individual
options.
• Add Object Help: Opens a copy of the HTML help page for
the template this object is derived from. You can edit this
information. This allows you to create Help about the
object you are currently configuring for downstream
users. This Help appears when you select an object in a
view and then click Object Help on the Help menu.
Customizing Help
Do not use Microsoft Word as an editor to create downstream
object HTML help pages. Use an HTML editor like Microsoft
FrontPage.
If clicking Add Object Help opens Word on your computer,
change the program associated with editing HTM files. Open
the Windows Explorer's Folder Options dialog box and go to
the File Types page to make this change. For more
information about associating programs with files, see your
Windows help.
• Data type list: Shows the data type options for configuring
the selected UDA.
• ArchestrA graphics.
• Attributes of templates.
Important Bit field specifiers are not allowed for integer arrays.
Although bit field access is only supported in integers, they
appear to be allowed for data types besides integer because they
do not cause a warning during configuration. They cause errors in
the run-time environment.
To create a filter
1 Click the Filter icon. The Edit Filter dialog box appears.
2 Click the Plus button and type a name for your new filter.
3 Click the Filter tab.
Chapter 4
Managing Objects
Checking Objects In
When you are finished making your changes, you can check
the object back into the Galaxy. When you check the object
back in, a dialog box prompts you to enter comments about
changes you made.
You can turn this dialog box off if you do not want to enter
information about changes. For more information, see
Customizing Your Workspace on page 29.
Validating Objects
Objects need to be validated before they can be deployed. An
object validates it’s configuration either when you are
configuring it, typically when you save that configuration to
the Galaxy database.
Validating an object’s configuration includes:
• Checking allowable attribute value ranges.
• Compiling its scripts.
Validating Manually
After you check an object in, you can verify that an object’s
configuration is valid and update its status by manually
validating it. You can use the Template Toolbox, the
Application views or the Find dialog box to find objects that
need to be validated.
To validate all objects in the Galaxy, validate the Galaxy
object.
Note You can also see the errors or warnings that led to an object
having a status that is not Good by looking at the Error/Warnings
tab within the object's Properties.
Creating Instances
After you create templates, you can create instances.
Creating instances makes a specific object from a template,
with all the characteristics and attributes of the template.
Once you have created an instance of an object, it can be
deployed.
Parent Template
To create an instance
1 Select the template you want to use for the instance. For
example, to create a valve instance, select a valve
template.
2 On the Galaxy menu, click New and then click Instance.
An instance is created.
3 Rename the instance. Select the instance. On the Edit
menu, click Rename. Type the new name. Instance names
can be up to 32 alphanumeric characters. You cannot use
$ as the first character. The name must include at least
one letter. You cannot use spaces.
4 To move the new instance in the Deployment view or
Model view, drag the instance to the new location.
You are ready to configure the instance, if needed. For
more information, see Editing Objects on page 61.
Renaming Objects
You can rename an object. Although you can change an
object’s containment relationship with another object, you
cannot directly rename an object’s hierarchical name. You
can rename its tagname and contained name and its
hierarchical name changes automatically. See Renaming
Contained Objects on page 60 for more information about
renaming contained objects.
Object names must be unique within each namespace, not
within the Galaxy.
• Template names can be up to 32 alphanumeric
characters, including the required $ as the first
character. The second character cannot be $ and the
name must include at least one letter. You cannot use
spaces in an object name.
Note You cannot use the following reserved names for objects:
Me, MyContainer, MyArea, MyHost, MyPlatform, MyEngine and
System.
Name Description
Name Description
Deleting Objects
You can delete both templates and instances with the
following exceptions. You cannot delete:
• Deployed instances
Note Make sure you correctly select the objects you want to
delete. After you delete an object, you cannot undelete it. You
must recreate it.
Exporting Objects
You can export some or all of your Galaxy objects. When you
export, you are exporting the objects’ associated templates,
configuration state, and containment state of those objects.
The information is saved in an .aaPKG file.
After the Galaxy objects are exported, you can import into
the same or another Galaxy.
If your objects have scripts associated with them, you need to
export the script library separately. For more information
about exporting script libraries, see Exporting Script
Function Libraries on page 97. For more information about
scripts and script libraries, see the Application Server
Scripting Guide.
Before you start, make sure all objects you want to export are
checked in. If an object selected for export is checked out, the
checked in version of that object is exported instead. This can
lead to old versions of objects being exported.
Exporting an entire Galaxy is different than backing up the
database. Unlike with backups, change logs for the objects
are not exported. When you export objects, only the related
security information for the specific object is exported.
To export an object
1 In the Template Toolbox or Application Views, select one or
more objects to export.
2 On the Galaxy menu, click Export and then click
Automation Object(s). The Export Automation Object(s)
dialog box appears.
To export all of the objects in the Galaxy, on the Galaxy
menu, click Export and then click All AutomationObjects.
3 In the Export dialog box, browse to a path and type a
name for the exported file.
4 Click Save. The file is saved with the specified name and
a .aaPKG extension.
5 When the export is complete, click Close. Now you can
import the .aaPKG file into another existing Galaxy.
Importing Objects
You can reuse objects from another Galaxy in your Galaxy.
This saves you a lot of time if the objects are already set up in
another Galaxy.
Importing instances previously exported from a Galaxy
retains previous associations, when possible, such as
assignment, containment, derivation, and area.
You can import objects from exported .aaPKG files or from an
.aaPDF file. An .aaPDF file contains the configuration data
and implementation code for one or more base templates. It’s
created by a developer using the ArchestrA Object Toolkit.
Before you start, you cannot have two objects with the same
name or more than one copy of the same version of an object
in the same Galaxy. When you import an object, these
conflicts are identified and you can manage them.
To import objects
1 On the Galaxy menu, click Import and click Automation
Object(s). The Import AutomationObject(s) dialog box
appears.
2 Browse for the file with either a .aaPKG or a .aaPDF
extension. You can select more than one file. Click Open.
The Import Preferences dialog box appears.
Chapter 5
Enhancing Objects
After you create an object, you can enhance and extend the
object by using User Defined Attributes (UDAs), scripts, and
graphics extensions.
For more information about the scripts page, see About the
Scripts Page on page 72.
About Scripts
The following characteristics apply to the scripting
environment:
• Script text has no length limitations.
• Selecting a script function from the Script Function
Library dialog box adds it and its syntax to the script text
where you can edit it.
• You can save a script with syntax errors, but the object
cannot be deployed until the errors are resolved.
Script Execution
The existence and execution order of scripts associated with
an object are inherently locked at each stage of development
in the template, derived template, and instance.
For example, a set of scripts associated with a template are
treated as an ordered block in the Configure Execution Order
dialog box when configuring execution order in a
next-generation derived template.
New scripts in the derived template can be executed in any
order before and after the template’s block of scripts. The
derived template’s execution order is treated as a block in
any downstream derived templates or instances.
Scripts cannot trigger any faster than the scan period of the
AppEngine the script is associated with or faster than the
scan period of the AppEngine that hosts the object that the
script is associated with.
Scripts can be executed in one of two ways:
• Synchronous scripting mode is the default for running
scripts in the run-time environment. This mode runs
scripts in order while an object is running on scan.
Locking Scripts
When you lock a script in a template, the following rules
apply:
• The name of a script and its existence is implicitly always
locked. This means:
Within a single scan cycle, data is folded and only the last set
requested is sent to the destination. For example, an
{11,24,35,35,22,36,40} sequence of set requests results in a
value of 40 being sent to the destination object. All other
values result in successful completion status.
Boolean data types are the exception to this rule. Boolean
data types are used in User sets from InTouch or
FactorySuite A2 Gateway. This allows an unknown user
input rate (for example, repeated button pushes) with a
consistent object scan rate for outputs, and creates
reproducible results.
In this case, a combination of folding as described above plus
maintenance of a queue of one element deep better meets the
expectation of users. To begin with, the first value set after
the object is deployed (the default True or False) is always
written to its destination.
Subsequently, the following occurs during a single scan cycle:
A two-tiered caching scheme of a Value to be Sent and a Next
Value to be Sent is implemented. The Value to be Sent is
based on data change as compared to the last value sent to
the destination object. The Next Value to be Sent is based on
data change as compared to the Value to be Sent value.
When the first data change occurs, the new value is cached in
the Value to be Sent queue. Folding occurs if the same value
is requested again. If another value change occurs, this
second value is cached in the Next Value to be Sent queue.
Again, folding occurs if the same value is requested again.
The Value to be Sent value is sent during the next scan cycle,
and the Next Value to be Sent value is sent during the
following scan cycle.
For Boolean data types and User sets, the following examples
apply:
Previous
Scan Cycle Scan Cycle Value Next Value
Value Sent Set Requests to be Sent to be Sent
0 1,0,0,1,1 1 none
1 1,0,0,1,1 0 1
0 1,1,0,0 1 0
1 1,1,0,0 0 none
• Integer
• Boolean
Adding Graphics
You can add graphics to an object.
Modifying Graphics
All modifications made to graphic symbols referenced by
other objects are visible in the referenced objects.
Renaming Graphics
You can rename a graphic symbol.
Deleting Graphics
Caution Deleting a graphic symbol with embedded references
breaks the links to their related objects. “Symbol Not Found”
appears when you open objects whose embedded graphic symbols
have been deleted.
Chapter 6
You can deploy and test your objects at any time during
development. When you’re ready to test or move the
application into production, it’s time to deploy the Galaxy.
You can see what your application looks like in the
Deployment view or the Model view. Both views show you the
structure of your application. For more information, see
Using the Application Views on page 21.
IDE
Configuration deploys Object Viewer
Environment to Run-time environment
Deploying Objects
You deploy object instances for three reasons:
• Testing.
• Place the application into production to process field
data.
[No Deployed
icon]
Deployed, but pending configuration changes
exist that have not been deployed.
To deploy an object
1 Select the object in an Application view.
2 On the Object menu, click Deploy. The Deploy dialog box
appears.
• Off Scan: Sets the initial scan state to off scan for the
object(s) you are deploying. If you deploy objects off
scan, you must use the ArchestrA System
Management Console Platform Manager utility to put
those objects on scan and to function properly in the
run-time environment.
Redeploying Objects
Redeploying is similar to deployment. While you are testing,
you frequently redeploy your application to see changes you
make. The redeploying process undeploys the object and then
deploys it back.
You may have an object whose deployment state is Pending
Update. That means the object changed since it last
deployment. When you deploy those changes, the new object
is marked as the last deployed version in the Galaxy.
To redeploy
1 On the Object menu, click Deploy.
2 Follow the procedure for Deploying Objects on page 134.
Undeploying Objects
You may need to undeploy one of more objects. Undeploying
removes one or more objects from the run-time environment.
Before you start, you need to select the object or objects you
want to undeploy in the IDE.
Before you delete or restore a Galaxy, undeploy all objects in
the Galaxy.
Undeploying can fail if the target object has objects assigned
to it. Make sure you select Cascade Undeploy in the Undeploy
dialog box.
To undeploy
1 On the Object menu, click Undeploy. The Undeploy dialog
box appears.
Then you deploy the object. At run time, you write a new
value to myInteger of 31. If you redeploy this object, the
original value of 30 overwrites any value assigned during run
time. To avoid losing changes made during run time, upload
changes before redeploying an object.
If you want to upload run-time changes to the Galaxy, make
sure the selected objects are:
• Not edited and checked in since last deployment or
upload
• Checked in
Undeployment Situations
The following situations occur in these specified
undeployment scenarios:
• After undeploying a WinPlatform, only the Bootstrap
software remains on the target computer. All other
WinPlatforms are notified of the undeployment of the
WinPlatform and stop trying to communicate with it over
the network.
Chapter 7
Galaxy
Attribute
Object
Wonderware Historian
Historized data
Configuring History
Some attributes can be historized when values change. Data
quality is also recorded along with attribute values. The
historical records of this data can then be retrieved, trended
and used for other purposes later.
For attribute data to be stored in the historian, a host
AppEngine must be configured to send all history data to a
Wonderware Historian node and deployed in the Galaxy.
Galaxy
Templates
Object instances deployed to an engine
Configure configured for history
attributes for
history here When you deploy, the
instances inherit the
attributes configured
for history
Manual Data
Acquisition
Service (MDAS)
Wonderware
Objects push attribute data
Historian to the historian when state
changes
• Integer (numerical)
• Boolean (non-numerical)
• NaN values for float and double data types are converted
to null values.
• If the current time exceeds the time the last Forced Store
occurred for the attribute by the time period that was set
as the Force Storage Period. If no last Forced Store
occurred since startup, a new store occurs immediately.
3 Do the following:
• To use historization, select Enable storage to historian.
If you want the portion of the model view hierarchy
hosted by the engine to get replicated into the public
group namespace when the historian engine starts up
(either deployment or restart), also select Enable Tag
Hierarchy.
• In the Historian box, type or select the Wonderware
Historian node name.
• Specify the Store forward deletion threshold, in
megabytes.
• Specify the Store forward minimum duration, in
seconds.
• Specify the Forwarding chunk size, in bytes.
• Specify the Forwarding delay, in milliseconds.
4 Save and close the Object Editor. Check in the object to
the Galaxy.
5 Deploy the object to its target computer in an on scan
state.
Chapter 8
Event Examples
Examples of events include:
• A plant process starts. For example, a new batch starts.
• The operator changes a plant operator parameter. For
example, a setpoint on a temperature controller.
Alarm Examples
Examples of alarms include:
• A process measurement exceeded a predefined limit. For
example, a high temperature alarm.
Configuring Alarms
Alarming capabilities are a part of object templates, but they
are not implemented until the object is configured in the IDE.
After they are configured, you can view the Application
Server alarms in InTouch.
Configuring an AutomationObject to be an alarm provider
includes:
• Deciding whether alarm notification is needed for each
possible alarm condition in the object. For example, a
command timeout alarm for a valve if the output
command fails to move the valve.
To specify alarms
1 On the Extensions page of the Object Editor, select an
attribute from the Extendable Attributes List. The four
extension groups dynamically change to allowed
extension rules for the selected attribute type.
Area AutomationObject
The Area AutomationObject plays a key role in alarm and
event distribution. All AutomationObjects belong to an Area.
Areas can contain sub-Areas. Alarm and event clients are
configured to subscribe to a set of Areas.
Areas provide a key organizational role in grouping alarm
information and assigning it to users who use alarm and
event clients to monitor their Areas of responsibility.
• An event occurrence.
Enabling Alarms
To enable an AutomationObject’s alarms, you must ensure
that the AlarmModeCmd and AlarmInhibit attributes are
enabled for the AutomationObject, its container, and its
Area.
An event, including the user’s name, is generated indicating
the object’s alarms are enabled.
Disabling Alarms
A user with the correct permissions can disable an
AutomationObject's alarms through an InTouch window.
This is done by requesting that the enable and disable state
of the AlarmModeCmd attribute of any one of the following
objects be disabled:
In InTouch:
• The InTouch client (WindowViewer) is running.
Chapter 9
• Name signatures
• AppEngine-to-AppEngine buffering
• Publish-subscribe heartbeats
Reference Strings
Reference strings refer to an object or to data within an
object’s attributes. A reference string consists of an object's
reference string plus an attribute's reference string.
AutomationObject Reference + Attribute Reference
A reference string is the object name plus the attribute name:
ObjectName.AttributeName.
In TIC101.PV, TIC101 is the AutomationObject reference
and PV is the attribute reference. The AttributeName can be
omitted in a reference string, PV being assumed in such
cases.
Relative References
References that go up the hierarchy to parent objects are
called relative references.For more information, see
ApplicationObject Containment on page 53.
Relative references, such as Me, are valid reference strings. A
valid reference string must always contain at least a relative
reference or one substring.
The following are valid relative references that refer to the
current object:
• Me • MyContainer • MyArea
• MyPlatform • MyEngine.
Property References
Certain property names are reserved for ArchestrA. If a
string has a reserved property name in the ArchestrA
environment, you can still use it. The PROPERTY keyword
must be part of the string, for example,
PROPERTY(propertyName). In all other cases, the case
insensitive PROPERTY keyword is not required.
The Value property is assumed if no property reference is
specified.
The following are property references:
• .Name • .Value • .Type • .Quality.
Example:
obj.int.PROPERTY(quality)
where:
obj = object specifier
int = attribute
PROPERTY = keyword
(quality) = property specifier
Note If you have an object named “obj” with two UDAs named
“int” and “int.quality,” the reference string obj.int.quality is
ambiguous. Using the reference string obj.int.PROPERTY(quality)
states that you want a reference to the quality property of "int."
Arrays
A reference string can also refer to the Value property of an
array attribute with an optional Array Element Reference
that includes up to one dimension:
• [i] – individual element
• [] – entire array
This... means...
Using Literals
Items outside of angle brackets “<>” are literals. For
example:
• reference_string ::=
<Automation_object_reference><attribute_refere
nce> | <tag_name>
• Automation_object_reference ::=
<absolute_reference>|<relative_reference>
• absolute_reference ::=
<tag_name>{.<contained_name>}
• relative_contained_reference ::=
MyContainer.<contained_name> |
MyArea.<contained_name>
• attribute_reference ::=
<value_ref>|<property_ref>
• whole_attribute_ref ::=
[.<primitive>][.<attribute>] |
[.<primitive>][.ATTRIBUTE(attribute)]
• value_ref ::=
<whole_attribute_ref>[<array_index>]
• property_ref ::=
<whole_attribute_ref>.<property>
• property ::=
Value|Type|Quality|BitField|Dimension1|Securit
yClassification|Locked|Category | propertyref
• propertyref ::=
PROPERTY(Value|Type|Quality|BitField|Dimension
1|SecurityClassification|Locked|Category)
• static_attribute ::=
[<static_attribute>.]<identifier>
• <dynamic_attribute> ::=
<any_char_but>{<any_char_but>}
• valid_char ::=
<letter>|<digit>|<special_character>
. + - * / \ = ( ) ` ~ ! % ^ & @ [ ] { } | : ; ’
, < > ? “ whitespace
• whitespace ::= CR, LF, Tab, Space, FF, as
returned by iswspace()
• open_bracket := [
• close_bracket := ]
Notes
• <tag_name> is an object’s unique name.
Cross Reference
Reference
Finding Objects
Your Galaxy can get very large and can include many objects.
It can become difficult to find a specific object. You can
search for templates or instances. Also, you can search by
part or all of a tag name or hierachical name.
Note You must install the Bootstrap and IDE on the InTouch node
to create the TagSource to browse Galaxy objects.
The following lists the primary ways you can open the Tag
Browser in InTouch to see unlimited selection mode:
• Double-click an animation link tagname or expression
input box.
Note The next time you open the Tag Browser, the Attribute
Browser automatically opens. To change that, exit the Attribute
Browser without selecting anything by clicking the blue arrow at
top right. The Tag Browser appears and it defaults to the InTouch
Tagname Dictionary.
Chapter 10
About Security
Security not only controls access to user interfaces in the
ArchestrA environment but also controls access to object
attributes and the data they represent.
Each Galaxy in the Galaxy Repository manages its own
security model. The security schema managed in a Galaxy is
a three-level configuration model to create and maintain the
following:
• Users associated with specific roles
Security
Groups
Read/Write to some
Role A Object
attributes
Read-only to all
Roles Role B Object
attributes
Users
About Roles
You can create and manage user roles that apply to your
organization’s processes and work-based authorities. Two
roles are defined by default: Administrator and Default.
You can specify General and Operational Permissions for
each role.
• General permissions relate to application configuration
and administration tasks.
Note You cannot modify the General permissions for the role of
Administrator.
About Users
If you select either OS based authentication mode, users with
local machine accounts are added to the Authorized Users
Available list in the following format: .\<username>.
If you select OS Group Based authentication mode, the local
machine account must exist on each node in the Galaxy for
successful authentication of that user on any computer in the
Galaxy.
Two users are defined by default when a new Galaxy is
created: Administrator and DefaultUser. These cannot be
deleted in an open security setting and they are both
associated with the default roles, Administrator and Default.
Configuring Security
Before you open the security editor for a Galaxy, make sure:
• No other user is connected to the Galaxy.
Other users who try to open the Galaxy while you are
configuring security are denied access to the Galaxy.
Note Security group names are not case sensitive. Admin is the
same as admin.
Note Users and Roles in bold red text are invalid with the
selected Authentication Mode.
6 When you are done, click OK. You are prompted to log on
to the currently open Galaxy.
Deleting Roles
You can delete roles you no longer need. You cannot delete a
role if any users are associated with it.
You cannot delete the Default and Administrator roles.
To delete a role
1 On the Galaxy menu, click Configure and then click
Security. The Configure Security dialog box appears. Click
the Roles tab.
2 On the Role page, select the role you want to delete.
3 Click the Delete button.
Deleting Users
You can delete users you no longer need.
To delete a user
1 On the Galaxy menu, click Configure and then click
Security. The Configure Security dialog box appears. Click
the Users tab.
2 On the User page, select the user you want to delete.
3 Click the Delete button.
Chapter 11
Managing Galaxies
You can back up and restore Galaxies, change the Galaxy you
are working with, delete a Galaxy, and export and import all
or part of a Galaxy.
If you want to create a Galaxy, see Creating a New Galaxy on
page 15.
Changing Galaxies
You can have many Galaxies in the Galaxy Repository. If you
are a systems integrator, you have a Galaxy for every client,
at least.
G a lax y B
G a lax y C
G a la x y R e p o sito ry N o d e
G ala xy A
G ala xy D
A ctive G a la x y
Deleting a Galaxy
You can delete a Galaxy. Deleting a Galaxy removes all of the
Galaxy information from your computer.
Before you delete a Galaxy, you must fully undeploy it. For
more information about undeploying, see Undeploying
Objects on page 139.
Make sure you select the right Galaxy to delete. After you
delete a Galaxy, you cannot undelete it. You can only
recreate it by restoring from a backup. For more information,
see Backing Up and Restoring Galaxies on page 201.
To delete a Galaxy
1 Undeploy the Galaxy you want to delete.
2 Close any Galaxy and connected IDE you have open.
3 On the File menu, click Change Galaxy. The Connect to a
Galaxy dialog box appears.
4 Select the Galaxy you want to delete, except the
connected Galaxy.
5 Click Delete Galaxy.
6 At the prompt, click Yes.
7 When the Galaxy is deleted, click Close.
The file contains only those attributes that are unlocked and
configuration time-writeable, one column per attribute. The
following are not exported:
• Scripts libraries are not exported. Scripts within an
object are exported.
Host Attributes
Galaxy dump files contain a column for the Host attribute of
the objects being dumped. In the case of Platform objects,
Host is always the name of the Galaxy from which the object
is being dumped.
This data is ignored in subsequent Galaxy Load operations
because the Host for Platform objects is automatically the
name of the Galaxy into which it is being loaded, regardless
of the name of the Galaxy from which it was dumped.
Using a text editor, you can delete the Host attribute column,
like any other data in the Galaxy dump file. This has no
effect on Platform objects in subsequent Galaxy Load
operations because they take the Galaxy name as their Host.
Synchronization Schedule
The designated node clock serves as the master clock for all
timestamping functions. Time synchronization is based on
Microsoft’s Windows Time Service. ArchestrA does not
implement its own time synchronization algorithm.
The default synchronization period is one time every 45
minutes until three successful synchronizations occur. After
three successful synchronizations, synchronization runs one
time every eight hours.
All WinPlatforms begin synchronizing the time on their node
when they are deployed.
You can specify a time master node in another time zone. The
time on each Application Server node is set to the time
specified on the node in the other time zone.
Required Software
If a time master or a time client node runs either Windows
2003 Server or Windows XP software, you must install a
Microsoft hotfix on that computer before you can synchronize
to a time master. Install the appropriate hotfix according to
the following table.
Version Hotfix
Windows XP WindowsXP-KB823456-x86-ENU.exe
Windows WindowsServer2003-KB823456-x86-ENU
2003 Server .exe
Before you start, you need the fully qualified node name in
the format of: nodename.domain.organization.
Note If a license expires while you are using the IDE, you cannot
connect to the Galaxy the next time you open the IDE.
3 Click OK.
Updating a License
After you get your new license from Wonderware, you must
install it to update your Galaxy Repository license. Follow
the steps below.
• Deploying objects
Chapter 12
About Redundancy
Application Server provides redundancy in two critical
functions:
• AppEngine
You must configure both an AppEngine and two
WinPlatforms.
• Data acquisition
You must configure two DIObjects (data sources) and a
RedundantDIObject.
AppEngine A AppEngine A
(backup)
DIObject A DIObject B
AppEngine A AppEngine A
(backup)
DIObject A DIObject B
Redundancy Message
Channel (RMC)
AppEngine A AppEngine A
(Backup)
Requires dedicated
NIC on each computer
WinPlatform 1 WinPlatform 2
Configuring Redundancy
You configure redundancy in AppEngine/WinPlatforms
objects using their Object Editors.
The redundancy-related parameters in the AppEngine Object
Editor are located on the Redundancy and General tabs.
An AppEngine that is part of a redundancy pair has a
deployment status indicating its own status and that of its
partner object. These statuses are visually indicated in the
Application views.
There are four deployment statuses:
Pair Deployed Both Primary and Backup AppEngines
are deployed.
Pair Undeployed Both Primary and Backup AppEngines
are undeployed.
Partial Deployed Either the Primary or Backup
AppEngine is deployed and its partner is
not deployed. If an AppEngine has a
Partial Deployed status, its partner has
a Partial Undeployed status.
Partial Either the Primary or Backup
Undeployed AppEngine is undeployed and its partner
is deployed. If an AppEngine has a
Partial Undeployed status, its partner
has a Partial Deployed status.
Note The actual engine failure timeout is three times the value
of this parameter. If you set the parameter to 2000 ms (2
seconds), a failover occurs if the AppEngine fails to communicate
with the computer’s Bootstrap for 6 seconds. A setting of 10000
ms (10 seconds) can be too long a wait period (30 seconds) for a
well-functioning redundancy operation.
Icon Object
Primary AppEngine
Backup AppEngine
Configuration Requirements
Before deploying the Primary and Backup AppEngines, all
configuration requirements must be met.
• Each AppEngine must be assigned to a separate
WinPlatform.
Deploy Both
Primary and Cascade Deploy
Condition Backup Objects Allowed
Deploy Both
Primary and Cascade Deploy
Condition Backup Objects Allowed
To undeploy as a pair
1 Select one of the objects in an Application view.
2 On the Object menu, click Undeploy. The Undeploy dialog
box appears.
3 Select Include Redundant Partner in the Undeploy dialog
box and click OK.
During Deployment
During initial deployment of a redundant pair of
AppEngines, files are deployed in the following order:
• Code modules and other files for the Primary AppEngine
are deployed
Troubleshooting
Most troubleshooting happens in the System Management
Console. For more information about using the System
Management Console, see the System Management Console
User’s Guide.
Certain requirements are validated by the system
infrastructure. For example, the order in which you configure
an object pair for redundancy is validated.
The following problems can occur when you are using
redundancy:
• You can configure an AppEngine for redundancy before
configuring its associated WinPlatform. If you do this,
you see an error message that the Platform (specifically,
the RMC) is not configured yet.
Generating Alarms
When failover conditions occur, the ArchestrA system reports
alarms to the subscribed alarm clients like InTouch.
These alarms contain the following information:
• The name of the AppEngine reporting the alarm.
Alarm Alarm
Previous Current Raised Cleared Alarm
Alarm State State When When Reported By
Generating History
All active objects (AppEngine and hosted objects) report
history data as they normally do in the run-time
environment.
Historical data is reported to the historian only from the
Active AppEngine.
Losing connectivity with the historian does not cause a
failover. The Active AppEngine goes into store-forward mode
and caches data every 30 seconds. Store-forward data is
synchronized with the Standby AppEngine.
When failover conditions occur, no more than 30 seconds of
history data is lost in the transition from Standby to Active
status. For more information, see the FactorySuite A2
Deployment Guide.
Glossary
Application Engine A scan-based engine that hosts and executes the runtime
(AppEngine) logic contained within AutomationObjects.
ArchestrA Symbol A graphic you create and use to visualize data in an InTouch
HMI system. You use the ArchestrA Symbol Editor to create
ArchestrA Symbols from basic elements, such as rectangles,
lines, and text elements.
area object The system object that represents an area of your plant
within a Galaxy. The Area Object acts as an alarm
concentrator, and places other Automation Objects into
proper context with respect to the actual physical automation
layout.
Backup Application The object created by the ArchestrA infrastructure when the
Engine Primary object is enabled for redundancy. See redundancy for
further details.
Block Read Group A DAGroup that is triggered by the user or another object. It
reads a block of data from the external data source and
indicates the completion status.
Block Write Group A DAGroup that is triggered by the user or another object
after all the required data items are set. The block of data is
sent to the external data device. When the block write is
complete, it indicates the completion status.
Change log The revision history that tracks the life cycle activities of
ArchestrA Objects, such as object creation, check in/check
out, deployment, and import/export.
change propagation The ability to create templates which allows each component
template to support changes such that a change in one of the
elements can be automatically propagated to all — or select,
related — object instances.
check out IDE operation for the purpose of editing an object. It makes
the item unavailable for other users to check out.
Checkpoint The act of saving to disk the configuration, state, and all
associated data necessary to support automatic restart of a
running AutomationObject. The restarted object has the
same configuration, state, and associated data as the last
checkpoint image on disk.
Data Access Server The server executable that handles all communications
(DAServer) between field devices of a certain type and client applications.
Similar to I/O Servers but with more advanced capabilities.
Data Access Server A developer tool that can build a Data Access Server
Toolkit (DAS Toolkit) (DAServer).
Deployment view The part of the Application view in the IDE that shows how
objects are physically dispersed across Platforms, areas and
Engines. This is a view of how the application is spread
across computing resources.
Derivation view The part of the Application view in the IDE that shows the
parent-child relationship between base templates, derived
templates and derived instances. A view into the genealogy of
the application.
DIDevice Object An object that represents the actual external device (for
example, a PLC or RTU) that is associated with a DINetwork
Object. It can diagnose and browse data registers of the
DAGroups for that device.
DINetwork Object An object that represents the network interface port to the
device through the Data Access Server (DAServer) or the
object that represents the communications path to another
software application. It provides diagnostics and
configuration for that specific network card.
event record The data that is transferred about the system and logged
when a defined event changes state. For example, an analog
crosses its high level limit, an acknowledgement is made, or
an operator logs in to the system.
Galaxy Database A utility to manage your Galaxy. It can back up and restore
Manager Galaxies if they become corrupt or to reproduce a Galaxy on
another computer. The Galaxy Database Manager is part of
the System Management Console (SMC).
Graphic Toolbox The part of the IDE main window that shows a hierarchy of
graphic toolsets, which contain ArchestrA Symbols and client
controls.
hierarchical name The name of the object in the context of its container object.
For example, Tank1.OutletValve, where an object called
Tank1 contains the OutletValve object.
Historical Storage The time series data storage system that compresses and
System (Historian) stores high volumes of time series data for later retrieval.
The standard historian is the Wonderware Historian.
InTouch View InTouch View clients are InTouch runtime clients that solely
use of the Application Server for its data source. In addition,
standard InTouch runtimes can leverage Application Server
with the addition of a Platform license.
I/O count Number of I/O points being accessed into the Galaxy. I/O
points are real I/O and are not equivalent to InTouch tags. I/
O count is based on the number of I/O points that are
configured through an OPC Server, I/O Server, Data Access
Server (DAServer) or InTouch Proxy Object, over the whole
Application Server namespace, regardless of how many PCs
are in the system.
Model view The area in the Application view in the IDE that shows how
objects are arranged to describe the physical layout of the
plant and supervisory process being controlled.
Object Viewer A utility in which you can view the attribute values of the
selected object in runtime. This utility is only available when
an object is deployed. Object Viewer shows you diagnostic
information on ApplicationObjects so you can see
performance parameters, resource consumption and
reliability measurements. In addition to viewing an object’s
data value, data quality and the communication status of the
object, you can also modify some of its attributes for
diagnostic testing. Modifications can include adjusting
timing parameters and setting objects in an execution or idle
mode.
OffScan The state of an object that indicates it is idle and not ready to
execute its normal runtime processing.
Operations view The area in the IDE that shows the results of validating the
configuration of objects.
package definition The standard description file that contains the configuration
file (.aaPDF) data and implementation code for a base template. File
extension is .aaPDF.
package file The standard description file that contains the configuration
(.aaPKG) data and implementation code for one or more objects or
templates. File extension is .aaPKG.
Primary Application The object created by the ArchestrA infrastructure when the
Engine Backup object is created through redundancy. See
redundancy for further details.
redundancy Two computers: One executes objects. The other is a stand by.
Scan Group A DAGroup that requires only the update interval be defined.
The data is retrieved at the requested rate.
Scan State The Scan State of an object in runtime. This can be either
OffScan or OnScan.
TagName The unique name given to an object. For example, for a given
object, its TagName = V1101 and its HierarchicalName =
Line1.Tank1.InletValve.
Template Toolbox The part of the IDE main window that shows Toolsets
containing templates. The Template Toolbox shows a tree
view of template categories in the Galaxy.
Index
U W
UDA naming conventions 104 Welcome 11
UDAs Windows
adding to objects 102 2000 domains 210
and scripting 103 XP domains 210
hidden attributes 104 Windows user accounts 219
locking attributes 66 WinPlatform
object 40
WinPlatforms working
configuration in redundancy 226 extensions 113
historized data 150 UDAs 102
history configuration 150 workspace, resetting 30
Wonderware Historian writing
configuring for history 146 scripts 105
installing 146 to attributes in runtime, UDAs 66
required port 146