Você está na página 1de 114

ArchestrA Bulk Import Utility Users 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.

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 Users Guide

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 Users Guide

Contents

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 Thats 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 Users Guide

Contents

ArchestrA Bulk Import Utility Users Guide

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 Bold


Monospace

Paths and filenames. Menus, commands, dialog box names, and dialog box options. 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 Users Guide

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 Users Guide

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 Users 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 Boiler1_TankTemp Boiler1_MixerOn Boiler1_BatchString Boiler2_TankLevel Boiler2_TankTemp Boiler2_MixerOn Boiler2_BatchString Boiler3_TankLevel etc.

I/O Integer I/O Real Boolean String I/O Integer I/O Real Boolean String I/O Integer etc.

All of these tags have certain parameters, such as an I/O source, alarm limits, On/Off messages, etc. Youd 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 Users 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 TankTemp MixerOn BatchString

Field Attribute, Integer Field Attribute, Float UDA, Boolean 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
Original tags Tag name
Boiler1_TankLevel Boiler1_TankTemp Boiler1_MixerOn Boiler1_BatchString Boiler2_TankLevel Boiler2_TankTemp Boiler2_MixerOn Boiler2_BatchString

$Boiler
Object attributes Attribute name Attribute type
Field Attribute, Integer Field Attribute, Float UDA, Boolean UDA, String

Tag type
Integer Real Boolean String Integer Real Boolean String

TankLevel TankTemp MixerOn BatchString

Boiler1
New data items
Boiler1.TankLevel Boiler1.TankTemp Boiler1.MixerOn Boiler1.BatchString

Boiler2
New data items
Boiler2.TankLevel Boiler2.TankTemp Boiler2.MixerOn 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 Users 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 1: Preparation

Step 2: Import tag data

Step 3: Define objects based on tag data

Step 4: Upload objects to Galaxy

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 Users 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 Users 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 Users 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 prerequisites Export tag data from HMI system Create a new project

Checking that youve 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 Users 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 Users 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 2 3 4

Start the InTouch Application Manager. Click the name of the application whose tag definitions you want to export. On the File menu, click DBDump. The CSV File to Dump To dialog box appears. 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 its 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 Users 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 Consortiums 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 Users 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.
Example(s) True -64782 1.76 5.2e10 0.01 1.7e-8 This is a string This is a string 01/02/2006 01:02:03 AM

Data type

Valid values

MxBoolean MxInteger MxFloat MxDouble MxString MxInternationalized String MxTime

"True", "False", "On", "Off", "Yes", "No", "1", "0" -2,147,483,648 to 2,147,483,647 -3.402823e38 to 3.402823e38 -1.79769313486232e308 to 1.79769313486232e308 String up to 1024 characters String up to 1024 characters A date/time value in the format specified by the current OS locale An amount of time expressed in the format: [-][d ]hh:mm:ss[.ff]

MxElapsedTime

3 05:19:01.3245212

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 Users 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 Dont 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 2

Start the Bulk Import Utility. 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 4

In the Project Name box, enter a name for the project. 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. Click OK. The Bulk Import Utility creates a project folder in the specified location and the main screen with the workflow panel appears. Youre 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 Users Guide

Managing Projects

21

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 2 3

On the File menu, click Save As. The Project - Save As dialog box appears. In the Project Name box, enter a new name for the project. 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 Users Guide

22

Chapter 2 Preparing for the Migration Process

ArchestrA Bulk Import Utility Users 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 Users 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 Select mapping No Exclude unnecessary rows

Specify how to handle duplicate records

Specify header rows

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 Users 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 2 3 4

Open the CSV or XML file containing your tag definitions. Select the mapping to use. Specify if you want to exclude certain rows of data.

Specify what to do if your project already contains tags with the same names as the ones youre 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 2 3

Open the CSV or XML file containing your tag definitions. Specify if you want to exclude certain rows of data. 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.) Map data columns to attributes. This step determines the attribute in which data from a specific column gets stored. Map the tags original data types to Industrial Application Server data types. If you have mapped columns to I/O reference attributes: Specify a default DIObject and scan group. Specify what to do if your project already contains tags with the same names as the ones youre trying to import.
ArchestrA Bulk Import Utility Users Guide

5 6 7

26

Chapter 3 Importing Tag Data

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

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 dont 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 youve 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 Users Guide

Importing InTouch Tags

27

Select the InTouch DBDump CSV file you want to import and click OK. The Tag Import Wizard Step 1: Select Mapping dialog box appears.

In the Data Mapping list, click InTouch. If necessary, specify which rows of data the import process should exclude, for example, tags you dont 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 Users Guide

28

Chapter 3 Importing Tag Data

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.

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 its done, the main screen appears

ArchestrA Bulk Import Utility Users 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 Memory Integer, I/O Integer Memory Real, I/O Real Memory Message, I/O Message

MxBoolean MxInteger MxFloat 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 Users 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, MemoryInt, IOInt, MemoryReal, IOReal, MemoryMsg, IOMsg ItemName AccessName Comment InitialValue, InitialDisc, InitialMessage Deadband EngUnits MinRaw, MinValue MaxRaw, MaxValue MinEU MaxEU Conversion

Tag name (for different types of tags)

Name

Item name on I/O device I/O access name Tag comment Initial value (for analog, discrete and message tags, respectively) Value deadband Engineering Units text Minimum raw value Maximum raw value Minimum Engineering Units value Maximum Engineering Units value Mode for converting raw I/O values to Engineering Units Enable/disable historical logging Deadband for historical logging Off message (for discrete tags) On message (for discrete tags)

Input.InputSource, Output.OutputDest DIObject, ScanGroup (see Access names on page 32) Desc Value

Deadband EngUnits RawMin RawMax EngUnitsMin EngUnitsMax ConversionMode

Logged LogDeadband OffMsg OnMsg

Historized ValueDeadband OffMsg OnMsg

ArchestrA Bulk Import Utility Users Guide

Importing InTouch Tags

31

Column name from DBDump CSV file

Explanation

Mapped attribute(s)

Group AlarmState AlarmPri AlarmComment

Alarm group Alarm state Alarm priority Alarm comment

Area Alarmed, ActiveAlarmState Priority DescAttrName HiHi.DescAttrName Hi.DescAttrName Lo.DescAttrName LoLo.DescAttrName ROC.IncreasingHi.DescAttrNa me ROC.DecreasingHi.DescAttrNa me Dev.Minor.DescAttrName Dev.Major.DescAttrName InputExtension, InputOutputExtension, AccessMode LimitAlarm.ValueDeadband LoLo.Alarmed LoLo.Limit LoLo.Priority Lo.Alarmed Lo.Limit Lo.Priority Hi.Alarmed Hi.Limit Hi.Priority HiHi.Alarmed

ReadOnly

Read/write access status for I/O tags Deadband for value alarms Enable/disable LoLo value alarm Limit for LoLo value alarm Priority for LoLo value alarm Enable/disable Lo value alarm Limit for Lo value alarm Priority for Lo value alarm Enable/disable Hi value alarm Limit for Hi value alarm Priority for Hi value alarm Enable/disable HiHi value alarm

AlarmValueDeadband LoLoAlarmState LoLoAlarmValue LoLoAlarmPri LoAlarmState LoAlarmValue LoAlarmPri HiAlarmState HiAlarmValue HiAlarmPri HiHiAlarmState

ArchestrA Bulk Import Utility Users Guide

32

Chapter 3 Importing Tag Data

Column name from DBDump CSV file

Explanation

Mapped attribute(s)

HiHiAlarmValue HiHiAlarmPri AlarmDevDeadband MinorDevAlarmState MinorDevAlarmValue MinorDevAlarmPri MajorDevAlarmState MajorDevAlarmValue MajorDevAlarmPri DevTarget ROCAlarmState ROCAlarmValue ROCAlarmPri ROCTimeBase

Limit for HiHi value alarm Priority for HiHi value alarm Deadband for deviation alarm Enable/disable minor deviation alarm Limit for minor deviation alarm Priority for minor deviation alarm Enable/disable major deviation alarm Limit for major deviation alarm Priority for major deviation alarm Setpoint for deviation alarms Enable/disable rate-of-change alarm Limit for rate-of-change alarm Priority for rate-of-change alarm Time base for monitoring rate-of-change alarm

HiHi.Limit HiHi.Priority Dev.Deadband Dev.Minor.Alarmed Dev.Minor.Tolerance Dev.Minor.Priority Dev.Major.Alarmed Dev.Major.Tolerance Dev.Major.Priority Dev.Target ROC.IncreasingHi.Alarmed, ROC.DecreasingHi.Alarmed ROC.IncreasingHi.Limit, ROC.DecreasingHi.Limit ROC.IncreasingHi.Priority, ROC.DecreasingHi.Priority ROC.Rate.Units

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 Users 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 process

No mapping. You must manually edit the server name once the new DIObject is available in the IDE. Scan group

Topic

Topic on the I/O server

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 Group

Name of the alarm group Parent group of the alarm group

Name of the Area Container of the Area

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 youve 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 Users 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.

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.

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 Users Guide

Importing Tag Data by Creating a New Custom Mapping

35

Click Next. The Tag Import Wizard Step 2: Select Header dialog box appears.

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 Users Guide

36

Chapter 3 Importing Tag Data

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.

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 Users Guide

Importing Tag Data by Creating a New Custom Mapping

37

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 Users Guide

38

Chapter 3 Importing Tag Data

Click Next. The Tag Import Wizard Final Step: Specify Duplicate Name Handling dialog box appears.

Specify what should happen if you try to import entries that already exist in your project. If this is the first time youre importing a file, you dont 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 dont 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 Users 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.

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

Under Options, select the Include empty nodes check box if you want to include empty XML elements. If you dont include empty elements, the Bulk Import Utility treats them as if they didnt 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 dont 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 Users Guide

Importing Tag Data by Creating a New Custom Mapping

41

To exclude rows from importing 1 2

Go through the Tag Import Wizard until the Tag Import Wizard Step 1: Select Mapping dialog box appears. 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 Users 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.

In the Heading column, select the check boxes of the rows that contain column headers. Depending on the format of the file youre 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 dont have any data below them are automatically excluded in the next step of the import process.

ArchestrA Bulk Import Utility Users 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.

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 dont 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 Users 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.

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 Users 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 Users 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, dont 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 tags 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 dont have a data type explicitly specified. This also applies if you havent 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 Users 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.

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 dont have a data type specified. If you havent 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 youre 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 Users 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 dont 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 tag Tag1

Attribute

Mapped column (example)

DIObject ScanGroup Input.InputSource

IOApplicationName IOTopicName IOItemName

Testprot Topic1 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 Users 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 dont 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 dont 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.

Under Options, click Specify default DIObject.

ArchestrA Bulk Import Utility Users Guide

50

Chapter 3 Importing Tag Data

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 dont 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 Users Guide

Exporting and Importing Mappings

51

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 2 3

On the File menu, point to Export, and then click Custom Mapping. The Export Custom Mapping dialog box appears. Click the mapping you want to export, and then click OK. The Export dialog box appears. 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 2

On the File menu, point to Import, and then click Custom Mapping. The Import Custom Mapping dialog box appears. Select the mapping file you want to import, and then click Open. A second Import Custom Mapping dialog box appears. 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 Users 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 youve 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. 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.

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. 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 Users Guide

Importing Tag Data by Using an Existing Mapping

53

The Bulk Import Utility imports your tag definitions into the current project. When its 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 Users Guide

54

Chapter 3 Importing Tag Data

ArchestrA Bulk Import Utility Users 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 Users 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 templates

Main Steps

Edit raw data

Define objects

Possible tasks

Edit data directly

Check autocreated DIObjects & areas Use automatic filtering & grouping

Search, replace & prefix

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 Users 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 Users 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 cant be configured (for example, the Stats.Reset attribute) dont appear in the Raw Data view. Lock and security settings dont 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 Users 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. 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 arent 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 Users 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 youve 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 Users 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 Users 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.

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. To change the position of an attribute in the column order, drag it to the new location. Click OK.

3 4

Note You cant hide the Name, DataType, Value, Input.InputSource, Output.OutputDest, and Output.DiffAddr columns.

ArchestrA Bulk Import Utility Users 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 cant 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.

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 Users Guide

64

Chapter 4 Defining Objects based on Imported Tag Data

If you want to replace occurrences of the value youre 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. 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.

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 3 4 5

Under Update Options, click Prefix. To prefix only cells that match a specific search pattern, enter that pattern in the Find what box. In the Prefix with box, enter the prefix that you want to add to the reference. 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.

Use the Find Next, Replace, and Replace All buttons to find matching references and prefix them.

ArchestrA Bulk Import Utility Users 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 Users 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 2

Open the Structured Data view. 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. Click the object or scan group and press F2. Enter the new name and press ENTER. At the prompt, click Yes.

3 4 5

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 Users 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 2 3 4

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

ArchestrA Bulk Import Utility Users 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 Users Guide

Creating UDO Instances by Filtering and Organizing Tags

69

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

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 isnt included in the predefined options. (You cant 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 Users Guide

70

Chapter 4 Defining Objects based on Imported Tag Data

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, dont click Define Object unless youre 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 Users Guide

Creating UDO Instances by Filtering and Organizing Tags

71

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. 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. If you havent 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.

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 Users Guide

72

Chapter 4 Defining Objects based on Imported Tag Data

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. If the Bulk Import Utility cant 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 dont have a delimiter character to distinguish the attribute part from the object part, the Bulk Import Utilitys 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 Data Column: Name, delimiter: _, first occurrence from the right

1 template ($Boiler), 11 instances (Boiler1..10, Stats), no attributes on the template level, all attributes at the instance level

Because the search pattern also matches the Stats tags (see rule 1), no attributes are common to all instances (see rule 3). The Boiler instances have TankLevel and Temp as attributes, the Stats instance has Boiler1 to Boiler10.

ArchestrA Bulk Import Utility Users Guide

Creating UDO Instances by Filtering and Organizing Tags

73

Filter settings

Results

Remarks

Pattern: oiler, Raw Data Column: Name, delimiter: _, first occurrence from the right Pattern: <Boiler, Raw Data Column: Name, delimiter: _, first occurrence from the right

1 template ($oiler), 11 instances (Boiler1..10, Stats), no attributes on the template level, all attributes at the instance level 1 template ($Boiler), 10 instances (Boiler1..10), 2 attributes on the template level (TankLevel and Temp)

See above, except that the template name is now different because you entered a different search pattern.

Because of the < wildcard, the Bulk Import Utility only looks at the Boiler tags, but not the Stats tags. Hence, it can identify the two common attributes and add them to the template (see rules 2a, 3). The Bulk Import Utility can successfully organize the Boiler tags, because their names start with the search pattern followed by a numeric index and the attribute name (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). The Bulk Import Utility cant determine instance names, because there is no delimiter and the tag names dont 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).

Pattern: Boiler, Raw Data Column: Name, no delimiter

1 template ($Boiler) with 10 instances (Boiler1..10) and 2 attributes (_TankLevel and _Temp); 1 template (<Default>) with 10 attributes (Stats_Boiler1 to Stats_Boiler10)

Pattern: oiler, Raw Data Column: Name, no delimiter

1 template (<Default>) with all tags as attributes.

ArchestrA Bulk Import Utility Users 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 3

Enter the required information to establish a connection to the Galaxy Repository, and then click OK. 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.

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 Users Guide

Associating Object Definitions with Templates

75

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 7

Click Download. The Download Templates dialog box shows you the status of the download process.

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 cant 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 Users 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 cant 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. 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. Right-click on the selected row(s) and click Cut. 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 latters attributes, scripts, and so on.

3 4

Dealing with Inherited Attributes


When you associate an object with a template, it inherits all of the templates 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 2

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

ArchestrA Bulk Import Utility Users Guide

Associating Object Definitions with Templates

77

The objects UDAs or field attributes appear. There are separate sections for inherited attributes and the objects 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. Expand Attributes. Click UDAs or FieldAttributes.The following screen appears.

2 3

In the Name column of the Attributes table, change the name of the attribute.

ArchestrA Bulk Import Utility Users 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 doesnt 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. 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. 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 cant 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 cant 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 Users 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 arent 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 2 3

In the Galaxy view, expand the template. Expand Attributes. Click UDAs or FieldAttributes. The objects UDAs or field attributes appear.

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 2

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

ArchestrA Bulk Import Utility Users Guide

80

Chapter 4 Defining Objects based on Imported Tag Data

3 4

Click UDAs or FieldAttributes. The objects UDAs or field attributes appear. 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 2 3 4

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

To add a new scan group or block read/write list to a DIObject 1 2 3 4

In the Galaxy view, expand the object you want to edit. Expand Attributes. Right-click ScanGroupList, BlockReadList or BlockWriteList, and then click Add New. A new item appears in the table. 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. Right-click on the highlighted row(s), and then click Cut. In the Galaxy view, expand the object to which you want to add the attributes. Expand Attributes. 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. Edit the new attributes as required.

2 3 4 5

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 Users Guide

Manually Editing Objects and Attribute Settings

81

To create a UDA array 1 2 3 4

Add a UDA of the desired data type to an object, as described in Adding Attributes to an Object on page 80. Enable the IsArray attribute of the UDA. In the ArrayElementCount attribute of the UDA, specify how many elements the array should have. 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 dont enter a value for a given element, the Bulk Import Utility sets it to the default value of the arrays 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 2 3 4

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

5 6

To delete an object 1 2

In the Galaxy view, right-click the object you want to delete, and then click Delete. At the prompt, click Yes to delete the object.

ArchestrA Bulk Import Utility Users 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 2 3 4

Open the Structured Data or Galaxy view. In the object tree, expand User Defined Objects and locate the object you want to rename. Click the object and press F2. 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 Users 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 dont 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 Users 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.

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. Click Validate. The validation results appear in the bottom part of the dialog box. Review the results and then click Cancel to close the dialog box.

3 4

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 Users 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 doesnt exist or wasnt 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 cant 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 3

Enter the required information to establish a connection to the Galaxy Repository, and then click OK. Do one of the following: On the Galaxy menu, click Upload Objects

ArchestrA Bulk Import Utility Users Guide

86

Chapter 5 Uploading Objects to the Galaxy

Click the Upload Objects button in the workflow panel.

The Upload Objects dialog box appears.

Select the check boxes of the objects you want to upload. If you select a derived template, its parent templates are selected automatically. 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. 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 cant upload any object instances. 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 doesnt notify you each time.

ArchestrA Bulk Import Utility Users 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 doesnt 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.

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.


9 Skip: The Bulk Import Utility skips the instance. The

existing version in the Galaxy remains unchanged. 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 Users 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 its locked. If the template is unlocked (for example, if you edited it in the Bulk Import Utility), you cant upload it back to the Galaxy. Hence, you cant 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, lets 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 2

On the File menu, point to Export, and then point to Instances as Galaxy Dump. Click English - US or OS settings, depending on which locale is used in your Galaxy. The Save As dialog box appears. 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 Users 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 youre 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, well 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 Users 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 didnt do in the existing application.

ArchestrA Bulk Import Utility Users Guide

Preparing for Importing

91

Preparing for Importing


The Bulk Import Utility can import CSV and XML files. In this example, well 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
Name

(the following section contains I/O integer tags)


Server Topic Item MaxRaw MaxEU ROCPct ...

Boiler1_TankLvl Boiler2_TankLvl (and so on) !IOReal


Name

PLC1 PLC1

Top1 Top1

i0,010 i0,020

36000 36000

10000 10000

5 5

... ...

(the following section contains I/O real tags)


Server Topic Item MaxRaw MaxEU ROCPct ...

Boiler1_Temp Boiler2_Temp (and so on) !IOBoolean


Name

PLC1 PLC1

Top1 Top1

f1,014 f1,024

400 400

200 200

2 2

... ...

(the following section contains I/O boolean tags)


Server Topic Item Value AlmOn ... ...

Boiler1_MixerOn Boiler2_MixerOn (and so on) Boiler1_HeaterOn Boiler2_HeaterOn (and so on) !MemoryInteger


Name

PLC1 PLC1

Top2 Top2

b0,011 b0,021

False False

False False

... ...

... ...

PLC1 PLC1

Top2 Top2

b0,012 b0,022

False False

False False

... ...

... ...

(the following section contains memory integer tags)


Value MinEU MaxEU LoAlm LoLimit HiAlm ...

Stats_Boiler1 Stats_Boiler2 (and so on)

0 0

0 0

10000 10000

False False

False False

... ...

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 Users Guide

92

Appendix A Tutorial: Migrating a Sample Application

The column order isnt 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 dont have many tags, you can specify a default data type and then manually edit each tags 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 2 3 4

Start the Bulk Import Utility. On the File menu, click New. The Create New Project dialog box appears. Enter a name and path for the project. 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 Users Guide

Importing Tag Data

93

Importing Tag Data


Now that youve created a project, youre ready to import your tags. For detailed information on this process, see Workflow: Importing Tag Data Using Mapping on page 24. Well only go through the main steps here:
1 2

On the File menu, point to Import, and then click Tag Data. The Open File for Import dialog box appears. Select the CSV file you created, and then click OK. The Tag Import Wizard Step 1: Select Mapping dialog box appears. Under Delimiters, select the column delimiter(s) used in your CSV file. 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 dont contain any information that we would want to import. To exclude them, select their check boxes in the Exclude column.

3 4

Click Next. The Tag Import Wizard Step 2: Select Header dialog box appears.

ArchestrA Bulk Import Utility Users Guide

94

Appendix A Tutorial: Migrating a Sample Application

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 Users 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 dont 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 Users Guide

96

Appendix A Tutorial: Migrating a Sample Application

Map any other columns to the equivalent attributes.

When youre 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 Users Guide

Importing Tag Data

97

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.

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 Users Guide

98

Appendix A Tutorial: Migrating a Sample Application

Click Next. The Tag Import Wizard Final Step: Specify Duplicate Name Handling dialog box appears.

Because youre importing your source file for the first time, there cant be duplicate records, so it doesnt 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 its 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, well 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. Well also create the five additional instances that arent 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 Users 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 theyre 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, well make the required changes at the template level once weve defined suitable objects.

Organizing tags into objects


To create suitable templates and instances that reflect your original tank structure, well 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. Well 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.

In the Pattern box, enter <Boiler. This causes the Bulk Import Utility to look for all tags that begin with the string Boiler. 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) doesnt matter in this case.

ArchestrA Bulk Import Utility Users Guide

100

Appendix A Tutorial: Migrating a Sample Application

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, youll see that it has two additional attributes in addition to the attributes that it has inherited from the $Boiler template:

Thats 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. Well do that in a later section.

ArchestrA Bulk Import Utility Users 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, well 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 templates field attributes appear in the Attributes table. For the Temp attribute, select the check box in the Historized column. Thats 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 cant 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, well 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 Users 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. Well 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. 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 4

Click Download. The Download Templates dialog box shows you the status of the download process. 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, well 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 Users Guide

Defining Objects

103

2 3 4

In the Structured Data view, expand DI Objects and User Defined Objects so you can see your templates. In the Galaxy view, do the same so that you can see the $OPCClient and $BoilerOp templates. 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


Youll 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, well 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.

In the Galaxy view, expand the $Boiler template, then expand Attributes.

ArchestrA Bulk Import Utility Users Guide

104

Appendix A Tutorial: Migrating a Sample Application

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.

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. Well 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 3

Enter a new name for the object (for example, Boiler11), and then press Enter.

Repeat this process for the other instances. Youre now done creating your objects, and youre ready to upload them to Industrial Application Server.

ArchestrA Bulk Import Utility Users 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.

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.

Click Validate. The validation results appear in the bottom part of the dialog box. There shouldnt be any errors. Click Upload. The Upload Progress dialog appears, showing you the upload progress.

ArchestrA Bulk Import Utility Users Guide

106

Appendix A Tutorial: Migrating a Sample Application

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.

Thats it!
Were 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 Users 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 elements 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 elements name followed by an underscore and then the name of the element. If the elements 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 Users Guide

108

Appendix B Sample XML Input Data

</ChildNodeName>
</ElementName>

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

ChildNodeName, however, is considered a data column,

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 dont 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 Users 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_ name process_cell_ description

area_name

tank_name

tank_value

tank_engunits

Area01 Area01

Process01 Process02

Holding process Waiting process

Tnk01 Tnk02

100.0 200.0

PSI PSI

ArchestrA Bulk Import Utility Users Guide

110

Appendix B Sample XML Input Data

ArchestrA Bulk Import Utility Users Guide

111

Index

A
access names conversion during import 32 alarm groups conversion during import 33 defining area objects 66 area objects defining 66 renaming 67 arrays 80 associating object definitions with templates 75 attributes adding to an object 80 dealing with inherited 76 default values 46 deleting 81 extension 45 manually editing settings 78 mapping data columns to 43

object instances and derived templates, manually 78 projects 19 UDO instances 68 cross-reference view 61 CSV files format requirements 17 options for importing 39

D
data types, mapping 46 default values for unmapped attributes 46 derived templates, manually creating 78 DIObject default settings for imported tags 49 defining 65 mapping column 48 renaming 66 display columns, configuring 62 documentation conventions 7 downloading templates 74 duplicate records, handling 50

C
columns configuring 62 sorting 63 creating new tag mappings 33

E
editing objects and attribute settings manually 78

ArchestrA Bulk Import Utility Users Guide

112

Index

search and replace 63 errors, understanding validation 84 excluding rows from importing 40 exporting existing tags from HMI system 16 objects as a galaxy dump file 88 tag definitions from InTouch 17 tag mappings 51 extension attributes 45

conversion of access names 32 conversion of alarm groups 33 conversion of tag properties 30 importing tags from 26

M
Mapping 4 mapping data columns to object attributes 43 data types 46 I/O references 47 mappings creating 33 exporting 51 importing 51 overview 23 migrating tags to objects concept example 10 workflow 12

F
filtering and organizing tags 68 examples 72 rules 70 format requirements for import files 17

G
galaxy dump file, exporting objects to 88 galaxy view 60

H
header rows and XML files 107 specifying 41

O
objects adding attributes manually 80 associating with templates 75 creating by filtering and organizing tags 68 creating manually 78 deleting 81 editing 78 uploading to Industrial Application Server 85 validating 83 workflow for defining 56 organizing tags 68

I
I/O references defining DIObjects 65 mapping 47 import files CSV 17 format requirements 17 XML 18 importing tag mappings 51 tags by creating a new mapping 33 by using an existing mapping 52 excluding rows 40 format requirements 17 from InTouch 26 workflow 24 inherited attributes 76 instances creating by filtering and organizing tags 68 creating manually 78 InTouch

P
parsing rules for XML files 107 performance considerations 82 prerequisites 16 projects creating 19 managing 20

R
raw data view 58 rows deleting 59 excluding from importing 40

ArchestrA Bulk Import Utility Users Guide

Index

113

specifying header 41

U
UDO instances, creating 68 unmapped attributes, default values for 46 uploading objects to Industrial Application Server 85 validating objects prior to 83

S
scan group default settings for imported tags 49 mapping column 48 search and replace 63 sorting the data display 63 structured data view 59

T
tag mappings creating 33 exporting 51 importing 51 overview 23 tags creating UDO instances from 68 exporting 16 importing by creating a new mapping 33 by using an existing mapping 52 format requirements 17 overview 24 importing from InTouch 26 mappings, overview 23 technical support, contacting 7 templates associating object definitions with 75 downloading 74 manually creating derived 78 third-party HMI systems, format requirements for tag definitions 17

V
validating objects 83 validation errors, understanding 84 values editing for imported tags 59 editing for object definitions 78 searching for and replacing 63 views, working with 57

W
wildcards 65 workflow defining objects based on imported tag data 56 importing tag data using mapping 24 migrating tags to objects 12

X
XML files column headings 107 example 108 format requirements 18 options for importing 40 parsing rules 107

ArchestrA Bulk Import Utility Users Guide

114

Index

ArchestrA Bulk Import Utility Users Guide

Você também pode gostar