ArchestrA Bulk Import Utility
ArchestrA Bulk Import Utility
ArchestrA Bulk Import Utility
User’s Guide
Revision A
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............................................ 7
Documentation Conventions...............................................7
Technical Support ...............................................................7
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.
Chapter 1
Object structure
Boiler1_BatchString String
Boiler2_TankLevel Integer
Boiler1.TankTemp Boiler2.TankTemp
Boiler1.MixerOn Boiler2.MixerOn
Boiler1.BatchString Boiler2.BatchString
Step 3: Define
Step 2: Import Step 4: Upload
Step 1: Preparation objects based
tag data objects to Galaxy
on tag data
Step 1: Preparation
Before you can import your existing tags into the Bulk Import
Utility, you must create an export file from your existing
HMI application. This export file must meet certain format
requirements. You also create a project in the Bulk Import
Utility. For more information on these preparatory steps, see
Chapter 2, Preparing for the Migration Process.
Examples
To show the workflow, a tutorial walks you through the
entire process of migrating a sample application. For more
information, see Appendix A, Tutorial: Migrating a Sample
Application.
Chapter 2
CSV files
The Bulk Import Utility supports standard CSV files that
contain values separated by a delimiter character such as
comma, semicolon, tab, or space. The CSV file can contain
several rows of column headers, so it’s possible to have
different types of tags, each with a different number of
parameters, in the same file.
If you want to include the CSV delimiter character as part of
a column value, you must enclose the value in quotation
marks. If you want to include a quotation mark as part of a
column value, you must prefix it with another quotation
mark. For example: This value contains ""quotation""
marks.
All column data must follow the format requirements of its
intended Industrial Application Server data type. For more
information, see Format requirements for Industrial
Application Server data types on page 18.
XML files
The Bulk Import Utility only supports well-formed XML files.
For the criteria for a well-formed XML document, see the
World Wide Web Consortium’s standard recommendation at:
http://www.w3.org/TR/2004/REC-xml-20040204/
When parsing an XML file, the Bulk Import Utility interprets
element and attribute names as column headings, and the
corresponding element and attribute values as column data.
It ignores the following types of content:
• Entity references (both internal and external) when
explicitly declared in the XML file. However, standard
XML entities (such as & or ") are parsed.
• Comments
• CDATA section
• Processing instructions
• XML declarations
• Text declarations
Creating a Project
Before you can start working with the Bulk Import Utility,
you must create a project. This section explains what projects
are, and how to create one. For information on managing
projects including opening, saving, deleting, or moving, see
Managing Projects on page 20.
Creating a Project
Use the instructions below to create a project. After you
create a project, you are ready to start importing tags with
the Bulk Import Utility.
To create a project
1 Start the Bulk Import Utility.
2 Do one of the following:
• On the File menu, click New.
• In the Getting Started panel, click Create a new
project.
The Create New Project dialog box appears.
3 In the Project Name box, enter a name for the project.
4 In the Location box, enter the path to the folder where you
want to create the new project folder, or click Browse to
select the path.
5 Click OK.
The Bulk Import Utility creates a project folder in the
specified location and the main screen with the workflow
panel appears. You’re now ready to import your tags.
Managing Projects
This section explains how to open, save and delete projects. It
also explains how to copy or move projects, in case you want
to move your work to a different computer.
To open a project
1 Do one of the following:
• On the File menu, click Open.
• In the Getting Started pane, click More.
The Open Tag Mapping Project dialog box appears.
To delete a project
Note Make sure you select the correct project to delete. If you
delete the wrong project, you can undelete it using the Undelete
command in the Windows Recycle Bin.
Note To copy a project, you can also use the Save As feature as
described above.
Chapter 3
Tag mapping
already exists?
Yes No
6 Click Finish.
The Bulk Import Utility imports your tags into the
current project. When it’s done, the main screen appears
Note The Bulk Import Utility does not import any tags of the
following types: Indirect Discrete/Analog/Message, Group Var,
Hist Trend, or Tag ID.
Tag properties
The configuration settings of your existing tags are carried
over into functionally equivalent UDO attributes. The
following table shows which InTouch tag properties are
mapped to which attributes:
Access names
For every access name that is defined in the DBDump CSV
file, the Bulk Import Utility automatically creates a DIObject
definition. The existing information is carried over as follows:
Alarm groups
For every alarm group that is defined in the DBDump CSV
file, the Bulk Import Utility automatically creates an Area
definition. The existing information is carried over as follows:
Note Header rows that don’t have any data below them are
automatically excluded in the next step of the import process.
Note You must map the Name attribute to a column that contains
unique values. Otherwise, errors occur during the import process.
Extension Attributes
If you map a child attribute of an extension attribute, but not
the extension attribute itself, the Bulk Import Utility
automatically enables the extension attribute. For example,
if you map the RawMin attribute, the Scaled extension
attribute is enabled.
For LevelAlarmed, the Bulk Import Utility checks the value of
HiHi.Alarmed, Hi.Alarmed, Lo.Alarmed and LoLo.Alarmed. If
the value of any one of these child attributes is True, the
Bulk Import Utility automatically enables the extension.
To export a mapping
1 On the File menu, point to Export, and then click Custom
Mapping. The Export Custom Mapping dialog box appears.
2 Click the mapping you want to export, and then click OK.
The Export dialog box appears.
3 Enter the name for the exported mapping file, and then
click Save.
The Bulk Import Utility now saves the mapping with the
name and in the location you specified.
To import a mapping
1 On the File menu, point to Import, and then click Custom
Mapping. The Import Custom Mapping dialog box appears.
2 Select the mapping file you want to import, and then click
Open. A second Import Custom Mapping dialog box
appears.
3 In the Name box, enter a name for the imported mapping,
and then click Save.
The imported mapping is now available with the specified
name in all Bulk Import Utility projects on the computer.
Chapter 4
After you import your tags, you can start transforming them
into object definitions. In this step, you create instances and
templates based on the User-Defined Object (UDO). These
instances and templates have user-defined attributes (UDAs)
and/or field attributes that serve as a functional equivalent
to your old tag structure. You create an object structure
based on your existing tags that you can use in Industrial
Application Server in the same way as you used your old tag
structure in the original HMI system.
The Bulk Import Utility can suggest suitable template and
instance definitions by filtering and organizing your existing
tags based on patterns in their names or I/O references.
Alternatively, you can create templates and instances
manually and paste your existing tags as attributes to these
objects.
This section explains how to define objects based on imported
tag data and how to associate the resulting object definitions
with “real” templates from your Galaxy. We suggest that you
read the following sections first to get an overview:
• Workflow: Defining Objects based on Imported Tag Data
on page 56
• Working with the Different Views on page 57
Download
Main Steps Edit raw data
templates
Define objects
Check auto-
Possible tasks Edit data directly created DIObjects
& areas
Create objects
manually
Associate object
definitions with
templates
Fine-tune objects
As you define objects, your data moves from the Raw Data to
the Structured Data view and from there to the Galaxy view.
For a description of these views, see the following sections.
Galaxy View
The Galaxy view shows the Industrial Application Server
templates and instances that you’ve created and that are
ready to be uploaded to the Galaxy. It also shows the
templates that you downloaded from Industrial Application
Server and that you can associate with your object
definitions.
In the Galaxy view, you can make some final adjustments to
your object templates and instances before you upload them,
for example, by adding additional UDAs or field attributes. It
also allows you to edit the lock and security settings for your
object attributes.
2 In the Find what box, enter the value to search for. For
columns that can only contain specific values, you can
select the value from a list.
Using Wildcards
When you search for text, you can use the following wildcard
characters:
Wildcard Result
After you import your tags, you can see these objects in the
Structured Data view under DI Objects. You can simply
assign them to a suitable DIObject template and upload
them. For more information, see Associating Object
Definitions with Templates on page 75.
Caution Once you click Define Object, all tags whose name
appears in the Original Name column of a selected instance are
removed from the Raw Data view. There is no way to undo this
operation or to make these tags available in the Raw Data view
again. Therefore, don’t click Define Object unless you’re really
sure that the object definition suits your needs.
1 The Bulk Import Utility identifies all tags that meet the
criteria specified in the Selection Criteria area. The text
that you entered as the search pattern becomes the
template name. Any characters that are invalid in object
names, such as wildcards, are removed from the name. If
this results in a blank name, “$NewTemplate” is used
instead.
2 Based on all matching tags, the Bulk Import Utility tries
to determine instance names. There are two alternatives
for this:
a If you have specified an “attribute delimiter”
character, the Bulk Import Utility searches the value
specified under Raw Data Column for the specified
occurrence of this character. The part of the value up
to this occurrence becomes an instance name, and the
part to the right of it becomes an attribute name. For
example, if you have a tag called “BoilerABC_Level”
and search for “Boiler” in the Name column,
“BoilerABC” becomes the instance name and “Level”
the attribute name.
b If you haven’t specified an “attribute delimiter”
character, the Bulk Import Utility takes all tags
whose value in the Raw Data Column begins with the
specified search pattern. The search pattern and any
numbers immediately following it are interpreted as
an instance name, the rest of the value is interpreted
as an attribute name. For example, if you have a tag
called “Boiler001Level” and search for “Boiler” in the
Name column, “Boiler001” becomes the instance name
and “Level” the attribute name. On the other hand, if
you search for “Boil,” “Boil” becomes the instance
name and “er001Level” the attribute name.
3 The Bulk Import Utility checks which attribute names
occur in combination with which instance names. If an
attribute occurs in all instances, it is added at the
template level. If it occurs in specific instances only, it is
added at the instance level.
Tags with a data type of MxBoolean, MxInteger,
MxFloat, or MxDouble are added as a field attribute if
one of the following attribute extensions is enabled:
Bad.Alarmed, HasStatistics, InputExtension,
OutputExtension, InputOutputExtension, LevelAlarmed,
ROCAlarmed, DeviationAlarmed, or Scaled. Otherwise,
they are added as a UDA.
Tags with a data type of MxTime, MxElapsedTime,
MxString, or MxInternationalizedString are always
added as a UDA.
• Boiler1_Temp to Boiler10_Temp
• Stats_Boiler1 to Stats_Boiler10
Pattern: oiler, Raw 1 template ($oiler), 11 See above, except that the
Data Column: Name, instances (Boiler1..10, template name is now
delimiter: _, first Stats), no attributes on the different because you entered
occurrence from the template level, all a different search pattern.
right attributes at the instance
level
Pattern: <Boiler, 1 template ($Boiler), 10 Because of the < wildcard, the
Raw Data Column: instances (Boiler1..10), 2 Bulk Import Utility only looks
Name, delimiter: _, attributes on the template at the “Boiler” tags, but not
first occurrence from level (TankLevel and Temp) the “Stats” tags. Hence, it can
the right identify the two common
attributes and add them to
the template (see rules 2a, 3).
Pattern: Boiler, Raw 1 template ($Boiler) with 10 The Bulk Import Utility can
Data Column: Name, instances (Boiler1..10) and successfully organize the
no delimiter 2 attributes (_TankLevel “Boiler” tags, because their
and _Temp); 1 template names start with the search
(<Default>) with 10 pattern followed by a numeric
attributes (Stats_Boiler1 to index and the attribute name
Stats_Boiler10) (see rule 2b). This is not the
case with the “Stats” tags, so
they are all added as
attributes to the “<Default>”
template (see rule 5).
Pattern: oiler, Raw 1 template (<Default>) with The Bulk Import Utility can’t
Data Column: Name, all tags as attributes. determine instance names,
no delimiter because there is no delimiter
and the tag names don’t start
with the search pattern (see
rule 2b). However, because all
tags still match the search
pattern, it adds them as
attributes to the “<Default>”
template (see rule 5).
To paste tags from the Raw Data view as new UDAs or field
attributes
1 In the Raw Data view, highlight the tags you want to
insert as attributes by clicking their row headers. To
select multiple tags, hold down SHIFT and/or CTRL
while clicking.
2 Right-click on the highlighted row(s), and then click Cut.
3 In the Galaxy view, expand the object to which you want
to add the attributes.
4 Expand Attributes.
5 Right-click UDAs or FieldAttributes, and then click Paste.
The selected tags now appear in the Attributes table as
new attributes. They are deleted from the Raw Data view.
6 Edit the new attributes as required.
To delete an object
1 In the Galaxy view, right-click the object you want to
delete, and then click Delete.
2 At the prompt, click Yes to delete the object.
Renaming Objects
You can rename templates and instances in the Structured
Data and Galaxy views. If other objects in the same view
refer to the renamed object as a container object, these
references are automatically updated to the new name.
To rename an object
1 Open the Structured Data or Galaxy view.
2 In the object tree, expand User Defined Objects and locate
the object you want to rename.
3 Click the object and press F2.
4 Enter the new name and press ENTER.
Performance Considerations
For optimum performance, you should limit the number of
UDAs and field attributes in the objects that you define using
the Bulk Import Utility. Although you can add any number of
UDAs and field attributes to an object, we recommend that
you stay within the following limits:
• 64 UDAs
Chapter 5
Note The Bulk Import Utility does not validate any item names or
references in scan groups and block read/write lists of DIObjects.
To validate objects
1 On the Data menu, click Validate. The Validate Objects
dialog box appears.
Note If you have a lot of objects, uploading them can take some
time. You can’t abort the upload, so make sure you have enough
time before you start.
To upload objects
1 Do one of the following:
• On the Galaxy menu, click Connect.
• Click the Connect To Galaxy button in the workflow
panel.
The Connect To Galaxy dialog box appears.
2 Enter the required information to establish a connection
to the Galaxy Repository, and then click OK.
3 Do one of the following:
• On the Galaxy menu, click Upload Objects
Appendix A
You want to create a template with the data items that all of
the boilers have in common. From that template, you want to
create instances for each boiler, with additional data items
for those boilers that have additional features. The “Stats”
item should be moved to the template level as well. In
addition to the ten existing boilers, you want to add instances
for five more boilers.
Also, you want to move I/O communications to a DIObject, so
all of your new objects should have correct I/O references to
that DIObject. Finally, you want to historize the tank
temperatures to IndustrialSQL Server, something that you
didn’t do in the existing application.
Creating a project
When your import source file is ready, you can create a new
project in the Bulk Import Utility. For more information, see
Creating a Project on page 19. The main steps are as follows:
1 Start the Bulk Import Utility.
2 On the File menu, click New. The Create New Project
dialog box appears.
3 Enter a name and path for the project.
4 Click OK.
The main screen with the workflow panel appears:
Defining Objects
All of your tags are now imported and appear in the Raw
Data view. In this section, we’ll look at how to use the
filtering feature to automatically define objects, how to edit
objects, and how to associate them with actual templates
from Industrial Application Server. We’ll also create the five
additional instances that aren’t covered by your original tags.
For detailed information on this process, see Workflow:
Defining Objects based on Imported Tag Data on page 56.
The selected tag is moved from the Raw Data view to the
Attributes table as a new attribute.
You can edit them just like any other object created
through the IDE.
That’s it!
We’re at the end of this tutorial, and we hope it has helped
you to better understand the Bulk Import Utility. Although
we only looked at a small, very simple application, the basic
steps are the same for any other application as well. For
detailed information on each step, refer to the rest of this
manual. We hope the Bulk Import Utility will save you time
and effort in migrating your HMI applications to Industrial
Application Server!
Appendix B
</ChildNodeName>
</ElementName>
process_cell_ process_cell_
area_name name description tank_name tank_value tank_engunits
Index
H O
header rows objects
and XML files 107 adding attributes manually 80
specifying 41 associating with templates 75
creating by filtering and organizing
I tags 68
I/O references creating manually 78
defining DIObjects 65 deleting 81
mapping 47 editing 78
import files uploading to Industrial Application
CSV 17 Server 85
format requirements 17 validating 83
XML 18 workflow for defining 56
importing organizing tags 68
tag mappings 51
tags P
by creating a new mapping 33 parsing rules for XML files 107
by using an existing mapping 52 performance considerations 82
excluding rows 40 prerequisites 16
format requirements 17 projects
from InTouch 26 creating 19
workflow 24 managing 20
inherited attributes 76
instances R
creating by filtering and organizing raw data view 58
tags 68 rows
creating manually 78 deleting 59
InTouch excluding from importing 40
specifying header 41 U
UDO instances, creating 68
S unmapped attributes, default values
scan group for 46
default settings for imported tags 49 uploading
mapping column 48 objects to Industrial Application
search and replace 63 Server 85
sorting the data display 63 validating objects prior to 83
structured data view 59
V
T validating objects 83
tag mappings validation errors, understanding 84
creating 33 values
exporting 51 editing for imported tags 59
importing 51 editing for object definitions 78
overview 23 searching for and replacing 63
tags views, working with 57
creating UDO instances from 68
exporting 16 W
importing wildcards 65
by creating a new mapping 33 workflow
by using an existing mapping 52 defining objects based on imported tag
format requirements 17 data 56
overview 24 importing tag data using mapping 24
importing from InTouch 26 migrating tags to objects 12
mappings, overview 23
technical support, contacting 7 X
templates XML files
associating object definitions with 75 column headings 107
downloading 74 example 108
manually creating derived 78 format requirements 18
third-party HMI systems, format options for importing 40
requirements for tag definitions 17 parsing rules 107