Nothing Special   »   [go: up one dir, main page]

ArchestrA Bulk Import Utility

Download as pdf or txt
Download as pdf or txt
You are on page 1of 114
At a glance
Powered by AI
The document discusses migrating tag structures from legacy systems to ArchestrA objects using the Bulk Import Utility.

The Bulk Import Utility is used to migrate tags from other HMIs or systems to ArchestrA objects.

The prerequisites for using the Bulk Import Utility include exporting tags from the existing HMI system and ensuring the import files meet specified format requirements.

ArchestrA Bulk Import Utility

User’s Guide

Invensys Systems, Inc.

Revision A

Last Revision: 8/14/06


Copyright
© 2006 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.

Invensys Systems, Inc.


26561 Rancho Parkway South
Lake Forest, CA 92630 U.S.A.
(949) 727-3200
http://www.wonderware.com

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

Chapter 1 About the ArchestrA Bulk Import Utility ..... 9


What is the ArchestrA Bulk Import Utility? .....................9
Concept Example: Migrating Tags to Objects...............10
Workflow: Migrating a Legacy Tag Structure to
an Object Structure ........................................................12
Overview of the User Interface.........................................13

Chapter 2 Preparing for the Migration Process ......... 15


Prerequisites for Using the Bulk Import Utility .............16
Exporting Your Existing Tags ..........................................16
Exporting Tag Definitions from InTouch ......................17
Format Requirements for Tag Definitions from other
HMI Systems..............................................................17
Creating a Project..............................................................19
What are Projects?..........................................................19
Creating a Project...........................................................20
Managing Projects.............................................................20

Chapter 3 Importing Tag Data .............................. 23


Understanding Tag Mappings ..........................................23
Workflow: Importing Tag Data Using Mapping ..............24
Importing InTouch Tags ...................................................26
What Gets Mapped to Where? .......................................29

ArchestrA Bulk Import Utility User’s Guide


4 Contents

Importing Tag Data by Creating a New


Custom Mapping ............................................................33
Opening a CSV File........................................................39
Opening an XML File.....................................................40
Excluding Rows from Importing....................................40
Specifying Header Rows ................................................41
Mapping Data Columns to Object Attributes ...............43
Mapping Data Types ......................................................46
Handling Imported I/O References ...............................47
Handling Duplicate Records ..........................................50
Exporting and Importing Mappings.................................51
Importing Tag Data by Using an Existing Mapping.......52

Chapter 4 Defining Objects based on Imported


Tag Data...........................................55
Workflow: Defining Objects based on Imported
Tag Data .........................................................................56
Working with the Different Views ...................................57
Raw Data View ...............................................................58
Structured Data View ....................................................59
Galaxy View....................................................................60
Cross Reference View.....................................................61
Configuring the Display Columns .................................62
Sorting the Data Display ...............................................63
Searching for and Replacing Values in Data Columns ...63
Using Wildcards .............................................................65
Defining DIObjects for I/O Sources ..................................65
Renaming an Automatically Created DIObject ............66
Defining Area Objects for Alarm Groups .........................66
Renaming an Automatically Created Area...................67
Creating UDO Instances by Filtering and
Organizing Tags .............................................................68
Using the Filter & Organize Data Feature...................68
Rules used when Defining Objects ................................70
Examples: Filtering and Organizing Tags....................72
Downloading Templates from Industrial Application
Server..............................................................................74
Associating Object Definitions with Templates...............75
Manually Creating Object Instances and Derived
Templates .......................................................................78
Manually Editing Objects and Attribute Settings ..........78
Adding Attributes to an Object......................................80

ArchestrA Bulk Import Utility User’s Guide


Contents 5

Creating UDA Arrays.....................................................80


Deleting Attributes or Objects .......................................81
Renaming Objects...........................................................82
Performance Considerations.............................................82

Chapter 5 Uploading Objects to the Galaxy ............. 83


Validating Objects Prior to Uploading .............................83
Understanding Validation Errors .................................84
Uploading Objects to Industrial Application Server .......85
What Happens in Case of Naming or
Version Conflicts? ......................................................87
Exporting Objects as a Galaxy Dump File.......................88

Appendix A Tutorial: Migrating a Sample Application .. 89


The Sample Project ...........................................................89
Preparing for Importing....................................................91
Importing Tag Data...........................................................93
Defining Objects ................................................................98
Uploading Objects to Industrial Application Server .....105
That’s it! ...........................................................................106

Appendix B Sample XML Input Data ....................... 107


How the Bulk Import Utility Determines Column
Headings for an XML File ...........................................107
Sample XML Data ...........................................................108

ArchestrA Bulk Import Utility User’s Guide


6 Contents

ArchestrA Bulk Import Utility User’s Guide


7

Welcome

This guide describes how to use the ArchestrA Bulk Import


Utility to migrate tag definitions from your existing HMI
system into an Industrial Application Server object
structure. For an overview of what you can do with the Bulk
Import Utility, see What is the ArchestrA Bulk Import
Utility? on page 9.
You can view this document online or you can print it, in part
or whole, by using the print feature in Adobe Acrobat Reader.
This guide assumes you know how to use Microsoft Windows,
including navigating menus, moving from application to
application, and moving objects on the screen. If you need
help with these tasks, see the Microsoft online help.

Documentation Conventions
This documentation uses the following conventions:

Convention Used for


Initial Capitals Paths and filenames.
Bold Menus, commands, dialog box names,
and dialog box options.
Monospace Code samples and display text.

Technical Support
Wonderware Technical Support offers a variety of support
options to answer any questions on Wonderware products
and their implementation.

ArchestrA Bulk Import Utility User’s Guide


8 Welcome

Before you contact Technical Support, refer to the relevant


section(s) in this documentation for a possible solution to any
problem you have. 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. For example, Microsoft Windows XP, SP1.

• Details of how to recreate the problem.

• The exact wording of the error messages you saw.

• Any relevant output listing from the Log Viewer or any


other diagnostic applications.

• Details of what you did to try to solve the problem(s) and


your results.

If known, the Wonderware Technical Support case number


assigned to your problem, if this is an ongoing problem.

ArchestrA Bulk Import Utility User’s Guide


9

Chapter 1

About the ArchestrA Bulk


Import Utility

This section explains the purpose and general workflow of


the ArchestrA Bulk Import Utility. Read this section first to
get an overview of the software. This helps you understand
each step in the workflow.

What is the ArchestrA Bulk Import Utility?


The ArchestrA Bulk Import Utility is a tool for transforming
tag definitions from an existing HMI application, such as
InTouch, into an Industrial Application Server object
structure. It allows you to migrate your existing tag
structure and parameters, saving you considerable
engineering time and effort. The Bulk Import Utility helps
you to:
• Import a CSV or XML file with tag definitions exported
from InTouch or other HMI systems

• Map tag configuration parameters, such as I/O source,


alarm limits, value ranges, etc., to Industrial Application
Server attributes
• Organize the “flat” tag data into a hierarchical object
structure
• Associate these objects with templates downloaded from
Industrial Application Server to create actual derived
templates and instances
• Upload the new objects to an Industrial Application
Server Galaxy

ArchestrA Bulk Import Utility User’s Guide


10 Chapter 1 About the ArchestrA Bulk Import Utility

By migrating a tag structure using the Bulk Import Utility,


you create instances and templates derived from the
ArchestrA UserDefined Object (UDO). These instances and
templates have user-defined attributes (UDAs) and field
attributes that are functionally equivalent to your original
tags. You get an object structure in Industrial Application
Server that has the same data items as your original HMI
application. For an example, see Concept Example: Migrating
Tags to Objects.
To further ease the migration, the Bulk Import Utility can
also identify the I/O sources and alarm groups in your
application and automatically create equivalent DIObject
and Area definitions.
For an explanation of the general workflow in the Bulk
Import Utility, see Workflow: Migrating a Legacy Tag
Structure to an Object Structure on page 12.

Concept Example: Migrating Tags to Objects


Assume that your original application has the following tags:

Tag name Tag type

Boiler1_TankLevel I/O Integer


Boiler1_TankTemp I/O Real
Boiler1_MixerOn Boolean
Boiler1_BatchString String
Boiler2_TankLevel I/O Integer
Boiler2_TankTemp I/O Real
Boiler2_MixerOn Boolean
Boiler2_BatchString String
Boiler3_TankLevel I/O Integer
etc. etc.

All of these tags have certain parameters, such as an I/O


source, alarm limits, On/Off messages, etc. You’d like to
create an Industrial Application Server application that
allows you to work with all of these data items and preserve
their parameters.
In this example, there is an obvious pattern in your tags.
Each boiler has the same four data items. Therefore, you
create a common object template called “$Boiler” that is
derived from the ArchestrA UserDefined Object.

ArchestrA Bulk Import Utility User’s Guide


What is the ArchestrA Bulk Import Utility? 11

$Boiler has the following attributes, each one having the


same parameters (alarm levels, etc.) as the original tags:

Attribute name Attribute type

TankLevel Field Attribute, Integer


TankTemp Field Attribute, Float
MixerOn UDA, Boolean
BatchString UDA, String

To duplicate your original tag structure, you create instances


(Boiler1, Boiler2, and so on) based on this template. These
instances offer a functionally equivalent replacement for
your original tags, as shown in the following graphic.

Object structure

Tag structure $Boiler


Object attributes
Original tags Attribute name Attribute type
Tag name Tag type TankLevel Field Attribute, Integer

Boiler1_TankLevel Integer TankTemp Field Attribute, Float

Boiler1_TankTemp Real MixerOn UDA, Boolean

Boiler1_MixerOn Boolean BatchString UDA, String

Boiler1_BatchString String

Boiler2_TankLevel Integer

Boiler2_TankTemp Real Boiler1 Boiler2


Boiler2_MixerOn Boolean New data items New data items

Boiler2_BatchString String Boiler1.TankLevel Boiler2.TankLevel

Boiler1.TankTemp Boiler2.TankTemp

Boiler1.MixerOn Boiler2.MixerOn

Boiler1.BatchString Boiler2.BatchString

If you have a large application, performing these tasks by


hand can take a lot of time. The Bulk Import Utility helps
you with this process, saving you considerable time and
effort. It allows you to import all your existing tags and map
their configuration parameters to the equivalent UDO
attributes. Additionally, it can help you to identify suitable
templates and instances based on patterns in your tag
names. Finally, you can associate these templates and
instances with Industrial Application Server templates to
create “real” derived templates and instances, and then
upload these new objects directly to the Galaxy.

ArchestrA Bulk Import Utility User’s Guide


12 Chapter 1 About the ArchestrA Bulk Import Utility

Workflow: Migrating a Legacy Tag Structure


to an Object Structure
To transform existing tag definitions into an Industrial
Application Server object structure, you go through four main
steps.

Step 3: Define
Step 2: Import Step 4: Upload
Step 1: Preparation objects based
tag data objects to Galaxy
on tag data

The following paragraphs explain what happens at each step.


They also point you to the detailed sections that cover each
step.

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.

Step 2: Importing existing tag definitions


After you complete the preparatory steps, import your tags
into the Bulk Import Utility. This involves “mapping” tag
parameters, such as I/O sources, alarm settings or range
limits, to the corresponding UDO attributes. For detailed
information on this step, see Chapter 3, Importing Tag Data.

Step 3: Creating an object structure by filtering and


organizing the imported data
After you import and map your existing tags, you transform
them into an object structure. This means that you create
abstract definitions of templates and instances, with your
tags becoming UDAs or field attributes of these templates
and instances.
To help you, the Bulk Import Utility provides a filtering and
organizing feature that automatically suggests template and
instance definitions based on patterns in the tag names or
I/O references. You can also manually create objects and
adjust the object definitions to suit your needs.
Finally, you associate the new object definitions with
Industrial Application Server templates to create actual
objects. For detailed information on this step, see Chapter 4,
Defining Objects based on Imported Tag Data.

ArchestrA Bulk Import Utility User’s Guide


Overview of the User Interface 13

Step 4: Uploading newly defined objects to the


galaxy
In this final step, you upload your newly defined objects to an
Industrial Application Server Galaxy. After you are done,
your new objects are available for editing in the Industrial
Application Server IDE. For detailed information on this
step, see Chapter 5, Uploading Objects to the Galaxy.

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.

Overview of the User Interface


When you work with a project in the Bulk Import Utility, the
main screen is divided into the following areas:

Data panel (with Raw Data, Structured


Data, and Cross Reference views) Workflow panel

Objects panel (with Galaxy view)

• Data panel with Raw Data, Structured Data and Cross


Reference views. This area shows the imported tags and
the object definitions you create based on them. For more
information, see Working with the Different Views on
page 57.
• Objects panel with Galaxy view. This area shows the
templates and instances that are ready to be uploaded to
Industrial Application Server. For more information, see
Galaxy View on page 60.

ArchestrA Bulk Import Utility User’s Guide


14 Chapter 1 About the ArchestrA Bulk Import Utility

• Workflow panel. This area has buttons that allow you


to quickly access the main features that you use when
working with the Bulk Import Utility.

ArchestrA Bulk Import Utility User’s Guide


15

Chapter 2

Preparing for the Migration


Process

This section explains the preparatory steps you have to take


before you can import your existing tags into the Bulk Import
Utility. As shown in the following graphic, there are three
tasks that you must complete before you can continue:

Check Export tag data Create a new


prerequisites from HMI system project

• Checking that you’ve met all of the prerequisites for


using the Bulk Import Utility
• Exporting tag definitions from your existing HMI system
• Creating a project in the Bulk Import Utility
This section describes each of these tasks. It also explains
how to manage Bulk Import Utility projects, in case you want
to move a project to a different computer or delete it.

ArchestrA Bulk Import Utility User’s Guide


16 Chapter 2 Preparing for the Migration Process

Prerequisites for Using the Bulk Import


Utility
There are certain requirements that you should check before
using the Bulk Import Utility:
• You should have general working knowledge of Industrial
Application Server. Also, we assume that you are familiar
with the basic concepts and terms used in Industrial
Application Server.
• Industrial Application Server 2.1 Patch 01 IDE must be
installed on the computer where you want to use the Bulk
Import Utility.
• You must be able to establish a connection to the
Industrial Application Server Galaxy Repository to
download templates and upload objects. You can work
offline for all other tasks.
• You must have the means to create a CSV or XML file
that contains the tag definitions you want to import. If
you are using InTouch, you can do this using the
DBDump utility. For more information on specific format
requirements, see Exporting Your Existing Tags.
• If you want the Bulk Import Utility to automatically
suggest objects based on patterns in your tag names, your
tag names must follow a suitable naming convention. For
more information on how the Bulk Import Utility
analyzes your tag names, see Creating UDO Instances by
Filtering and Organizing Tags on page 68.

Exporting Your Existing Tags


The Bulk Import Utility can import tag definition files in the
CSV (Comma-Separated Values) and XML (Extendable
Markup Language) formats.
If you are using InTouch, you can use the DBDump utility to
create a suitable export file. For more information, see
Exporting Tag Definitions from InTouch.
If you are using a different HMI system, you must make sure
that your export file meets the format requirements of the
Bulk Import Utility. For more information, see Format
Requirements for Tag Definitions from other HMI Systems
on page 17.

ArchestrA Bulk Import Utility User’s Guide


Exporting Your Existing Tags 17

Exporting Tag Definitions from InTouch


By using the DBDump utility, you can create a tag definition
file that is ready for importing into the Bulk Import Utility.

To export tag definitions from InTouch


1 Start the InTouch Application Manager.
2 Click the name of the application whose tag definitions
you want to export.
3 On the File menu, click DBDump. The CSV File to Dump To
dialog box appears.
4 In the Name of CSV Dump file box, enter a name for the
export file and click OK.
DBDump now exports all tag definitions from the
selected application to the file you specified. This file is
ready for importing into the Bulk Import Utility. For
more information, see Importing InTouch Tags on
page 26.

Format Requirements for Tag Definitions from


other HMI Systems
If you are using a third-party HMI system, it must be able to
generate a CSV or XML file that can be processed by the
Bulk Import Utility. The format requirements are as follows:

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.

ArchestrA Bulk Import Utility User’s Guide


18 Chapter 2 Preparing for the Migration Process

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

• Document type declarations

• Processing instructions

• XML declarations

• Text declarations

Character references are parsed; however, the Bulk Import


Utility discards any leading and trailing tab, carriage return
and line feed characters around a value.
For an example that shows how the Bulk Import Utility
parses the XML data and determines column names, see
Sample XML Data on page 108.
All element and attribute 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.

Format requirements for Industrial Application


Server data types
There are certain format requirements and limits for each
Industrial Application Server data type. For example, if you
want a tag to become a UDA of the MxTime type, its value
must follow the MxTime format. The following table
describes the format and limits for each data type. Also note
the following:
• When importing a CSV file, values of certain data types
may contain the same character that is also used as the
delimiter character (for example, MxTime values contain
spaces). You must enclose these values in quotation
marks to avoid errors.

ArchestrA Bulk Import Utility User’s Guide


Creating a Project 19

• The Bulk Import Utility expects all locale-sensitive input


data to follow the format settings of the current OS locale
((for example, with regards to decimal settings). The
examples shown in the table assume that the locale is set
to English - US.

Data type Valid values Example(s)

MxBoolean "True", "False", "On", "Off", True


"Yes", "No", "1", "0"
MxInteger -2,147,483,648 to -64782
2,147,483,647
MxFloat -3.402823e38 to 3.402823e38 1.76
5.2e10

MxDouble -1.79769313486232e308 to 0.01


1.79769313486232e308 1.7e-8

MxString String up to 1024 characters This is a string

MxInternationalized String up to 1024 characters This is a string


String
MxTime A date/time value in the 01/02/2006 01:02:03 AM
format specified by the
current OS locale
MxElapsedTime An amount of time expressed 3 05:19:01.3245212
in the format:
[-][d ]hh:mm:ss[.ff]

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.

What are Projects?


Your work in the Bulk Import Utility is organized and stored
in projects. Each project consists of a separate folder that
contains files with the following data:
• The project definition (.tmProj extension)

• Imported tags, object definitions, downloaded templates


(.tmData extension)

ArchestrA Bulk Import Utility User’s Guide


20 Chapter 2 Preparing for the Migration Process

If you want to migrate several different HMI applications,


you can create a separate project for each. You can also
migrate more than one application into a single project.
Projects are stored in <My Documents>\BIU Projects by
default, but you can store them anywhere you want.

Caution Don’t open the same project remotely from multiple


computers at the same time. While the Bulk Import Utility does
not prevent you from doing this, multiple users working on the
same project simultaneously may lead to unpredictable results.

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.

ArchestrA Bulk Import Utility User’s Guide


Managing Projects 21

2 Open the project folder, click the project definition file,


and then click OK.
The Bulk Import Utility opens the specified project, and
the main screen with the workflow panel appears.

To save the currently opened project


‹ On the File menu, click Save.

To save the currently opened project under a different name


1 On the File menu, click Save As. The Project - Save As
dialog box appears.
2 In the Project Name box, enter a new name for the
project.
3 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.
The Bulk Import Utility creates a copy of the currently
opened project at the specified location. It copies the
entire project folder, not just the project definition file.

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.

‹ Delete the entire project folder using Windows Explorer.

To copy or move a project

Note To copy a project, you can also use the Save As feature as
described above.

‹ Copy or move the entire project folder to the new location


using Windows Explorer.
If you copied the project, you can now open it from the
new location and work on a copy of your imported data,
while the original project and its data remain unchanged.

ArchestrA Bulk Import Utility User’s Guide


22 Chapter 2 Preparing for the Migration Process

ArchestrA Bulk Import Utility User’s Guide


23

Chapter 3

Importing Tag Data

This section explains how to import your existing tag


definitions into the Bulk Import Utility and map tag
parameters to Industrial Application Server object
attributes. We suggest that you read the following sections
first to get an overview of the process:
• Understanding Tag Mappings

• Workflow: Importing Tag Data Using Mapping on


page 24

Then, go to the section that describes the procedure you need.

Understanding Tag Mappings


Tags in an HMI system have a variety of properties or
parameters, such as a data type, an I/O source, alarm limits,
history settings, default values, etc. In Industrial Application
Server, such properties are called “attributes” of an object.
The User-Defined Object (UDO), which is used as the base
object for migrating your tags, offers functionally equivalent
attributes for a wide range of tag parameters.
When you import your existing tags using the Bulk Import
Utility, you “map” the properties of your existing tags to
UDO attributes. This means that you tell the Bulk Import
Utility to carry over the content of a certain property to a
certain attribute. This allows you to easily migrate the
configuration settings of your tags by mapping each relevant
property to a functionally equivalent attribute.

ArchestrA Bulk Import Utility User’s Guide


24 Chapter 3 Importing Tag Data

In the Bulk Import Utility, a set of rules that determines


which tag properties go into which attributes is called a “tag
mapping”. For InTouch users, there is a predefined mapping
that allows you to import your tags without having to create
your own mapping. If you are using a different HMI system,
you can create and save custom mappings, and you can also
export and import mappings for use across multiple
computers.
Tag mappings are saved at the application level. After you
save a mapping, you can use it in all other Bulk Import
Utility projects on the same computer.

Workflow: Importing Tag Data Using Mapping


The Bulk Import Utility includes a wizard for importing and
mapping your tags. The following graphic shows the
workflow for using the wizard:

Open CSV or XML


source file

Tag mapping
already exists?

Yes No

Select mapping Exclude unnecessary rows

Specify how to handle


Specify header rows
duplicate records

Map data columns


to attributes

Map data types

Specify how to handle


I/O references

Specify how to handle


duplicate records

Save mapping for


future use

Which steps you must take depends on whether

ArchestrA Bulk Import Utility User’s Guide


Workflow: Importing Tag Data Using Mapping 25

• you have to create a new tag mapping, or

• whether you can use an existing mapping, such as the


predefined mapping for InTouch or a mapping that you
created and saved earlier.

You can repeat the import process multiple times, for


example, for importing multiple files or for reimporting an
updated file.

Workflow for using an existing mapping


If you can use an existing mapping, the import workflow is
very simple. It consists of the following steps:
1 Open the CSV or XML file containing your tag
definitions.
2 Select the mapping to use.
3 Specify if you want to exclude certain rows of data.
4 Specify what to do if your project already contains tags
with the same names as the ones you’re trying to import.
For instructions on importing tag definitions using an
existing mapping, see Importing Tag Data by Using an
Existing Mapping on page 52. Importing InTouch tag
definitions also falls under this scenario. For a specific
description, see Importing InTouch Tags on page 26.

Workflow for creating a new mapping


The workflow for creating a new mapping is somewhat more
comprehensive. It consists of the following steps:
1 Open the CSV or XML file containing your tag
definitions.
2 Specify if you want to exclude certain rows of data.
3 If you are importing a CSV file, specify which rows should
be interpreted as header rows. This step determines
which columns will be available for mapping to attributes
in the next steps. (If you are importing an XML file, the
Bulk Import Utility determines column names
automatically.)
4 Map data columns to attributes. This step determines the
attribute in which data from a specific column gets
stored.
5 Map the tags’ original data types to Industrial
Application Server data types.
6 If you have mapped columns to I/O reference attributes:
Specify a default DIObject and scan group.
7 Specify what to do if your project already contains tags
with the same names as the ones you’re trying to import.

ArchestrA Bulk Import Utility User’s Guide


26 Chapter 3 Importing Tag Data

8 Save your new mapping, if required.


For step-by-step instructions for this workflow, see Importing
Tag Data by Creating a New Custom Mapping on page 33.

Importing InTouch Tags


The Bulk Import Utility has a predefined tag mapping for
importing InTouch tags. This makes the import process very
easy because you don’t have to create a mapping from
scratch.
For information on which InTouch tag properties are mapped
to which attributes, and how access names and alarm groups
are handled, see What Gets Mapped to Where? on page 29.
The procedure described here assumes that you’ve started
the Bulk Import Utility and created or opened a project. Also,
you must have a CSV file with the InTouch tag definitions
ready. For information on how to create this file, see
Exporting Tag Definitions from InTouch on page 17.

To import InTouch tags using the predefined mapping


1 Do one of the following:
• In the workflow panel, click the Run Import Wizard
button.
• On the File menu, point to Import, and then click Tag
Data.
The Open File for Import dialog box appears.

ArchestrA Bulk Import Utility User’s Guide


Importing InTouch Tags 27

2 Select the InTouch DBDump CSV file you want to import


and click OK. The Tag Import Wizard – Step 1: Select
Mapping dialog box appears.

3 In the Data Mapping list, click InTouch.


If necessary, specify which rows of data the import
process should exclude, for example, tags you don’t want
to import. For more information, see Excluding Rows
from Importing on page 40. Do not exclude any of the
header rows (any rows that start with a colon), as this
may cause errors.

ArchestrA Bulk Import Utility User’s Guide


28 Chapter 3 Importing Tag Data

4 Click Next. If the Bulk Import Utility detects any errors


in your source file, it allows you to skip the offending
record(s) or abort the import process. If you abort the
import process, the Bulk Import Utility marks the
offending row(s) with a red exclamation mark icon to help
you locate them.
If there are no errors, the Tag Import Wizard – Final Step:
Specify Duplicate Name Handling dialog box appears.

5 Specify what should happen if you try to import tags that


already exist in your project. For more information, see
Handling Duplicate Records on page 50.The table in the
lower part of the dialog box shows what your imported
tag definitions will look like.

Caution If you are importing more than 100,000 tags,


performance may be degraded.

6 Click Finish.
The Bulk Import Utility imports your tags into the
current project. When it’s done, the main screen appears

ArchestrA Bulk Import Utility User’s Guide


Importing InTouch Tags 29

again, with the Raw Data view showing your imported


tags. You can now start creating an object structure.

For more information, see Workflow: Defining Objects


based on Imported Tag Data on page 56

What Gets Mapped to Where?


This section explains what happens when you use the
predefined InTouch tag mapping to import tags.

Tag data types


Imported tags are converted into a matching ArchestrA data
type as follows:

InTouch tag data type ArchestrA data type

Memory Discrete, I/O Discrete MxBoolean


Memory Integer, I/O Integer MxInteger
Memory Real, I/O Real MxFloat
Memory Message, I/O Message MxString

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.

ArchestrA Bulk Import Utility User’s Guide


30 Chapter 3 Importing Tag Data

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:

Column name from


DBDump CSV file Explanation Mapped attribute(s)

MemoryDisc, IODisc, Tag name (for different Name


MemoryInt, IOInt, types of tags)
MemoryReal, IOReal,
MemoryMsg, IOMsg
ItemName Item name on I/O device Input.InputSource,
Output.OutputDest
AccessName I/O access name DIObject, ScanGroup (see
Access names on page 32)
Comment Tag comment Desc
InitialValue, Initial value (for analog, Value
InitialDisc, discrete and message
InitialMessage tags, respectively)
Deadband Value deadband Deadband
EngUnits Engineering Units text EngUnits
MinRaw, MinValue Minimum raw value RawMin
MaxRaw, MaxValue Maximum raw value RawMax
MinEU Minimum Engineering EngUnitsMin
Units value
MaxEU Maximum Engineering EngUnitsMax
Units value
Conversion Mode for converting raw ConversionMode
I/O values to
Engineering Units
Logged Enable/disable historical Historized
logging
LogDeadband Deadband for historical ValueDeadband
logging
OffMsg Off message (for discrete OffMsg
tags)
OnMsg On message (for discrete OnMsg
tags)

ArchestrA Bulk Import Utility User’s Guide


Importing InTouch Tags 31

Column name from


DBDump CSV file Explanation Mapped attribute(s)

Group Alarm group Area


AlarmState Alarm state Alarmed, ActiveAlarmState
AlarmPri Alarm priority Priority
AlarmComment Alarm comment DescAttrName
HiHi.DescAttrName
Hi.DescAttrName
Lo.DescAttrName
LoLo.DescAttrName
ROC.IncreasingHi.DescAttrNa
me
ROC.DecreasingHi.DescAttrNa
me
Dev.Minor.DescAttrName
Dev.Major.DescAttrName
ReadOnly Read/write access status InputExtension,
for I/O tags InputOutputExtension,
AccessMode
AlarmValueDeadband Deadband for value LimitAlarm.ValueDeadband
alarms
LoLoAlarmState Enable/disable LoLo LoLo.Alarmed
value alarm
LoLoAlarmValue Limit for LoLo value LoLo.Limit
alarm
LoLoAlarmPri Priority for LoLo value LoLo.Priority
alarm
LoAlarmState Enable/disable Lo value Lo.Alarmed
alarm
LoAlarmValue Limit for Lo value alarm Lo.Limit
LoAlarmPri Priority for Lo value Lo.Priority
alarm
HiAlarmState Enable/disable Hi value Hi.Alarmed
alarm
HiAlarmValue Limit for Hi value alarm Hi.Limit
HiAlarmPri Priority for Hi value Hi.Priority
alarm
HiHiAlarmState Enable/disable HiHi HiHi.Alarmed
value alarm

ArchestrA Bulk Import Utility User’s Guide


32 Chapter 3 Importing Tag Data

Column name from


DBDump CSV file Explanation Mapped attribute(s)

HiHiAlarmValue Limit for HiHi value HiHi.Limit


alarm
HiHiAlarmPri Priority for HiHi value HiHi.Priority
alarm
AlarmDevDeadband Deadband for deviation Dev.Deadband
alarm
MinorDevAlarmState Enable/disable minor Dev.Minor.Alarmed
deviation alarm
MinorDevAlarmValue Limit for minor deviation Dev.Minor.Tolerance
alarm
MinorDevAlarmPri Priority for minor Dev.Minor.Priority
deviation alarm
MajorDevAlarmState Enable/disable major Dev.Major.Alarmed
deviation alarm
MajorDevAlarmValue Limit for major deviation Dev.Major.Tolerance
alarm
MajorDevAlarmPri Priority for major Dev.Major.Priority
deviation alarm
DevTarget Setpoint for deviation Dev.Target
alarms
ROCAlarmState Enable/disable ROC.IncreasingHi.Alarmed,
rate-of-change alarm ROC.DecreasingHi.Alarmed
ROCAlarmValue Limit for rate-of-change ROC.IncreasingHi.Limit,
alarm ROC.DecreasingHi.Limit
ROCAlarmPri Priority for ROC.IncreasingHi.Priority,
rate-of-change alarm ROC.DecreasingHi.Priority
ROCTimeBase Time base for monitoring ROC.Rate.Units
rate-of-change alarm

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:

Column name from


DBDump CSV file Explanation Mapping

IOAccess Name of the access name Name of the DIObject

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Creating a New Custom Mapping 33

Column name from


DBDump CSV file Explanation Mapping

Application Name of the I/O server No mapping. You must


process manually edit the server
name once the new DIObject
is available in the IDE.
Topic Topic on the I/O server Scan group
For more information, also see Defining DIObjects for I/O
Sources on page 65.

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:

Column name from


DBDump CSV file Explanation Mapping

AlarmGroup Name of the alarm group Name of the Area


Group Parent group of the alarm Container of the Area
group
For more information, also see Defining Area Objects for
Alarm Groups on page 66.

Note Because $System is a reserved keyword in Industrial


Application Server, the $System alarm group is renamed to
SystemArea.

Importing Tag Data by Creating a New Custom


Mapping
This section is an overview of how to import tags by creating
a new tag mapping. Each step is explained in more detail
later in this section.
The procedure described here assumes that you’ve started
the Bulk Import Utility and created or opened a project. Also,
you must have a CSV or XML file with the exported tag
definitions ready. For information on format requirements,
see Format Requirements for Tag Definitions from other
HMI Systems on page 17.

ArchestrA Bulk Import Utility User’s Guide


34 Chapter 3 Importing Tag Data

To import tags by creating a new tag mapping


1 Do one of the following:
• In the workflow panel, click the Run Import Wizard
button.
• On the File menu, point to Import, and then click Tag
Data.
The Open File for Import dialog box appears.
2 Select the CSV or XML file you want to import, and then
click OK. The Tag Import Wizard – Step 1: Select Mapping
dialog box appears.

3 Do one of the following, depending on the format of your


import file:
• If you are importing a CSV file, specify the delimiter
options. For more information, see Opening a CSV
File on page 39.
• If you are importing an XML file, specify the parsing
options. For more information, see Opening an XML
File on page 40.
4 If necessary, specify which rows of data the import
process should exclude, for example, comment lines. For
more information, see Excluding Rows from Importing on
page 40.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Creating a New Custom Mapping 35

Click Next. The Tag Import Wizard – Step 2: Select Header


dialog box appears.

5 Specify which rows of data contain column headings. For


more information, see Specifying Header Rows on
page 41. If you are importing an XML file, the Bulk
Import Utility determines column names automatically.
You should not add or change column headings in this
case.
Click Next. The Tag Import Wizard – Step 3: Drag Attributes
to Headings dialog box appears.

ArchestrA Bulk Import Utility User’s Guide


36 Chapter 3 Importing Tag Data

6 Map attributes to column headings. For more


information, see Mapping Data Columns to Object
Attributes on page 43.
Click Next. The Tag Import Wizard – Step 4: Assign Data
Types dialog box appears.

7 Map the data types used in your tag definitions to


ArchestrA data types. For more information, see Mapping
Data Types on page 46.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Creating a New Custom Mapping 37

8 Click Next. If you mapped the Input.InputSource or


Output.OutputDest column, the Tag Import Wizard – Step 5:
Define Default DI Object and Scan Group dialog box
appears. Specify whether your existing I/O references
should be prefixed with default DIObject and scan group
settings. For more information, see Handling Imported
I/O References on page 47.

ArchestrA Bulk Import Utility User’s Guide


38 Chapter 3 Importing Tag Data

Click Next. The Tag Import Wizard – Final Step: Specify


Duplicate Name Handling dialog box appears.

9 Specify what should happen if you try to import entries


that already exist in your project. If this is the first time
you’re importing a file, you don’t have to worry about this
option. For more information, see Handling Duplicate
Records on page 50.
The table in the lower part of the dialog box shows what
your imported tag definitions will look like.
Click Finish. The Save Mapping dialog box appears.
10 To save your new mapping for future use, enter a name
and click Save. If you don’t want to save the mapping,
click Cancel.
Your tags are imported into the current project. If there is
a problem, such as a duplicate tag name or an illegal
value, you are prompted to skip the invalid tags and
continue the import process.

Caution If you are importing more than 100,000 tags,


performance may be degraded.

When the import is complete, the main screen appears


again, with the Raw Data view showing your imported
tags. You can now start creating an object structure. For
more information, see Chapter 4, Defining Objects based
on Imported Tag Data.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Creating a New Custom Mapping 39

Opening a CSV File


When importing a CSV file, you must specify the delimiter
character used in the file.

To specify the CSV delimiter for an import file


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Step 1: Select Mapping dialog box appears.

2 In the Delimiters area, select the column delimiter(s) used


in your CSV file. The Bulk Import Utility interprets each
occurrence of these characters as the beginning of a new
column, unless the character is part of a column value
that is enclosed in quotation marks.

ArchestrA Bulk Import Utility User’s Guide


40 Chapter 3 Importing Tag Data

Opening an XML File


When importing an XML file, you must specify the parsing
options.

To specify the XML parsing options


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Step 1: Select Mapping dialog box appears.

2 Under Options, select the Include empty nodes check box if


you want to include empty XML elements. If you don’t
include empty elements, the Bulk Import Utility treats
them as if they didn’t exist, which results in a different
column structure.

Excluding Rows from Importing


The tag definition file you are importing may include rows
that contain neither tag data nor column headers. You should
exclude these rows from importing so that the Bulk Import
Utility ignores them. Also, you can exclude any other data
rows that you don’t want to import.

Note Be careful to preserve the correct data structure when


excluding rows from an XML file. The XML file must still be
well-formed afterwards.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Creating a New Custom Mapping 41

To exclude rows from importing


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Step 1: Select Mapping dialog box appears.
2 In the Exclude column, select the rows that you want to
exclude. To do this, do one of the following:
• Select the rows’ check boxes individually.
• Highlight the rows by clicking their row header (the
area at the left containing the little arrow sign). To
select multiple rows, hold down SHIFT and/or CTRL
while clicking. Right-click the highlighted rows, and
then click Exclude. To re-include the rows, repeat
these steps, but click Include instead.

Specifying Header Rows


To define the data columns that will be available for
mapping, you must specify which rows in your input file
contain column headings.
If you are importing an XML file, there is no such thing as a
“header row” in the source file. Instead, the Bulk Import
Utility creates column headers based on element and
attribute names. For an example, see Appendix B, Sample
XML Input Data. You should not add or change column
headings in this case.
If you are importing a CSV file, you can either select the
header row(s) that already exist in the file, or you can enter a
row of new column headings on the fly.

ArchestrA Bulk Import Utility User’s Guide


42 Chapter 3 Importing Tag Data

To select existing header rows


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Step 2: Select Header dialog box appears.

2 In the Heading column, select the check boxes of the rows


that contain column headers. Depending on the format of
the file you’re importing, you can do different things:
• If you are importing an XML file, you see that a row is
automatically created with column headers and this
row is already selected. You should not add or change
column headings in this case.
• If you are importing a CSV file that contains only one
type of tag definitions, so that the column definition
stays the same throughout the file, select the one row
that contains the column headers.
• If you are importing a CSV file that contains multiple
types of tag definitions (that is, the column definition
changes within the file), select every row that
contains column headers. Each row of column headers
applies to all subsequent rows up to the next row that
you define as a header row.

Note Header rows that don’t have any data below them are
automatically excluded in the next step of the import process.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Creating a New Custom Mapping 43

To enter a new header row (CSV files only)


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Step 2: Select Header dialog box appears.

2 The first row in the table (containing “Heading1”,


“Heading2”, etc.) was automatically inserted by the Bulk
Import Utility. Overwrite the information in this row
with your own column headers.

Mapping Data Columns to Object Attributes


To specify which tag configuration parameters should carry
over into which UDO attributes, you must map the columns
of your imported data to those attributes. If you leave an
attribute unmapped, that is, you don’t assign any column to
it, a default value is used for that attribute.
For an explanation of what each UDO attribute does, see the
UDO object help, accessible in the Industrial Application
Server IDE.

Note You must map the Name attribute to a column that contains
unique values. Otherwise, errors occur during the import process.

ArchestrA Bulk Import Utility User’s Guide


44 Chapter 3 Importing Tag Data

To map data columns to attributes


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Step 3: Drag Attributes to Headings dialog box
appears.

2 Do any of the following:


• To map a column to an attribute, drag the attribute
name from the ArchestrA attributes list to the Column
headings list and drop it on the name of a column. You
can map multiple columns to the same attribute if you
are using multiple header rows, and you can map
multiple attributes to the same column if you want to
use the same value in multiple attributes. You can
not map multiple columns from the same header row
to the same attribute.
• To remove one mapped attribute from a column,
right-click the attribute name and click Remove
Attribute.
• To remove all mapped attributes from a column,
right-click the column name and click Clear.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Creating a New Custom Mapping 45

• To remove all mapped attributes from all columns,


right-click any column name and click Clear All.
Your current mapping is shown in the data table in the
lower part of the dialog box. The first row shows the
column headings of your imported data, and the second
row shows the attribute(s) that the column is mapped to.

Mapping I/O Properties


For additional information on how to convert your tags’
existing I/O parameters into valid Industrial Application
Server references, see Handling Imported I/O References on
page 47.

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.

ArchestrA Bulk Import Utility User’s Guide


46 Chapter 3 Importing Tag Data

For DeviationAlarmed, the Bulk Import Utility checks the


value of Dev.Minor.Alarmed and Dev.Major.Alarmed. If the
value of either one of these child attributes is True, the Bulk
Import Utility automatically enables the extension.
For ROCAlarmed, the Bulk Import Utility checks the value of
ROC.IncreasingHi.Alarmed and ROC.DecreasingHi.Alarmed. If
the value of either one of these child attributes is True, the
Bulk Import Utility automatically enables the extension.
Default Values for Unmapped Attributes
If you leave an attribute unmapped, that is, don’t assign any
column to it, the Bulk Import Utility uses a default value for
that attribute.

Mapping Data Types


Your tag definition records may contain a column that
defines the tag’s data type, and that you mapped to the
DataType attribute. In this case, you must map the data types
used in your tag definitions to ArchestrA data types.
Additionally, you may need to specify a default data type for
tag definitions that don’t have a data type explicitly specified.
This also applies if you haven’t mapped any column to the
DataType attribute.
The ArchestrA data type of a tag is used as the data type of
the UDA or field attribute that it will eventually become.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Creating a New Custom Mapping 47

To map custom data types to ArchestrA data types


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Step 4: Assign Data Types dialog box appears. The
Imported data types column shows all values that occur in
the column that you mapped to the DataType attribute.

2 For each entry in the Imported data types column, specify


an ArchestrA data type in the ArchestrA data type
column. The data type you select for <Default> applies to
all records that don’t have a data type specified. If you
haven’t mapped any column to the DataType attribute, it
applies to all records.

Handling Imported I/O References


When you import I/O tags by mapping data columns to the
Input.InputSource and/or Output.OutputDest attributes, you
must make sure that these attributes eventually contain
valid Industrial Application Server references.
In Industrial Application Server, I/O references follow the
format DIObject.ScanGroup.ItemName. The I/O references
in the tag definitions you’re importing may not follow the
same format. For example, the I/O server name, the topic
name, and the item name might be stored in separate
columns.

ArchestrA Bulk Import Utility User’s Guide


48 Chapter 3 Importing Tag Data

To convert your existing I/O parameters into valid Industrial


Application Server references, you have several options. You
can:
• Map the DIObject and ScanGroup attributes to suitable
data columns so that the Bulk Import Utility creates
valid references automatically

• Specify a default DIObject and Scan Group that the Bulk


Import Utility should use for all imported tag definitions
that don’t have the DIObject and Scan Group explicitly
defined.
• Edit the references manually after importing. This option
also applies if your references already have the correct
format.

The following sections describe each of these options.

Mapping the DIObject and ScanGroup attributes to


columns
Map the column containing the I/O item name to the
Input.InputSource and/or Output.OutputDest attributes. Then,
map columns to the DIObject and ScanGroup attributes. The
Bulk Import Utility takes the values of the Input.InputSource
and Output.OutputDest attributes and prefixes them with the
information from the columns you mapped to the DIObject
and ScanGroup attributes. The result is a valid reference.
For example, assume you have mapped attributes as follows:

Value in mapped column for


Attribute Mapped column (example) tag “Tag1”

DIObject IOApplicationName Testprot


ScanGroup IOTopicName Topic1
Input.InputSource IOItemName i00
In this scenario, the reference Testprot.Topic1.i00 is
placed into the Input.InputSource attribute. Also, the Bulk
Import Utility automatically creates an object definition for a
DIObject named “Testprot” with a scan group named
“Topic1”. For more information, see Defining DIObjects for
I/O Sources on page 65.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Creating a New Custom Mapping 49

Specifying default settings for the DIObject and scan


group
With this option, you map only the column containing the I/O
item name to the Input.InputSource and/or Output.OutputDest
attributes. However, you don’t map any columns to the
DIObject and ScanGroup attributes. Instead, you specify
default values for these settings in Step 5 of the Tag Import
Wizard. The Bulk Import Utility then takes the values of the
Input.InputSource and Output.OutputDest attributes and
prefixes them with the default values you specified. The
result is a valid reference. Additionally, the Bulk Import
Utility automatically creates an object definition for a
DIObject and scan group using the names that you specified
as default values.
The same thing happens if you map columns to the DIObject
and ScanGroup attributes, but one or more tag definitions
don’t have any values in these columns. In that case, the
Bulk Import Utility also prefixes the Input.InputSource and
Output.OutputDest attributes with the default values.

To specify a default DIObject and scan group


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Step 5: Define Default DI Object and Scan Group
dialog box appears.

2 Under Options, click Specify default DIObject.

ArchestrA Bulk Import Utility User’s Guide


50 Chapter 3 Importing Tag Data

3 Under Default DIObject, enter the DIObject name and


scan group that you want to use as the default.

Editing I/O references manually after importing


If the previous options don’t match your needs, or if your
references are already in the correct format, you can leave
your existing references unchanged, and then edit them
individually as needed after importing.

To leave existing I/O references unchanged


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Step 5: Define Default DI Object and Scan Group
dialog box appears.
2 Under Options, click Do not specify default DIObject.

Handling Duplicate Records


You may want to import tags that have the same names as
tags that already exist in your project. For example, when
reimporting a source file after making changes to it. In that
scenario, you can skip these duplicate records, overwrite the
existing records, or import the duplicate records under a new
name.

To specify how to handle duplicate records


1 Go through the Tag Import Wizard until the Tag Import
Wizard – Final Step: Specify Duplicate Name Handling dialog
box appears.

ArchestrA Bulk Import Utility User’s Guide


Exporting and Importing Mappings 51

2 Under Duplicate name handling, specify what should


happen to entries with the same value in the Name
attribute as entries that already exist in your project. The
options are as follows:
• Skip record with duplicate name: The new entry is
skipped, and the existing entry remains unchanged.
• Replace record with duplicate name: The existing
entry is overwritten with the new one.
• Generate new name for record with duplicate name:
The new entry is added to the project, and a
numerical index is added to its name. For example, if
you are trying to import a tag called “NewTag” that
already exists, the new tag is imported as
“NewTag_001.”

Exporting and Importing Mappings


When you create and save a mapping, it is saved at the
application level. This means that you can use it in all other
Bulk Import Utility projects on the same computer. If you
want to copy a mapping to a different computer to use it
there, you must export it on the computer where you saved it,
and then import it on the other computer.

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.

ArchestrA Bulk Import Utility User’s Guide


52 Chapter 3 Importing Tag Data

Importing Tag Data by Using an Existing


Mapping
After you create and save a custom mapping, you can reuse it
for importing other files with the same structure. Simply
select the saved mapping at the start of the Tag Import
Wizard and then go directly to the last step.
The procedure described here assumes that you’ve started
the Bulk Import Utility and created or opened a project. Also,
you must have a CSV or XML file with the exported tag
definitions ready. The file must have the same structure as
the file you originally created the mapping for, otherwise
errors may occur. For information on other format
requirements, see Format Requirements for Tag Definitions
from other HMI Systems on page 17.

To import tags using an existing mapping


1 Do one of the following:
• In the workflow panel, click the Run Import Wizard
button.
• On the File menu, point to Import, and then click Tag
Data.
The Open File for Import dialog box appears.
2 Select the CSV or XML file you want to import, and then
click OK. The Tag Import Wizard – Step 1: Select Mapping
dialog box appears.
3 In the Data Mapping list, click the mapping you want to
use.
If necessary, specify which rows of data the import
process should exclude, for example, comment lines. For
more information, see Excluding Rows from Importing on
page 40.
Click Next. If the Bulk Import Utility detects any errors
in your source file, it allows you to skip the offending
record(s) or abort the import process. If you abort the
import process, the Bulk Import Utility marks the
offending row(s) with a red exclamation mark icon to help
you locate them.
If there are no errors, the Tag Import Wizard – Final Step:
Specify Duplicate Name Handling dialog box appears.
4 Specify what happens if you try to import entries that
already exist in your project. For more information, see
Handling Duplicate Records on page 50.
5 The table in the lower part of the dialog box shows what
your imported tag definitions will look like. Click Finish.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data by Using an Existing Mapping 53

The Bulk Import Utility imports your tag definitions into


the current project. When it’s done, the main screen
appears again, with the Raw Data view showing your
imported tags. You can now start creating an object
structure. For more information, see Chapter 4, Defining
Objects based on Imported Tag Data.

ArchestrA Bulk Import Utility User’s Guide


54 Chapter 3 Importing Tag Data

ArchestrA Bulk Import Utility User’s Guide


55

Chapter 4

Defining Objects based on


Imported Tag Data

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

ArchestrA Bulk Import Utility User’s Guide


56 Chapter 4 Defining Objects based on Imported Tag Data

Workflow: Defining Objects based on


Imported Tag Data
The general workflow for defining objects based on imported
tag data looks as follows:

Download
Main Steps Edit raw data
templates
Define objects

Check auto-
Possible tasks Edit data directly created DIObjects
& areas

Search, replace & Use automatic


prefix filtering & grouping

Create objects
manually

Associate object
definitions with
templates

Fine-tune objects

The workflow consists of three main steps. The tasks you


must perform at each step vary depending on your needs.
• If necessary, edit the raw data to suit your needs. You can
edit data in the cells directly, delete rows, search and
replace text, and add a prefix to the data in a column. For
information on editing data in the Raw Data view, see
Raw Data View on page 58. For information on searching,
replacing and prefixing text, see Searching for and
Replacing Values in Data Columns on page 63.
• Download templates from Industrial Application Server.
Before you can associate your new object definitions with
actual templates, you must download these templates.
For more information, see Downloading Templates from
Industrial Application Server on page 74.

ArchestrA Bulk Import Utility User’s Guide


Working with the Different Views 57

• Define objects by filtering and grouping the raw data and


associating the resulting “abstract” object definitions
with “real” templates. For more information, see Creating
UDO Instances by Filtering and Organizing Tags on
page 68 and Associating Object Definitions with
Templates on page 75. Alternatively, you can create
instances and templates manually. For more information,
see Manually Creating Object Instances and Derived
Templates on page 78.

Depending on your tag mapping settings, the Bulk


Import Utility may automatically create Area and
DIObject definitions. For more information, see Defining
DIObjects for I/O Sources on page 65 and Defining Area
Objects for Alarm Groups on page 66.
Finally, you can manually edit objects to fine-tune them
to your needs. For more information, see Manually
Editing Objects and Attribute Settings on page 78.
After you define your objects and associate them with
templates, you can upload them to Industrial Application
Server to make them available in the Galaxy. For more
information, see Chapter 5, Uploading Objects to the Galaxy.

Working with the Different Views


As you work with your data in the Bulk Import Utility, you
use different “views”. This section explains what views there
are, and what each of the different views is good for.
There are four views in the Bulk Import Utility:
• the Raw Data view
• the Structured Data view
• the Cross Reference view

• the Galaxy view

For an overview of their locations, see Overview of the User


Interface on page 13. You switch between the Raw Data,
Structured Data, and Cross Reference views by using the
tabs in the Data panel.

ArchestrA Bulk Import Utility User’s Guide


58 Chapter 4 Defining Objects based on Imported Tag Data

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.

Raw Data View


When you import tags, they first go to the Raw Data view.
The Raw Data view simply shows all your imported tags in a
large table. For each UDO attribute, a column shows your
mapped tag configuration data. Attributes that can’t be
configured (for example, the Stats.Reset attribute) don’t
appear in the Raw Data view. Lock and security settings
don’t appear here either, because they are only relevant once
you have transformed the raw data into objects.
The Raw Data view allows you to quickly make global
changes to your imported data by searching and replacing
values. For more information, see Searching for and
Replacing Values in Data Columns on page 63. You can also
edit individual cells directly or delete rows of data.
Additionally, you can cut tags from the Raw Data view to
paste them to an object in the Galaxy view. For more
information, see Adding Attributes to an Object on page 80.
In the Raw Data view, your imported tags are still in a “flat”
namespace, just like in the original HMI system. By filtering
and organizing the raw data, you establish a structured
namespace consisting of templates and instances that
contain your original tags as UDAs and/or field attributes.
After you define such templates and instances, the
corresponding tags disappear from the Raw Data view and
become object attributes in the Structured Data view instead.

To show the Raw Data view


‹ Do one of the following:
• Click the Raw Data tab in the Data panel of the main
screen.
• Click the Raw Data button in the workflow panel. The
Raw Data panel appears.

ArchestrA Bulk Import Utility User’s Guide


Working with the Different Views 59

To edit data in the Raw Data view


‹ Click the cell you want to edit and make the required
changes.

To delete tags from the Raw Data view


1 Highlight the tags you want to delete 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 click Delete.
The Bulk Import Utility deletes the selected tag(s) from
the current project.

Structured Data View


The Structured Data view shows the objects that you defined
based on your imported tags. These object definitions are still
“abstract”, in that they aren’t associated with any actual
Industrial Application Server templates as yet. To associate
them with a template, you drag them onto the desired
template in the Galaxy view. Your objects are then moved
from the Structured Data view to the Galaxy view to show
the association.

To show the Structured Data view


‹ Do one of the following:
• Click the Structured Data tab in the Data panel of the
main screen.
• Click the Structured Data button in the workflow
panel. The Structured Data panel appears.

ArchestrA Bulk Import Utility User’s Guide


60 Chapter 4 Defining Objects based on Imported Tag Data

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.

To show the Galaxy view


‹ The Galaxy view is usually visible in the Objects panel in
the lower part of the main screen. However, it disappears
when the Filter & Organize Data panel is active. In this
case, do one of the following to activate it again:
• On the View menu, click Galaxy View.
• In the Filter & Organize Data panel, click Close. The
Galaxy panel appears.

ArchestrA Bulk Import Utility User’s Guide


Working with the Different Views 61

Cross Reference View


The Cross Reference view shows a listing of the tag data files
that you imported into the current project, along with the
mapping that you used. The first column shows the name of
the imported file. Each other column represents one UDO
attribute and shows the column name from the imported file
that you mapped it to.

To show the Cross Reference view


‹ Click the Cross Reference tab in the Data panel of the
main screen.The Cross Reference panel appears.

ArchestrA Bulk Import Utility User’s Guide


62 Chapter 4 Defining Objects based on Imported Tag Data

Configuring the Display Columns


You can configure which UDO attributes are shown in the
Raw Data, Structured Data and Cross Reference views. You
can also configure their display order.

To configure the displayed attributes


1 On the Customize menu, click Attribute Selection. The
Attribute Selection dialog box appears.

2 To show or hide an attribute column, select or clear its


check box. If you select an attribute whose functionality
depends on another attribute being enabled, that other
attribute is automatically enabled for display.
3 To change the position of an attribute in the column
order, drag it to the new location.
4 Click OK.

Note You can’t hide the Name, DataType, Value,


Input.InputSource, Output.OutputDest, and Output.DiffAddr
columns.

ArchestrA Bulk Import Utility User’s Guide


Searching for and Replacing Values in Data Columns 63

Sorting the Data Display


In all views, you can sort the data tables by any column.

To sort the data display


‹ Click a column heading. To reverse the sorting order,
click the column heading again.

Searching for and Replacing Values in Data


Columns
In the Raw Data view, you can search for and replace values
in entire columns of data. You can also add a prefix to I/O
references, which is useful for adding a DIObject or scan
group specification to your references.

Note You can’t undo a search-and-replace or prefixing operation,


so save your project before you make global changes using the
Replace All feature.

To search for and replace values


1 Do one of the following:
• To search for and replace values in an entire column,
right-click anywhere in that column, and then click
Update Data.
• To search only specific rows of data, select the rows
using their row headers. Right-click anywhere in the
column you want to edit, and then click Update Data.
The Update Data dialog box appears.

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.

ArchestrA Bulk Import Utility User’s Guide


64 Chapter 4 Defining Objects based on Imported Tag Data

3 If you want to replace occurrences of the value you’re


searching for, enter the replacement value in the Replace
with box. For columns that can only contain specific
values, you can select the value from a list.
4 If the column you are searching contains text values,
specify the text search options under Search Options:
• If you want the search to be case-sensitive, select the
Match case check box.
• If you are using wildcards in your search text, select
the Use Wildcards check box. For more information,
see Using Wildcards on page 65.
5 Use the Find Next, Replace, and Replace All buttons to
search for and replace values.

To add a prefix to I/O references


1 Do one of the following:
• To prefix references in an entire column, right-click
anywhere in the Input.InputSource or
Output.OutputDest column, and then click Update
Data.
• To search only specific rows of data, select the rows
using their row headers. Right-click anywhere in the
Input.InputSource or Output.OutputDest column, and
then click Update Data.
The Update Data dialog box appears.
2 Under Update Options, click Prefix.
3 To prefix only cells that match a specific search pattern,
enter that pattern in the Find what box.
4 In the Prefix with box, enter the prefix that you want to
add to the reference.
5 Specify the search options under Search Options:
• If you want the search to be case-sensitive, select the
Match case check box.
• If you are using wildcards in your search text, select
the Use Wildcards check box. For more information,
see Using Wildcards.
6 Use the Find Next, Replace, and Replace All buttons to find
matching references and prefix them.

ArchestrA Bulk Import Utility User’s Guide


Defining DIObjects for I/O Sources 65

Using Wildcards
When you search for text, you can use the following wildcard
characters:

Wildcard Result

* Matches one or more characters. For


example, “Boiler*_Temp” matches
“Boiler9_Temp” as well as
“Boiler13_Temp”.
? Matches any single character. For example,
“Boiler?_Temp” matches “Boiler9_Temp”
and “Boiler3_Temp”, but not
“Boiler13_Temp”.
< The search text must occur at the
beginning of a string. For example, “<oil”
matches “Oil_Temp”, but not
“Boiler_Temp”.
> The search text must occur at the end of a
string. For example, “oil>” matches
“Temp_Oil”, but not “Boiler_Temp”.

To search for literal occurrences of a wildcard character,


prefix it with a \ (backslash). For example, to find strings
that contain a question mark, enter “\?” as the search string.

Defining DIObjects for I/O Sources


Typically, a lot of your imported tags will be I/O tags that
connect to data items on the plant floor. In Industrial
Application Server, I/O communications are handled by
so-called DIObjects that provide complete I/O server
functionality in a single object. To refer to an I/O item, you
use an attribute reference in the format of
DIObject.ScanGroup.ItemName.
When you import tags, there are various ways to make sure
that the imported tags use valid I/O references. For more
information, see Handling Imported I/O References on
page 47. Unless you tell the Bulk Import Utility to leave your
existing references unchanged, it automatically creates
DIObject definitions as follows:
• If you map a column to the DIObject attribute, the Bulk
Import Utility creates a DIObject definition for every
unique value it finds in that column. Additionally, if you
map a column to the ScanGroup attribute, it defines scan
groups on each DIObject in the same manner.

ArchestrA Bulk Import Utility User’s Guide


66 Chapter 4 Defining Objects based on Imported Tag Data

• If you specify a default DIObject and scan group, the Bulk


Import Utility additionally creates a DIObject and scan
group definition using these default names.

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.

Renaming an Automatically Created DIObject


If you want to use different names for automatically created
DIObjects or scan groups, you can rename them. However,
the Bulk Import Utility does not update any I/O references of
existing tags accordingly. You must update the references
manually. For more information, see Searching for and
Replacing Values in Data Columns on page 63.

To rename an automatically created DIObject or scan group


1 Open the Structured Data view.
2 In the object tree, expand DI Objects and locate the object
or scan group you want to rename. To find a scan group,
expand the object that hosts it, then expand Attributes,
and then expand ScanGroupList.
3 Click the object or scan group and press F2.
4 Enter the new name and press ENTER.
5 At the prompt, click Yes.

Defining Area Objects for Alarm Groups


In Industrial Application Server, alarms are organized in
so-called “areas”. Areas represent an organizational level in
the physical plant layout and can be nested to create a
hierarchy. They serve the same purpose as alarm groups in
InTouch.
When you import tags, you can map a column to the Area
attribute. In this case, the Bulk Import Utility creates an
area definition for every unique value it finds in that column.
After you have imported your tags, you can see these areas in
the Structured Data view under Areas. You can simply assign
them to a suitable area object template and upload them. For
more information, see Associating Object Definitions with
Templates on page 75.

ArchestrA Bulk Import Utility User’s Guide


Defining Area Objects for Alarm Groups 67

Renaming an Automatically Created Area


If you want to use different names for automatically created
areas, you can rename them. Note the following restrictions:
• When you rename an area in the Structured Data view,
the Bulk Import Utility updates area references of tags in
the Raw Data view and objects in the Structured Data
view. It does not update area references of objects in the
Galaxy view.
• When you rename an area in the Galaxy view, the Bulk
Import Utility only updates area references of objects in
the Galaxy view. It does not update area references in the
Raw Data or Structured Data views.

To rename an automatically created area


1 Open the Structured Data or Galaxy view.
2 In the object tree, expand Areas and locate the area you
want to rename.
3 Click the area and press F2.
4 Enter the new name and press ENTER.

ArchestrA Bulk Import Utility User’s Guide


68 Chapter 4 Defining Objects based on Imported Tag Data

Creating UDO Instances by Filtering and


Organizing Tags
The Bulk Import Utility can automatically suggest suitable
templates and instances based on patterns in your tag names
or I/O references. To do this, it checks the following criteria:
• Is there a specific character in the tag names or I/O
references that separates an “object” part from an
“attribute” part? For example, in a tag called
“Boiler1_Temp,” “Boiler1” is an object, and “Temp” one of
its attributes.
• If there is no such character, is there a numeric index
that occurs after a fixed string? For example, if you have
tags called “Boiler001Temp” and “Boiler002Temp,”
“Boiler001” and “Boiler002” are object names, and “Temp”
the attribute name.

This section explains how to use this automatic filtering and


organizing feature to define objects. It describes the general
procedure and explains the rules that the Bulk Import Utility
uses to define objects. The best way to learn how to use this
feature, however, is trying it out with some sample data. For
some examples, see Examples: Filtering and Organizing Tags
on page 72.

Using the Filter & Organize Data Feature


The following procedure describes the general steps to use
the Filter & Organize Data feature. For an explanation of the
rules by which the Bulk Import Utility suggests templates
and instances, see Rules used when Defining Objects on
page 70. For some examples, see Examples: Filtering and
Organizing Tags on page 72.

To use the Filter & Organize Data Feature


1 Do one of the following:
• Click the Filter & Organize Data button in the
workflow panel.
• On the Data menu, click Filter & Organize Data.
The Filter & Organize Data panel appears in the bottom
part of the screen.

ArchestrA Bulk Import Utility User’s Guide


Creating UDO Instances by Filtering and Organizing Tags 69

2 Under Selection Criteria, specify which tags the Bulk


Import Utility should try to organize. The Bulk Import
Utility takes all tags that meet the criteria you specify
here, and then applies a set of rules to determine which
templates and instances to suggest. For an explanation of
these rules, see Rules used when Defining Objects on
page 70.
• In the Pattern box, enter a string that the tag’s name
or I/O reference must contain. If you are using the
Attribute Delimiter option, you can use wildcards in
this pattern. For more information, see Using
Wildcards on page 65. If you are not using the
Attribute Delimiter option, you can only use the <
wildcard at the beginning or the * wildcard at the end
of the pattern.
• In the Raw Data Column list, click the attribute that
the Bulk Import Utility should search for the
specified pattern. You can select either Name,
Input.InputSource, or Output.OutputDest.
• If you want the search to be case-sensitive, select the
Match Case check box.
3 If the values in the column that you selected as the Raw
Data Column (i. e. tag names or I/O references) contain a
specific character that separates an “attribute name” part
from an “object name” part, select the Attribute Delimiter
check box and specify the delimiter options.
• In the Delimiter list, click the delimiter character, or
enter it if it isn’t included in the predefined options.
(You can’t use letters, digits or spaces as the delimiter
character.)
• In the Occurrence box, specify at which occurrence
the character should be interpreted as an actual
delimiter. This is useful if your tag names or I/O
references contain the character multiple times, but
only one of the occurrences actually separates the
object part from the attribute part. Valid values are 1
to 5.
• Click Left to Right if the occurrences should be
counted from the start of the tag name, or Right to
Left if they should be counted from the end.

ArchestrA Bulk Import Utility User’s Guide


70 Chapter 4 Defining Objects based on Imported Tag Data

4 Click Apply. If any tags match your criteria, an object tree


appears in the lower part of the panel. It shows the
suggested templates and instances.

A plus sign (+) next to an object name means that the


object is a template and has instances derived from it. To
see the instances, expand the object.
To see the attributes associated with a template or
instance, click its name. These attributes, shown in the
Attributes table, are based on your original imported tags.
The Original Name column shows their original tag name.
5 To accept suggested templates and/or instances, select
their check boxes, and then click Define Object. To close
the Filter & Organize Data panel without making any
changes to your data, click Close.

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.

The Bulk Import Utility adds the selected templates and


instances to the Structured Data view. You can now associate
the newly created template with a “real” template
downloaded from Industrial Application Server. For more
information, see Associating Object Definitions with
Templates on page 75.

Rules used when Defining Objects


When you use the Filter & Organize Data panel, the
following rules determine which templates and instances the
Bulk Import Utility suggests:

ArchestrA Bulk Import Utility User’s Guide


Creating UDO Instances by Filtering and Organizing Tags 71

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.

ArchestrA Bulk Import Utility User’s Guide


72 Chapter 4 Defining Objects based on Imported Tag Data

4 The newly defined UDAs and field attributes inherit the


configuration of the tags that they are based on. For
attributes defined at the template level, the value of any
configuration parameter is set in the template only if that
value is the same among all of the original tags that are
used in the instances. Otherwise, the Bulk Import Utility
uses the default value for that parameter in the template,
and the actual values of the original tags in the instances.
This behavior matches the regular inheritance model
between templates and instances that is used elsewhere
in Industrial Application Server.
5 If the Bulk Import Utility can’t determine any reasonable
instance names using the methods described above, it
creates a template called “<Default>” and adds all tags as
attributes under their original names.

Note If your tag names don’t have a delimiter character to


distinguish the “attribute” part from the “object” part, the Bulk
Import Utility’s ability to determine instance names is limited (see
rule 2b). For more flexibility, you can insert a delimiter character
by editing the tags in the Raw Data view. For example, if you have
tags called BoilerALevel, BoilerBLevel, and so on, change all
occurrences of “Level” to “_Level” using the search-and-replace
feature.

Examples: Filtering and Organizing Tags


Assume that you have the following tags:
• Boiler1_TankLevel to Boiler10_TankLevel

• Boiler1_Temp to Boiler10_Temp

• Stats_Boiler1 to Stats_Boiler10

The following table shows the result of using different


settings to organize these tags:

Filter settings Results Remarks

Pattern: Boiler, Raw 1 template ($Boiler), 11 Because the search pattern


Data Column: Name, instances (Boiler1..10, also matches the “Stats” tags
delimiter: _, first Stats), no attributes on the (see rule 1), no attributes are
occurrence from the template level, all common to all instances (see
right attributes at the instance rule 3). The “Boiler” instances
level have “TankLevel” and “Temp”
as attributes, the “Stats”
instance has “Boiler1” to
“Boiler10.”

ArchestrA Bulk Import Utility User’s Guide


Creating UDO Instances by Filtering and Organizing Tags 73

Filter settings Results Remarks

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

ArchestrA Bulk Import Utility User’s Guide


74 Chapter 4 Defining Objects based on Imported Tag Data

Downloading Templates from Industrial


Application Server
Before you can associate your new object definitions with
actual templates, you must download these templates from
Industrial Application Server. You can download the
following templates:
• For area definitions: $Area and any derived templates

• For DIObject definitions: Any DIObject templates

• For UDO definitions: $UserDefined and any derived


templates

When you download a template, the Bulk Import Utility


stores a local copy in the current project.

To download a template from Industrial Application Server


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 Download Templates.
• Click the Download Templates button in the workflow
panel.
The Download Templates dialog box appears.

4 Select the check boxes of the templates you want to


download. If you select a derived template, its parent
template is automatically selected.

ArchestrA Bulk Import Utility User’s Guide


Associating Object Definitions with Templates 75

5 In the Template conflict area, specify what should happen


if one of the selected templates already exists in your
project. The options are as follows:
Skip: The selected template is skipped. The version
that exists in your project remains unchanged.
Overwrite: The version of the template that exists in
your project is overwritten with the version
downloaded from Industrial Application Server.
Prompt: The Bulk Import Utility asks you on a
case-by-case basis whether you want to skip or
overwrite the template, or stop the download
completely.
6 Click Download. The Download Templates dialog box
shows you the status of the download process.
7 When the download is finished, click Close.
The downloaded templates are now available in the Galaxy
view and you can associate your object definitions with them.
The “lock” symbol on the templates’ icons means that the
templates are protected from editing to prevent inadvertent
changes. You can’t unlock base templates, but you can unlock
derived templates to remove this protection. However, this
has consequences for uploading templates. For more
information, see Manually Editing Objects and Attribute
Settings on page 78.

Associating Object Definitions with


Templates
By associating your object definitions with templates
downloaded from Industrial Application Server, you create
derived templates and instances that you can upload to the
Galaxy. This section explains how to do this. Note the
following:
• To associate a single template, instead of following the
procedure below, you can simply click the template in the
Structured Data view and drag it onto the template in
the Galaxy view.

• You can only associate templates, not individual


instances.
• The types of the templates must match. For example, you
can only associate a DIObject definition with a DIObject
template, and a User-Defined Object definition with a
template derived from the $UserDefined base object.

ArchestrA Bulk Import Utility User’s Guide


76 Chapter 4 Defining Objects based on Imported Tag Data

Caution After you associate an object with a template, the


association is permanent. You can’t move the object to a different
template.

To associate object definitions with a downloaded template


1 Open the Structured Data view and the Galaxy view.
In the Structured Data view, click the tree node
containing the templates that you want to associate
(Areas, DI Objects, or User Defined Objects). The grid to the
right of the object tree shows all templates in that
category.
2 Select the templates that you want to associate by
clicking their row headers. To select multiple rows, hold
down SHIFT and/or CTRL while clicking.
3 Right-click on the selected row(s) and click Cut.
4 In the Galaxy view, locate the template that you want to
associate your templates with. Right-click it, and then
click Paste.
The templates and their instances, if any, are moved from
the Structured Data view to the Galaxy view. They
become derived templates of their new parent template
and inherit the latter’s attributes, scripts, and so on.

Dealing with Inherited Attributes


When you associate an object with a template, it inherits all
of the template’s attributes. To avoid naming conflicts, the
object must not have any attributes that have the same name
as attributes that are already defined in the template. If
there are duplicate attribute names, the Bulk Import Utility
prevents you from associating the object with the template.
You must rename the offending attribute(s) either at the
template or at the object level, and then try again.

To view the attributes of a template or instance


1 In the Galaxy view, expand the object whose attributes
you want to see.
2 Expand Attributes and click UDAs or FieldAttributes.

ArchestrA Bulk Import Utility User’s Guide


Associating Object Definitions with Templates 77

The object’s UDAs or field attributes appear. There are


separate sections for inherited attributes and the object’s
own attributes.

To rename an attribute in an object definition or template


1 In the Structured Data or Galaxy view, expand the
instance or template whose attributes you want to
rename.
2 Expand Attributes.
3 Click UDAs or FieldAttributes.The following screen
appears.

4 In the Name column of the Attributes table, change the


name of the attribute.

ArchestrA Bulk Import Utility User’s Guide


78 Chapter 4 Defining Objects based on Imported Tag Data

Manually Creating Object Instances and


Derived Templates
If the automatic filtering and organizing feature doesn’t meet
your needs, you can create object instances and derived
templates from other templates manually. You can then cut
tags from the Raw Data view and paste them to the newly
created object as UDAs or field attributes.

To manually create an instance or derived template


1 In the Galaxy view, locate the template from which you
want to create an instance or derived template. This can
be a template downloaded from Industrial Application
Server, or a template that you created in the Bulk Import
Utility and then associated with a downloaded template.
2 Right-click the template, point to New, and then click
Instance or Derived Template. The Bulk Import Utility
inserts the new object with a default name.
3 Enter a new name for the object and press ENTER.
You can now add attributes to the new object or template
as required. For more information, see Manually Editing
Objects and Attribute Settings.

Manually Editing Objects and Attribute


Settings
Before you upload your newly created templates and
instances to Industrial Application Server, you can manually
edit them as needed. For example, you can change attribute
values or add new attributes.
Remember the following restrictions on editing:
• Editing downloaded templates: When you download a
template from Industrial Application Server, it is “locked”
by default, which means that you can’t make any changes
to it. To edit it, you must unlock it first. To unlock a
template, right-click it, and then click Unlock. You can
only unlock derived templates, but not base templates
like $Area or $UserDefined.

After you unlock a template, you can’t upload it back to


the same Galaxy to overwrite the version that is already
there. You must rename either version, delete the
original version, or upload the new version to a different
Galaxy.

ArchestrA Bulk Import Utility User’s Guide


Manually Editing Objects and Attribute Settings 79

• Version conflicts related to downloaded templates:


For information on what happens when the version of a
template in the Bulk Import Utility differs from the
version already present in Industrial Application Server,
see What Happens in Case of Naming or Version
Conflicts? on page 87.
• Editing inherited attributes: As is always the case in
Industrial Application Server, the values of inherited
attributes can only be changed if they aren’t locked at the
parent template level.
• Invalid values: For certain attributes, you can enter
invalid values that can lead to object errors or warnings
in Industrial Application Server. For example, you might
enter a minimum value that is greater than the
corresponding maximum value. In this case, the Bulk
Import Utility marks the offending row with an error
icon. To see a detailed error description, move your mouse
pointer over the icon.
• Changing the data type of attributes: If you change
the data type of a UDA or field attribute, the Bulk Import
Utility does not automatically replace the old attribute
value with a value of the new data type. You must enter a
suitable value manually.

To lock or unlock an attribute in a template


1 In the Galaxy view, expand the template.
2 Expand Attributes.
3 Click UDAs or FieldAttributes. The object’s UDAs or field
attributes appear.

4 To the right of each lockable attribute in the Attributes


table, there is a column titled Locked - attribute name. To
lock the attribute, select the check box in that column. To
unlock the attribute, clear the check box.

To edit attribute values


1 In the Galaxy view, expand the object you want to edit.
2 Expand Attributes.

ArchestrA Bulk Import Utility User’s Guide


80 Chapter 4 Defining Objects based on Imported Tag Data

3 Click UDAs or FieldAttributes. The object’s UDAs or field


attributes appear.
4 Make any changes in the Attributes and/or Inherited
Attributes tables.

Adding Attributes to an Object


You can add attributes to an object. Follow the steps below.

To add a new UDA or field attribute to an object


1 In the Galaxy view, expand the object you want to edit.
2 Expand Attributes.
3 Right-click UDAs or FieldAttributes, and then click Add
New. A new attribute appears in the Attributes table.
4 Edit the new attribute as required.

To add a new scan group or block read/write list to a DIObject


1 In the Galaxy view, expand the object you want to edit.
2 Expand Attributes.
3 Right-click ScanGroupList, BlockReadList or BlockWriteList,
and then click Add New. A new item appears in the table.
4 Edit the new item as required.

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.

Creating UDA Arrays


The Bulk Import Utility supports adding UDA arrays to your
objects. To create an array, follow the steps below.

ArchestrA Bulk Import Utility User’s Guide


Manually Editing Objects and Attribute Settings 81

To create a UDA array


1 Add a UDA of the desired data type to an object, as
described in Adding Attributes to an Object on page 80.
2 Enable the IsArray attribute of the UDA.
3 In the ArrayElementCount attribute of the UDA, specify
how many elements the array should have.
4 In the Value attribute of the UDA, enter the values of the
array elements, separated by the list separator character
that is specified in the current OS locale. If you don’t
enter a value for a given element, the Bulk Import Utility
sets it to the default value of the array’s data type. For
example, if you enter “3,,4,7” for an Integer array with
five elements, the element values are 3, 0, 4, 7, and 0.

Note The length of the Value attribute is limited to 65,533


characters.

Deleting Attributes or Objects


To delete attributes from an object
1 In the Galaxy view, expand the object you want to edit.
2 Expand Attributes.
3 Click UDAs or FieldAttributes. The object’s UDAs or field
attributes appear.
4 Highlight the attributes you want to delete by clicking
their row headers. To select multiple attributes, hold
down SHIFT and/or CTRL while clicking.
5 Right-click on the highlighted row(s), and then click
Delete.
6 At the prompt, click Yes to delete the attribute(s).

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.

ArchestrA Bulk Import Utility User’s Guide


82 Chapter 4 Defining Objects based on Imported Tag Data

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

• 32 analog field attributes

• 32 discrete field attributes

ArchestrA Bulk Import Utility User’s Guide


83

Chapter 5

Uploading Objects to the Galaxy

After you define your objects and associate them with


Industrial Application Server templates, you upload them to
the Galaxy. Afterwards, you can work with these objects just
like with any other object created through the IDE.
This section describes the upload process and provides some
additional information on what happens in case of version
conflicts.

Validating Objects Prior to Uploading


Before you can upload your objects, you must validate them.
The validation checks for standard errors to make sure that
you don’t upload corrupted objects.
The Bulk Import Utility forces a validation during the upload
process. Additionally, you can validate objects separately at
any time as described in the following procedure.

Note The Bulk Import Utility does not validate any item names or
references in scan groups and block read/write lists of DIObjects.

ArchestrA Bulk Import Utility User’s Guide


84 Chapter 5 Uploading Objects to the Galaxy

To validate objects
1 On the Data menu, click Validate. The Validate Objects
dialog box appears.

2 Select the check boxes of the objects you want to validate.


If you select a derived template or instance, its parent
templates are automatically selected.
3 Click Validate. The validation results appear in the
bottom part of the dialog box.
4 Review the results and then click Cancel to close the
dialog box.

Understanding Validation Errors


Validation errors are usually self-explanatory. They
generally relate to one of the following causes:
• Naming problems. An object name is too long, contains
invalid characters, uses a reserved keyword, and so on.
• Data type problems. A value does not follow the
required format.
• Value range problems. A value is outside the allowed
range or is inconsistent with another value. For example,
a minimum value that is greater than the corresponding
maximum value.

ArchestrA Bulk Import Utility User’s Guide


Uploading Objects to Industrial Application Server 85

• Relationships with other objects. For example, an


object refers to a container or area object that either
doesn’t exist or wasn’t selected for validation. To fix this
error, you must validate and upload the related object
along with the object that refers to it.

Uploading Objects to Industrial Application


Server
By uploading your objects, you make them available in the
Industrial Application Server Galaxy. Afterwards, you can
work with these objects just like with any other object
created through the IDE.
For more information on what happens in case of naming or
version conflicts, see What Happens in Case of Naming or
Version Conflicts? on page 87.

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

ArchestrA Bulk Import Utility User’s Guide


86 Chapter 5 Uploading Objects to the Galaxy

• Click the Upload Objects button in the workflow


panel.
The Upload Objects dialog box appears.

4 Select the check boxes of the objects you want to upload.


If you select a derived template, its parent templates are
selected automatically.
5 Click Validate. The validation results appear in the
bottom part of the dialog box. If there are errors, you
must fix them before you can start the upload process.
For more information, see Understanding Validation
Errors on page 84.
6 In the Locale list, click English - US or OS settings,
depending on which locale is used in your Galaxy. You
must specify the correct setting, otherwise you can’t
upload any object instances.
7 Under Template conflict, specify what should happen if
errors or naming conflicts occur while uploading
templates. The options are as follows:
• Ignore Errors: If this option is disabled, the Bulk
Import Utility reports each error separately and asks
you whether you want to continue or stop the upload
process. If you enable this option, the Bulk Import
Utility still writes errors to the upload progress log,
but doesn’t notify you each time.

ArchestrA Bulk Import Utility User’s Guide


Uploading Objects to Industrial Application Server 87

• Do not prompt on name conflict with locked template:


If you try to upload a locked template that already
exists in the Galaxy, the Bulk Import Utility skips it,
and the version in the Galaxy remains unchanged. If
this option is enabled, the Bulk Import Utility writes
a message to the upload progress log every time this
happens, but doesn’t require any action from you. If
you disable this option, the Bulk Import Utility asks
you every time whether you want to continue or stop
the upload process.
8 Under Pre-existing instance conflict, specify what should
happen if you try to upload instances that already exist in
the Galaxy. The options are as follows:
• Replace entire instance: The version in the Galaxy
gets overwritten with the new version.
• Only update changed attributes: Only new attributes
and changed values of existing attributes are
uploaded.
• Skip: The Bulk Import Utility skips the instance. The
existing version in the Galaxy remains unchanged.
9 Click Upload. The Upload Progress dialog appears,
showing you the upload progress. If there are any errors
that require your intervention, the Bulk Import Utility
prompts you.
10 When the upload is finished, click Close.

What Happens in Case of Naming or Version


Conflicts?
Because the Bulk Import Utility is an “offline” application,
version conflicts between locally saved objects and objects in
the Galaxy may occur. For example, you might make changes
to a template in the Industrial Application Server IDE while
a downloaded version of the template exists in your project.
In this case, the two versions would be “out of sync.”
The Bulk Import Utility applies the following rules when
uploading objects:
• The Bulk Import Utility never deletes or modifies
existing templates in the Galaxy.

ArchestrA Bulk Import Utility User’s Guide


88 Chapter 5 Uploading Objects to the Galaxy

• If a template exists both in the Bulk Import Utility and in


the Galaxy, the Bulk Import Utility only processes it if it’s
locked. If the template is unlocked (for example, if you
edited it in the Bulk Import Utility), you can’t upload it
back to the Galaxy. Hence, you can’t upload any
templates or instances derived from it either. To resolve
this, you can rename either version, upload the template
to a different Galaxy, or download the template again (in
which case your modifications will be lost).
• Instances are always derived from the template version
in the Galaxy. For example, let’s assume you upload a
new template and some instances via the Bulk Import
Utility. You then make some changes to the template in
the IDE, but leave the version in the Bulk Import Utility
unchanged. If you now create some more instances in the
Bulk Import Utility and upload them, they will be based
on the updated template version from the Galaxy, not the
original version still in the Bulk Import Utility.
• If there is an error while uploading a template, the Bulk
Import Utility skips all instances and templates derived
from it.

• If there are identically named instances in the Bulk


Import Utility and in the Galaxy, the upload behavior
depends on which option you select in the Upload Objects
dialog box. For more information, see the main procedure
in Uploading Objects to Industrial Application Server on
page 85.

Exporting Objects as a Galaxy Dump File


Instead of uploading instances directly, you can export them
as a Galaxy Dump file that you can later import via the
Industrial Application Server IDE. The Galaxy Dump file
contains only instances, but no templates.

To export objects as a Galaxy Dump file


1 On the File menu, point to Export, and then point to
Instances as Galaxy Dump.
2 Click English - US or OS settings, depending on which
locale is used in your Galaxy. The Save As dialog box
appears.
3 Enter a name for the file, and then click Save.
The Bulk Import Utility exports all instances to the
specified file using the format settings (decimal settings,
delimiter, etc.) of the selected locale.

ArchestrA Bulk Import Utility User’s Guide


89

Appendix A

Tutorial: Migrating a Sample


Application

This tutorial describes the entire process of transforming the


tag structure of a sample HMI application into an object
structure. It covers each step of the process as outlined in the
main workflow (see Workflow: Migrating a Legacy Tag
Structure to an Object Structure on page 12). Read this
chapter and try out the examples using your own data as you
move along. This will help you become familiar with the Bulk
Import Utility more quickly.
This tutorial does not cover a specific HMI system. If you’re
using InTouch, some of the steps related to creating a tag
mapping are irrelevant to you because you can use the
predefined InTouch tag mapping. The rest of the process,
however, stays the same.

The Sample Project


In this tutorial, we’ll assume that you want to migrate a
simple application that works in the following environment:
There are 10 boilers, each with devices that control or report
the tank level, tank temperature, mixer and heater status,
and inlet/outlet valve status. Some of the boilers have a
second inlet valve and/or a pressure sensor. In your HMI
system, each of these data items is represented as an I/O tag.
The tags for the tank level and temperature have alarms and
value scaling configured.
Based on this environment, your application has the
following tags:

ArchestrA Bulk Import Utility User’s Guide


90 Appendix A Tutorial: Migrating a Sample Application

• Boiler1_TankLvl to Boiler10_TankLvl as I/O integer tags,


configured with I/O access parameters, value scaling, and
rate-of-change alarms.

• Boiler1_Temp to Boiler10_Temp as I/O real tags,


configured with I/O access parameters, value scaling, and
rate-of-change alarms.
• Boiler1_MixerOn to Boiler10_MixerOn,
Boiler1_HeaterOn to Boiler10_HeaterOn,
Boiler1_InValve to Boiler10_InValve, Boiler1_OutValve
to Boiler10_OutValve, all of them as I/O boolean tags,
configured with I/O access parameters.
• Boiler3_InValve2, Boiler4_InValve2 and
Boiler5_InValve2 as I/O boolean tags for those boilers
that have a second inlet valve.
• Boiler1_Pressure, Boiler4_Pressure and Boiler5_Pressure
as I/O real tags for those boilers that have a pressure
sensor.

• Stats_Boiler1 to Stats_Boiler10 as memory integer tags


that track the total number of product batches made in
each boiler.

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.

ArchestrA Bulk Import Utility User’s Guide


Preparing for Importing 91

Preparing for Importing


The Bulk Import Utility can import CSV and XML files. In
this example, we’ll assume that your existing HMI system
can export tags to a CSV file. If it exports all tags into the
same file, this file might look like the following table (rows in
bold are column headers):

!IOInteger (the following section contains I/O integer tags)

Name Server Topic Item MaxRaw MaxEU ROCPct ...

Boiler1_TankLvl PLC1 Top1 i0,010 36000 10000 5 ...


Boiler2_TankLvl PLC1 Top1 i0,020 36000 10000 5 ...
(and so on)
!IOReal (the following section contains I/O real tags)

Name Server Topic Item MaxRaw MaxEU ROCPct ...

Boiler1_Temp PLC1 Top1 f1,014 400 200 2 ...


Boiler2_Temp PLC1 Top1 f1,024 400 200 2 ...
(and so on)
!IOBoolean (the following section contains I/O boolean tags)

Name Server Topic Item Value AlmOn ... ...

Boiler1_MixerOn PLC1 Top2 b0,011 False False ... ...


Boiler2_MixerOn PLC1 Top2 b0,021 False False ... ...
(and so on)
Boiler1_HeaterOn PLC1 Top2 b0,012 False False ... ...
Boiler2_HeaterOn PLC1 Top2 b0,022 False False ... ...
(and so on)
!MemoryInteger (the following section contains memory integer tags)

Name Value MinEU MaxEU LoAlm LoLimit HiAlm ...

Stats_Boiler1 0 0 10000 False False ...


Stats_Boiler2 0 0 10000 False False ...
(and so on)
In this case, the file has multiple rows of column headers,
because each type of tag has different types of properties.
This is not a problem when using the Bulk Import Utility,
because it supports multiple header rows.

ArchestrA Bulk Import Utility User’s Guide


92 Appendix A Tutorial: Migrating a Sample Application

The column order isn’t important either, because you will


map columns based on their name, not their position in the
file.

Data type information


When you import tags, you must tell the Bulk Import Utility,
in one way or another, what the data type of each tag is. If
you don’t have many tags, you can specify a default data type
and then manually edit each tag’s type after importing.
However, if you have many tags, you should specify the data
type for each tag in a separate column in the import source
file. Then, when you import the file, you can map this column
to the DataType attribute and specify an ArchestrA data type
for each unique value that the Bulk Import Utility finds in
that column. In our example, you could insert a column called
“DataType” into the file and specify a meaningful, consistent
value for each tag that describes its data type. For example,
“Integer” for all I/O and memory integer tags, “Boolean” for
all I/O boolean tags, and so on.

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:

Data panel (with Raw Data, Structured


Data, and Cross Reference views) Workflow panel

Objects panel (with Galaxy view)

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data 93

Importing Tag Data


Now that you’ve created a project, you’re ready to import
your tags. For detailed information on this process, see
Workflow: Importing Tag Data Using Mapping on page 24.
We’ll only go through the main steps here:
1 On the File menu, point to Import, and then click Tag Data.
The Open File for Import dialog box appears.
2 Select the CSV file you created, and then click OK. The
Tag Import Wizard – Step 1: Select Mapping dialog box
appears.
3 Under Delimiters, select the column delimiter(s) used in
your CSV file.
4 Select the rows of data that the import process should
exclude. In our example, this would affect the lines
starting with an exclamation mark. These lines indicate
the beginning of a new section, but don’t contain any
information that we would want to import. To exclude
them, select their check boxes in the Exclude column.

Click Next. The Tag Import Wizard – Step 2: Select Header


dialog box appears.

ArchestrA Bulk Import Utility User’s Guide


94 Appendix A Tutorial: Migrating a Sample Application

5 Specify which rows of data contain column headings. In


our example, there are multiple header rows. You must
select them all in order to see all columns when mapping
them to attributes. To select these rows, select their check
boxes in the Heading column.

Click Next. The Tag Import Wizard – Step 3: Drag Attributes


to Headings dialog box appears. The Column headings list
shows the column names from the header rows that you
just selected. The ArchestrA attributes list shows the
available UDO attributes.
6 Map attributes to column headings. To do this, drag the
attribute names onto the column names. For our sample
file (see the table under Preparing for Importing on
page 91), your mappings would include the following:
• Map the Name column to the Name attribute.
• Map the DataType column to the DataType attribute.
(For an explanation of why this is necessary, see Data
type information on page 92.)
• Map the Server column to the DIObject attribute. This
causes the Bulk Import Utility to automatically create
DIObject definitions using the names it finds in that
column (in our example, PLC1).
• Map the Topic column to the ScanGroup attribute. This
causes the Bulk Import Utility to automatically create
scan groups for the DIObjects that it creates. In our
example, it creates two scan groups, Top1 and Top2,
for the DIObject called PLC1.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data 95

• Map the Item column to the Input.InputSource


attribute. When you go to the next step in the wizard,
the Bulk Import Utility prefixes this value with the
information it finds in the columns that you mapped
to the DIObject and ScanGroup attributes. For
example, because the “Boiler1_TankLvl” tag contains
a value of “PLC1” in the Server column, “Top1” in the
Topic column, and “i0,010” in the Item column, the
Bulk Import Utility puts the reference
“PLC1.Top1.i0,010” into the Input.InputSource
attribute.
• Map the scaling-related columns to the equivalent
attributes (for example, the MaxRaw column to the
RawMax attribute, and so on). These attributes are
child attributes of the Scaled extension attribute.
When you map a column to such a child attribute, the
Bulk Import Utility automatically enables the
extension attribute in the imported tags. This means
that you don’t have to map any column to the Scaled
attribute to enable scaling separately.
• Similarly, map the alarm-related columns to their
attribute counterparts. The same behavior also
applies here. For example, if you map the ROCPct
column to the ROC.DecreasingHi.Limit attribute, the
ROC.DecreasingHi.Alarmed attribute is automatically
enabled in the imported tags.

ArchestrA Bulk Import Utility User’s Guide


96 Appendix A Tutorial: Migrating a Sample Application

• Map any other columns to the equivalent attributes.


When you’re done, your mapping should look something
like this:

Click Next. The Tag Import Wizard – Step 4: Assign Data


Types dialog box appears. The Imported data types column
shows all values that occur in the column that you
mapped to the DataType attribute.

ArchestrA Bulk Import Utility User’s Guide


Importing Tag Data 97

7 For each entry in the Imported data types column, specify


an ArchestrA data type in the ArchestrA data type
column.

Click Next. The Tag Import Wizard – Step 5: Define Default


DI Object and Scan Group dialog box appears.

8 Because you mapped columns to the DIObject and


ScanGroup attributes earlier, the I/O references in the
Input.InputSource column already have the correct
format. However, in case some tags were missing this
information, you can now specify a default DIObject and
scan group to be added to these tags’ I/O references. For
more information, see Handling Imported I/O References
on page 47.

ArchestrA Bulk Import Utility User’s Guide


98 Appendix A Tutorial: Migrating a Sample Application

Click Next. The Tag Import Wizard – Final Step: Specify


Duplicate Name Handling dialog box appears.

9 Because you’re importing your source file for the first


time, there can’t be duplicate records, so it doesn’t matter
which option you choose here.
The table in the lower part of the dialog box shows what
your imported tag definitions will look like.
Click Finish. The Save Mapping dialog box appears.
10 To save your new mapping for future use, enter a name
and click Save.
The Bulk Import Utility imports your tags into the
current project. When it’s done, the main screen appears
again, with the Raw Data view showing your imported
tags. You can now start creating an object structure.

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.

ArchestrA Bulk Import Utility User’s Guide


Defining Objects 99

Editing data prior to defining objects


In our example, we wanted to make some changes to the
imported tags. For example, we wanted tank temperature to
be historized. You can either make these changes to the
imported raw data before defining objects, or to the objects
once they’re defined.
There are several options for making individual or global
changes to your imported raw data. For information on
editing data in the Raw Data view, see Raw Data View on
page 58. For information on searching, replacing and
prefixing text, see Searching for and Replacing Values in
Data Columns on page 63.
In this example, however, we’ll make the required changes at
the template level once we’ve defined suitable objects.

Organizing tags into objects


To create suitable templates and instances that reflect your
original tank structure, we’ll use the automatic filtering and
organizing feature. For detailed information on this feature,
see Creating UDO Instances by Filtering and Organizing
Tags on page 68. We’ll use the “Boiler” tags as an example
here.
1 On the Data menu, click Filter & Organize Data.
The Filter & Organize Data panel appears in the bottom
part of the screen.

2 In the Pattern box, enter “<Boiler”. This causes the Bulk


Import Utility to look for all tags that begin with the
string “Boiler.”
3 Leave the settings under Attribute Delimiter as they are.
They work fine for our tags: their names all have an
“object” part (for example, Boiler1) and an “attribute”
part (for example, TankLvl), separated by an underscore.
The Occurrence setting is fine too, since there is only one
underscore in the name. The direction option (left to right
vs. right to left) doesn’t matter in this case.

ArchestrA Bulk Import Utility User’s Guide


100 Appendix A Tutorial: Migrating a Sample Application

4 Click Apply. An object tree appears in the lower part of


the panel. It shows a template called “$Boiler” and ten
instances (Boiler1 to Boiler10).

Click the $Boiler template to see its attributes. The tags


that were common for each boiler are now represented as
attributes in the template: TankLvl, Temp, MixerOn,
HeaterOn, InValve, and OutValve.
5 Click each instance to see its attributes. When you look at
Boiler4, for example, you’ll see that it has two additional
attributes in addition to the attributes that it has
inherited from the $Boiler template:

That’s because there were two additional tags,


Boiler4_InValve2 and Boiler4_Pressure, that were
specific to this boiler.
6 Click Define Object to accept the suggested objects. The
objects are now moved to the Structured Data view, and
the corresponding tags are removed from the Raw Data
view. Only the “Stats” tags are now left in the Raw Data
view.
Using the “Stats” tags, we could create a template called
$Stats with attributes called “Boiler1,” “Boiler2,” etc. by
using the filtering and organizing feature. However, we
might as well simply add another attribute called “Stats”
to our $Boiler template. We’ll do that in a later section.

ArchestrA Bulk Import Utility User’s Guide


Defining Objects 101

Editing objects manually


We still wanted to make a few changes to our objects:
• Tank temperatures should be historized.

• The Stats item should be added as an attribute on the


template level.
• Because we mapped I/O references to the
Input.InputSource column, the Bulk Import Utility
automatically set the I/O access mode to InputOutput,
that is, read/write access. However, the tank level and
temperature items should be read-only.

First, we’ll set the tank temperature to be historized.


1 In the Structured Data view, expand User Defined
Objects, then $Boiler, and then Attributes. Click
FieldAttributes. The template’s field attributes appear in
the Attributes table.
2 For the Temp attribute, select the check box in the
Historized column.
That’s it! All instances inherit this setting, and to
historize values, you only need to host the instances on
an AppEngine object that is configured for history.
In a similar manner, you can now change the value in the
AccessMode column to “Input” for the TankLvl and Temp
attributes to prevent write access.
Now, we still need to add the Stats item to the template. This
can’t be done in the Structured Data view, however. You
must first associate the template definition with an actual
template from Industrial Application Server, and to do this,
you have to download that template.

Downloading templates from Industrial Application


Server
Before you can associate your new object definitions with
actual templates, you must download these templates from
Industrial Application Server. For detailed information on
this process, see Downloading Templates from Industrial
Application Server on page 74.
In this example, we’ll assume that you have derived a
template called “$BoilerOp” from the UserDefined Object in
Industrial Application Server. This template has some
scripts to control boiler operation. You want to associate your
newly defined “$Boiler” template with this template, so that
its instances inherit the scripts defined in $BoilerOp.

ArchestrA Bulk Import Utility User’s Guide


102 Appendix A Tutorial: Migrating a Sample Application

Also, you need a template to associate with the “PLC1”


DIObject that the Bulk Import Utility created automatically.
We’ll use the $OPCClient template for this.
1 On the Galaxy menu, click Connect. The Connect To Galaxy
dialog box appears. Enter the information required to
establish a connection to the Galaxy Repository, and then
click OK.
2 On the Galaxy menu, click Download Templates. The
Download Templates dialog box appears.
Select the check boxes of the templates you want to
download. In our example, select $OPCClient and
$BoilerOp. (Their parent templates are automatically
selected as well.)

3 Click Download. The Download Templates dialog box shows


you the status of the download process.
4 When the download is finished, click Close.
The downloaded templates are now available in the
Galaxy view.

Associating object definitions with templates


By associating your object definitions with templates
downloaded from Industrial Application Server, you create
actual derived templates and instances that you can upload
to the Galaxy. In this example, we’ll associate the PLC1
DIObject with the $OPCClient template, and the $Boiler
template with the $BoilerOp template.
1 Open the Structured Data view and the Galaxy view.

ArchestrA Bulk Import Utility User’s Guide


Defining Objects 103

2 In the Structured Data view, expand DI Objects and User


Defined Objects so you can see your templates.
3 In the Galaxy view, do the same so that you can see the
$OPCClient and $BoilerOp templates.
4 Drag and drop the PLC1 object onto the $OPCClient
template. Then, drag and drop the $Boiler template onto
the $BoilerOp template. The objects are moved from the
Structured Data view to the Galaxy view.

Adding attributes to an object manually


You’ll remember that we wanted to add the Stats item as an
attribute to the $Boiler template. Now that we have
associated $Boiler with a “real” template, we can do this. In
our example, we’ll cut one of the “Stats” tags from the Raw
Data view and paste it as an additional UDA to the $Boiler
template. We could also add a blank UDA and configure it
manually, but by cutting and pasting the tag, we can
preserve its existing configuration settings.
1 In the Raw Data view, highlight one of the “Stats” tags by
clicking its row header. Right-click anywhere on the
highlighted row, and then click Cut.

2 In the Galaxy view, expand the $Boiler template, then


expand Attributes.

ArchestrA Bulk Import Utility User’s Guide


104 Appendix A Tutorial: Migrating a Sample Application

3 Right-click UDAs, and then click Paste.

The selected tag is moved from the Raw Data view to the
Attributes table as a new attribute.

4 Edit the new attribute as required, for example, by


changing its name to just “Stats.”
All instances of $Boiler inherit the new attribute. You can
verify this by looking at the UDAs of each instance.

Adding additional object instances


In addition to the ten existing instances of $Boiler, we
wanted to add five more. You can either do this in the IDE
after you have uploaded your new objects, or you can do it
right from the Bulk Import Utility. We’ll describe the latter
option here.
1 In the Galaxy view, right-click the $Boiler template.
Point to New, and then click Instance. The Bulk Import
Utility inserts the new object with a default name.

2 Enter a new name for the object (for example, “Boiler11”),


and then press Enter.
3 Repeat this process for the other instances.
You’re now done creating your objects, and you’re ready to
upload them to Industrial Application Server.

ArchestrA Bulk Import Utility User’s Guide


Uploading Objects to Industrial Application Server 105

Uploading Objects to Industrial Application


Server
By uploading your objects to Industrial Application Server,
you create actual templates and instances in the Galaxy. For
detailed information on this process, see Chapter 5,
Uploading Objects to the Galaxy. The main steps are as
follows:
1 On the Galaxy menu, click Connect. The Connect To Galaxy
dialog box appears.
Enter the required information to establish a connection
to the Galaxy Repository, and then click OK.
2 On the Galaxy menu, click Upload Objects. The Upload
Objects dialog box appears.
Select the check boxes of the objects you want to upload.
In our case, select the PLC1 object, the $Boiler template,
and all of its instances.

3 Click Validate. The validation results appear in the


bottom part of the dialog box. There shouldn’t be any
errors.
4 Click Upload. The Upload Progress dialog appears,
showing you the upload progress.

ArchestrA Bulk Import Utility User’s Guide


106 Appendix A Tutorial: Migrating a Sample Application

5 When the upload is finished, click Close.


Now, when you open the Industrial Application Server
IDE, you can see your new $Boiler template in the
toolbox, and the instances in the object views.

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!

ArchestrA Bulk Import Utility User’s Guide


107

Appendix B

Sample XML Input Data

This appendix explains how the Bulk Import Utility parses


XML files and shows what an XML source file with tag
definitions might look like.

How the Bulk Import Utility Determines


Column Headings for an XML File
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.
For attributes of an element, the column heading is the
element’s name followed by an underscore and then the
name of the attribute.
Elements are only considered separate data columns if their
start and end tags directly enclose data values. In that case,
the column heading is the parent element’s name followed by
an underscore and then the name of the element. If the
element’s tags enclose child elements in addition to a data
value, or child elements only, the Bulk Import Utility does
not consider the element a data column.
For example, in the following XML fragment, the Bulk
Import Utility does not consider ElementName a data column,
because the corresponding tags enclose other child elements
in addition to the data value Data value 1:
<ElementName>
Data value 1
<ChildNodeName>
Node data 1

ArchestrA Bulk Import Utility User’s Guide


108 Appendix B Sample XML Input Data

</ChildNodeName>
</ElementName>

ChildNodeName, however, is considered a data column,


because the corresponding tags only enclose the data value
Node data 1.

Sample XML Data


A simple XML data structure for importing into the Bulk
Import Utility might look like this:
<areas>
<area name="Area01">
<process_cells>
<process_cell name="Process01"
description="Holding process">
<tank name="Tnk01">
<value>100.0</value>
<engunits>PSI</engunits>
</tank>
</process_cell>
<process_cell name="Process02"
description="Waiting process">
<tank name="Tnk02">
<value>200.0</value>
<engunits>PSI</engunits>
</tank>
</process_cell>
</process_cells>
</area>
</areas>

The Bulk Import Utility parses this data as follows:


• areas, area, process_cells, process_cell, and tank
don’t count as column names, because they contain child
elements.
• The name and description attributes are interpreted as
data columns. The column names are constructed from
the attribute name and the element name.
• The value and engunits elements are interpreted as
data columns, because they only contain a data value and
nothing else.

• The column names are constructed from the element


name and the name of the parent element. The column
name becomes ParentName_ChildName.

ArchestrA Bulk Import Utility User’s Guide


Sample XML Data 109

Based on these rules, the Bulk Import Utility assumes the


following column names and data values for importing:

process_cell_ process_cell_
area_name name description tank_name tank_value tank_engunits

Area01 Process01 Holding Tnk01 100.0 PSI


process
Area01 Process02 Waiting Tnk02 200.0 PSI
process

ArchestrA Bulk Import Utility User’s Guide


110 Appendix B Sample XML Input Data

ArchestrA Bulk Import Utility User’s Guide


111

Index

A object instances and derived templates,


manually 78
access names
projects 19
conversion during import 32
UDO instances 68
alarm groups
cross-reference view 61
conversion during import 33
CSV files
defining area objects 66
format requirements 17
area objects
options for importing 39
defining 66
renaming 67
arrays 80
D
data types, mapping 46
associating object definitions with
templates 75 default values for unmapped
attributes 46
attributes
derived templates, manually creating 78
adding to an object 80
DIObject
dealing with inherited 76
default settings for imported tags 49
default values 46
defining 65
deleting 81
mapping column 48
extension 45
renaming 66
manually editing settings 78
display columns, configuring 62
mapping data columns to 43
documentation conventions 7
C downloading templates 74
duplicate records, handling 50
columns
configuring 62
sorting 63
E
editing
creating
objects and attribute settings
new tag mappings 33
manually 78

ArchestrA Bulk Import Utility User’s Guide


112 Index

search and replace 63 conversion of access names 32


errors, understanding validation 84 conversion of alarm groups 33
excluding rows from importing 40 conversion of tag properties 30
exporting importing tags from 26
existing tags from HMI system 16
objects as a galaxy dump file 88 M
tag definitions from InTouch 17 Mapping 4
tag mappings 51 mapping
extension attributes 45 data columns to object attributes 43
data types 46
F I/O references 47
filtering and organizing tags 68 mappings
examples 72 creating 33
rules 70 exporting 51
format requirements for import files 17 importing 51
overview 23
G migrating tags to objects
galaxy dump file, exporting objects to 88 concept example 10
galaxy view 60 workflow 12

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

ArchestrA Bulk Import Utility User’s Guide


Index 113

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

ArchestrA Bulk Import Utility User’s Guide


114 Index

ArchestrA Bulk Import Utility User’s Guide

You might also like