PI Interface for ABB 800xA Batch -...

152
PI Interface for ABB 800xA Batch Version 3.0.10.x

Transcript of PI Interface for ABB 800xA Batch -...

Page 1: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

PI Interface for ABB 800xA Batch

Version 3.0.10.x

Page 2: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

OSIsoft, LLC777 Davis St., Suite 250San Leandro, CA 94577 USATel: (01) 510-297-5800Fax: (01) 510-357-8136Web: http://www.osisoft.com

OSIsoft Australia • Perth, AustraliaOSIsoft Europe GmbH • Frankfurt, GermanyOSIsoft Asia Pte Ltd. • SingaporeOSIsoft Canada ULC • Montreal & Calgary, CanadaOSIsoft, LLC Representative Office • Shanghai, People’s Republic of ChinaOSIsoft Japan KK • Tokyo, JapanOSIsoft Mexico S. De R.L. De C.V. • Mexico City, MexicoOSIsoft do Brasil Sistemas Ltda. • Sao Paulo, BrazilOSIsoft France EURL • Paris, France

PI Interface for ABB 800xA BatchCopyright: © 2010-2013 OSIsoft, LLC. All rights reserved.No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, photocopying, recording, or otherwise, without the prior written permission of OSIsoft, LLC.

OSIsoft, the OSIsoft logo and logotype, PI Analytics, PI ProcessBook, PI DataLink, ProcessPoint, PI Asset Framework (PI AF), IT Monitor, MCN Health Monitor, PI System, PI ActiveView, PI ACE, PI AlarmView, PI BatchView, PI Coresight, PI Data Services, PI Event Frames, PI Manual Logger, PI ProfileView, PI WebParts, ProTRAQ, RLINK, RtAnalytics, RtBaseline, RtPortal, RtPM, RtReports and RtWebParts are all trademarks of OSIsoft, LLC. All other trademarks or trade names used herein are the property of their respective owners.

U.S. GOVERNMENT RIGHTSUse, duplication or disclosure by the U.S. Government is subject to restrictions set forth in the OSIsoft, LLC license agreement and as provided in DFARS 227.7202, DFARS 252.227-7013, FAR 12.212, FAR 52.227, as applicable. OSIsoft, LLC.

Published: 09/2013

Page 3: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Table of Contents

Terminology......................................................................................................................v

Chapter 1. Introduction...................................................................................................1Reference Manuals............................................................................................1Supported Features...........................................................................................2Diagram of Hardware Connection......................................................................5

Chapter 2. Principles of Operation................................................................................7Interface Modes.................................................................................................7Multiple Data Sources........................................................................................8ORACLE Batch Historian as Data Source.......................................................10Recipe Model...................................................................................................11PI Batch Database Methodology......................................................................12PI AF Event Frames Methodology...................................................................16PIModule Creation...........................................................................................23PI AF Element Creation...................................................................................23Foreign Language Support..............................................................................24Event Logging..................................................................................................25Recipe Templates............................................................................................40Merging Multiple Source batches into a Single PIBatch...................................47Linking BES to MES batches...........................................................................48Lost Connections to PI Server and PI Archive Backup Issues.........................49Data Preprocessing..........................................................................................49Data Recovery.................................................................................................51Data Analysis...................................................................................................52PI Data Deletion...............................................................................................52Dealing with Irrelevant Recipes........................................................................53Dealing with Irrelevant Units............................................................................53Dealing with Irrelevant Phases.........................................................................54Initialization File...............................................................................................54

Chapter 3. Installation Checklist..................................................................................57Data Collection Steps.......................................................................................57Interface Diagnostics........................................................................................58

Chapter 4. Interface Installation...................................................................................63Naming Conventions and Requirements..........................................................63Interface Directories.........................................................................................64Interface Installation Procedure.......................................................................64Installing the Interface as a Windows Service..................................................64

Chapter 5. Digital States...............................................................................................67

Chapter 6. PointSource.................................................................................................69PI Interface for ABB 800xA Batch

Page 4: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 7. PI Point Configuration................................................................................71Interface-specific Points...................................................................................71

Chapter 8. Startup Command File...............................................................................73Configuring the Interface with PI Event Frames Interface Manager.................73Interface Selection Tab....................................................................................73File Selection Tab............................................................................................73Server Information Tab....................................................................................74Source..............................................................................................................75Filters Tab........................................................................................................75Time Settings Tab............................................................................................75Operational Settings Tab.................................................................................77Save Settings Tab............................................................................................79Test Configuration Tab.....................................................................................79Configuring Interface Startup Files...................................................................79Command-line Parameters..............................................................................80Sample PIABB800xA.bat File..........................................................................89Initialization File Parameters............................................................................91Sample PIABB800xA.ini File............................................................................92

Chapter 9. Interface Node Clock..................................................................................95

Chapter 10. Security....................................................................................................97

Chapter 11. Starting and Stopping the Interface......................................................99Starting Interface as a Service.........................................................................99Stopping the Interface Running as a Service...................................................99

Chapter 12. Buffering................................................................................................101

Appendix A. Error and Informational Messages....................................................103Message Logs................................................................................................103Messages.......................................................................................................103System Errors and PI Errors..........................................................................108

Appendix B. Conclusions.........................................................................................109

Appendix C. Technical Support and Resources....................................................111

Appendix D. Revision History..................................................................................115

PI Interface for ABB 800xA Batch

Page 5: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Terminology

To understand this interface, you should be familiar with the terminology used in this manual.

ICUICU is the PI Interface Configuration Utility. The ICU is the primary application that you use to configure and run PI interface programs. You must install the ICU on the same computer on which an interface runs. A single copy of the ICU manages all the interfaces on that particular computer.

OSIsoft strongly recommends that you use the ICU for interface management tasks. While, you can configure and run an interface by editing a startup command file, OSIsoft discourages this approach.

ICU ControlAn ICU Control is a plug-in to the ICU. Whereas the ICU handles functionality common to all interfaces, an ICU Control implements interface-specific behavior. Most PI interfaces have an associated ICU Control.

Interface NodeAn Interface Node is a computer on which

the PI API, the PI SDK, or both are installed, and

PI Server programs are not installed.

PI APIThe PI API is a library of functions that allow applications to communicate and to exchange data with the PI Server.

PI CollectiveA PI Collective is two or more replicated PI Servers that collect data concurrently. Collectives are part of the High Availability environment. When the primary PI Server in a collective becomes unavailable, a secondary collective member node seamlessly continues to collect and provide data access to your PI clients.

PIHOMEPIHOME refers to the directory that is the common location for PI 32-bit client applications.

On a 32-bit operating system

A typical PIHOME is C:\Program Files\PIPC.

On a 64-bit operating system

A typical PIHOME is C:\Program Files (x86)\PIPC.

PI interfaces reside in a subdirectory of the Interfaces directory under PIHOME.

For example, files for the Modbus Ethernet Interface are in

[PIHOME]\PIPC\Interfaces\ModbusE.

This document uses [PIHOME] as an abbreviation for the complete PIHOME or PIHOME64 directory. For example, ICU files in [PIHOME]\ICU.

PI Interface for ABB 800xA Batch

Page 6: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

PIHOME64PIHOME64 will be found only on a 64-bit operating system and refers to the directory that is the common location for PI 64-bit client applications.

A typical PIHOME64 is C:\Program Files\PIPC.

PI interfaces reside in a subdirectory of the Interfaces directory under PIHOME64.

For example, files for a 64-bit Modbus Ethernet Interface would be found in

C:\Program Files\PIPC\Interfaces\ModbusE.

This document uses [PIHOME] as an abbreviation for the complete PIHOME or PIHOME64 directory. For example, ICU files in [PIHOME]\ICU.

PI SDKThe PI SDK is a library of functions that allow applications to communicate and to exchange data with the PI Server. Some PI interfaces, in addition to using the PI API, require the PI SDK.

PI Server NodeA PI Server Node is a computer on which PI Server programs are installed. The PI Server runs on the PI Server Node.

PI SMTPI SMT refers to PI System Management Tools. PI SMT is the program you use for configuring PI Servers. A single copy of PI SMT manages multiple PI Servers. PI SMT runs on either a PI Server Node or a PI Interface Node.

Pipc.logThe pipc.log file is the file to which OSIsoft applications write informational and error messages. While a PI interface runs, it writes to the pipc.log file. The ICU provides easy access to the pipc.log.

PointThe PI point is the basic building block for controlling data flow to and from the PI Server. For a given timestamp, a PI point holds a single value.

A PI point does not necessarily correspond to a "data collection point" on the foreign device. For example, a single "point" on the foreign device can consist of a set point, a process value, an alarm limit, and a discrete value. These four pieces of information require four separate PI points.

ServiceA Service is a Windows program that runs without user interaction. A Service continues to run after you have logged off as a Windows user. A Service has the ability to start up when the computer itself starts up.

The ICU allows you to configure a PI interface to run as a Service.

PI Interface for ABB 800xA Batch

Page 7: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Terminology

Tag (Input Tag and Output Tag)The tag attribute of a PI point is the name of the PI point. There is a one-to-one correspondence between the name of a point and the point itself. Because of this relationship, PI System documentation uses the terms "tag" and "point" interchangeably.

Interfaces read values from a device and write these values to an Input Tag. Interfaces use an Output Tag to write a value to the device.

PI Interface for ABB 800xA Batch

Page 8: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 1. Introduction

This manual describes the operation of the ABB 800xA Batch Interface to the PI System.  In this manual, we refer to the ABB 800xA Batch interface as the Batch Interface. The primary objective of the Batch Interface is to collect batch processing events from the ABB 800xA System and store them in the PI Batch Database or the PI AF Database (as event frames).  In addition to collecting batch data, the interface collects associated batch data to PI Tags and PI Batch properties.

The Batch Interface is the first dedicated interface for collecting batch data from the 800xA System.  Associated batch data, such as recipe variables, is retrieved by querying the ABB 800xA Historian during each interface scan.

This interface is primarily designed to be used for ABB 800xA and later systems utilizing the Oracle 9.2.0.7.0 and above as the Batch Historian.The flow of data in the interface is unidirectional—that is, data can only be read from the specified data source and written to the PI Server.  This interface can read data from multiple batch data sources simultaneously.  By design, the interface does not edit or delete source data.

 The Batch Interface is a scan-based interface that populates the AF Database (event frames and elements) or the PI Batch Database and PI Module Database. In addition to batch data, the interface can populate the PI Point Database. PI Point creation, commonly known as tag creation and event population, is controlled by using tag templates. All modules, tags, tag aliases, and health tags are automatically created on the PI server. The Interface does not use the PI API Buffering Service because batch and tag data is already buffered by the source historian databases. To maximize performance, the interface writes events to PI tags in bulk—that is, it writes all events per interface scan.

Reference Manuals

OSIsoft PI Data Archive Manual

PI Server System Management Guide

PI SDK User Manual

VendorYou should review the pertinent documentation regarding the particular Batch Executive System (BES) at your facility. You should also maintain familiarity with the contents and format of the source data so that you can choose appropriate options and features for the interface.

PI Interface for ABB 800xA Batch

Page 9: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Supported Features

Feature Support

Part Number PI-IN-ABB-800BAT-NTI

* Platforms 32-bit Interface 64-bit Interface

Windows XP

32-bit OS Yes No

64-bit OS Yes (Emulation Mode) No

Windows 2003 Server

32-bit OS Yes No

64-bit OS Yes (Emulation Mode) No

Windows Vista

32-bit OS Yes No

64-bit OS Yes (Emulation Mode) No

Windows 2008

32-bit OS Yes No

Windows 2008 R2

64-bit OS Yes (Emulation Mode) No

Windows 7

32-bit OS Yes No

64-bit OS Yes (Emulation Mode) No

Auto Creates PI Points Yes

Point Builder Utility No

ICU Control No (Has own configuration tool)

PI Point Types Integer/ Float32 String

Sub-second Timestamps Yes

Sub-second Scan Classes No

Automatically Incorporates PI Point Attribute Changes

No

Exception Reporting No

Outputs from PI No

Inputs to PI Event and Scan-based

Supports Questionable Bit No

Supports Multi-character PointSource Yes

Maximum Point Count None

* Uses PI SDK Yes

PINet String Support N/A

* Source of Timestamps Device

History Recovery Yes

UniInt-based* Disconnected Startup* SetDeviceStatus

NoNoYes

Failover Yes

PI Interface for ABB 800xA Batch

Page 10: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Feature Support

* Vendor Software Required on PI Interface Node/PINet Node

Yes

* Vendor Software Required on Foreign Device

Yes

* Vendor Hardware Required No

Additional PI Software Included with Interface

No

Device Point Types String/Integer/Float

Serial-Based Interface No

*See paragraphs below for further explanation.

PlatformsThe Interface is designed to run on the above mentioned Microsoft Windows operating systems. Because it is dependent on vendor software, newer platforms may not yet be supported. Please contact OSIsoft Technical Support for more information.

PI SDKThe PI SDK and the PI API are bundled and must be installed on each PI Interface node. The PI ABB 800xA Batch Interface makes PI SDK calls to access the PI Module Database and PI Batch Database. The Interface requires PI SDK version 1.3.5.343 or higher to be installed. The Interface uses PI API to log messages in the local pipc.log file. It does not require a PI API connection to the PI Server.

AF SDKThe AF SDK must be installed on each PI Interface node. The interface makes AF SDK calls to access AF elements and AF event frames. The interface requires AF SDK version 2.5.x or higher to be installed prior the execution of the interface.

Source of TimestampsSince each record in the source contains a timestamp and the interface itself is solely scan-based, use of the time at record processing could introduce inherent latency with respect to establishing the event time. Thus, the timestamp accompanying the record is used as the source of the timestamp for the data to be placed into the PI system. For the health tags, the Interface uses local system time at the time the value is being recorded.

History RecoveryThe operation of the Batch Interface may be interrupted without loss of data. While the Interface is offline, the data is being buffered by the data sources such as Oracle Server.

The Interface can recover data provided it is still available in the data sources. If the data interruption occurred while the interface was running, then the data is recovered automatically without user intervention. To perform historical data recovery, the Interface must be run in Recovery mode. In this mode, the Interface can recover data for any time period specified by the user. The recovery mode is enabled by specifying the recovery time period through the command line parameters /rst=<date and time> (required) and /ret=<date and time> (optional). Note, the data recovery is limited by BES historical data availability as well as by a few other factors on the PI Server, like the number

PI Interface for ABB 800xA Batch

Page 11: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Introduction

of licensed tags, the size and time frame of PI archives into which data is backfilled, etc. Refer To Data Recovery section for more information.

SetDeviceStatusThe Health PIPoint with the attribute ExDesc = [UI_DEVSTAT], is used to represent the status of the source devices. This tag is automatically created and configured if missing by the interface on startup. The following events can be written into the tag:

"Good" - the interface is properly communicating and reading data from the data sources.

The following events represent proper communication with the data sources. This message is displayed on successful connection to each source.

"2 | Connected/No Data | Source ORACLE Server: <server name> Initialized."

The following list of events represents the failure to communicate with the data source:

"3 | 1 device(s) in error | Error reading ORACLE Server: <server name>."

Vendor Software RequiredThe Batch Executive System (BES) and its accompanying support software are required for proper operation of this Batch interface. The interface requires Oracle9i Release 2 Provider for OLEDB 9.2.0.7.0 and above to be installed on the interface node prior the use of this interface. The Oracle Provider can be downloaded from the following location:

http:// ww w.oracle.com/technology/software/tech/windows/ole_db

Note: Always use matching OLEDB Provider to your server version number. If Oracle version is 10g, then use Oracle10g Provider for OLE DB 10.1.0.4.0.

Device Point TypesSince the interface receives data from the source as string type, it attempts to coerce the string data into numerical equivalents according to Tag Templates if defined.

Page 12: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Diagram of Hardware Connection

Figure 1. Schematic of Recommended Hardware and Software Configuration for Batch interface with ABB 800xA Oracle servers as data sources.

PI Interface for ABB 800xA Batch

Page 13: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Introduction

Figure 1b. Schematic of Recommended Hardware and Software Configuration for Batch interface with event files as data source and AF Server as host for asset and batch data.

The Batch interface may either be installed on the same node as the batch execution system (BES) or the PI Server or on a completely separate node. Due to load balancing considerations, OSIsoft does not recommend that the interface be installed on the same node as the PI Server. Contact the vendor of your BES for recommendations as to installing third-party software, such as the ABB 800xA Batch Interface, on the same node as the ABB 800xA Batch Executive.

Page 14: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 2. Principles of Operation

This section contains relevant information to help the user better understand some of the primary logic of the ABB 800xA Batch interface.

Interface Modes

The Interface can be run in five different modes:

RealTime (default)

Recovery

Preprocess

Statistics

Delete

RealTime mode is the default mode of operation and Recovery mode is designed to recover historical batch and tag data, provided the data still exists on the source. The principal difference between RealTime and Recovery modes is that in RealTime mode the interface synchronizes newly acquired data from the source with the PI Server at the end of each scan regardless of batch completion on the source. In Recovery mode, the interface synchronizes the batch only when it has completed on the source—that is, the end time is known.

In Recovery mode, all open batches are processed only when there are no completed batches left to be processed, when we have reached the current time. If the interface is started in Recovery mode without defining the Recovery End Time (interface command line parameter /ret=<date and time>), it writes the results of recovery process and change to RealTime mode as soon as it reaches current time. The Recovery mode is always used on interface startup. The recovery is performed from the timestamp of the last processed event to the PI Server before shutdown until the interface reaches the current time. The mode is then automatically changed to the Realtime. Recovery mode can be also enabled through the use of the optional command line parameter - Recovery Start Time (/rst=<date and time>). This parameter allows you to specify an alternative history recovery start time. The history recovery end time is optional and can be specified through the command line parameter - Recovery End Time (/ret=<date and time>). The Recovery End Time has no effect unless the (/rst) parameter is specified.

Note: if the Recovery End Time switch is used, the interface stops on recovery completion.

The Preprocess mode is designed for situations when the source data must be written to PI archives with earlier timestamps than the primary PI archive. Due to the nature of the PI Server, newly added tags, units and modules are indexed (referenced) only in the primary PI archive. Any older archive will not have knowledge of these modules, units and tags. In Preprocess mode the interface creates only modules, units, tags and tag aliases without processing batch data and adding events into the tags. On completion, the interface stops and the user has to reprocess older archives with the offline archive utility. Please refer to the PI

PI Interface for ABB 800xA Batch

Page 15: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Server System Management Guide for details on archive reprocessing procedure. (Note that these procedures have changed with PI Server 2012). The reprocessing creates indexes for newly added units, modules, tags in each reprocessed archive. This mode should be always used before writing new batch data to older PI archives. It can be enabled by simply adding the /mode=noupdate parameter to the command line parameters in conjunction with the Recovery Start Time switch (/rst=<date and time>. OSI does not recommend using the Recovery End Time /ret=<date and time> parameter because it can cause incomplete data processing, and therefore all tags and modules would not be created on the PI server.

In Statistics mode, the interface compares source data with the PI server data. In this mode the interface does not write or modify any data on the PI Server. Upon completion the interface reports results and stops. To enable this mode, the command line parameter (/mode=stat) has to be specified in command line parameters in conjunction with the Recovery Start Time parameter (/rst=<date and time>). The Recovery End Time parameter /ret=<date and time>) can also be specified to limit the time frame of interest. If not specified, the interface will compare data from Recovery Start Time until current time.

In Delete mode, the interface cleans PI archives based on specified source data only, leaving data from all other sources intact. This mode should be used only if the interface is unable to synchronize source batch data with the PI server. This modes is used only in conjunction with Recovery mode command line parameters (/rst and /ret) and can be enabled by adding the parameter (/mode=delete) to the command line parameters in the interface startup file.

Multiple Data Sources

The Batch interface supports simultaneous data processing coming from multiple sources. Primarily, parallel processing is designed for processing data from distributed control Batch Execution Systems. For example, the control logic of manufacturing process can be split among upstream and downstream segments, where each segment is controlled by a separate ABB 800xA Batch Executive. Even though the logical batch is the same, the actual batch related data is split among two batch historians. This Batch interface allows merging data for such batches and storing it into a single PI batch. Refer to section Merging Multiple Source batches into a Single PIBatch for more details. Parallel data processing resolves the problem with shared unit control as well, where different overlapping batch recipes can access same unit in different stages of its production cycle. This is achieved through acquiring data for the same time frame from multiple sources and process combined time ordered data by the single instance of the interface. Data source(s) should be defined in the INI file associated with the specific interface. Each data source defined in the INI file requires Net Service Name (defined by Oracle Net Manager) for each Oracle connection, Oracle database, username and password to be used for the connection.

Table 1. Data source usage and description.Object Name

Property name Description

Source[#] Defines the interface data source, where # is the index of the source. Index can be any positive 1-based number. The index is only used to match multiple source properties to the same source object, such as: service, database, user , pswd.

.service=[Net Service Name]See Figure 2 below for Service Name location.

Defines the name of the source Oracle service name which is used for communication with Oracle Server.

PI Interface for ABB 800xA Batch

Page 16: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Object Name

Property name Description

Required Example:source[1].service = ADVAsource[1]. database = OPS$OCSHISsource[1].user = Johnssource[1].pswd = test

source[2].service = ADVA2source[2].database = OPS$OCSHISsource[2].user = Adamssource[2].pswd = 12345

.database =[Database Name]Required

Defines the name of the primary database name in ABB 800xA Oracle server.Example:source[1]. database = OPS$OCSHIS

.user=[Oracle user name]Required

Defines the explicit user name used for connection to Oracle server.Example:source[1].user = Johnssource[1].pswd = test

.pswd=[Oracle user password]Required

Defines the user password used for connection to Oracle server. Must be used in conjunction with .user= property.Example:source[1].user = Johnssource[1].pswd = test

.pdl=true / falseOptional

True if interface should collect PDL message log events (alarms related to batches).False (default) does not collect PDL message log events.

PI Interface for ABB 800xA Batch

Page 17: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Figure 2. Oracle Client Service Name location to be used in INI file.

ORACLE Batch Historian as Data Source

The ABB 800xA Batch Execution System (BES) consists of various components and the Oracle Server is one of them. The Oracle Server is used to store events performed by the ABB 800xA BES. While the Oracle Server contains multiple databases used to store realtime data and batch data, the interface requires only one containing batch associated data.

Table 2. List of tables used for data retrieval.View/Table DescriptionTask Contains UniqueID (TaskID), BatchID, start time (UTC), end

time (UTC), Procedure Path.

Resource_Associations Contains Units associated with all batch recipes for UnitProcedure level (based on TaskID).

Task_Variables_Occurrences Contains batch associated data for all batches, such as Variable Name, Variable Value, Occurrence Time (UTC).

Data retrieval from the Oracle server is scan based. The Oracle OLEDB driver is used to communicate with the Oracle server databases (part of Oracle Provider for OLEDB package).

Page 18: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Note: Always use OLEDB Provider package which matches Oracle server version. This interface was created based on the functions introduced in Oracle 9i (9.2.0.7). If Oracle server version is 10g, then use Oracle10g Provider for OLE DB 10.1.0.4.0.

Oracle OLEDB Provider can be downloaded from the following location:

http://www.oracle.com/technology/software/tech/windows/ole_db

After installation verify that “ORACLE_BASE\ORACLE_HOME\bin” directory contains OraOLEDB.dll driver.

Recipe Model

The Recipe model is used to describe batch processes. Diagram depicting hierarchical structure, in particular those for the S88-compliant hierarchical structure, is shown in Figures 3. The Recipe Model describes the procedures, which are performed during the execution of a recipe.

It should be noted that within S88, the use of procedures and unit procedures is optional. A recipe may be defined consisting of only operations and phases.

Figure 3. Recipe Model hierarchy

Equipment Model hierarchy

The Batch interface uses S88 terminology and hierarchy as framework to collate and store information in a structured manner in either PI Server (Module and Batch databases) or AF Server (elements and event frames).

The Batch interface makes an assumption that a unit procedure maps directly to a PI UnitBatch. This assumption implies that only a single unit procedure can be active in a unit at any given time. This lays a fundamental restriction on the configuration of recipes that may be run by the BES, if the Batch interface is to be used to process the resultant data and

PI Interface for ABB 800xA Batch

Phase

Operation

Unit Procedure

Procedure

Area

Control Module

Equipment Module

Unit

Process Cell

Page 19: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

populate the BDB in a meaningful manner. If there are overlapping Unit Procedures on the same unit, the interface closes the conflicting PI UnitBatches, although the data is still processed into closed PI UnitBatches. The actual end time for truncated UnitBatch is stored in its Product property. The actual Product is appended by the keyword “_TrueEndUTC=” which is followed by UTC seconds representing the actual End Time for specific unit batch.

When the interface is configured to store batch data in AF server, there are no restrictions on how the batch data can be stored. AF event frames support parallel unit procedures natively.

If the recipe is divided in multiple smaller unit procedures or operations, the ABB 800xA Batch interface should be run with merge startup command line parameter for entering that data into the PI server. Please refer to the Merging Multiple Source batches into a single PIBatch section for more information on how the merge works.

PI Batch Database Methodology

The PI Module and Batch Databases are used to organize and store batch data. Further discussion of these databases can be found in the PI 3.3 Data Archive Manual and the PI SDK tutorial documentation. This interface creates PIBatch, PIUnitBatch and hierarchy of PISubBatch objects within the PI Batch Database to represent the recipe procedures, unit procedures, operations, phases, phase states and phase steps respectively (Fig. 4). Each of the objects created in the PI Batch Database has the following common properties:

Name (PISubBatch)

batch ID (PIBatch and PIUnitBatch objects only)

start time

end time

Note that in a PIBatch the name is stored in the Recipe property and in a PIUnitBatch the Procedure property is used to store the name of the corresponding recipe level. If illegal characters (* ' ? | ` ") are encountered in the BatchID, Name, Product, Recipe or Procedure fields, they are replaced with the underscore “_” character. Each object in the PI Batch Database represents a specific level of the Recipe Model. However, the relationship between the PI Batch Database and the Recipe Model is complicated by the possibility of building a recipe without the procedure or unit procedure levels. In cases where the highest recipe level is an operation or phase (i.e. neither procedure nor unit procedure levels are defined), PIBatch and PIUnitBatch objects must still be created by the interface.

Page 20: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Figure 4. Schematic of PI Batch Database organization.

PIBatch

The PIBatch object is created for each batch defined in the data source. All records associated with the source batch can be recorded in the PIProperties collection of the PIBatch or in PI Points. The root PIProperty nodes are always the UniqueID (TaskID) of the batches which are assigned automatically by the Batch Executive. The interface stores the following batch properties under UniqueID: BatchID, Recipe, Recipe Type, Start Time UTC, End Time UTC, Interface Name, Interface ID, DataSource, and events defined by the client. The underlying structure of the PIProperties collection is organized to reflect the hierarchy of the Recipe Model described by the data source where the Recipe names create hierarchical PIProperty nodes. Events of interest are stored in lists under appropriate Recipe node. Each PIProperty event name is defined as ‘Event_<event count>’, where <event count> is the current number of events already stored under specific node. This method of event naming is dictated by the PIProperty rule, which states each event name under the same node should be unique. The PIProperty value can be defined through the use of Property templates. Please refer to Property Template section below for description and configuration steps.

The PIBatch represents the procedure within the recipe. Each PIBatch contains a collection of associated PI UnitBatches (which correspond to the Unit Procedures in the recipe).

The PIBatch object can represent merged object, which contains multiple source batches with identical BatchID or common subset of characters in BatchID. The PI Batch Product and Recipe properties contain data associated with the first source batch which started merged PI Batch. Use PIProperties to retrieve original source batch properties. For each merged source

PI Interface for ABB 800xA Batch

Page 21: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

batch, the interface creates a node named as the UniqueID (TaskID) of the source batch containing the original batch properties.

Note: Because source batch can be terminated unexpectedly, without proper unloading by the operator, the interface maintains this batch in the local memory for 100 days, after which the batch is considered abandoned, and the interface closes the batch with the latest known time stamp for this particular batch. The abandon timeout can be changed through the command line parameter /abto=<days> (Abandoned Batch TimeOut).

PI Batch Start event combinationsData Source PIBatch Start triggering event(s)

ABB Oracle Server

The Task event containing: [LevelNumber] field = “1” is used to set the Start Time for PIBatch. The event is retrieved from a complex query performed on “[database name].task” and “[database name].task_variables_occurrences” (for recipe name).

PI Batch End triggering event combinationsData Source PIBatch End triggering event(s)

ABB Oracle Server

The Task event containing: [LevelNumber] field = “1” is used to set the End Time for PIBatch. The event is retrieved from a complex query performed on “[database name].task” and “[database name].task_variables_occurrences” (for recipe name).

PIUnitBatch

A PIUnitBatch is created for each unit procedure as defined in the data source. The start and end times of a PIUnitBatch are intended to reflect the onset and completion of physical processing within a unit.

The PIUnitBatch properties do not change if the parent object is a merged PI Batch. PIUnitBatch always contains original BatchID and Procedure name as it is defined in the source unless /tbid parameter was specified in command line parameters. This parameter enforces a stripped BatchID to be used for PIUnitBatch objects and for all events to be stored in PIPoints and PIProperties.

When Operation or Phase level recipes are run, the interface uses the Operation/Phase name as the PIUnitBatch Procedure name.

PIUnitBatch Start Time triggering event combinationsData Source PIUnitBatch Start triggering event(s)

ABB Oracle Server

The Task event containing: [LevelNumber] field = “1” or [LevelNumber]=”2” (depending on unit associations) is used to set the Start Time for PIUnitBatch. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

Page 22: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

PI UnitBatch End Time triggering event combinationsData Source PIUnitBatch End triggering event(s)

ABB Oracle Server

The Task event containing: [LevelNumber] field = “1” or [LevelNumber]=”2” (depending on unit associations) is used to set the End Time for PIUnitBatch. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

PISubBatches

Operation

A PISubBatch is created for each source operation found within the data source as child for PIUnitBatch object.

Note: The operation and phase level recipes populate upper levels of PIBatch Database hierarchy automatically with PIUnitBatch Procedure property and PISubBatch operation name as the name of the source Operation/Phase recipe object.

PISubBatch Operation Start triggering events Data Source PISubBatch Operation Start triggering event(s)

ABB Oracle Server

The Task event containing: [LevelNumber] field = “2” or “3” (depending on unitprocedure level) is used to set the Start Time for PISubBatch - Operation. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

PISubBatch Operation End triggering eventsData Source PISubBatch Operation End triggering event(s)

ABB Oracle Server

The Task event containing: [LevelNumber] field = “2” or “3” (depending on unitprocedure level) is used to set the End Time for PISubBatch - Operation. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

Phase

A PISubBatch is created for each phase found within the data source as child for Operation level PISubBatch object.

Note: The phase level recipes populate upper levels of PIBatch Database hierarchy automatically with PIUnitBatch Procedure property and PISubBatch operation name as the name of the source Phase recipe object.

PI Interface for ABB 800xA Batch

Page 23: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Page 24: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

PISubBatch Phase Start triggering events Data Source PISubBatch Phase Start triggering event(s)

ABB Oracle Server

The Task event containing: [LevelNumber] field = “4” or “5” (depending on unitprocedure level) is used to set the Start Time for PISubBatch - Phase. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

PISubBatch Phase End triggering eventsData Source PISubBatch Phase End triggering event(s)

ABB Oracle Server

The Task event containing: [LevelNumber] field = “4” or “5” depending on unitprocedure level) is used to set the End Time for PISubBatch - Phase. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

PI AF Event Frames Methodology

PI Event Frames are used to organize and store the batch data. The event frame hierarchy supports the storage of source batch data with no data manipulations. At any level of the hierarchy, each event frame has its own set of attributes, which provide the ability to store source batch attributes under a specific event frame regardless of its depth. This approach is a major improvement over the PI Batch database, where only the top level object (PIBatch) can contain attributes (PIProperties). To bypass this limitation, artificial PIProperty nodes that represent the hierarchical structure of the source recipe were created in PIBatch properties or the data was stored in PI Tags.

Each event frame has the following fields:

Name

Description

Start Time

End Time

Template

Category

Event Specific Attributes

Referenced elements (such as Units)

In the root level event frame, the Name field contains the source batch BatchID. For sub event frames, the Name field contains the actual recipe name, such as UnitProcedure, Operation, Phase, etc. To maintain compatibility with the way data is stored in PI Batch Database, the following source batch properties are stored as event frame attributes. For Procedure-level recipe, source batch Product and Recipe properties are stored as event frame attributes. For UnitProcedure-level recipes, the source batch BatchID and Product are stored as event frame attributes.

PI Interface for ABB 800xA Batch

Page 25: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

If illegal characters (* ‘ ? | ` “) are encountered in the Name field, they are replaced with the underscore “_” character. Each object in the event frame represents a specific level of the Recipe Model. However, the relationship between the event frames and the Recipe Model is complicated by the possibility of building a recipe without the procedure or unit procedure levels. In cases where the highest recipe level is an operation or phase (that is, neither procedure nor unit procedure levels are defined), event frames that correspond to Procedure and UnitProcedure level must be still created by the interface.

Figure 5. Schematic of AF event frames organization.

Procedure

The root event frame is created for each batch defined in the data source, and represents the Procedure in the Recipe. Each root event frame contains a collection of associated child event frames that correspond to the Unit Procedures in the recipe. All records associated with the source batch can be recorded in the Attributes collection of the event frame or in PI Points. Because source batches can have identical BatchID and Recipe Names in the same timeframe, the interface stores additional information in the Extended Properties of the root event frame, to match the source batch with an event frame. The Extended Properties are the flat Name-Value collection. The Name is the BatchID of the source batch, which is automatically assigned by the Batch Executive, and the value is the XML structure containing the following batch properties: BatchID, Product, Formula Name, Recipe, Recipe Type, Start Time UTC, End Time UTC, Interface Name, Interface ID, and DataSource.

To maintain compatibility with PI Batch database, the root event frame Name is the BatchID of the source batch. The “Recipe” (Procedure Name) and “Product” properties are stored as the searchable attributes of the event frame. Below is the source batch property mapping to an AF event frame.

Source Procedure Properties

AF EventFrame Fields

AF EventFrame Attributes

Referenced Elements

BatchID Name

Page 26: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Procedure Name RecipeProduct ProductStart Time Start TimeEnd Time End Time

Template=”Procedure”

default Attributes: Recipe, Product

Category=”OSIBatch”

The Procedure-level event frame can represent a merged object, which contains multiple source batches with identical BatchIDs or a common subset of characters in its BatchID. The Product and Recipe attributes contain data associated with the first source batch that started the merged event frame. For each merged source batch, the interface creates a node in Extended Properties of the event frame, named with the UniqueID of the source batch and the value is the XML containing the original source batch properties.

Note: A source batch can terminate unexpectedly without proper unloading by the operator. The interface maintains such a batch in the local memory for 100 days, after which the batch is considered abandoned and the interface closes the batch with the latest known time stamp for this particular batch. The abandon timeout can be changed using the command line parameter /abto=<days> (Abandoned Batch TimeOut).

Procedure-Level AF Event Frame Start Event Combinations

Data Source Start triggering event(s)ABB Oracle Server

The Task event containing: [LevelNumber] field = “1” is used to set the Start Time for AF EventFrame. The event is retrieved from a complex query performed on “[database name].task” and “[database name].task_variables_occurrences” (for recipe name).

Procedure-Level AF Event Frame End-Triggering Event Combinations

Data Source End triggering event(s)ABB Oracle Server

The Task event containing: [LevelNumber] field = “1” is used to set the End Time for AF EventFrame. The event is retrieved from a complex query performed on “[database name].task” and “[database name].task_variables_occurrences” (for recipe name).

PI Interface for ABB 800xA Batch

Page 27: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

UnitProcedure

A UnitProcedure-level event frame is created for each unit procedure as defined in the data source. Each UnitProcedure-level event frame is created as a child of the Procedure-level event frame and contains the subset of event frames that represent the source batch Operation-level recipe. The start and end times of an event frame are intended to reflect the onset and completion of physical processing in a unit. The parallel UnitProcedures are supported completely by AF event frames. That is, the event frame End Time reflects the actual end time of the source UnitProcedure,

The name field of the UnitProcedure-level event frames reflects an actual source batch UnitProcedure name. To maintain compatibility with PI Batch database, the interface stores the “BatchID” and the “Product” source batch properties as searchable attributes of the event frame. Below is the source unit procedure mapped to eventframe fields and attributes:

Source UnitProcedure Properties

AF Event Frame Fields AF Event Frame Attributes

Referenced Elements

BatchID BatchIDUnitProcedure Name Name ProcedureProduct ProductStart Time Start TimeEnd Time End TimeUnit Unit

Template=”UnitProcedure” default Attributes: BatchID, Procedure, Product

Category=”OSIBatch”

The UnitProcedure-level event frame properties do not change if the parent object is a merged event frame. UnitProcedure event frames always contains the original BatchID and Procedure name as defined in the source, unless the /tbid parameter was specified in the command line. This parameter configures a stripped BatchID to be used for UnitProcedure event frames objects and for all events to be stored in PIPoints and event frame attributes.

UnitProcedure AF EventFrame Start Time-Triggering Event Combinations

Data Source Start triggering event(s)ABB Oracle Server

The Task event containing: [LevelNumber] field = “1” or [LevelNumber]=”2” (depending on unit associations) is used to set the Start Time for UnitProcedure level AF EventFrame. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

UnitProcedure AF EventFrame End Time-Triggering Event Combinations

Data Source End triggering event(s)ABB Oracle Server

The Task event containing: [LevelNumber] field = “1” or [LevelNumber]=”2” (depending on unit associations) is used to set the End Time for UnitProcedure level AF EventFrame. The event is retrieved from a complex query performed on “[database name].task”, “[database

Page 28: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Data Source End triggering event(s)name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

Operation

An Operation-level event frame is created for each Operation as defined in the data source. Each Operation-level event frame is created as a child of the UnitProcedure-level event frame, and contains the subset of event frames that represent the source batch Phase-level recipe.

The Name field of the Operation-level event frames reflects an actual source recipe Operation name. Below is the source operation recipe mapping to event frame fields and attributes:

Source Operation Properties

AF EventFrame Fields AF EventFrame Attributes

Referenced elements

Operation Name NameStart Time Start TimeEnd Time End TimeUnit Unit

Template=”Operation”Category=”OSIBatch”

Note: The operation- and phase-level recipes populate upper levels of the event frames hierarchy automatically from the Procedure-level event frame attribute: “Recipe” and UnitProcedure/Operation-level event frame Name field as the name of the source Operation/Phase recipe object.

Operation-Level AF Event Frame Start-Triggering Events

Data Source Start triggering event(s)ABB Oracle Server

The Task event containing: [LevelNumber] field = “2” or “3” (depending on unitprocedure level) is used to set the Start Time for Operation level AF EventFrame. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

Operation-Level AF Event Frame End-Triggering Events

Data Source End triggering event(s)ABB Oracle Server

The Task event containing: [LevelNumber] field = “2” or “3” (depending on unitprocedure level) is used to set the End Time for Operation level AF EventFrame. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

PI Interface for ABB 800xA Batch

Page 29: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Phase

A Phase-level event frame is created for each Phase, as defined in the data source. Each Phase-level event frame is created as a child of the Operation-level event frame and contains the subset of event frames that represent the source batch Phase States-level recipe.

The name field of the Phase-level event frame reflects an actual source recipe Phase name. Below is the source phase recipe mapping to event frame fields and attributes:

Source Phase Properties

AF EventFrame Fields AF EventFrame Attributes

Referenced elements

Phase Name NameStart Time Start TimeEnd Time End TimeUnit Unit

Template=”Phase”Category=”OSIBatch”

Note: The Phase-level recipes automatically populate upper levels of the event frames hierarchy with the Procedure-level event frame Recipe attribute UnitProcedure- and Operation-level event frame Name field as the name of the source Phase recipe object.

Phase-Level AF Event Frame Start-Triggering Events

Data Source Start triggering event(s)ABB Oracle Server

The Task event containing: [LevelNumber] field = “4” or “5” (depending on unitprocedure level) is used to set the Start Time for Phase level AF EventFrame. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

Phase-Level AF Event Frame End-Triggering Events

Data Source End triggering event(s)ABB Oracle Server

The Task event containing: [LevelNumber] field = “4” or “5” depending on unitprocedure level) is used to set the End Time for Phase level AF EventFrame. The event is retrieved from a complex query performed on “[database name].task”, “[database name].task_variables_occurrences” (for recipe name) and “[database name].resource_associations” (for allocated equipment).

Template Placeholders

The ABB800xA Batch interface uses templates to specify what is stored in PI Batch Properties, PI Points and it also allows defining the equipment hierarchy structure in the PI Module Database. The word - template is used to define the custom name and/or value structure applied to particular PI object. The template is defined by a combination of a free

Page 30: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

text and placeholders. The placeholder can be referred to as the column in the Oracle data tables. Note, timestamps are always stored in UTC including milliseconds.

Figure 5. Placeholders to Oracle columns association example.

Example:

Consider the following template structure:

Sample template for tag value: [Procedure]-[BatchID]:[Parameter]__value:[Value]

This structure contains the free text and the placeholder combination. Assume that the incoming event is highlighted row (Figure 5). Then using the template structure we can replace placeholders with the actual data from the associated columns to create the following text:

Resulting Tag value: DemoOpDB-DB_004:EmStartSP2__value:10.000

PIModule Creation

The interface performs automated module and unit creation within the PI Server. PI Units (PIModules with the IsUnit flag set to true) are created if needed when they are first encountered in the data source. The interface maintains only the unit modules. By default, the placement of these modules is at the root level of the Module DB. Although, the user can define an optional Starting Module Path by using the (/smp command line parameter) under which the equipment hierarchy will be created. The default structure of the PI module hierarchy utilized by the interface is depicted in Figure 6.

Figure 6. Interface PI Module DB Structure

PI Interface for ABB 800xA Batch

Page 31: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

The ABB 800xA Batch automatically references PI tags at the unit and phase PIModules through tag aliases if tag name contains unit module name or unit module name mask.

If for any reason default equipment hierarchy is not feasible, then the interface allows creating custom equipment hierarchy through the use of Recipe[2].ModulePath template. Recipe Template should be defined in INI file associated with specific interface instance.

Note: The Equipment=<custom equipment path> template is deprecated. Please use Recipe[2].ModulePath=<custom equipment path>

PI AF Element Creation

The interface creates the PI AF elements that represent the source equipment hierarchy. PI AF elements are created if needed when they are first encountered in the data source. The following elements in the equipment hierarchy are maintained by the interface: Unit. By default, these elements reside at the root level of the element collection. You can define an optional starting element path under which the equipment hierarchy is created by specifying the /smp command line parameter. The default structure of the PI AF elements hierarchy used by the interface is depicted in the following figure.

Interface PI AF Element Structure

The interface automatically references PI tags for the unit and phase modules PI AF elements through tag aliases if tag names contain unit and phase module names. If the tag name contains reference to the unit and not the phase module, only the Unit Alias for this tag is created.

If the default equipment hierarchy is not feasible for any reason, the interface supports creating a custom equipment hierarchy using an equipment template. The equipment template must be specified in the INI file associated with the specific interface instance.

Foreign Language Support

The ABB 800xA Batch interface supports languages other than English by providing the use of a look-up table for the various parameters, values. Note the interface does not require any translations for just PI Batch and PI Module database population. The language translation syntax is the following:

Translate: <native language definition> = <English definition or any replacement phrase>,

where translation is identified by the keyword - translate: followed by the native language word or phrase to be translated. The equal sign determines the end of the native language word/phrase definition and serves as a token for the start of English definition or replacement definition. The syntax is not case sensitive.

Page 32: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Note: As soon as we translate word/phrase into English, we can use English Names, i.e. word – “Report” in resulting output of Template Tags and Properties. The templates must be defined using native language. Translations can be used to redefine any source word/phrase to any new word/phrase.

Translated Templates Example:

Based on provided translations the interface can create and populate PI Tags and PI Properties from templates in native language. For example, consider the following tag template:Tag[1].Name = [Unit] abc_[Parameter,value=”Bericht”]Tag[1].Value = [Value]:defTag[1].type = stringTag[1].unitalias = Some BerichtTag[1].Descriptor = Bericht for Unit: [Unit]Tag[1].EngUnits = just text

Property[1].Value = [Time] [Parameter,value=”Bericht”] [Unit]-[Value]

These templates are triggered by parameter – Bericht (German word for – Report) as it is found in the data source and the tag name and PI Property value will be based on native language parameter name. Assume that there is a particular row with unit field containing value: “U101” and associated Value field containing value: “testing”. In this case PI Tag name is defined as: “U101 abc_Bericht” and tag value is defined as: “testing:def”.

With the use of language translations we can create tag where foreign word/phrase is replaced with translated word/phase. For example:

translate: "Bericht" = "Report"

translate: "testing" = "1"

Then resulting Tag name would be: "U101 abc_Report" and Tag value would be "1:def"

The same logic is applicable to the property template definitions. Translations are not case sensitive. Language translations don’t have to be defined prior to the tag or property template definitions, they can be defined anywhere within the INI file.

Event Logging

Besides the creation and population of PI Batch, Module DB objects, AF event frames and AF elements, there are two methods by which the specific events from the data sources can be saved into the PI system. These methods are:

The interface can store the individual events to the PI Properties hierarchy of the PI Batch or AF EventFrame Attributes when incoming event(s) match triggering events defined in Property Templates.

The interface can create new PI Tags (and link them to a unit and phase module with a PI Aliases) when the incoming event(s) match triggering events defined in Tag Templates.

These functions are separate actions and triggered independently under different sets of criteria.

In the following sections, the word – “Placeholder” is used as synonym to the data source column name which is available to interface. The placeholder is normally denoted by square

PI Interface for ABB 800xA Batch

Page 33: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

brackets []. Angular brackets <> can be used to denote exact match found in any field of incoming event. All placeholders are replaced by the actual field data during processing.

Generic event placeholders:

[TIME], [UNIQUEID], [BATCHID], [PROCEDURE], [UNITPROCEDURE], [OPERATION], [PHASE], [PARAMETER], [VALUE], [UNIT], [UNITRAW], [PROCPATH], [TYPE], [LEVELNUMBER]

PDL Alarm event placeholders:

[MESSAGE], [QUALITY], [CATEGORY], [CONDITION], [SUBCONDITION], [SEVERITY], [SOURCE], [IDX], [ASPECTNAME], [CAMPAIGNID], [CATEGORYNAME], [CLASS], [EVENTCODE], [FROMVALUE], [LOCALE], [NODENAME], [OBJECTDESCRIPTION], [PATH], [PRIORITY], [PROCEDUREPATH], [SOURCENAME], [TOVALUE], [UNITID], [USERACCOUNT], [USERFIRSTACCOUNT], [USERFULLNAME], [USERSECONDARYACCOUNT], [XMLDATA]

In addition to exact placeholder values, the interface supports wildcards in as placeholder values. Available wildcards are given below and can be used in any property field of Tag or Property Templates.

Wildcard Description

# single digit numerical value (0-9)

@ single alpha character (a-z, A-Z)

? any single valid symbol

* An array of valid symbols

! repeat previous mask symbol

Example 1: (no query optimization)Tag[1].Name = [Parameter, value=”Temp_Sens*”

Note: The datasource (SQL) cannot perform filtering based on wildcards, therefore the interface needs to retrieve ALL events for particular timeframe and perform filtering on interface node. This can be avoided if the Tag and Property templates don’t contain wildcards in [PARAMETER, value=”<text>”] placeholder.

Note: Just specifying [Parameter] in trigger expression is equivalent to [Parameter, value=”*”] which will disable query optimization.Example 2: (query optimization is going to be performed)

Tag[1].Trigger = [Parameter, value=”Recipe Data”]

Advanced Parsing Parameters

Each placeholder can contain additional parameters which allow advanced parsing of incoming data. The allowed syntax:

[Name of Placeholder, <list of parameters delimited by comma>]

Page 34: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

The following table provides the list of available parameters which can be used with any placeholder. Note, the names of parameters, placeholders, and value substrings are not case sensitive. If additional parameters are used for at least one placeholder, then in case of resulting substring returning empty set, the whole template will be set to blank. If it is desired to search in ALL fields of incoming event then set Name of Placeholder as a wild card, i.e. [*,lbe=”u:”].

Parameter DescriptionVALUE=”substring” or “mask”

Defines the exact field value to search for in particular column. Masks are allowed. If ‘*’ is used instead of Name of Placeholder (i..e. search in all event fields, then [*,value=”test”] is equivalent to <test>

LBE=”substring”Optional

Left Bound Exclusive substring. Defines the left bound of the target substring value. The resulting substring DOES NOT include the LBE defined boundary substring.

LBI=”substring”Optional

Left Bound Inclusive substring. Defines the left bound of the target substring value. The resulting substring includes the LBI defined boundary substring.

RBE=”substring”Optional

Right Bound Exclusive substring. Defines the right bound of the target substring value. The resulting substring DOES NOT include the RBE defined boundary substring.

RBI=”substring”Optional

Right Bound Inclusive substring. Defines the right bound of the target substring value. The resulting substring includes the RBI defined boundary substring.

Delim=”substring”Optional

Delimiter character or substring. Must be used in conjunction with the Count parameter. This parameter defines the field separator. If used, it narrows the resulting substring to the substring contained within delimiters, where the starting delimiter index is specified by the count parameter.Note: right and left boundary substrings can be specified as well, resulting in parsing the delimited substring.

Count=#Optional

Index of the delimiter from which to start parsing. Must be used in conjunction with the Delim parameter.

For example, assume that [Value] column field contains the following data:

|U:browntod|C:SP_CHARGE_AMOUNT|O:1200|N:1123|E:kg|M:Local

The sample placeholder parameter combinations and results are presented in the table below.

Placeholder syntax Resulting substring[value] |U:browntod|C:SP_CHARGE_AMOUNT|

O:1200|N:1123|E:kg|M:Local

[value, lbe=”N:”] 1123|E:kg|M:Local

[value, lbi=”N:”] N:1123|E:kg|M:Local

[value, rbe=”tod”] |U:brown

[value, rbi=”tod”] |U:browntod

[value, lbe=”U:”, rbe=”|”] Browntod

[value, lbi=”U:”, rbe=”|”] U:browntod

[value, lbe=”O:”, rbi=”kg”] 1200|N:1123|E:kg

[value, delim=”|”,count=3] O:1200

[value, delim=”|”,count=3,lbe=”O:”] 1200

[value, delim=”|”,count=2,lbe=”C:SP”,rbe=”UNT”]

_CHARGE_AMO

[value, delim=”|”,count=6,lbe=”M:”] Local

PI Interface for ABB 800xA Batch

Page 35: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Attribute/Property Templates

An interface supports both PI Batch and AF event frames for storing batch data. When the interface is configured to use AF Server as its host, batch data is stored as event frames and batch-associated data is stored in AF attributes. AF attributes are part of each event frame that enable batch-data to be stored with the execution event. All levels of the event frame hierarchy can store batch data in AF attributes.

When the interface is configured to run only against the PI Server, batch-recipe-associated data can be stored at the PIBatch level (root level) of the recipe hierarchy only by using the PIProperties collection, due to PI Server limitations. To maintain the recipe hierarchy, PIProperties are organized as a recipe tree, where each PIProperty node is the name of the recipe level, (procedure, unit procedure, operation, or phase). The data is stored in (Name, Value) lists under each node.

Note: The batch PI Properties collection has a limitation of 1Mb per PIBatch object. Therefore, it is not recommended to store all incoming events into batch PIProperties collection.

By default the interface does not store batch associated data into PIProperties. To store data in PIProperties, use Property Templates which define the subset of events and associated PIProperty value structure for each event to be stored in PIProperties. The Property Templates are not case sensitive and must be defined in the INI file associated with each specific instance of the interface. The Property Template can define only PIProperty values, but not the PIProperty names. This is dictated by the PISDK rule, stating that each PIProperty event name under the same PIProperty node should be unique. Each PIProperty event name is defined as ‘Event_<event count>’, where <event count> is the current number of events already stored under a specific Attribute or PI Property node. The Property Template usage as follows:Property[index].Name = free text and placeholders (hierarchy supported) (optional)Property[index].Value = free text and placeholdersProperty[index].Trigger = placeholdersProperty[index].Translate = true/false (default: false)Property[index].EngUnits = free text and placeholders (AF only)Property[index].Type = integer/float/string/auto/floatstring Property[index].Category = free text and placeholders (AF only)

Or, using attributes:Attribute[index].Name = free text and placeholders (hierarchy supported) (optional)Attribute[index].Value = free text and placeholdersAttribute[index].Trigger = placeholdersAttribute[index].Translate = true/false (default: false)Attribute[index].EngUnits = free text and placeholders (AF only)Attribute[index].Type = integer/float/string/auto/floatstring Attribute[index].Category = free text and placeholders (AF only)

Where index – is an arbitrary 1-based positive number. Value structure should be given in the free text format with the placeholder names contained within the square brackets. The triggering expression must be embedded in the Value Structure or specified through explicit Trigger(s). Specifying multiple placeholders in a single triggering expression is treated as an AND logic and specifying multiple trigger expressions is treated as an OR logic.

Page 36: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

In cases when the source Engineering Units (UOM) do not match the AF Server Engineering Units (UOM), you can define the conversion map using the UOMMAP keyword. There can be multiple maps defined.

Syntax: UOMMAP: <Source UOM> = <AF UOM>

Example:UOMMAP: \\B0\\C = DEGC

PI Interface for ABB 800xA Batch

Page 37: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Property Template Description

Template Name Allowed Placeholders

Description

Property[#].NameOrAttribute[#].Name

Optional

[TIME][UNIQUEID][BATCHID][PROCEDURE][UNITPROCEDURE][OPERATION][PHASE][PARAMETER][VALUE][UNIT][UNITRAW][PROCPATH][LEVELNUMBER][TYPE]

[MESSAGE][QUALITY][CATEGORY][CONDITION][SUBCONDITION][SEVERITY][SOURCE][IDX][ASPECTNAME][CAMPAIGNID][CATEGORYNAME][CLASS][EVENTCODE][FROMVALUE][LOCALE][NODENAME][OBJECTDESCRIPTION][PATH][PRIORITY][PROCEDUREPATH][SOURCENAME][TOVALUE][UNITID][USERACCOUNT][USERFIRSTACCOUNT][USERFULLNAME][USERSECONDARYACCOUNT][XMLDATA]

[*,value=”Exact Field”],

This property defines the Name structure of the PI Property. The triggering expression or Event Type must be embedded in the value structure. Allowed placeholders are not case sensitive. Due to the requirement that PI Property Names should be unique under the same PI PropertyIf Template Property - Name is not defined, the PI Property names are created automatically by the interface asEvent_(Same Node Event Count).

Note: Warning, if Name is defined and there is an event which results in PI Property Name already existing in PI Server, then the interface will replace the existing PI Property value with the new one.

Note: Each incoming event can trigger multiple Property Templates if it is defined in each as triggering event.

In Name property, the hierarchy of names is supported.

ExampleProperty[1].Name = Materials\[Parameter]

As result, if the Property Template is triggered then the interface creates under proper Recipe PIProperty – PI Property “Materials” and as child property – the value of [Parameter] placeholder.

By default all properties are placed under the particular recipe nodes in PIProperties which mimic the recipe structure created in PIBatch database.Starting from version 2.0.0.1, parameter data from any depth of the source recipe hierarchy can be placed at the root level of the PIBatch PIProperties object. It can be achieved by specifying the $ as the first node name in path.Example:Property[1].Name = $\[Parameter]

Assume that [Parameter]=”Recipe Data”. As result, if the Property Template is triggered then the interface creates under specific root UniqueID PIProperty the property named as “Recipe Data”.

Page 38: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Template Name Allowed Placeholders

Description

[*,value=”Field Mask”], or advanced parsing

Property[#].ValueOrAttribute[#].Value

Required

Same as for Name.And[TAG]

This property defines the value structure of the PI Property. The triggering expression or Parameter Name must be embedded in the value structure. Allowed placeholders are not case sensitive. Due to the requirement that PI Property Names should be unique under the same PI Property Node, the property names are created automatically by the interface.Note: Each incoming event can trigger multiple Property Templates if it is defined in each as triggering event.

Property Template Value:Defined by user as free text with optional placeholders. Placeholder – is the name of the source column. For each incoming event, placeholder in the template is replaced by corresponding field from the event structure.

It is also possible to specify the exact field value or field value mask. The exact field or field mask should be defined as described in the Advanced Parsing section above.Note: if the field match is not found in predefined/any event fields then the whole property template is ignored.Example:The parameter of our interest is “State Change” then the Property Template can be defined as:Property[1].Value = [BatchID] | event: [Parameter, value=“State Change”] | val: [Value]Or using mask:Property[1].Value = [BatchID] | event: [Parameter, value=“State Ch*”] | val: [Value]

PI Interface for ABB 800xA Batch

Page 39: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Template Name Allowed Placeholders

Description

Property[#].TriggerOrAttribute[#].Trigger

Optional

Same as for Name Property except [TIME]

Defines the triggering expression or Parameter Name which used to create and populate PI Properties. If trigger is defined, it overrides triggering expression in Value property if defined.Note: There can be multiple triggers defined for a single template property.Note: Interface uses only placeholders embedded into expression to trigger particular template. All free text is omitted and placeholders are treated as with AND logic. Using multiple Triggering expression allows to create OR logic for triggering.Example:Property[1].Trigger = [Parameter, value=”State Change”]Property[1].Trigger = [Value, value=”test”]or using mask:Property[1].Trigger = [Parameter, value=”State Ch*”]Property[1].Trigger = [Value, value=”tes*”]

Property[#].TranslateOrAttribute[#].Translate

Optional

Values:true/false

If set to true this property allows the Property Template to use the translate map and replace words, phrases found in Value with the custom ones.

Property[#].TypeOrAttribute[#].Type

Optional

AutoStringFloatIntegerFloatString

Defines the type of the PIProperty when PI server is used as the host for batch data.Defines the type of the AF Attribute when AF Server is used as the host for batch data.Note, the type=auto allows automatically assign value type as integer/float/string.And the type=floatstring allows automatically assign value type float/string.

Property[#].CategoryOrAttribute[#].Category

Optional

AF Only

Same as for Name property

Defines the AF Attribute Category property. This property can be used for grouping of the attributes.

Attribute[#].UOMOrAttribute [#].EngUnitsOrAttribute[#].EU

Same as for Name property

This property defines the Engineering Units (Units of Measure) for the specific AF Attribute. Allowed placeholders are not case sensitive.

Page 40: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Template Name Allowed Placeholders

Description

Optional

AF Only

Example 1:

The Property Template is defined in INI file as follows:Property[1].Value=[Time]: Parameter:<REAC_TEMP*> | V:[Value]_Testing

where index=1 is arbitrary (1-based) and is used to identify which template was used to create particular PIProperty event structure. The property index number must be defined in square brackets. The text string defined after the equal sign (=) is the actual PIProperty structure given in the free text format, and is not case sensitive.

Assume that incoming event from data source contains populated fields as:[Time]=”12/01/2008 12:01:05”[Parameter]=REAC_TEMP_SP[Value]=25.00000

Then the actual PIProperty value added to the PIBatch object is:

12/01/2008 12:01:05: Parameter:REAC_TEMP_SP | V:25.0000_Testing

PI Interface for ABB 800xA Batch

Page 41: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Tag Templates

The ABB 800xA Batch interface has an option to store batch associated data in PI Points, commonly known as tags. Every Event Type known on the source can be recorded in the PI Server. By default, interface does not create tags or populate them with events. You can enable this functionality through the use of Tag Templates, which are defined in the INI file associated with each interface instance. The INI file should be located in the same directory as the interface startup batch file (BAT) and have the same filename (except extension) as the batch file (BAT) which is used to start the particular instance of the interface. If such setup is not possible for any reason, then INI file can be specified in optional command line parameter /inifile=<full path filename>.

Tag Templates allow defining structures for tag name, tag data type, tag value, unit alias name, phase module alias name, engineering units and descriptor properties. The timestamp for each tag event is obtained directly from the data source. The required properties to be completed are tag name structure, tag value structure and tag type, all other properties are optional. If only tag name is defined then the triggering “parameter name” should be defined as part of the tag name structure. If an explicit trigger is defined, then the tag creation and population is based on the parameter type defined in .Trigger property overriding the parameter name in tag name (if defined). Multiple tag templates can be triggered by the same source “parameter name” and a single template can be triggered by multiple source “parameter names”.

Multiple tag templates are capable of writing to the same PI tag (if the .Name attribute of the tag templates resolves to the same PI tag name).  This is useful when you want different values to be written to the same PI tag dependent on the trigger for each.

Note: If explicit triggers are used, then the Tag Name embedded triggering is overridden.

You also have the option to specify the tag value type. There are 3 tag types allowed: float, integer and string. By default, if the value type is not specified, the batch interface creates a string type PI Point and treats all event values as strings.

Tag[index].<Property> = Free text

Where index is the 1-based positive number, also serves as Location2 value in actual PI Point attributes and is used to identify which Tag Template created specific PI Point.

Possible Tag Template <Property> definitions:Tag[index].Name = free text and placeholders (with embedded triggering Event Type or Event Type Mask or Expression if triggering expression is not specified)Tag[index].Value = free text and placeholdersTag[index].Trigger = placeholdersTag[index].Type = string/integer/float/auto/floatstringTag[index].UnitAlias = unit tag alias name defined via free text and placeholders (default: as Tag[Index].Name)Tag[index].Descriptor = free text and placeholders (default: blank)Tag[index].EngUnits = free text and placeholders (default: blank)Tag[index].Translate = true/false (default: false)Tag[index].Annotation = free text and placeholdersTag[index].Annotation2 = free text and placeholders

Page 42: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

If the name structure contains placeholders, then the tag template will only be triggered if all placeholders are replaced with non-empty fields from each incoming event from data source. The event value structure does not have this limitation, i.e. placeholders can be replaced with empty fields. The only exception is the advanced field value parsing. In the Tag Template Description table below, a complete list of possible properties, values and placeholders that can be used to define value/name structures is provided.

Tag Template Description

Template Property Name

Allowed Placeholders Description

Tag[#].Name

Required

[UNIQUEID][BATCHID][PROCEDURE][UNITPROCEDURE][OPERATION][PHASE][PARAMETER][VALUE][UNIT][UNITRAW][PROCPATH][LEVELNUMBER][TYPE]

[MESSAGE][QUALITY][CATEGORY][CONDITION][SUBCONDITION][SEVERITY][SOURCE][IDX][ASPECTNAME][CAMPAIGNID][CATEGORYNAME][CLASS][EVENTCODE][FROMVALUE][LOCALE][NODENAME][OBJECTDESCRIPTION][PATH][PRIORITY][PROCEDUREPATH][SOURCENAME][TOVALUE][UNITID][USERACCOUNT][USERFIRSTACCOUNT][USERFULLNAME][USERSECONDARYACCOUNT]

This property defines the name structure of the tag. Allowed placeholders are not case sensitive. The triggering Parameter or expression can be specified either in Tag[#].Name or in Tag[#].Trigger properties.The tag name structure can also contain Exact word or phrase (must be specified within angled brackets <…> or as [*,value=”…”]) which can be found in any fields of the incoming event. If the column is known then use the advanced parsing described above. For example, desired column is “Event” and value is “Report”, then placeholder can be defined as [Event,value=”Report”]. If resulting Tag Name contains illegal characters such as * ' ? ; { } [ ] | ` " \ then these characters are replaced by “_” character. The contained word or phrase can be also a mask.

For example, Descript column contains field: B10_OP_CIP100. If it is desired to have a tag when this descriptor is encountered, then the tag name template can be specified as:Tag[1].Name = [unit] <B10_OP_CIP100> REPORT_RATE.Or using masked field definition:Tag[1].Name = [unit] <B10_OP_CI*> REPORT_RATE.

Triggering event can be defined as mask as well.Example: Tag[1].Name = [unit] <B10_OP_CI*> <REPORT_R*>

Note: Each incoming event can be used to create/populate multiple PI Tags, if it is defined as triggering event in multiple Tag Templates.

PI Interface for ABB 800xA Batch

Page 43: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Template Property Name

Allowed Placeholders Description

[XMLDATA]

[*,value=”Exact Field”], [*,value=”Field Mask”], advanced parsing

Tag[#].Value

Required

Same as Name, and[TIME][TAG]

This property defines the event value structure for the specific PI Point. Allowed placeholders are not case sensitive.The event timestamp is taken from the incoming event [Time] field.

Tag[#].Type

Required

AutoStringFloatIntegerFloatString

Defines the type of the PI Point to be created and how to treat the events written to this tag. For Compliance Suite tag template, this property should be always set to “string”

Tag[#].Trigger

Optional

Same as for Name property Defines the triggering parameter name or expression which used to create and populate PI tags. If trigger is defined, it overrides triggering parameter or expression in Name property if defined.Note: There can be multiple triggers defined for a single template tag.Note: Interface uses only placeholders embedded into expression to trigger particular template. All free text is omitted and placeholders are treated as with AND logic. Using multiple Triggering expression allows to create OR logic for triggering.Example:Tag[1].Trigger = [Event, value=”PIEVENT”]or using mask:Tag[1].Trigger = [Event, value=”PIEV*”]Using triggering expression with two placeholders:Tag[1].Trigger=[Event,value=”State*] [Value, value=RUNNING”]This expression will trigger tag template only if both conditions are met.

Tag[#].UnitAlias

Optional

Same as for Name property

This property defines the unit level alias name structure for specific template tag. The contained field can be defined as exact phrase or mask. If resulting Alias Name contains illegal characters such as * ' ? | ` " then these characters are replaced by “_” character. Starting with interface version 1.0.1.0 optional sub unit module path can be specified in alias name. “\” symbol should be used to separate parent\child modules and “|” symbol should be used to separate module path and the actual alias name.Default: uses Name property as unit level alias name and [unit] module as alias location.Note: The names for PI Aliases must be unique.

Starting from version 1.0.2.0, interface allows creating aliases on PI modules based on absolute module path. This can be achieved by placing the

Page 44: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Template Property Name

Allowed Placeholders Description

‘$’ sign as the first module in module path. ‘$’ stands for root module. If /smp=<Start Module Path> switch is used – then ‘$’ is the leaf node of the hierarchy created from start module path. If no /smp switch in command line, then ‘$’ is the actual PI MDB root node.

Example 1:Tag[1].UnitAlias = State aliasThis alias is going to be created on particular [Unit] module with alias name as State alias

Example 2:Tag[2].UnitAlias = ABC\def | State aliasThis alias is going to be created under [Unit]\ABC\def module tree with alias name template as State alias

Example 3:Tag[3].UnitAlias = $ \ abc_[Unit] | State aliasIn this example, assume no /smp switch is defined in command line and [Unit]=”U101”. Then the interface is going to create hierarchy as(PI MDB) \ abc_U101And place an alias under “abc_U101” node.

Tag[#].Descriptor

Optional

Same as for Name property This property defines the Tag Descriptor structure for the specific PI Point. Allowed placeholders are not case sensitive.

Tag[#].EngUnits

Optional

Same as for Name property This property defines the Engineering Units (EngUnits) structure for the specific PI Point. Allowed placeholders are not case sensitive.

Tag[#].Translate

Optional

Values: true/false If set to true this property allows the Tag Template to use the translate map and replace words, phrases found in Name, Value, UnitAlias, Descriptor and EngUnits with the custom ones.

Tag[#].Annotation

Optional

Same as Name property This property enables you to annotate each value written to PI Server using the specific Tag Template. The annotation is written to PI as a string value.

Example: Tag[1].Annotation = [BatchID]Tag[#].Annotation2

Optional

Same as Name property This property enables you to annotate each value written to PI Server using the specific Tag Template. The annotation is written to PI as a NameValue object.

Example: Tag[1].Annotation2 = [BatchID]

Example 1:

The Tag Template is defined in INI file as follows:Tag[1].Name= Test Set Point [Unit] [Parameter,value=”REAC_TEMP*”]Tag[1].Value= P: [Parameter] | V:[Value] | Testing

PI Interface for ABB 800xA Batch

Page 45: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Tag[1].Type = stringTag[1].UnitAlias = Temperature Set point for [Parameter]Tag[1].EngUnits = oCTag[1].Descriptor = Sample Temperature Set Point for Reactor:[Unit] Tag[1].Annotation=[BatchID]

where index=1 is arbitrary (1-based) and is used to bind different tag template properties. This index is also written to PI Tag as Location2. The index number must be defined in square brackets. The text string defined after the equal sign (=) is the actual template structure given in the free text format, and is not case sensitive.

Assume that incoming event from data source contains populated fields as:[BatchID]=Batch_123[Time]=”12/01/2008 12:01:05.123”[Parameter]=REAC_TEMP_SP[Value]=25.00000[Unit]=U101

Then the actual PI Tag name is: “Test Set Point U101 REAC_TEMP_SP”

Because the [Unit] placeholder is defined in Tag Name Template, the interface finds/adds alias for PI Tag on unit U101 as: “Temperature Set point for REAC_TEMP_SP”,

When PI Tag (PIPoint) and alias are verified the actual event value is added to the PIPoint:

Event TimeStamp Event Value

12/01/2008 12:01:05.123 P: REAC_TEMP_SP | V:25.00000 | Testing

Because the Annotation property is define in the tag template, the value above is annotated with the text: “Batch_123”.

Example 2:

Now let’s consider the following scenario: parameter name should not be in tag name and tag type should be float type. This is possible to achieve with the use of triggers.Tag[1].Name= Test Set Point [Unit]Tag[1].Value= [Value]Tag[1].Type = floatTag[1].Trigger = [Parameter,value=”REAC_TEMP*”]Tag[1].UnitAlias = Temperature Set point for [Parameter]Tag[1].EngUnits = oCTag[1].Descriptor = Sample Temperature Set Point for Reactor:[Unit]

Assume that incoming event from data source contains populated fields as:[Time]=”12/01/2008 12:01:05.123”[Parameter]=REAC_TEMP_SP[Value]=25.00000[Unit]=U101

The Tag template is triggered only when the Parameter = “REAC_TEMP_SP” is found in incoming event. When the template is triggered, the actual PI Tag name is set to “Test Set Point U101”.

Because the [Unit] placeholder is defined in Tag Name Template, the interface finds/adds alias for PI Tag on unit U101 as: “Temperature Set point for REAC_TEMP_SP”,

When PI Tag (PIPoint) and alias are verified the actual event value is added to the PIPoint:

Page 46: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Event TimeStamp Event Value12/01/2008 12:01:05.123 25.0

Tag Templates – PI Batch Database Activity Logging

The Batch Interface is capable of providing its activity on PI Batch database by generating its own PIEvents. These events are based on the triggering batch event logic the interface uses against each source system to trigger PI Batches, PIUnitBatches, PISubBatches (Operations, Phases).  This functionality allows customers to configure Tag Templates based on these PIEvents to write batch triggering data to PI tags (the interface is already creating PI Batch records in the PI Batch Database).  PIEvent Tag Templates can be used to replace the Unit specific tag functionality (/unittags) that was available with the EVT Interface.  Writing this data to PI tags allows it to be used on displays within the various PI Client Tools and reporting applications or by third party applications using data from PI tags. PIEvent records have the following placeholders and values to be used within the .Trigger attribute of the tag template:

Placeholder Values Description

[EVENT] PIEVENT All PI Events can be identified via placeholder [EVENT] containing value as [EVENT, value="PIEVENT"]

[DESCRIPT] BATCHUNITBATCHOPERATIONPHASE

The DESCRIPT column contains the batch level you want to trigger on.  For example:

[DESCRIPT, value="UNITBATCH"]

Or

[DESCRIPT, value="PHASE"]

[VALUE] STARTEND

The VALUE column contains either the start event or end event associated with the defined DESCRIPT.  For example:

[VALUE, value="START"]

Or

[VALUE, value="END"]

Multiple tag templates are capable of writing to the same PI tag (if the .Name attribute of the tag templates resolves to the same PI tag name).  This is useful when you want different values to be written to the same PI tag dependent on the trigger for each.  For example, a value of 1 could be written to the tag when the UnitBatch starts and a value of 0 could be written to the same tag when the UnitBatch ends.

The following placeholders are useful when writing defining the tag template (especially useful for the .Value tag template attribute):

PI Interface for ABB 800xA Batch

Page 47: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Placeholder Description

[BATCHID] The Batch ID Name

[PRODUCT] The Product Name

[PROCEDURE] The PIBatch Procedure (Recipe) Name

[UNITPROCEDURE] The PIUnitBatch Procedure Name

[OPERATION] The Operation Name

[PHASE] The Phase Name

PIEVENT Example 1: PIBatch Active Tag

Tag[11].Name=BESName:PIEvent.Batch.ActiveTag[11].Value=BATCH START: [BATCHID] |Prod: [PRODUCT] |Rec: [PROCEDURE]Tag[11].Trigger=[EVENT,value="PIEVENT"] [DESCRIPT, value="BATCH"] [VALUE,value="START"]//// SAME TAGTag[12].Name=BESName:PIEvent.Batch.ActiveTag[12].Value=BATCH END: [BATCHID] |Prod: [PRODUCT] |Rec: [PROCEDURE]Tag[12].Trigger=[EVENT,value="PIEVENT"] [DESCRIPT, value="BATCH"] [VALUE,value="END"]

PIEVENT Example 2: PIUnitBatch Active Tag

Tag[21].Name=BESName:[UNIT].PIEvent.UnitBatch.ActiveTag[21].Value=1Tag[21].Type=integerTag[21].UnitAlias=PIEvent.UnitBatch.ActiveTag[21].Trigger=[EVENT,value="PIEVENT"] [DESCRIPT, value="UNITBATCH"] [VALUE,value="START"]//// SAME TAGTag[22].Name=BESName:[UNIT].PIEvent.UnitBatch.ActiveTag[22].Value=0Tag[22].Type=integerTag[22].UnitAlias=PIEvent.UnitBatch.ActiveTag[22].Trigger=[EVENT,value="PIEVENT"] [DESCRIPT, value="UNITBATCH"] [VALUE,value="END"]

PIEVENT Example 3: PIUnitBatch BatchID Tag

Tag[31].Name=BESName:[UNIT].PIEvent.UnitBatch.BatchIDTag[31].Value=[BATCHID]Tag[31].UnitAlias=PIEvent.UnitBatch.BatchIDTag[31].Trigger=[EVENT,value="PIEVENT"] [DESCRIPT, value="UNITBATCH"] [VALUE,value="START"]

Page 48: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

//// SAME TAGTag[32].Name=BESName:[UNIT].PIEvent.UnitBatch.BatchIDTag[32].Value=InactiveTag[32].UnitAlias=PIEvent.UnitBatch.BatchIDTag[32].Trigger=[EVENT,value="PIEVENT"] [DESCRIPT, value="UNITBATCH"] [VALUE,value="END"]

PIEVENT Example 4: Phase Active Tag

Tag[41].Name=BESName:[UNIT].PIEvent.Phase.ActiveTag[41].Value=PHASE START: [PROCEDURE]\[UNITPROCEDURE]\[OPERATION]\[PHASE]Tag[41].UnitAlias=PIEvent.Phase.ActiveTag[41].Trigger=[EVENT,value="PIEVENT"] [DESCRIPT, value="PHASE"] [VALUE,value="START"]//// SAME TAGTag[42].Name=BESName:[UNIT].PIEvent.Phase.ActiveTag[42].Value=PHASE END:   [PROCEDURE]\[UNITPROCEDURE]\[OPERATION]\[PHASE]Tag[42].UnitAlias=PIEvent.Phase.ActiveTag[42].Trigger=[EVENT,value="PIEVENT"] [DESCRIPT, value="PHASE"] [VALUE,value="END"]

PI Tag as Placeholder

The interface allows having existing host PI Tags as input data sources. Based on batch event triggering mechanism the interface can query data from PI Tags (defined on host PI server) and write results into new data structures defined by Tag and Property Templates below. The allowed syntax:

[Tag, Name=”PI Tag Name”, <list of parameters delimited by comma>

Parameter Description

Name="string"Required

Defines the exact name of the PI Tag which should be used for data retrieval.

Range="substring"Optional

Defines the time frame for which the data should be queried. It can be number of events, time frame or “PIOBJECT”. “PIOBJECT” instructs the interface to use the time frame of the related PI batch/unitbatch/subbatch objectExamples:Range=”10” - the last ten events from triggered batch event timestamp are going to be retrieved.Range=”10d” – the events for last 10 days from the triggered batch event timestamp are going to be retrieved.Range=”PIOBJECT” – the events are going to be retrieved for the time frame of the related batch object start and end times.

Func=”substring”Optional

Should be used in conjunction with Range parameter. It defines the aggregation function to be used on retrieved data.Possible values for this parameter:“MIN” - calculate minimum value over the range.“MAX” - calculate maximum value over the range.“TOTAL” – calculate summary of values over the range.“MID” – calculate average of values over the range.

PI Interface for ABB 800xA Batch

Page 49: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

The advanced parsing parameters can be used in [Tag] placeholder as well.

Property Template Example:Property[1].Name = TestTagCalcProperty[1].Value = total:[Tag, name="sinusoid", range="10d", func="TOTAL"] and min:[Tag, name="test_data_1", range="10d", func="MIN"]Property[1].Trigger = [Parameter, value="PIEVENT"] [Descript, value="BATCH"] [Value, value="START"]

In this example the Property Template is triggered on internal event thrown when the PI Batch is Created (Started). This template creates PI Property under the created batch with name “TestTagCalc” and value as string data from two tags: “sinusoid” and “test_data_1”. Assuming that for time range – [(batch start) – 10d - (batch start)] summation of event values for PI Tag “sinusoid” is 1000, and for the same range the minimum for tag “test_data_1” is -25.123, then the resulting name and value combination written to PI Batch Properties is:TestTagCalc = total:1000 and min:-25

Tag Template Example 1:Tag[1].Name = Global Tester 1Tag[1].Value = [Tag,name="test4_data", range="10d", func="total"]Tag[1].Trigger = [Parameter, value="PIEVENT"] [Descript, value="BATCH"] [Value, value="START"]

In this example the Tag Template is triggered on internal event thrown when the PI Batch is Created (Started). The result written to PI Tag named “Global Tester 1”. Assuming that for time range: [((batch start) – 10d) - (batch start)] summation of event values for PI Tag “test4_data” is 1234, then the resulting value written to PI Tag:Timestamp: (batch start)Value: 1234

Tag Template Example 2:Tag[2].Name = Global Tester 2Tag[2].Value = [Tag,name="test2_data", range="PIOBJECT", func="total"]Tag[2].Trigger = [Event,value="PIEVENT"] [Descript, value="BATCH"] [Value, value="START"]

Similar to Tag Template Example 1, only the result is calculated based on time range:[(batch start) – (batch end)].

Tag Template Example 3:Tag[3].Name = Global Tester 3Tag[3].Value = [Tag,name="test2_data]Tag[3].Trigger = [Parameter, value="State Change"] [Descript, value="running"]

In this example the Tag Template is triggered on Siemens batch event “State Change” with descriptor field as “RUNNING”. The resulting tag name is “Global Tester 3” and the value is taken from PI Tag “test2_data” at time stamp of the Siemens batch event.

Page 50: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Recipe Templates

Starting with version 2.0.0.1, the interface supports recipe templates. Recipe templates allow redefining the recipe name convention used for PIBatch, PIUnitBatch and PISubbatch object definitions.

Syntax:Recipe[index].Name= Free textRecipe[index].BatchID = Free textRecipe[index].ModulePath = Free text defining path Recipe[index].Product = Free textRecipe[index].ProductTrigger = Triggering expressionRecipe[index].Translate= true/false or 1/0Recipe[index].Merge = true/false or 1/0Recipe[index].Category = Free textRecipe[index].Category[Index2].Name = Free textRecipe[index].Category[index2].Trigger = Free textRecipe[index].Template = Free textRecipe[index].Template[Index2].Name = Free textRecipe[index].Template[index2].Trigger = Free textRecipe[index].Attribute[index2] – Enables you to define an attribute template for specific Recipe level. See Error: Referencesource not found for details about configuration options.

where ‘Index’ is defined as the depth (level) in recipe hierarchy. Index is a 1-based number. The possible placeholders which can be used in Name template are listed in the table below.

Template Name Allowed Placeholders in Value

Value Description

Recipe[#].Name

Required

[BATCHID][UNIQUEID][PROCEDURE][UNITPROCEDURE][OPERATION][PHASE][PARAMETER][VALUE][UNIT][UNITRAW][PROCPATH][LEVELNUMBER][TYPE]

[*,value=”Exact Field”], [*,value=”Field Mask”], advanced parsing

This property defines the naming convention used by the interface to create PIBatch, PIUnitBatch and PISubbatch objects. The ‘#’ defines the level (depth) in recipe hierarchy.

Currently supported recipe levels (Index in Recipe template):1 – Procedure ( PIBatch Recipe field)2 – Unit Procedure (PIUnitBatch Procedure)3 – Operation (PISubBatch Name field)4 – Phase (PISubBatch Name field)

Defaults:Recipe[1].Name=[Procedure]Recipe[2].Name = [UnitProcedure]Recipe[3].Name=[Operation]Recipe[4].Name=[Phase]

ExampleRecipe[1].Name = abc_[Procedure]Assume that the incoming event contains field [Procedure] with the value ”Test”. As result, the PIBatch Recipe field is going to be “abc_Test” instead of default “Test”.

Recipe[#].BatchID

Optional

Same as Name This property allows to specify the BatchID of the particular Recipe object. Currently supports PIBatch BatchID field and PIUnitBatch BatchID

PI Interface for ABB 800xA Batch

Page 51: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Template Name Allowed Placeholders in Value

Value Description

field.

Recipe[#].Descriptor

OptionalAF Only

Same as Name This property enables you to specify the AF event frame Descriptor property for the particular source Recipe object.

Recipe[#].ModulePath

Optional

Same as Name This property allows to specify the Module path of the particular Recipe object. Currently supports PIUnitBatch level (2) only.Note, the end module in the path is ALWAYS treated as Unit and will be marked in PIMDB as PIUnit.

Recipe[#].Product

Optional

Same as Name This property allows to specify the Product of the particular Recipe object. Currently supports PIBatch Product field and PIUnitBatch Product field.

Note: If ProductTrigger is NOT defined, this template is populated based on the data which exists in the event which creates the particular Recipe Object.

Example:

Recipe[1].Product =[Product]

In this case the interface looks for the placeholder called [Product] to be available in the source event which creates PIBatch object

Recipe[#].ProductTrigger

Optional

Same as Name This property allows populating the Product field of the particular Recipe object AFTER the object was created. This is useful when the Product is defined as a separate event.

Example:

Recipe[1].Product = [Value]

Recipe[1].ProductTrigger = [Parameter, Value=”Recipe Header”] [Descript, value=”Product Name”]

Recipe[#].Translate

Optional

True (1)False (0)

This property forces the interface to check the resulting Names against translation table.

Default: False

Recipe[#].Merge

Optional

True (1)False (0)

This property allows interface to merge same named objects under the same parent.

Page 52: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Template Name Allowed Placeholders in Value

Value Description

Default: False

Recipe[#].Category

Optional

AF Only

Same as Name For each recipe level, This property enables you to define the AF EventFrame Category. If the event that creates an event frame contains insufficient information, no category is assigned.To assign Category to an event frame after its creation, use the dynamic Category[x] property

Recipe[#].Category[x].Name

Optional

AF Only

Same as Name For each recipe level, this dynamic property enables you to define the AF event frame Category based on any event that is related to particular recipe item. This property can create as many categories as desired. Index: ‘x’ can be any positive integer that binds Name and Trigger(s) subproperties for specific Category[x] property. If AF Category does not exist on the AF Server, the interface creates it automatically.

This property must be used with Recipe[#].Category[x].Trigger

Example:Recipe[1].Category[10].Name = SCRRecipe[1].Category[10].Trigger = [Descript, value="Formula Name"] [Value, value="SCR 20051"]

Recipe[#].Category[x].Trigger

Optional

AF Only

Same as Name This property defines the triggering expression for specific Reci[pe[#].Category[x]. There can be multiple triggers per single Recipe[#].Category[x].Name.

This property must be used with Recipe[#].Category[x].Name

Example:Recipe[1].Category[10].Name = SCRRecipe[1].Category[10].Trigger = [Descript, value="Formula Name"] [Value, value="SCR 20051"]Recipe[1].Category[10].Trigger = [Descript, value="Formula Name"] [Value, value="SCR 20051_01"]Recipe[1].Category[10].Trigger = [Descript, value="Formula Name"] [Value, value="SCR 20051_02"]

Recipe[#].Template

Optional

Same as Name For each recipe level, This property enables you to define the AF event frame Template. If

PI Interface for ABB 800xA Batch

Page 53: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Template Name Allowed Placeholders in Value

Value Description

AF Only sufficient information is not available in the event that creates an event frame, then no AF Template is assigned.To assign Template to an event frame after its creation, use the dynamic Template[x] property

Recipe[#].Template[x].Name

Optional

AF Only

Same as Name For each recipe level, this dynamic property enables you to define the AF event frame Template. based on any event that is related to particular recipe item. This property can assign only one AF template to a particular AF event frame. The interface uses the first matching Recipe[#].Template[x] property to be assigned to an event frame.Index: ‘x’ can be any positive integer that binds Name and Trigger subproperties for Template[x] property.This property must be used with Recipe[#].Template[x].Trigger

Example:Recipe[1].Template[10].Name = BATCH_ARecipe[1].Template[10].Trigger = [Descript, value="Formula Name"] [Value, value="SCR 20051"]

Recipe[#].Template[x].Trigger

Optional

AF Only

Same as Name This property defines the triggering expression for the AF event frame Template. There can be multiple triggers for a single Recipe[#].Template[x].This property must be used withRecipe[#].Template[x].Name

Example:Recipe[1].Template[10].Name = BATCH_ARecipe[1].Template[10].Trigger = [Descript, value="Formula Name"] [Value, value="SCR 20051"]Recipe[1].Template[10].Trigger = [Descript, value="Formula Name"] [Value, value="SCR 20051_01"]Recipe[1].Template[10].Trigger = [Descript, value="Formula Name"] [Value, value="SCR 20051_02"]

Default (precompiled) Recipe Templates:// batchRecipe[1].Name = [Procedure]Recipe[1].BatchID = [BatchID]

Page 54: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Recipe[1].Product = [Product](AF Only)Recipe[1].Category = OSIBatchRecipe[1].Template = Procedure

// unitbatchRecipe[2].Name = [UnitProcedure]Recipe[2].BatchID = [BatchID]Recipe[2].Product = [Product]Recipe[2].ModulePath = [Unit](AF Only)Recipe[2].Category = OSIBatchRecipe[2].Template = UnitProcedure

// operationRecipe[3].Name = [Operation](AF Only)Recipe[3].Category = OSIBatchRecipe[3].Template = Operation

// phaseRecipe[4].Name = [Phase](AF Only)Recipe[2].Category = OSIBatchRecipe[2].Template = Phase

Recipe Template Example 1:Recipe[1].Name = [Procedure]_[UniqueID]Recipe[3].Name = [UnitProcedure]_[Operation]

In this example Recipe Templates redefined PIBatch Recipe to be as concatenation of data source Procedure field + UniqueID fields and PISubbatch - Operation Name to be as concatenation of data source UnitProcedure field + Operation

Recipe Template Example 2:Recipe[2].Category = CAT_UNITBATCHIn this example, the Recipe Template defines the static PI AF Category “CAT_UNITBATCH” for the UnitProcedure level. If missing, this category is created and assigned to all UnitProcedure-level event frames regardless of the recipe type.

Recipe Template Example 3:Recipe[1].Category[1].Name = PROC_ARecipe[1].Category[1].Trigger = [Procedure, value="DVProc:1-*"] Recipe[1].Category[2].Name = [Value]Recipe[1].Category[2].Trigger = [Descript, value="Product Code"]In this example, the Recipe Template defines the dynamic PI AF Category for root level AF event frame based on source Procedure or Product Code values. If the AF Category is not found on the AF Server, the interface creates it.

Recipe Template Example 4:Recipe[2].Template = OSI_UnitProcedure

PI Interface for ABB 800xA Batch

Page 55: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

In this example, the Recipe Template defines the static PI AF Template “OSI_UnitProcedure” for the UnitProcedure level. If missing, the PI AF Template is created and assigned to all UnitProcedure-level event frames regardless of the recipe type.

Recipe Template Example 5:Recipe[2].Template[1].Name = UP_ARecipe[2].Template[1].Trigger = [UnitProcedure, value="UProc:1-*"] Recipe[2].Template[2].Name = UP_BRecipe[2].Template[2].Trigger = [UnitProcedure, value="UProc:2-*"]In this example, the Recipe Template defines the dynamic PI AF Template for the UnitProcedure-level AF event frame based on the name of the UnitProcedure. If the AF Template is not found on the AF Server, the interface creates it.

Page 56: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Merging Multiple Source batches into a Single PIBatch

The ABB 800xA Batch interface has the ability to merge multiple source batches into one single PIBatch. This feature is enabled by using the /merge parameter in command line parameters. Source batches with the same BatchID are merged into one PIBatch. When a new batch is found on the source, the interface locates the identical batch in the local batch cache and adds the new batch to the existing one. The/cachetime parameter (default: 1day) specifies the duration in days (can also be a fraction of the day) for which the interface keeps the closed batches in the local memory.

Note: The interface only merges batches which are within cached time frame, i.e. cached in the local memory.

If the batch with the identical BatchID was not found, the interface creates a new one. The /bidm parameter is optional and allows the interface to use a substring of the source batch BatchID as the BatchID for the PIBatch. See Using /BIDM Parameter below for details on how this switch works. Regardless of the use of the /bidm parameter, unitbatches under merged batch always contain the original BatchID, Recipe and Product. Each merged batch stores its original information such as full BatchID, Product, Recipe, Formula, Start and End times in the PI Properties of the merged batch under the PIProperty node named as the source batch UniqueID. Event logging in a merged PIBatch is identical to the mode when merging is not used.

Using /BIDM Parameter

The /bidm (BatchID Mask) parameter is used to obtain a new BatchID, which is a substring of the value in the BatchID column in the data source. As a value the /bidm takes a list of BatchID masks, where the order of importance depends on the position of the mask in the list. The mask can consist of an array of valid symbols and/or wildcards. The following table represents available wildcards which can be specified within the BatchID mask.

Wildcard Description# Single digit numerical value, 0-9

@ Single alpha character, a-z, A-Z

? Any single symbol

! Repeat the previous mask symbol

* Any set of symbols

Example for /bidm parameter to extract a substring from the BatchID column in the data source:

Let’s say that the BatchID column contains: lot30112 / 90dev123 / 12345stp / ld567.

If /bidm=##### is defined then there are 5 contiguous digits and no characters in the substring. Since there are two matches, the first substring is used and the result is 30112.

If /bidm=###### is defined then there are 6 contiguous digits and no characters in the substring and there is no match for this and the complete string lot30112 / 90dev123 / 12345stp/Id567 is used as the BatchID.

PI Interface for ABB 800xA Batch

Page 57: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

If /bidm=### is defined then there are 3 contiguous digits and no characters in the substring. Since there are two matches, the first substring is used and the result is 123.

If /bidm=@@@##### is defined then there are 5 contiguous digits with 3 contiguous characters and the characters are placed before the sequence of digits. Hence the resulting BatchID is lot30112.

If /bidm=##@@@### is defined then there are 5 digits with 3 contiguous characters and the characters are placed before the third digit. Hence the resulting BatchID is 90dev123.

If /bidm=#####@@@ is defined then there are 5 contiguous digits with 3 contiguous characters and the characters are followed the digits. Hence the resulting BatchID is 12345stp.

If /bidm=????? Is defined then any sequence of 5 symbols so the PIBatch BatchID is lot30.

Linking BES to MES batches

Starting with version 3.0.0.x, the interface enables you to link (bind) Batch Execution Systems batches and Manufacturing Execution System batches. This feature enables you to use AF event frames to build an integrated structure that records the master-slave relationship between the Manufacturing Execution System and the subordinate Batch Execution System.

This functionality is available only when the interface is configured to write batch data to AF event frames. For example, in an environment where an MES System (Emerson Syncade or Werum PAS|X) is launching BES Batches, the batch interface always acts as an MES child when configured for linking. For each BES batch, it attempts to find the corresponding parent MES batch event frame that triggered the BES execution. The MES interface always acts as a parent and, if configured for linking, it attempts to find a child BES batch event frame when the event triggering the BES execution is acquired.

Because the MES and BES interfaces work asynchronously, they require a common element to resolve linkage. To configure this common element, specify the following command line parameter in the startup batch file for both the MES and BES interfaces: /link=<element path>

Although the MES batch can be accessed only as the root event frame, the BES batch can be accessed as the root event frame and as the child of the MES event frame that represents the MES processing step that triggered the BES execution.

Page 58: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Lost Connections to PI Server and PI Archive Backup Issues

The Interface is designed to detect and recover from connection loss from either the data sources or the PI Server, or both. If the connection is lost during processing, the Interface suspends all actions until the PI and data sources are available for communications. If the data source connection is down, the interface retries to connect on every scan until it succeeds. If the PI server connection is down, the interface attempts to reconnect every /retry (default: 60) seconds until the /retryTO (default: 0- which is infinity) timeout is reached. Connection to the data sources or the PI Server could be lost for various reasons including broken physical network, data source shutdown, PI Server or required Server’s subsystem shutdown, PI Server backup, freeze, etc. The Interface logs the errors to the local pipc.log file.

During interface shutdown and restart no data is lost. All data is buffered by the data sources. If the Interface is interrupted and it did not finish processing data from the source to the PI Server, it saves the last good processed event timestamp on shutdown. On each startup, the Interface continues processing from this timestamp in recovery mode with later switching to real-time mode.

Data Preprocessing

The ABB 800xA Batch interface is designed to handle situations when the source data needs to be written to PI archives which are earlier than the primary PI archive. Due to the nature of the PI Server, the newly added tags, units and modules are indexed (referenced) only in the primary PI archive. Any older archive does not have knowledge of these modules, units and tags. In Preprocess mode the interface creates only modules, units, tags and tag aliases without processing batch data and adding events into the tags. On completion, the interface stops and the user has to reprocess older archives with the offline archive utility.

Note: The PI server does not allow any data to be written to older archives unless each older archive knows about the units and tags of interest. Refer to the PI Server System Management Guide for details on the archive reprocessing procedure.

Reprocessing creates indexes for newly added units, modules, tags in each reprocessed archive.

This mode should be always used before writing new batch data to older PI archives. This mode is enabled by simply adding the /mode=noupdate parameter in conjunction with the recovery start time (/rst) and optional recovery end time (/ret) parameters to command line parameters.

Example:

Consider the time range for recovery – [01/15/2005 12:00:00 – 06/20/2008 13:00:00].

PI Interface for ABB 800xA Batch

Page 59: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

In the figure above the interface was run in Preprocess mode, where only tags and units were created in PIPoint and PIModule databases with references in the Primary archive only. After reprocessing PI Archive 1, 2 and 3 with PI Archive offline utility (piarchss), the PI archives 1, 2 and 3 now contain references to the newly created tags and units as shown in the figure below.

At this point the interface can be run in Recovery mode (using only /rst and optional /ret parameters) to backfill data into PI Points and PI Batch database.

Page 60: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Data Recovery

The Batch interface can perform recovery of historical data. The Recovery mode of the interface can be used to perform recovery based on the clean PI archives or recover missing data for already existing PIModule, PIBatch and PIPoint objects. These objects include: PI modules, PI units, unit level aliases, phase level aliases, PIBatches, PIUnitBatches, PISubbatches (Operations, Phases, Phase States and Phase Steps), PIProperties, PIPoints, PIPoint events. When a PI object exists but contains incorrect data comparing to the source, the interface attempts to correct the PI object to match the data from the source. In the worst case, the interface prints the error message to the PIPC.log file. In such case the PI server needs to be cleaned first by using /mode=delete, then the recovery steps have to be performed again.

In Recovery mode, all open batches are processed only when there are no completed batches left to be processed, i.e. the interface reached the current time. If the Interface starts in Recovery mode without defining the Recovery End Time (parameter /ret=<date and time>), it prints the results of the recovery process and changes to RealTime mode as soon as it reaches current time. Recovery mode is enabled when the Recovery Start Time parameter (/rst=<date and time>) is specified in command line parameters. The Recovery End Time parameter (/ret) is optional and has no effect without the /rst parameter.

Note: If you specify the Recovery End Time parameter, the interface stops on completion.

For example consider recovering data from 12/15/2007 16:00:00 through 05/11/2008 2:00:05. Assume that 7 batches exist on the data source as shown in figure below:

To perform recovery, you must specify the following command line parameters:

/rst=”12/15/2007 16:00:00” and /ret=”05/11/2008 2:00:05”.

These parameters are sufficient to perform historical data recovery process. In this case, the interface recovers contained batches (Batch 4 and 5) as well as border batches (Batch 1, Batch 3 and Batch 6). Batches outside the time frame (Batch 2 and 7) will NOT be recovered.

PI Interface for ABB 800xA Batch

Page 61: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

If you require recovery from 12/15/2007 16:00:00 until now (*), specify the following command line parameters:/rst=”12/15/2007 16:00:00”

Note: In this case, the interface recovers (Batch 7) as well and continues processing in RealTime.

Data Analysis

The Batch interface can perform data analysis by comparing source data with the PI server data. In this mode the interface does not write or modify any data on the PI Server. Upon completion the interface reports results to the PIPC.log file and stops. To enable this mode, the parameter (/mode=stat) must be specified in command line parameters. Data analysis can be performed only when recovery start (/rst) and optional recovery end time (/ret) are specified, otherwise the data analysis will be performed from the last processed event timestamp until system current time.

For example consider the example and figure provided in the Data Recovery section. If it is required to analyze data between data source(s) and the PI server, then the sufficient command line parameters should be:/rst=”12/15/2007 16:00:00” /ret=”05/11/2008 2:00:05” /mode=stat

If you require analysis from 12/15/2007 16:00:00 until now (*), then command line parameters should be:/rst=”12/15/2007 16:00:00” /mode=stat

PI Data Deletion

The Batch interface can perform selective data deletion stored in PI server based on the source data.

Note: The interface cleans PI archives based on specified source data only, leaving data from all other data sources intact. This mode should be used only if the interface is unable to synchronize source data with the PI server in Recovery mode (using only parameters /rst and /ret).

The Delete mode must be used only in conjunction with Recovery mode parameters (/rst and /ret) and can be enabled by adding the parameter (/mode=delete) to command line parameters.

Consider the example and figure provided in the Data Recovery section. If it is required to delete data from the PI server contained in time frame [12/15/2007 16:00:00 - 05/11/2008 2:00:05], then sufficient command line parameters should be:/rst=”12/15/2007 16:00:00” /ret=”05/11/2008 2:00:05” /mode=delete

If you need to delete all batches from specific time in the past until current time, the command line parameters should be:/rst=”12/15/2007 16:00:00” /mode=delete

Page 62: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Dealing with Irrelevant Recipes

Sometimes it is necessary to exclude particular recipes from being processed into PI Server. Such recipes can be excluded from processing by using the INI file command skiprecipes. The switch contains the list of all recipes or recipe masks the interface should not evaluate. Everything related to specified recipe is not processed into PI Batch Database, PI Module database and PI Points databases. The filtering supports the following recipe types: Procedure, UnitProcedure, Operation, and Phase. Multiple recipes or their masks can be specified with a comma separator. If there is a space in the recipe name, use double quotes for the entire switch (not required if specified in INI file). The following table represents available wildcards which can be specified within the recipe name mask.

Wildcard Description# Single digit numerical value, 0-9

@ Single alpha character, a-z, A-Z

? Any single symbol

! Repeat the previous mask symbol

* Any set of symbols

Example(ini file): skiprecipes=recipe1,prc_*nt2 or skiprecipes=recipe 1, prc_paint 2

Dealing with Irrelevant Units

It is sometimes possible to use “virtual” or “dummy” units in a recipe that do not exist physically but aid in control transfer between recipes. In such cases, there could be overlapping PIUnitBatches on these “dummy” units which could lead to incorrect PIUnitBatch end times. These units can be excluded from processing the file by using the INI file command skipunits. The switch contains the list of all units the interface should not evaluate. Everything related to this unit is not processed into PI Batch Database or PI Points. The interface looks for the value in [UNIT] field of each event. If any of those values match any of the units in the INI file skipunits list, the interface will simply move to the next event to be processed. The unit name comparison is not case. Multiple unit names can be specified with a comma separator. If there is a space in the unit name, use double quotes for the entire switch. The unit masks can be specified as valid units. The following table represents available wildcards which can be specified within the unit name mask.

Wildcard Description# Single digit numerical value, 0-9

@ Single alpha character, a-z, A-Z

? Any single symbol

! Repeat the previous mask symbol

* Any set of symbols

Example (ini file): skipunits=unit1,u*t2 or skipunits=unit 1, unit 2

PI Interface for ABB 800xA Batch

Page 63: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Principles of Operation

Dealing with Irrelevant Phases

It is sometimes possible to use “virtual” or “dummy” phases or some phases are of no interest. These phases can be excluded from processing the file by using the INI file command skipphases. The parameter contains the list of all phases the interface should not evaluate. Everything related to this phase is not processed into PI Batch Database or PI Points. The interface looks for the value in the [Phase] field in each event. If any of those values match any of the phases in the INI file skipphases list, the interface will simply move to the next event to be processed. The phase name comparison is not case sensitive and instance number independent. Multiple phase names can be specified with a comma separator. If there is a space in the phase name, use double quotes for the entire switch. Phase masks can be specified as valid phases. The following table represents available wildcards which can be specified within the phase name mask.

Wildcard Description# Single digit numerical value, 0-9

@ Single alpha character, a-z, A-Z

? Any single symbol

! Repeat the previous mask symbol

* Any set of symbols

Example (ini file): skipphases=phase_1,ph*2 or skipphases=phase_1, ph*2

Initialization File

The Initialization file: PIABB800xA<serviceid>.ini is used to specify the interface configurations, such as data sources, translations, product template, equipment template, tag templates and property templates.

The command line syntax: /rst=”12/05/2008 12:05:23” /merge

Equivalent Initialization file defined parameters:rst=12/05/2008 12:05:23

merge = true

Note: In the initialization file every single parameter should be defined on separate line. There should be only one equal (=) sign per line. Parameters can be disabled by specifying two forward slashes (//)

//rst=12/05/2008 12:05:23

//merge = true

In this case rst and mode parameters are disabled, therefore they are considered to be undefined.

The initialization can contain any free text. The lines which will be attempted to be loaded by the interface are the lines with embedded equal sign (=).

Page 64: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Sample Initialization file – PIABB800xA1.ini:[General]//Redefining equipment hierarchy such prefix "abs:" is added to each unit name and "Misc" module is added under each unitEquipment = abs:[Unit]\Misc[Source Template]

source[1].service = ADVAsource[1].database = OPS$OCSHISsource[1].user = historysource[1].pswd = history

[Tag Template]//Basic Tag template, triggered on Parameter=REAC_TEMP_SP, aliases are created as tag name

Tag[33].Name = ABB [Unit] REAC_TEMP_SPTag[33].Value = [Value]Tag[33].type = floatTag[33].Descriptor = Temperature in [Unit] reactorTag[33].EngUnits = oC in [Unit]

//Tag template with custom aliases, triggered on parameter containing=REAC_T substring

Tag[43].Name = ABB Temperature Set Point on [Unit] Tag[43].Value = [Value]Tag[43].type = floatTag[43].Trigger = [Parameter,value=”REAC_T*”]Tag[43].UnitAlias = Reactor Temperature Set PointTag[43].Descriptor = Temperature Set Point in [Unit] reactorTag[43].EngUnits = oC in [Unit]

[Property Template]//Sample Property template, triggering expression is embedded in the value. Triggered on Parameter Name containing - ”REAC_T” substringProperty[3].Value = [Time]|p:[Parameter,value=”REAC_T*”]|v:[Value] | batch:[batchid]//Sample Property template, using explicitly defined trigger on Parameter Name containing -”REAC_T” substringProperty[4].Value = [Time]| Test trigger |v:[Value] | batch:[batchid]Property[4].Trigger = [Parameter,value=”REAC_T*”]

PI Interface for ABB 800xA Batch

Page 65: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 3. Installation Checklist

If you are familiar with running PI data collection interface programs, this checklist helps you get the Interface running. If you are not familiar with PI interfaces, return to this section after reading the rest of the manual in detail.

This checklist summarizes the steps for installing this Interface. You need not perform a given task if you have already done so as part of the installation of another interface. For example, you only have to configure one instance of Buffering for every interface that runs on an Interface Node.

The Data Collection Steps below are required. Interface Diagnostics are optional.

Data Collection Steps

1. Confirm that you can use PI SMT to configure the PI Server. You need not run PI SMT on the same computer on which you run this Interface.

2. If you are running the Interface on an Interface Node, edit the PI Server's Trust Table to allow the Interface to write data.

3. Run the installation kit for this Interface. This kit runs the PI SDK installation kit, which installs both the PI API and the PI SDK. This kit also runs the PI Event Frames Interface Manager installation kit, which installs a configuration tool for the interface.

4. If you are running the Interface on an Interface Node, check the computer's time zone properties. An improper time zone configuration can cause the PI Server to reject the data that this Interface writes.

5. Run the PI Event Frames Interface Manager and configure a new instance of this Interface. Essential startup parameters for this Interface are

Point Source (/PS=x)Interface ID (/ID=#)PI Server (/Host=host:port)

6. Define sources

Location1 is the interface instance.Location2 is the index of the tag.Location3 is the point typeLocation4 is the scan class, typically this is set to 1 for the Event File interface.ExDesc contains the copy of tag name created by the interface.InstrumentTag is the unit.

7. Make sure Oracle OLEDB driver is installed on the interface node. Use Oracle Net Manager to setup the Service Name to be used by the interface for data retrieval.

8. Start the Interface interactively with command line parameter /mode=stat (this mode allows read only from the data sources and PI server) and confirm its

PI Interface for ABB 800xA Batch

Page 66: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

successful connection to the PI Server and data sources. If running interface interactively, add switch /inifile=<full path to INI file>.

Note, this interface does not use the PI API, therefore PI Buffering (pibufss/bufserv) is not required by the interface.

9. Confirm that the Interface collects data successfully.

10. Configure the Interface to run as a Service. Make sure that interface is NOT set as PI Buffer dependent. Confirm that the Interface runs properly as a Service.

11. Restart the Interface Node and confirm that the Interface restarts.

Interface Diagnostics

The PI ABB 800xA batch interface can be diagnosed through the use of performance points automatically created by each instance of the interface. There are 34 performance tags which are broken into 3 categories:

Health Monitoring

Object counters.

Timers.

All performance tags are prefixed by the interface name and the serviceID as:

<Prefix> : PIABB800xA_<ServiceID>

In the following paragraphs, <Prefix> will be used to create actual performance tag names.

Health MonitoringThere are two tags designed to monitor the health of the interface: heartbeat tag and the device status tag. The heartbeat tag is updated with the frequency defined by the /scan parameter in command line parameters. If scan time is greater than 60 seconds than the heartbeat tag is updated every 60 seconds. The heartbeat tag value is defined as a cycle of integer numbers from 1 to 15. The device status tag is automatically configured and created if missing by the interface on startup. The following events can be written into the device tag:

"Good" - the interface is properly communicating and reading data from the data sources.

“1 | Starting” – the interface goes through the initialization routines.

The following events represent proper communication with the data sources. This message is displayed on successful connection to each source.

"2 | Connected/No Data | Source ORACLE Server: <server name> Initialized."

The following list of events represents the failure to communicate with the Event Journal file directory, or failure to read data from the Event Journal File:

"3 | 1 device(s) in error | Error reading ORACLE Server: <server name>.”

The properties of Health monitoring tags are provided in the table below, where the <Prefix> represents PIABB800xA_<ServiceID>. Note, these tags are automatically created by the interface if they are not found in the PI server upon startup.

PI Interface for ABB 800xA Batch

Page 67: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Tag Name Point Type

Loc1 Loc3 PointSource ExcDesc

<Prefix>_DeviceStatus

Int32 Intf ID 0 Intf Pt Src [UI_DEVSTAT]

<Prefix>_HeartBeat

Int32 Intf ID 1 Intf Pt Src [UI_HEARTBEAT]

Object CountersThere are 24 tags designed to monitor performance of the interface based on the number of different type objects read from the source and written to the PI server. These tags are automatically created on first interface startup. Archiving flag for these tags is turned off. The following table contains common point attributes for this group of tags:

Point Type Location1 Point Source

Int32 <Interface ID> <Interface Point Source>

The specific attributes for each performance counter tag are provided in the table below where the <Prefix> is defined as PIABB800xA _<ServiceID>. All Counters are reset on interface startup.

Tag Name Loc3 ExcDesc Description<Prefix>_EventReadCount 2 [UI_EVENTREADCOUNT] Number of events read from

the source since last startup.

<Prefix>_ErrorCount 3 [UI_ERRORCOUNT] Number of errors occurred since last startup.

<Prefix>_SourceUnitCount 4 [UI_SOURCEUNITCOUNT] Number of Units found on the data source(s) since startup.

<Prefix>_PIUnitCount 5 [UI_PIUNITCOUNT] Number of Units found and added on the PI server since startup.

<Prefix>_SourcePhaseModCount 6 [UI_SOURCEPHASEMODCOUNT] Number of Phase Module found on the data source(s) since startup.

<Prefix>_PIPhaseModCount 7 [UI_PIPHASEMODCOUNT] Number of Phase Module found and added on the PI Server since startup.

<Prefix>_SourceBatchCount 8 [UI_SOURCEBATCHCOUNT] Number of batches found on the data source(s) since startup.

<Prefix>_PIBatchCount 9 [UI_PIBATCHCOUNT] Number of PIBatch objects found and added on the PI server since startup.

<Prefix>_SourceUnitBatchCount 10 [UI_SOURCEUNITBATCHCOUNT] Number of unitbatches found on the data sources(s) since startup.

<Prefix>_PIUnitBatchCount 11 [UI_PIUNITBATCHCOUNT] Number of PIUnitBatch objects found and added on the PI server since startup.

<Prefix>_SourceSubBatchCount 12 [UI_SOURCESUBBATCHCOUNT] Total number of operations+phases+phase states found on the data source since startup.

<Prefix>_PISubBatchCount 13 [UI_PISUBBATCHCOUNT] Total number of PISubBatch objects founded and added to the PI server since last startup.

PI Interface for ABB 800xA Batch

Page 68: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Installation Checklist

Tag Name Loc3 ExcDesc Description<Prefix>_SourcePropertyNodeCount 14 [UI_SOURCEPROPNODECOUNT] Number of property nodes

found in data source(s) since last startup

<Prefix>_PIPropertyNodeCount 15 [UI_PIPROPNODECOUNT] Number of PIProperty objects (nodes) found and added to the PI server since last startup.

<Prefix>_SourcePropertyEventCount 16 [UI_SOURCEPROPEVENTCOUNT]

Number of events to be written to the batch properties found on the data source(s) since last startup.

<Prefix>_PIPropertyEventCount 17 [UI_PIPROPEVENTCOUNT] Number of PIProperties(events) found and added to the PI server since last startup.

<Prefix>_SourceTagCount 18 [UI_SOURCETAGCOUNT] Number of tags found on the data source(s) since last startup

<Prefix>_PITagCount 19 [UI_PITAGCOUNT] Number of PIPoints found and added to the PI server since last startup.

<Prefix>_SourceTagEventCount 20 [UI_SOURCETAGEVENTCOUNT] Number of events to be written into tags found on the data sources(s) since last startup.

<Prefix>_PITagEventCount 21 [UI_PITAGEVENTCOUNT] Number of events written into PIPoints on the PI server since last startup.

<Prefix>_SourceTagAliasCount 22 [UI_SOURCETAGALIASCOUNT] Number of tag aliases to be created based on the data source(s) since last startup.

<Prefix>_PITagAliasCount 23 [UI_PITAGALIASCOUNT] Number of PIAliases found and added to the PI server since last startup.

<Prefix>_CachedBatchCount 24 [UI_CACHEDBATCHCOUNT] Number of batch objects cached in the local memory.

<Prefix>_OpenBatchCount 25 [UI_OPENBATCHCOUNT] Subset of cached objects which still have no end time set.

<Prefix>_WaitingForEquipmentUB 34 [UI_UBWAITFOREQUIP] Number of UnitBatches which do not have equipment allocated yet. The allocation is check at PI Server synchronization routine.

TimersThe last performance tag category is composed of timer tags which are build automatically on first interface startup. Each timer tag reports on how much time per scan it took the interface to perform particular task. There are 3 task subcategories: data source reading, local data caching and synchronizing cached data with PI server. The following table provides common tag attributes for these tags:

Point Type Location1 Point Source

Float32 <Interface ID> <Interface Point Source>

The specific attributes for each performance timer tag are provided in the table below where the <Prefix> is defined as PIABB800xA_<ServiceID>.

Page 69: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Tag Name Loc3 ExcDesc Description<Prefix>_SourceReadTime 26 [UI_SOURCEREADTIME] The time per scan it took

the interface to read data from data source(s).

<Prefix>_TagCacheTime 27 [UI_TAGCACHETIME] The time per scan it took the interface to populate local tag cache.

<Prefix>_BatchCacheTime 28 [UI_BATCHCACHETIME] The time per scan it took the interface to populate the local batch cache.

<Prefix>_EquipmentCacheTime 29 [UI_EQUIPCACHETIME] The time per scan it took the interface to populate the local equipment (module) cache.

<Prefix>_BatchSyncTime 30 [UI_BATCHSYNCTIME] The time per scan it took the interface to synchronize local batch cache with the PI server.

<Prefix>_TagSyncTime 31 [UI_TAGSYNCTIME] The time per scan it took the interface to synchronize local tag cache with the PI server.

<Prefix>_EquipmentSyncTime 32 [UI_EQUIPSYNCTIME] The time per scan it took the interface to synchronize local equipment cache with the PI server.

<Prefix>_TotalTime 33 [UI_TOTALTIME] The total time per scan it took the interface to read data, cache it in the local memory and synchronize local cache wit PI server.

PI Interface for ABB 800xA Batch

Page 70: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 4. Interface Installation

OSIsoft recommends that interfaces be installed on PI Interface Nodes instead of directly on the PI Server node. A PI Interface Node is any node other than the PI Server node where the PI Software Development Kit (PI SDK) has been installed (see the PI SDK manual). With this approach, the PI Server need not compete with interfaces for the machine’s resources. The primary function of the PI Server is to archive data and to service clients that request data.

Note: Buffering is not recommended with the PI ABB 800xA Batch interface. This is due to the fact that the source data is already effectively buffered on the source.

In most cases, interfaces on PI SDK nodes should be installed as automatic services. Services keep running after the user logs off. Automatic services automatically restart when the computer is restarted, which is useful in the event of a power failure.

The guidelines are different if an interface is installed on the PI Server node. In this case, the typical procedure is to install the PI Server as an automatic service and interfaces as manual services that are launched by site-specific command files when the PI Server is started. Interfaces that are started as manual services are also stopped in conjunction with the PI Server by site-specific command files. This typical scenario assumes that Bufserv is not enabled on the PI Server node. Bufserv can be enabled on the PI Server node so that interfaces on the PI Server node do not need to be started and stopped in conjunction with PI, but it is not standard practice to enable buffering on the PI Server node.

Naming Conventions and Requirements

In the installation procedure below, it is assumed that the name of the interface executable is PIABB800xA.exe, the startup command file is called PIABB800xA.bat, and the initialization file is called PIABB800xA.ini.

When Configuring the Interface ManuallyWhen configuring the interface manually it is customary for the user to rename the executable, the startup command and initialization files when multiple copies of the interface are run. For example, PIABB800xA1.exe, PIABB800xA1.bat and PIABB800xA1.ini would typically be used for interface number 1, PIABB800xA2.exe, PIABB800xA2.bat and PIABB800xA2.ini for interface number 2, and so on. When an interface is run as a service, the executable and the command file must have the same root name because the service looks for its command-line parameters in a file that has the same root name.

PI Interface for ABB 800xA Batch

Page 71: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Interface Directories

PIHOME Directory Tree

32-bit InterfacesThe [PIHOME] directory tree is defined by the PIHOME entry in the pipc.ini configuration file. This pipc.ini file is an ASCII text file, which is located in the %windir% directory.

For 32-bit operating systems a typical pipc.ini file contains the following lines:[PIPC]PIHOME=C:\Program Files\PIPC

For 64-bit operating systems a typical pipc.ini file contains the following lines:[PIPC]PIHOME=C:\Program Files (X86)\PIPC

The above lines define the root of the PIHOME directory on the C: drive. The PIHOME directory does not need to be on the C: drive. OSIsoft recommends using the paths shown above as the root PIHOME directory name.

Interface Installation Directory

The interface install kit will automatically install the interface to:PIHOME\Interfaces\ABB800xA\

PIHOME is defined in the pipc.ini file.

Interface Installation Procedure

The ABB800xA interface setup program uses the services of the Microsoft Windows Installer. Windows Installer is a standard part of Windows 2000 and greater operating systems. To install, run the appropriate installation kit.

ABB800xA_#.#.#.#.exe

Installing the Interface as a Windows Service

The Batch interface service can be created with the PI Interface Configuration Utility, or can be created manually.

Using the PI Event Frames Interface Manager

The PI Event Frames Interface Manager provides a user interface for creating, editing, and deleting the interface service on the Service tab.

PI Interface for ABB 800xA Batch

Page 72: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Settings for installing and running the interface as a Windows Service.

Setting DescriptionDisplay Name The name of service as displayed in the Services control Panel. To indicate that the service

is part of the OSIsoft suite of products, prefix the name with “PI”.

Logon as The Windows user account used to run the interface service.

Password Password for the Windows user account used to run the interface service.

Startup Type Configures whether the service starts automatically when the interface node is rebooted.

Dependencies

Configures other services that interface requires in order to run.

Installing the Interface Service Manually

Help for installing the interface as a service is available at any time with the command:PIABB800xA.exe -help

Change to the directory where the P PIABB800xA1.exe executable is located. Then, consult the following table to determine the appropriate service installation command.

Windows Service Installation Commands on a PI Interface Node or a PI Server Nodewithout Bufserv implemented

Manual service PIABB800xA.exe -install -depend tcpip

Automatic service PIABB800xA.exe -install -auto -depend tcpip

*Automatic service with service id

PIABB800xA.exe -serviceid X -install -auto -depend tcpip

*When specifying service id, the user must include an id number. It is suggested that this number correspond to the interface id (/id) parameter found in the interface .bat file.

Check the Microsoft Windows services control panel to verify that the service was added successfully. The services control panel can be used at any time to change the interface from an automatic service to a manual service or vice versa.

PI Interface for ABB 800xA Batch

Page 73: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 5. Digital States

For more information regarding Digital States, refer to the PI Server documentation.

Digital State SetsPI digital states are discrete values represented by strings. These strings are organized in PI as digital state sets. Each digital state set is a user-defined list of strings, enumerated from 0 to n to represent different values of discrete data. For more information about PI digital tags and editing digital state sets, see the PI Server manuals.

An interface point that contains discrete data can be stored in PI as a digital tag. A Digital tag associates discrete data with a digital state set, as specified by the user.

System Digital State SetSimilar to digital state sets is the system digital state set. This set is used for all tags, regardless of type to indicate the state of a tag at a particular time. For example, if the interface receives bad data from an interface point, it writes the system digital state bad input to PI instead of a value. The system digital state set has many unused states that can be used by the interface and other PI clients. Digital States 193-320 are reserved for OSIsoft applications.

PI Interface for ABB 800xA Batch

Page 74: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 6. PointSource

The PointSource is a unique, single or multi-character string that is used to identify the PI point as a point that belongs to a particular interface. For example, the string EV may be used to identify points that belong to the Batch Interface. To implement this, the PointSource attribute would be set to EV for every PI Point that is configured for the Batch Interface. Then, if /ps=EV is used on the startup command-line of the Batch Interface, the Interface will search the PI Point Database upon startup for every PI point that is configured with a PointSource of EV. Before an interface loads a point, the interface usually performs further checks by examining additional PI point attributes to determine whether a particular point is valid for the interface. For additional information, see the /ps parameter.

Case-sensitivity for PointSource AttributesThe PointSource character that is supplied with the /ps command-line parameter is not case sensitive. That is, /ps=P and /ps=p are equivalent.

Reserved Point SourcesSeveral subsystems and applications that ship with the PI are associated with default PointSource characters. The Totalizer Subsystem uses the PointSource character T, the Alarm Subsystem uses G and @, Random uses R, RampSoak uses 9, and the Performance Equations Subsystem uses C. Do not use these PointSource characters or change the default point source characters for these applications. Also, if a PointSource character is not explicitly defined when creating a PI point; the point is assigned a default PointSource character of Lab (PI 3). Therefore, it would be confusing to use Lab as the PointSource character for an interface.

Note: Do not use a point source character that is already associated with another interface program. However it is acceptable to use the same point source for multiple instances of an interface.

PI Interface for ABB 800xA Batch

Page 75: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 7. PI Point Configuration

The PI point is the basic building block for controlling data flow to and from the PI Server. The batch interface automatically builds all points based on the information found in INI file.

Interface-specific Points

Process parameters are often specified in batch data sources. These parameters are typically more easily viewed as a graphical trend. Points may be built to specify which events are to be captured and stored in PI. Please refer to section Event Logging - Tag Template for information on how to configure Tag Templates for specific event capturing.

PI Interface for ABB 800xA Batch

Page 76: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 8. Startup Command File

Command-line parameters can begin with a / or with a -. For example, the /ps=E and -ps=E command-line parameters are equivalent.

For Windows, command file names have a .bat extension. The Windows continuation character (^) allows for the use of multiple lines for the startup command. The maximum length of each line is 1024 characters (1 kilobyte). The number of parameters is unlimited, and the maximum length of each parameter is 1024 characters.

Configuring the Interface with PI Event Frames Interface Manager

The PI Event Frames Interface Manager provides a graphical user interface for configuring the interface. If the interface is configured with this tool, the batch file of the interface and the interface settings file is created and maintained by the PI Event Frames Interface Manager and all configuration changes are kept in that file. The procedure below describes configuration using PI Event Frames Interface Manager to configure the Batch Interface.

The following sections describe the settings required to configure the interface. The command line parameters that are generated in the interface batch startup file are listed where appropriate, to help you verify that you have created the desired configuration.

Interface Selection Tab

To create a new instance of the interface, perform the following steps:

1. Click Add Interface. A browse dialog is displayed.

2. Browse to the interface installation directory, select the executable for the interface, and click Open to dismiss the browse dialog.

3. Click OK. The Interface field displays the name of the interface instance you created.

The PI Event Frames Interface Manager can be used to manage multiple instances of the interface.

File Selection Tab

The File Selection tab is used to select the interface settings file that stores settings and the configuration for the interface instance:

Interface Settings File (.INI): Contains the interface startup parameter and configuration settings. Be sure to specify the .ini extension.

PI Interface for ABB 800xA Batch

Page 77: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Server Information Tab

The Server Information Tab is where you specify the PI Server and PI AF Server systems that you intend to use with the interface instance. The interface stores data in PI Tags on a PI Server. It can generate either batches in the PI Server Batch Database or event frames on a PI AF Server.

PI Server (/HOST)

Specifies the PI Server node to which the interface writes PI tag data. Host is the IP address of the PI Sever node or the fully qualified domain name of the PI Server node. If the PI Server you want to use is not in the drop down list, you must add it to the known servers table using the AboutPI-SDK application.

[PI Server] User and [PI Server] Password

For PI Servers version 3.4.380.36 and higher, use Windows Integrated Security for authentication. Omit the user name and password from these fields, and ensure that the Windows account that runs the interface has sufficient permissions on the PI Server to write data to PI Points.

For PI Servers prior to version 3.4.380.36, configure a PI Server trust that enables accesss for the user running the interface or interface service.

[PI Server] Port

The port number for TCP/IP communication. The default port (recommended) is 5450.

Use PI AF server

Check this box to create event frames on a PI AF server, instead of creating batches in the PI Server Batch Database.

[PI AF] Host and Database (/AFHOST and /AFDATABASE)

The destination PI AF server node and database where you want the interface to create event frames.

[PI AF] User and [PI AF] Password

If you are not using Windows Integrated Security for authentication (recommended), enter the user name and password for the Windows user account that you intend to use to connect to PI AF.

Source

On this tab, you define the data sources from which the interface will read data. The interface can read data from multiple data sources.

PI Interface for ABB 800xA Batch

Page 78: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Filters Tab

This tab configures the Recipes, Units, Phases, or Phase States to be excluded from processing.

Skip Phases (/SKIPPHASES)

The interface will not process any event with the listed phases in the [Phase] column.

Skip Units (/SKIPUNITS)

The interface will not process any event with the listed units in the [Unit] column.

Skip Recipes (/SKIPRECIPES)

The interface will not process any event with the listed recipes in the appropriate column ([Procedure] for a procedure recipe, [UnitProcedure] for a UnitProcedure recipe, etc.)

Exclude Phase States (/EXCLUDESTATES)

The interface will not write phase state events to the PI system with the listed phase state in the [PhaseState] column.

Time Settings Tab

This tab configures the time settings that control how the interface handles server connections and processes data.

Query Time Settings

Scan (/SCAN=<seconds>)Specifies how frequently the interface scans the data source.

Cache time (/CACHETIME=<days>)Specifies how long completed events are retained in memory. Default is one day. Specify the maximum duration expected between event frames that need to be merged, plus any desired margin of safety.

The value can be specified as whole day or fraction of a day. For example, to release completed batches when their end time is less than 7 days and 12 hours from current time, specify the following cache time setting:CACHETIME=7.5 days

Abandoned batch timeout (/ABTO=<days>)Specifies how long event frames can remain open before being considered abandoned. When this period (plus cache time) elapses, the interface writes an end time to the event

PI Interface for ABB 800xA Batch

Page 79: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Startup Command File

to close it. Specify the maximum duration expected for events, plus any desired margin of safety.

For example, if you set abandoned batch timeout to 50.5 days and cache time is seven days, events open for 57.5 days are automatically closed. The following figure illustrates timeout logic.

Maximum stop time (/MAXSTOPTIME=<seconds>)Specifies the maximum time allowed for the interface to properly shutdown. If the shutdown process takes longer than the specified time, the interface is forced to terminate immediately. The default value is 120 seconds.

Use local time stamps to process incoming events (/TS)Applies the time on the local machine to events from the datasource. By default, timestamps are recorded using GMT.

PI Connection Settings

PI connection timeout (/PICONNTO=<seconds>)Override the default PI SDK Connection TimeOut property.

PI data access timeout (/PIDATO=<seconds>)Override the default PI SDK Data Access TimeOut property.

Retry (/RETRY=<seconds>)Specifies how long to wait before retrying a failed SDK attempt to write data to PI Server. The default is 60 seconds.

Retry timeout (/RETRYTO=<seconds>)Specifies timeout for failed SDK attempts to write data to PI Server. To avoid data loss, set to 0 (default, no timeout).

SQL server Connection Settings

SQL connection timeout (/SQLCONNTO=<seconds>)Override the default SQL connection timeout. The default is 60 seconds.

78

Page 80: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

SQL data access timeout (/SQLDATO=<seconds>)Override the default SQL data access timeout. The default is 100 seconds.

Operational Settings Tab

The settings on this tab configure the mode in which the interface runs and other, related settings.

Runtime mode (/MODE=<mode>)

Interface modes are as follows:

Mode /MODE Flag Description

Realtime

(default)

REALTIME Scan data source to collect data in realtime

Recovery

REALTIME with /RST specified

Scan data source and generate or correct events accordingly. The interface always starts in recovery mode, then switches to realtime mode.

Statistics STAT Compare data source history against events and report results without updating any data.

Delete DELETE with /RST and /RET specified

Delete events for a specified period.

Perform one scan then stop (/SINGLERUN)

The interface performs one scan of active points, then exits.

Print result of first scan to file (/PRINT=<file name>)

The name of the text file to which the results of the first scan are printed. The results include the event frame hierarchy tree, the tag list, and the equipment tree. This parameter is designed primarily for troubleshooting and configuration testing when the interface is run in statistics mode.

Debug level (/DB=<#>)

Specifies level of detail for logging as follows:

0: Log errors and warnings (default)

1: Log errors, warnings and major successes

2: Verbose logging

PI Interface for ABB 800xA Batch

Page 81: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Startup Command File

Numeric settings (/NS=<lang>)

Configures how numeric values are formatted by the interface, to enable the interface to properly interpret numeric values based on the machine’s regional setting or a user-specified language. Default is “English_UnitedStates”.

Interface ID (/ID=x)

Specifies the numeric interface instance identifier (maximum nine digits). To detect PI points maintained by the interface instance, the interface matches this setting against the value in the points’ Location1 attribute.

Point source (/PS=x)

Point source for the interface instance. Point source is not case sensitive. Corresponds to the PointSource attribute of individual PI Points. The interface loads PI points with the same point source.

Associate all reference elements with child Event Frames (/DPRETC)

When creating Event Frames in PI AF, by default all reference elements are associated with child event frames.

Failover Settings

Failover tag (/FAILOVERTAG=x)The tag on the PI Server that is used to coordinate failover.

Failover identifier (/FAILOVERID=x)The unique identifier of this interface in failover.

Failover swap time (/SWAPTIME=<seconds>)How long an interface instance is to be inactive before another instance takes over writing data to the PI system.

Security Settings

Specify point security (/PTSEC=x)Override the default ptsecurity of PIPoints created by the interface.

Specify data security (/DATASEC=x)Override the default datasecurity of PIPoints created by the interface.

Save Settings Tab

Saves the configuration.

80

Page 82: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Test Configuration Tab

Tests the configuration settings. Specify test settings as follows, click Run Test, then check the output file for results.

Field DescriptionBAT File The path to the interface .BAT file to run during the test

execution.

Output File The path to the text file where the test results are written.

Start Time Start time for scanning.

End Time End time for scanning

Configuring Interface Startup Files

The interface has two startup configuration files; PIABB800xA.bat and PIABB800xA.ini. The .bat file is required and is the primary file for specifying interface configurations. The INI file is used to specify the interface configurations, such as data sources, translations, product template, equipment template, tag templates and property templates.

When using the .INI file, each parameter should be defined on separate line. There should be only one equal (=) sign per line. Parameters can be disabled by prefixing the parameter lines with two forward slashes (//)

When configuring the .bat startup file the continuation character ^ can be used to allow multiple lines for defining parameters. The maximum length for a single line is 1024 characters (1 kilobyte). This is a Windows limitation.

Command-line Parameters

This is a listing of the command-line parameters and their specific behavior with respect to the PI Batch interface. This section gives more detailed information concerning the parameters that may be specified when configuring the interface (such as with the PI Event Frames Interface Manager).

Parameter Description/abto=<days>

Optional

Default: 100 days

(A)Bandoned (B)atch (T)ime(O)ut. Defines the time period from the cached batches time frame into the past after which the open batches are considered to be abandoned and can be released from the interface’s local cache. The default value is 100 days.Example: If /abto=50.5 and /cachetime=7.1 then the batches with last event occurred before NOW() – 7.1 days – 50.5 days is considered abandoned and removed from the local interface memory. --|--------------------------------[-cached batches time frame -] ---> Timeline-57.6 days -7.1 days (current time)

PI Interface for ABB 800xA Batch

Page 83: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Startup Command File

Parameter Description/adu=true/false

OptionalDefault: false

(A)llow (D)eferred (U)Units. It enables/disables support for deferred units. Commonly used when the unit allocation occurs at the Phase level of the recipe. When /adu=true, it allows creation. UnitBatch level objects with the same timestamps as at the source, even though the Unit field is empty and the interface cannot create the PIUnitBatch on PI Server yet.

/bidm=<list>Optional

The /bidm switch (Batch ID Mask) is used to obtain a new BatchID, which is a substring of the value in the source BatchID field. The /bidm takes a list of masks as the input value. Each BatchID mask can consist of an array of valid symbols and wildcards. The following wildcards are supported the interface:# - single digit numerical value (0-9)@ - single alpha character (a-z, A-Z)? – any single valid symbol! – repeat previous BatchID mask symbol* - any array of ? symbols.Example:If the BatchID column in the event file is lot30112 / 90dev123 / 12345stp / ld567:/bidm=”#####” results in new BatchID 30112./bidm=”##@!” results in new BatchID 90dev./bidm=”*##@!” results in new BatchID lot30112 / 90dev./bidm=”@@@@, #8dev4, #!” result in new BatchID 30112.Since the first and second masks cannot be found,the third mask is used instead.

/CacheTime=<days>

Optional

Default: 1 day

Defines the time period for which the completed batches are retained in the memory. [(*-cachetime) - *] The default value is 1.0 day. The value can be specified as whole day or fraction of the day.Example:/cachetime=7.5 daysIn this case the interface is going to release completed batches when their end time is going to be less than 7 days and 12 hours from current time.

/DataSec=<string>

Optional

The /DataSec parameter specifies the PIPoint Data Access Security rights. These rights are assigned to interface-generated tags during point creation. This string has different forms. If PIPoints are created on a PI Server 3.4.375.99 or earlier, it will have an owner, group, world format.

Example:/datasec=”o:rw g:r w:r”

If PIPoints are created on a PI Server 3.4.380.36 or later, it must specify an Access Control List (ACL)

Example:/datasec=”piadmin: A(r,w) | PIEngineers: A(r)”

82

Page 84: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Parameter Description/db=[#]Optional

Default: 0

The /debug=[#] parameter specifies the Interface debug logging message level. There are three levels: 0 – Log only errors and warnings. 1 – Log errors, warnings and major success messages 2 – Log ALL messages.Log level two (2) is the most verbose setting; while level zero (0) reports the least detail (it logs only error messages). The default logging level is 0, to log errors and warnings only. When testing the Interface, it might be necessary to use a more verbose setting (1 or 2).

/dpretc

Optional

AF Only

By default, the interface propagates each event frame element reference to its children event frames. This functionality can be disabled by specifying the following command line parameter:/dpretc - (D)isable (P)ropagation of (R)eferenced (E)lements (T)o (C)hilren.

/FailOverID=<string>

Optional

Configure the unique failover ID for the interface instance. Must be used with the /FailOverTag parameter.

Example:/FailOverID=”intf1”

/FailOverTag=<PI Point Name>

Optional

Specifies the PI point that is used to track which interface instance is primary.Must be used with the /FailOverID parameter.

Example:/FailOverTag=”Batch_FailoverTag”

/host=host:portRequired

The /host parameter is used to specify the destination PI server node where the data is going to be stored. Host is the IP address of the PI Sever node or the domain name of the PI Server node. Port is the port number for TCP/IP communication. The port is always 5450. It is recommended to explicitly define the host and port on the command-line with the /host parameter. Nevertheless, if either the host or port is not specified, the interface will attempt to use defaults.Examples:The interface is running on a PI Interface Node, the domain name of the PI home node is Marvin, and the IP address of Marvin is 206.79.198.30. Examples of valid /host parameters:/host=marvin /host=marvin:5450 /host=206.79.198.30/host=206.79.198.30:5450

/id=xRequired

The /id parameter is used to specify the interface identifier.The interface identifier is a string that is no longer than 9 characters in length.This interface uses the /id parameter to identify a particular interface copy number that corresponds to an integer value that is assigned to one of the Location code point attributes, most frequently Location1. For this interface, use only numeric characters in the identifier. For example,/id=1

PI Interface for ABB 800xA Batch

Page 85: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Startup Command File

Parameter Description/IniFile=<UNC Path>Optional

This parameter allows you to specify an alternate Path and Filename for the INI file. If not specified, the interface will expect to find the INI file in the same directory as, and expect the INI file to have the same file name (but with an .INI extension) as the interface executable.

/MaxStopTime=<seconds>OptionalDefault: 120 seconds

The /maxstoptime parameter is used to set the maximum time allowed for the Interface to properly shutdown. The value must be given in seconds. If the Interface shutdown process takes longer than the specified time, the Interface is forced to terminate immediately.

/MergeOptional

The /merge switch allows the interface to merge multiple source batches with same BatchID into one PIBatch. Orignial data for each merged batch is stored in PIProperties under PI Property Node named as UniqueID of the original batch. This data includes: original BatchID, StartTime (UTC), EndTime(UTC), Product and Formula Name. Merging time frame is controlled by /cachetime switch, that is, the interface will only merge batches which are still cached in local memory.

Note: If BatchID’s are different, use additional switch /bidm. This switch allows to identify common subset of characters in BatchID and then merging is performed based on this subset in addition to actual BatchID merging.Example:There are 5 running batches in /cachetime timeframe:Test12345_1, Test_12345_2, CleaningTest, USPO12345_test, CleaningTestWith /merge switch specified, four separate batches are created:Test12345_1, Test_12345_2, USPO12345_testAnd one merged batch:CleaningTest

With additional /bidm=##### switch specified, where # is the wildcard for numerical values, two merged batches are created. The unitbatches have the original BatchID’s:Batch(1): 12345UnitBatches: Test_12345_1 Test_12345_2 Test_12345_test

Batch(2): CleaningTestUnitBatches: CleaningTest CleaningTest

Equivalent to Recipe Template definition in INI file:Recipe[1].Merge = true

84

Page 86: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Parameter Description/Mode=<mode>

OptionalDefault: Normal

Possible values:/Mode=normal

(or no switch defined)

/Mode=delete

/Mode=stat

/Mode=nodata

The /Mode parameter is used to set the running mode of the Interface. There are four available modes:Normal – (default) The Interface will perform realtime processing. This mode is also used for historical data recovery. To activate recovery mode, /rst switch has to be defined in command line parameters. In Recovery mode, if the /ret switch was not defined, the interface is going to recover data until current time, then switch to realtime processing automatically. If /ret switch was defined, then the interface is going to stop on completion of recovery process.Stat – In this mode, the interface only compares source data with the PI server data. Note, the interface does not write or modify any data on the PI Server. On completion the interface reports results and stops.Delete – In this mode the interface cleans PI archives based on specified source data only, leaving data from all other sources intact. Use only if the interface is unable to synchronize source batch data with the PI server. This modes is used only in conjunction with Recovery mode switches (/rst and /ret).NoData – This mode is designed for situations when the source data needed to be written to PI archives which are earlier than the primary PI archive. Due to the nature of the PI Server, the newly added tags, units and modules are indexed (referenced) only in the primary PI archive. Any older archive will not have any knowledge of these modules, units and tags. In /Mode=NoData the interface creates only modules, units, tags and tag aliases without processing batch data and pushing events into the tags. On completion, the interface stops and you must reprocess older archives with offline archive utility. The manual archive reprocessing creates indexes for newly added units, modules, tags in each reprocessed archive. Always use this mode before writing new batch data to older PI archives (other than Primary).

/mopOptional

The /mop Merge Operation switch allows to combine same named operations running under the same UnitProcedure into a single operation. The start time of the combined operation is the start of the earliest operation and the end time is the end time of the latest/ longest operation which was merged.

Equivalent to Recipe Template definition in INI file:Recipe[3].Merge = true

/mupOptional

The /mup Merge Unit Procedures switch allows to combine sequential multiple Unit Procedures with the name and running on the same unit into a single UnitProcedure. The merge will not occur if the Unit of interest was used by another recipe between candidates for merging. The start time of the combined Unit Procedure is the start of the earliest Unit Procedure and the end time is the end time of the latest/ longest Unit Procedure which was merged.

Equivalent to Recipe Template definition in INI file:Recipe[2].Merge = true

/ns=[lang]Optional

The /ns (Numeric Settings) switch allows the interface to perform proper numerical conversions based on the “Regional and Language Options” setting on local system or based on user defined language.

PI Interface for ABB 800xA Batch

Page 87: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Startup Command File

Parameter DescriptionThis switch is particularly useful when the numerical conventions differ (example a comma is used instead of a decimal etc) from the default settings.If the switch is not used, then the default settings of “English_UnitedStates” is used.If the switch is used without any language specification, that is, /ns, then the interface will use “Regional and Language Options” settings specified on the Windows machine where the interface is running. If the language specification is passed as a value (/ns=lang), then the interface will use that value as internal regional/language setting to perform numerical conversions regardless of local system “Regional and Language Options” setting.If the switch contains invalid language, .i.e /ns=<invalid language>, then the interface will exit.The language can be passed by type as it is specified below or by its abbreviation.Language types (abbreviations):chinesechinese-simplified (chs)chinese-traditional (cht)czech (csy)danish (dan)belgian, dutch-belgian (nlb)dutch (nld)australian, english-aus (ena)canadian, english-can (enc)englishenglish-nz (enz)english-uk (uk)american, american-english, english-american, english-us, english-usa, (enu) (us) (usa)finnish (fin)french-belgian (frb)french-canadian (frc)french (fra)french-swiss (frs)german-swiss, swiss (des)german (deu)german-austrian (dea)greek (ell)hungarian (hun)icelandic (isl)italian (ita)italian-swiss (its)japanese (jpn)korean (kor)norwegian-bokmal (nor)norwegiannorwegian-nynorsk (non)polish (plk)portuguese-brazilian (ptb)portuguese (ptg)russian (rus)

86

Page 88: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Parameter Descriptionslovak (sky)spanish (esp)spanish-mexican (esm)spanish-modern (esn)swedish (sve)turkish (trk)Examples:/ns - will set the interface to use the local Windows language/regional settings/ns=italian/ns=itaBoth switches will set the interface to use Italian language/regional settings.

/PIConnTO=<seconds>

Optional

This parameter is used to change the current PI Connection TimeOut property. By default the Interface uses the default SDK settings.

/PIDATO=<seconds>Optional

This parameter is used to change the current PI Data Access TimeOut property. . By default the Interface uses the default SDK settings.

/PIPswd=<password>OptionalDefault: Use Trust Table

The /PIPswd parameter is used to explicitly specify the user password to establish the connection to the PI Server. If this parameter is not specified, the Interface will try to use the trust table.Note: The /PIPswd parameter must be used in conjunction with the /PIUser parameter.

/PIUser=<name>OptionalDefault: Use Trust Table

The /PIUser parameter is used to explicitly specify the user name to establish a connection to the PI Server. If this parameter is not specified, the Interface will try to use the trust table.

/Print=<file name>

Optional

Prints the results of first scan in flat text file. The results include: Batch Tree, Tag List, and Equipment Tree. This parameter is designed primarily for troubleshooting.

/ps=xRequired

The /ps parameter specifies the point source for the interface. X is not case sensitive and can be any multiple character string. For example, /ps=P and /ps=p are equivalent.The point source that is assigned with the /ps parameter corresponds to the PointSource attribute of individual PI Points. The interface will attempt to load only those PI points with the appropriate point source.

/PtSec=<string>

Optional

The /PtSec parameter allows to specify the PIPoint Access Security rights. These rights are assigned only to interface generated tags during point creation. This string has different forms. If PIPoints are created on a PI Server 3.4.375.99 or earlier, it will have an owner, group, world format.

Example:/ptsec=”o:rw g:r w:r”

If PIPoints are created on a PI Server 3.4.380.36 or later, it must specify an Access Control List (ACL)

Example:/ptsec=”piadmin: A(r,w) | PIEngineers: A(r)”

PI Interface for ABB 800xA Batch

Page 89: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Startup Command File

Parameter Description/restef

Optional

AF Only

(R)eferenced (E)lement (S)ecurity (T)o (E)vent(F)rame) command line parameters enables an event frame with references to inherit security settings from its Primary Reference Element.

/ret=<date time>Optional

The Recovery End Time /ret parameter is used to set the target end time of the history data recovery process. The Recovery End Time is approximate and interface is going to recover all batches with start time before Recovery End Time even though its end time might be beyond Recovery End Time.The <datetime> must be specified using the interface node time format.Note: This command must be used in conjunction with the optional switch: Recovery Start Time /rst=<datetime>

Illustration: Recovery Recovery

Start End

-----------|----------------|------------ time line

[--A--]

[-----B-----]

[-------------C-----------------]

[---D---]

[---------E-------]

[---F---*

Given Recovery Start – End timeframe, the interface is going to recover batches: B, C, D, E. Batches A and F are going to be ignored.

Examples:/ret=”29-sep-2005 7:12:01 pm”

/ret=”07/20/2008 15:43:12”

/Retry=<seconds>OptionalDefault: 60 seconds

The /Retry switch specifies the retry time delay, in seconds, for retrying a failed SDK attempt to write data to PI Server. The default retry delay is set to 60 seconds.

/RetryTO=<seconds>OptionalDefault: 0 seconds

The Retry TimeOut /retryTO switch specifies the timeout, in seconds, for retrying a failed SDK attempt to write data to PI. The default timeout is set to 0 seconds (infinity).Note: To prevent data loses, it is recommended NOT to use the retry timeout switch.

88

Page 90: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Parameter Description/rst=<datetime>

Optional

The Recovery Start Time /rst parameter is used to set the target start time of the history data recovery process. The Recovery Start Time is approximate and an interface is going to recover all batches which start time after Recovery Start Time. In the boundary case when the batch start time is before Recovery Start Time and the batch end time is after Recovery Start Time, the interface is going to perform recovery for such batches as well. The <datetime> must be specified in interface node time format.

Illustration:

Recovery Recovery

Start End

-----------|----------------|------------ time line

[--A--]

[-----B-----]

[-------------C-----------------]

[---D---]

[---------E-------]

[---F---*

Given Recovery Start – End timeframe, the interface is going to recover batches: B, C, D, E. Batches A and F are going to be ignored.

Examples:

/rst=”29-sep-2003 7:12:01 pm”

/rst=”05/21/2007 15:43:12”

/Scan=<seconds>Optional

Default: 60 seconds

The /Scan parameter defines the time period between Interface scans in terms of seconds.Example:/Scan=30If the scanning frequency is set to 30 seconds, the Interface will attempt to query and process data every 30 seconds. Although, scan might be skipped if an abundance of data is processed.

/SingleRunOptional

This parameter forces the interface to perform only one scan and then stop.

PI Interface for ABB 800xA Batch

Page 91: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Startup Command File

Parameter Description/smp=”PI Module Path”or/smp=”PI AF Element Path”

Optional

The /smp switch designates an alternate PI Module path, or PI AF element path if the PI AF database is used, to start looking for a particular Equipment hierarchy. If this option is not specified (that is, the default) is to begin at the root level A path must be specified. This path is of the syntax: \\<RootModule>\<SubModule>\<…>Example: \\MyEnterprise\MyPlant\

/SQLConnTO=<seconds>OptionalDefault: /SQLConnTO=60

The /SQLConnTO parameter is used to change the current Oracle Connection TimeOut property.

/SQLDATO=<seconds>

OptionalDefault: /SQLDATO=100

The /SQLDATO parameter is used to change the current Oracle Data Access TimeOut property. ..

/SwapTime=<seconds>

Optional

Defines the amount of time in seconds that the current primary interface must be unavailable before failover occurs.Default: 300 seconds.

Example: /SwapTime=240

/tbidOptional

Truncate BatchID. Requires the /bidm parameter. When this parameter is enabled, all incoming events BatchID is truncated according to the mask defined in /bidm switch. PIBatch, PIUnitBatch BatchID property will contain truncated BatchID. Tag and Property templates using placeholder [batchid] will replace it with truncated BatchID.

/TZOffset=<minutes>Optional

Source System TimeZone Offset. Interface uses this offset to convert Source System local timestamps to UTC Seconds. Example: (PST) /TZOffSet=-480

Note: This switch should be used when source node system time is different from interface node system time and time zones on incorrectly configured nodes cannot be adjusted.

Example: source Oracle server node time zone was not set correctly during installation and instead the hour setting was adjust to fix the time difference.

Sample PIABB800xA.bat File

The following is an example file:REM======================================================================== REMREM PIABB800xA.batREMREM Sample startup file for the ABB 800xA Batch InterfaceREMREM========================================================================REM REM OSIsoft strongly recommends using the PI Event Frames Interface Manager to modify startup files.REMREM Sample command line

90

Page 92: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

REM PIABB800xA.exe ^ /smp="\\Plant1" ^ /host=XXXXXX:5450 ^ /id=1 ^ /ps=ABB800xA ^ /retry=30 ^ /cachetime=0.1 ^ /abto=30 ^ /scan=45REMREM end of PIABB800xA.bat

PI Interface for ABB 800xA Batch

Page 93: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Startup Command File

Initialization File Parameters

The Initialization file: PIABB800xA<serviceid>.ini is used to specify the interface configurations, such as data sources, translations, product template, equipment template, tag templates and property templates. In addition to the listed properties the following parameters can be specified in INI file:

Parameter Descriptionskipphases=< list>

Optional

The skipphases parameter specifies the list of phases for which all events in the source should be ignored. For each event to be processed, the interface will check for the match in the [Phase] field (batch recipe). If one of those two fields equals one of the entries in this list, the interface will skip processing that event. The name comparison is not case sensitive and allows masks as valid phase specifiers. Multiple phase names can be specified with a comma separator.The following wildcards are supported in masks by the interface:# - single digit numerical value (0-9)@ - single alpha character (a-z, A-Z)? – any single valid symbol! – repeat previous mask symbol* - any array of ? symbols.Example 1: skipphases=phase_1, ph*2Example 2:The following phases: PH_TEST:1-1, PH_ABORT:2-2 should be ignored by the interface. The switch will have the following form:skipphases = ph_test*, ph*ort*

skiprecipes=<list>

Optional

The skiprecipes parameter specifies the list of recipes for which all events in the source should be ignored. For each event to be processed, the interface will check for the match in the recipe fields depending on recipe type:Procedure Recipe : [Procedure] field of eventUnitprocedure Recipe: [UnitProcedure] field of eventOperation Recipe: [Operation] field of the eventPhase Recipe: [Phase] field of the event If the incoming event corresponding fields equals to one of the entries in this skip list, the interface will skip processing that event. The name comparison is not case sensitive and allows masks as valid recipe specifiers. Multiple recipes can be specified with a comma separator.The following wildcards are supported in masks by the interface:# - single digit numerical value (0-9)@ - single alpha character (a-z, A-Z)? – any single valid symbol! – repeat previous mask symbol* - any array of ? symbols.Example 1: skiprecipes=recipe_1, rec*2Example 2:The following recipes: PRC_PAINT (procedure level recipe), UP_TEST:2 (unitprocedure level recipe) should be ignored by the interface. The switch will have the following form:skiprecipes = PRC_PAINT*, UP_TEST:2

92

Page 94: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Parameter Descriptionskipunits=<list>

Optional

The skipunits switch specifies the list of units for which all events in the source should be ignored. This interface will check the [Unit] field in every event for the match in the provided list. If the match, the interface will skip processing that event. The name comparison is not case sensitive, masks are allowed as valid unit specifiers. Multiple unit names can be specified with a comma separator.The following wildcards are supported in masks by the interface:# - single digit numerical value (0-9)@ - single alpha character (a-z, A-Z)? – any single valid symbol! – repeat previous mask symbol* - any array of ? symbols.Example: skipunits = unit_1, u*2

Note, most of the command line parameters can be defined in INI file. For example consider Recovery Start parameter /rst and /merge parameter.

The command line syntax: /rst=”12/05/2008 12:05:23” /merge

Equivalent Initialization file defined parameters:rst=12/05/2008 12:05:23

merge = true

Note: In the initialization file each parameter should be defined on separate line. There should be only one equal (=) sign per line. Parameters can be disabled by specifying two forward slashes (//)

//rst=12/05/2008 12:05:23

//merge = true

In this case, rst and mode parameters are disabled, therefore they are considered to be undefined.

The initialization can contain any free text. The only lines that will be loaded by the interface are lines with embedded equal sign and their continuation lines, if any.

Sample PIABB800xA.ini File[SOURCE TEMPLATE]

source[1].service = ADVAsource[1].database = OPS$OCSHISsource[1].user = testsource[1].pswd = test

[GENERAL]

//Redefining equipment hierarchy such prefix "abs:" is added to each unit name and "Misc" module is added under each unit

Equipment = abs:[Unit]\Misc

[TAG TEMPLATE]

PI Interface for ABB 800xA Batch

Page 95: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Startup Command File

//Basic Tag template, triggered on Parameter=REAC_TEMP_SP, aliases are created as tag name

Tag[33].Name = ABB [Unit] REAC_TEMP_SPTag[33].Value = [Value]Tag[33].type = floatTag[33].Descriptor = Temperature in [Unit] reactorTag[33].EngUnits = oC in [Unit]

//Tag template with custom aliases, triggered on parameter containing=REAC_T substring

Tag[43].Name = ABB Temperature Set Point on [Unit] Tag[43].Value = [Value]Tag[43].type = floatTag[43].Trigger = [Parameter, value="REAC_T*"]Tag[43].UnitAlias = Reactor Temperature Set PointTag[43].Descriptor = Temperature Set Point in [Unit] reactorTag[43].EngUnits = oC in [Unit]

[PROPERTY TEMPLATE]

//Sample Property template, triggering expression is embedded in the value. Triggered on Parameter Name containing - "REAC_T" substring

Property[3].Value = [Time]|p:[Parameter,value="REAC_T*"]|v:[Value] | batch:[batchid]

//Sample Property template, using explicitly defined trigger on Parameter Name containing -"REAC_T" substring

Property[4].Value = [Time]| Test trigger |v:[Value] | batch:[batchid]Property[4].Trigger = [Parameter, value="REAC_T*"]

94

Page 96: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 9. Interface Node Clock

Make sure that the time and time zone settings on the computer are correct. To confirm, run the Date/Time applet located in the Windows Control Panel. If the locale where the interface node resides observes Daylight Saving Time, check the box marked “Automatically adjust clock for daylight saving changes”. For example,

In addition, make sure that the TZ environment variable is not defined. All of the currently defined environment variables can be viewed by opening a Command Prompt window and typing set. That is,C:> set

Confirm that TZ is not in the resulting list. If it is, run the System applet of the Control Panel, click the Environment Variable button under the Advanced Tab, and remove TZ from the list of environment variables.

PI Interface for ABB 800xA Batch

Page 97: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 10. Security

The PI Firewall Database and the PI Proxy Database must be configured so that the interface is allowed to write data to the PI Server. See “Modifying the Firewall Database” and “Modifying the Proxy Database” in the PI Server manuals.

Note that the Trust Database, which is maintained by the Base Subsystem, replaces the Proxy Database used prior to PI version 3.3. The Trust Database maintains all the functionality of the proxy mechanism while being more secure.

See “Trust Login Security” in the chapter “Managing Security” of the PI Server System Management Guide.

If the interface cannot write data to the PI Server because it has insufficient privileges, a -10401 error will be reported in the pipc.log file. If the interface cannot send data to a PI2 Serve, it writes a -999 error. See the section Appendix A: Error and Iinformation Messages for additional information on error messaging.

PI Server v3.3 and Higher

Security configuration using piconfigFor PI Server v3.3 and higher, the following example demonstrates how to edit the PI Trust table:

C:\PI\adm> piconfig@table pitrust@mode create@istr Trust,IPAddr,NetMask,PIUsera_trust_name,192.168.100.11,255.255.255.255,piadmin@quit

For the above,

Trust: An arbitrary name for the trust table entry; in the above example,a_trust_name

IPAddr: the IP Address of the computer running the Interface; in the above example,192.168.100.11

NetMask: the network mask; 255.255.255.255 specifies an exact match with IPAddr

PIUser: the PI user the Interface to be entrusted as; piadmin is usually an appropriate user

Security Configuring using Trust EditorThe Trust Editor plug-in for PI System Management Tools 3.x may also be used to edit the PI Trust table.

See the PI System Management chapter in the PI Server manual for more details on security configuration.

PI Interface for ABB 800xA Batch

Page 98: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

PI Server v3.2For PI Server v3.2, the following example demonstrates how to edit the PI Proxy table:

C:\PI\adm> piconfig@table pi_gen,piproxy@mode create@istr host,proxyaccountpiapimachine,piadmin@quit

In place of piapimachine, put the name of the PI Interface node as it is seen by PI Server.

PI Interface for ABB 800xA Batch

Page 99: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 11. Starting and Stopping the Interface

This section describes starting and stopping the interface once it has been installed as a service.

Starting Interface as a Service

If the interface was installed a service, it can be started from PI Event Frames Interface Manager, the services control panel or with the command:PIABB800xA.exe -start

To start the interface service with PI Event Frames Interface Manager, use the “Start Interface Service” button on the PI Event Frames Interface Manager Service Tab.

A message will inform the user of the the status of the interface service. Even if the message indicates that the service has started successfully, double check through the Services control panel applet. Services may terminate immediately after startup for a variety of reasons, and one typical reason is that the service is not able to find the command-line parameters in the associated .bat or initialization .ini file. Verify that the root name of the .bat file, .ini file and the .exe file are the same, and that the .bat file, .ini file and the .exe file are in the same directory. Further troubleshooting of services might require consulting the pipc.log file, Windows Event Viewer, or other sources of log messages. See the section Appendix A: Error and Informational Messages for additional information.

Stopping the Interface Running as a Service

If the interface was installed a service, it can be stopped at any time from PI Event Frames Interface Manager, the services control panel or with the command:PIABB800xA.exe -stop

The service can be removed by:PIABB80xA.exe -remove

To stop the interface service with PI Event Frames Interface Manager, use the “Stop Interface Service” button on the Service Tab.

PI Interface for ABB 800xA Batch

Page 100: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Chapter 12. Buffering

This Interface is not compatible with OSIsoft's standard buffering mechanisms, PI API Buffer Server (Bufserv) and the PI Buffer Subsystem (PIBufss). This interface is based on PI SDK as the data transfer mechanism. PI SDK calls are not buffered by the Bufserv or PIBufss. Regardless of data transfer mechanism from interface node to PI, all source batch related data is buffered by the source. Therefore, no additional buffering mechanism is necessary.

PI Interface for ABB 800xA Batch

Page 101: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Appendix A.Error and Informational Messages

A string NameID is pre-pended to error messages written to the message log. Name is a non-configurable identifier that is no longer than 9 characters. ID is a configurable identifier that is no longer than 9 characters and is specified using the /id flag on the startup command line.

Message Logs

The messages are logged in the local node log file PIHOME\dat\pipc.log.

Messages are written to log files at the following events:

When the Interface starts many informational messages are written to the log. These include the version of the Interface, the version of PI SDK, the version of the PI Server, and the command-line parameters used.

As the Interface processes batch-related data, messages are sent to the log if there are any problems with data retrieval from the ORACLE Server or data processing to the PI Server.

If the /db is used on the command line, then various informational messages are written to the log file.

Messages

The Batch interface logs all module, unit, alias, and point creation attempts for system management and auditing purposes. In addition, there are various debug level messages which may be logged using the /db=<level> switch in the interface startup file. See the section on Interface Operation for more detail on this switch.

Initialization or Startup ErrorsGenerally, these errors will stop the interface from starting up – it is normal behavior for the interface to exit since in many cases the proper startup state of the interface cannot be achieved (or determined) when these errors occur. Generally, speaking if an interface initialization error occurs, the user should check to ensure that communications between the PI server and interface node are existent (since many of the initial parameters need to be synchronized – checked or created with or on the PI server).

"<source>: Memory Allocation Error, <error description>."Errors, containing the message above, generally mean that the Interface node is out of memory. Release some memory by closing unused applications.

"<source>: COM Error: [error number]: <error description>."Errors, containing the message above, are COM generated errors. These errors can occur on data retrieving from the data source as well as during processing of data to the PI Server. Refer to PI SDK reference manual for PI related COM errors to resolve such errors.

PI Interface for ABB 800xA Batch

Page 102: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

"<source> object = NULL" or "<source> pointer = NULL"Errors, containing the messages above, are memory allocation related errors. Generally mean that the Interface node is out of memory. Release some memory by closing unused applications and restart the interface.

"parse_argument_file: Error, Failed to open argument file: <argumentfile>”This error means that the Interface failed to find the batch file associated with the specific Interface instance. Make sure that the batch file is consistent with the serviceid of the Interface. For example, on setup the service id is set as serviceid 4. In this case the batch file must be named PIABB800xA4.bat.

"parse_argfile_line: Error, Found open quote (\") without closing quote on command line...Terminating."This error means that one of the command line parameters in the startup batch file has only one opening quote without matching closing quote. Check the batch file for missing quotes.

"read_ini_file: Error, unable to locate Initialization file: <filename>"Verify that initialization file named <filename> exists in the Interface directory.

"read_ini_file: Error, unable to open Initialization file in READ MODE: <filename>"Check the access properties of the initialization file named <filename>.

"read_startup_file: Error, unable to locate <startup file>: <filename>"

Verify that startup file named <filename> exists in the Interface directory.

"read_startup_file: Error, unable to open <startup file> in READ MODE: <filename>"Check the access properties of the startup file named <filename>.

"write_startup_file: Error, failed to open <startup file> for writing : <filename>, Error: [errno=error number] :<error description>." Check the access properties of the startup file named <filename>. Refer to error number and description for the actual error description.

"[REQUIRED PARAMETERS]: Development Error: No Batch Executive System defined. Please Contact OSIsoft technical support."This is invalid build of the interface. Contact OSIsoft’s technical support to request a valid build.

"[REQUIRED PARAMETERS]: Development Error: More than [1] Batch Executive System defined. Please Contact OSIsoft technical support.”The interface was build incorrectly; contact OSIsoft’s technical support to request a valid build for required Batch Execution System.

"SimpleTemplateList::Verify: Error, Template: <template structure>, contains unresolved placeholder(s)."

PI Interface for ABB 800xA Batch

Page 103: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

This error generally means that there are unknown placeholders defined in template structures, such as [test] or square brackets without closing pair. Please read the Event Logging section of this manual on list of available and valid placeholders.

"SimpleTemplateList::Verify: Error, Template: <invalid structure>, contains invalid placeholder(s)."This error generally means that there are unknown placeholders defined in template structures, such as [test] etc. Please read the Event Logging section of this manual on list of available and valid placeholders.

"TemplateModuleList::Verify: Error, <error description>"The errors containing message above mean that there is an incorrect data provided while defining Equipment module structure. Refer to error description for hints and check your input in initialization file.

"[REQUIRED PARAMETERS]: <error description>" OR

"[MISSING REQUIRED COMMAND LINE PARAMETERS] : <error description>"The errors containing message above generally mean that there are missing parameters in either command line or in initialization file required for interface startup. Please refer to error description to resolve the error.

"Main: Error, Failed to set Numerical Settings to : [language]"The value provided for /ns switch in command line parameters is invalid, please check your input.

"check_SDK_version: Error: Too Many fields in PI SDK Version"The interface failed to identify the PI SDK version number. Please consult with OSIsoft technical support to resolve this error.

"check_SDK_version: Error, This is an Old PI SDK Version, Please upgrade to  <minimum SDK version> or higher.”The PI SDK version installed on the interface node is lower than the minimum required by the interface version of the PI SDK. Please download and install new version of PI SDK.

"set_PISDK_GUID: Error, The Interface failed to identify itself to the PI Server, appID = NULL. Terminating."The interface failed to broadcast its Global Unique ID to the PI server. Please contact OSIsoft technical support to resolve this error.

"OpenPIConnection: Error, PI Server <collective name\PI server name> is a SECONDARY Server. The interface is designed to run only against PRIMARY PI Server. Terminating."The current version of the interface is designed to run only against primary server if used in the Collective configuration. Change the /host switch value and restart the interface.

"netsafe::FindCreateMonitorTags: ERROR, Failed to Add <object description>"

PI Interface for ABB 800xA Batch

Page 104: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Error and Informational Messages

Errors, containing the messages above, are memory allocation related errors. Generally mean that the Interface node is out of memory. Release some memory by closing unused applications and restart the interface.

"StartHealthMonitor: Error, Failed to start health monitor thread. [error number]:<error description>"This is windows related error, check error description.

"ReadCommandFile: ERROR, Unable to read Command file: <filename>, REASON: NO reading privileges"Check the access properties of the command file named <filename>.

"ReadCommandFile: ERROR, Unable to reset Command file: <filename>, REASON: NO writing privileges”Check the access properties of the command file named <filename>.

"mCOMThreadProc: ThreadID: [thread ID]: Error, Unable to retrieve passed arguments... Terminating”This error indicates that the interface node might be out of memory. Release some memory by closing unused applications and restart the interface.

"The source IP address <server name> is not valid, <error description>“The errors containing message above generally mean that the /host=<server name> switch value is invalid. Please refer to error description and correct your input in command line parameters.

"SourceList::AddUpdate: Error <error description>“The errors containing message above mean that there is an incorrect data provided while defining source[#] properties. Refer to error description for hints and check your input in initialization file.

"SQLInitialize:  Error, NO ORACLE Sources defined. Terminate."

"TemplatePropertyList::Verify: Error, <error description>”or

"TemplatePropertyList::Add: Error, <error description>”The errors containing message above mean that there is an incorrect data provided while defining Property[#] template value structure. Refer to error description for hints and check your input in initialization file.

"TemplateTagList::Verify: Error, <error description>”or

"TemplateTagList::AddUpdate: Error <error description>”The errors containing message above mean that there is an incorrect data provided while defining Tag[#] template properties. Refer to error description for hints and check your input in initialization file.

106

Page 105: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Runtime ErrorsGenerally, Batch interface errors are triggered by some action that the interface takes while interacting with the PI Server or reading data from the data source. Therefore, most (if not all) errors will contain a variable portion of the message which is returned from either the PI Server or the underlying PI SDK layers. PI server specific portions of messages will generally contain a negative five-digit number (e.g. –10401 or –15001). These numbers are often followed by a description. However, these error numbers can also be looked up using the following command line commands:

pidiag –e <error number>

or:pilogsrv –e <error number>

PI SDK numbers are generally eight-digit hexadecimal numbers (e.g. 0x000403a0). Again specific descriptions for the error are generally appended to the error message, but can also be obtained by using the “Error Lookup” function in the AboutPI SDK.exe application installed when the PI SDK is installed.

"<source>: Memory Allocation Error, <error description>."Errors, containing the message above, generally mean that the Interface node is out of memory. Release some memory by closing unused applications.

"<source>: COM Error: [error number] : <error description>."Errors, containing the message above, are COM generated errors. These errors can occur on data retrieving from the data source as well as during processing of data to the PI Server. Refer to PI SDK reference manual for PI related COM errors to resolve such errors.

"<source>: Critical Error, <error description>."

"<source> object = NULL" or "<source> pointer = NULL"Errors, containing the messages above, are memory allocation related errors. Generally mean that the Interface node is out of memory. Release some memory by closing unused applications and restart the interface.

"ReadTable: Lost connection to <ORACLE Server=<server name>:Database=<database name>>. Will try to connect on the next scan.”This is informational error. The interface will resume data collection automatically as soon as connection to SQL server is restored.

" ReadTable: <ORACLE Server=<server name>: Database=<database name>> <error message>."This is generic error while reading data from SQL server. Refer to <error message> for error description.

“ORACLESource::CheckSQLtoPITimeOffset: Error, Failed to convert Current Local ORACLE time: <ORACLE date time string> to GMT UTC seconds"Check the date and time settings on interface node. The date and time settings should be identical to the source ABB800xA Oracle server.

PI Interface for ABB 800xA Batch

Page 106: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Error and Informational Messages

"ORACLESource::CheckSQLtoPITimeOffset: Error, Failed to retrieve Current PI Server Time as UTC seconds."Check the network connection between interface node and the PI server.

"ORACLESource::CheckSQLtoPITimeOffset: Error, ORACLE Server is ahead of PI Server more than 30 seconds, please adjust clocks. Terminating."The PI server allows the source event timestamps to be only 30 seconds ahead of its time. Please adjust date and time settings for source node and/or PI server node to be identical.

"GetData_ABB: Unable to Determine ORACLE Query End Time, skipping scan."OR

" GetData_ABB: Unable to Determine ORACLE Query Start Time, skipping scan."OR

" GetData_ABB: Error, Failed to set next query Start Time. Terminating.”The above errors indicate that the interface failed to convert start or end ORACLE query times from UTC seconds to ORACLE local time. Please contact OSIsoft technical support to resolve this error.

"SQLThreadFunc: ThreadID: [<thread id>]: Error, Unable to retrieve passed arguments... Terminating.”The above error indicates that the interface node might be out of physical memory. Release memory by closing unused applications and restart the interface.

ORACLE Server [<server name>:<database name>] working thread[<thread id>] - Error, failed to convert TimeStamp: <ORACLE query start time string>.”Check the date and time settings on interface node. The date and time settings should be identical to the source ABB800 xA server.

System Errors and PI Errors

System errors are associated with positive error numbers. Errors related to PI are associated with negative error numbers.

Error Descriptions On Windows, descriptions of system and PI errors can be obtained with the pidiag utility:\PI\adm\pidiag –e error_number

108

Page 107: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Appendix B.Conclusions

The ABB800xA Batch interface processes batch associated events from ABB 800xA Batch Executive to create and populate PI BatchDB, PI ModuleDB and PI Point objects. The interface is not appropriate for all recipe types. In particular, recipes that contain concurrent unit procedures or that run in units that allow more than one simultaneous owner may not be accurately processed by the interface. However, recipes that contain concurrent operations or phases can be accurately processed by the interface. Recipes that contain concurrent unit procedures in different units are also allowed.

PI Interface for ABB 800xA Batch

Page 108: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Appendix C.Technical Support and Resources

You can read complete information about technical support options, and access all of the following resources at the OSIsoft Technical Support Web site:

http://techsupport.osisoft.com (http://techsupport.osisoft.com)

Before You Call or Write for Help

When you contact OSIsoft Technical Support, please provide:

Product name, version, and/or build numbers

Computer platform (CPU type, operating system, and version number)

The time that the difficulty started

The log file(s) at that time

Help Desk and Telephone Support

You can contact OSIsoft Technical Support 24 hours a day. Use the numbers in the table below to find the most appropriate number for your area. Dialing any of these numbers will route your call into our global support queue to be answered by engineers stationed around the world.

Office Location Access Number Local Language Options

San Leandro, CA, USA 1 510 297 5828 English

Philadelphia, PA, USA 1 215 606 0705 English

Johnson City, TN, USA 1 423 610 3800 English

Montreal, QC, Canada 1 514 493 0663 English, French

Sao Paulo, Brazil 55 11 3053 5040 English, Portuguese

Frankfurt, Germany 49 6047 989 333 English, German

Manama, Bahrain 973 1758 4429 English, Arabic

Singapore 65 6391 181186 021 2327 8686

English, MandarinMandarin

Perth, WA, Australia 61 8 9282 9220 English

PI Interface for ABB 800xA Batch

Page 109: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Support may be provided in languages other than English in certain centers (listed above) based on availability of attendants. If you select a local language option, we will make best efforts to connect you with an available Technical Support Engineer (TSE) with that language skill. If no local language TSE is available to assist you, you will be routed to the first available attendant.

If all available TSEs are busy assisting other customers when you call, you will be prompted to remain on the line to wait for the next available TSE or else leave a voicemail message. If you choose to leave a message, you will not lose your place in the queue. Your voicemail will be treated as a regular phone call and will be directed to the first TSE who becomes available.

If you are calling about an ongoing case, be sure to reference your case number when you call so we can connect you to the engineer currently assigned to your case. If that engineer is not available, another engineer will attempt to assist you.

Search Support

From the OSIsoft Technical Support Web site, click Search Support.

Quickly and easily search the OSIsoft Technical Support Web site’s Support Solutions, Documentation, and Support Bulletins using the advanced MS SharePoint search engine.

Email-based Technical Support

[email protected]

When contacting OSIsoft Technical Support by email, it is helpful to send the following information:

Description of issue: Short description of issue, symptoms, informational or error messages, history of issue

Log files: See the product documentation for information on obtaining logs pertinent to the situation.

Online Technical Support

From the OSIsoft Technical Support Web site, click Contact us > My Support > My Calls.

Using OSIsoft’s Online Technical Support, you can:

Enter a new call directly into OSIsoft’s database (monitored 24 hours a day)

View or edit existing OSIsoft calls that you entered

View any of the calls entered by your organization or site, if enabled

See your licensed software and dates of your Service Reliance Program agreements

PI Interface for ABB 800xA Batch

Page 110: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Remote Access

From the OSIsoft Technical Support Web site, click Contact Us > Remote Support Options.

OSIsoft Support Engineers may remotely access your server in order to provide hands-on troubleshooting and assistance. See the Remote Access page for details on the various methods you can use.

On-site Service

From the OSIsoft Technical Support Web site, click Contact Us > On-site Field Service Visit.

OSIsoft provides on-site service for a fee. Visit our On-site Field Service Visit page for more information.

Knowledge Center

From the OSIsoft Technical Support Web site, click Knowledge Center.

The Knowledge Center provides a searchable library of documentation and technical data, as well as a special collection of resources for system managers. For these options, click Knowledge Center on the Technical Support Web site.

The Search feature allows you to search Support Solutions, Bulletins, Support Pages, Known Issues, Enhancements, and Documentation (including user manuals, release notes, and white papers).

System Manager Resources include tools and instructions that help you manage: Archive sizing, backup scripts, daily health checks, daylight savings time configuration, PI Server security, PI System sizing and configuration, PI trusts for Interface Nodes, and more.

Upgrades

From the OSIsoft Technical Support Web site, click Contact Us > Obtaining Upgrades.

You are eligible to download or order any available version of a product for which you have an active Service Reliance Program (SRP), formerly known as Tech Support Agreement (TSA). To verify or change your SRP status, contact your Sales Representative or Technical Support (http://techsupport.osisoft.com/) for assistance.

OSIsoft Virtual Campus (vCampus)

The OSIsoft Virtual Campus (vCampus) Web site offers a community-oriented program that focuses on PI System development and integration. The Web site's annual online subscriptions provide customers with software downloads, resources that include a personal development PI System, online library, technical webinars, online training, and community-oriented features such as blogs and discussion forums.

OSIsoft vCampus is intended to facilitate and encourage communication around PI programming and integration between OSIsoft partners, customers and employees. See the

PI Interface for ABB 800xA Batch

Page 111: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Technical Support and Resources

OSIsoft vCampus Web site, http://vCampus.osisoft.com (http://vCampus.osisoft.com) or contact the OSIsoft vCampus team at [email protected] for more information.

114

Page 112: PI Interface for ABB 800xA Batch - OSIsoftcdn.osisoft.com/interfaces/3482/PI_ABB800xA_3.0.16.48…  · Web viewSchematic of Recommended Hardware and Software Configuration for Batch

Appendix D.Revision History

Date Author Comments

24-Aug-2009 IDatskov Version 1.0.1.0 Created

29-Sep-2009 MKelly Version 1.0.1.0, Revision A; Fixed Headers, Footers and Hyperlinks. Reformatted several tables.

26-Aug-2010 MKelly Version 1.0.1.0 Revision B; Updated to Interface Manual Skeleton 3.0.27

25-Sep-2010 IDatskov Version 1.0.2.0; Added new switches: /mup, /mop. Added section for Recipe Templates. Added new element ‘$’ (root) to alias module path syntax in Tag templates. Added Property Template name definition support. Added skiprecipes support in INI file. Added section for PI Tag as Placeholder in Property and Tag templates.

24-Aug-2011 IDatskov Version 2.0.0.x; Modified Recipe Templates section.Added support in Event Logging for the following placeholders: [UNITRAW], [PROCPATH], [TYPE], [LEVELNUMBER].Added paragraph under Event Logging on Query Optimization.Added Command Line switch /ADU.Modified Property Template section to reflect new functionality – add properties at root level when $ is used as first element.

07-Sep-2011 MKelly Version 2.0.0.x, Revision A; Added the Technical Support and Resources appendix.

05-Sep-2013 IDatskov Version 3.0.x.x. Added new placeholders support for PDL Alarm events. Updated Tag/Attribute/Recipe template sections with new features. Added AF Elements and EventFrames support.

PI Interface for ABB 800xA Batch