OPC DA Interface

Version2.3.20.x

OSIsoft, LLC
777 Davis St., Suite 250
San Leandro, CA 94577 USA
Tel: (01) 510-297-5800
Fax: (01) 510-357-8136
Web:
OSIsoft Australia • Perth, Australia
OSIsoft Europe GmbH • Frankfurt, Germany
OSIsoft Asia Pte Ltd. • Singapore
OSIsoft Canada ULC • MontrealCalgary, Canada
OSIsoft, LLC Representative Office • Shanghai, People’s Republic of China
OSIsoft Japan KK • Tokyo, Japan
OSIsoft Mexico S. De R.L. De C.V. • Mexico City, Mexico
OSIsoft do Brasil Sistemas Ltda. • Sao Paulo, Brazil
OPC DA Interface
Copyright: © 1998-2018 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 Data Services, 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 RIGHTS
Use, 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: 04/2012

Table of Contents

Terminology

Interface Specific Terms

General Terms

Chapter 1.Introduction

Reference Manuals

Supported Features

Diagram of Hardware Connection

Configuration 1: Preferred Configuration

Configuration 2: Common Configuration

Configuration 3: Alternate Configuration

Chapter 2.Principles of Operation

Overview of OPC Servers and Clients

Connections – Creating, Losing, and Recreating

The OPC Security standard

The OPCEnum Tool

Timestamps

Writing Timestamps to the Device

Plug-in Post-processing DLLs

Polling, Advising and Event Tags

Data Types

Transformations and Scaling

Quality Information

Chapter 3.Installation Checklist

Data Collection Steps

Interface Diagnostics

Advanced Interface Features

Chapter 4.Interface Installation

Naming Conventions and Requirements

Interface Directories

PIHOME Directory Tree

Interface Installation Directory

OPCEnum Directory

Plug-ins Directory

Tools Directory

Interface Installation Procedure

Installing Interface as a Windows Service

Installing Interface Service with PIInterfaceConfigurationUtility

Service Configuration

Installing Interface Service Manually

Upgrading an Installation

Chapter 5.DCOM Configuration

General Steps for DCOM Configuration

Notes on DCOM Configuration

DCOM Configuration on Two Nodes

DCOM Configuration on a Single Node

Registration of Proxy DLLs

Chapter 6.DCOM Security Configuration for the Interface

Security Settings

Chapter 7.PI OPC Tools

PI OPCClient

PI OPCTool

Chapter 8.Digital States

PI 3 Interface Node

Chapter 9.PointSource

PI 3 Server Node

Chapter 10.PI Point Configuration

Point Attributes

Tag

PointSource

PointType

Location1

Location2

Location3

Location4

Location5

InstrumentTag

ExDesc

SourceTag

TotalCode

SquareRoot

Convers

Userint1

Userint2

Scan

Shutdown

Exception Processing

Output Points

Trigger Method 1 (Recommended)

Trigger Method 2

Sample Tag Configurations

Scan Classes

Output Tags

Polled Tags

Advise Tags

Event Tags

Array Tags

Arrays as Event Tags

Reading Basic Quality as a Digital Tag

Chapter 11.Startup Command File

Configuring the Interface with PI ICU

OPC Interface page

Command-line Parameters

Sample OPCInt.bat File

Chapter 12.UniInt Failover Configuration

Introduction

Quick Overview

Synchronization through the Data Source (Phase 1)

Configuring Synchronization through the Data Source (Phase 1)

Configuring UniInt Failover through the Data Source (Phase 1)

Start-Up Parameters

Data Source Points

PI Tags

Detailed Explanation of Synchronization through the Data Source

Steady State Operation

Synchronization through a Shared File (Phase 2)

Configuring Synchronization through a Shared File (Phase 2)

Configuring UniInt Failover through a Shared File (Phase 2)

Start-Up Parameters

Failover Control Points

PI Tags

Detailed Explanation of Synchronization through a Shared File (Phase2)

Steady State Operation

Failover Configuration Using PI ICU

Create the Interface Instance with PI ICU

Configuring the UniInt Failover Startup Parameters with PIICU

Creating the Failover State Digital State Set

Using the PI ICU Utility to create Digital State Set

Using the PI SMT 3 Utility to create Digital State Set

Creating the UniInt Failover Control and Failover State Tags (Phase 1)

Creating the UniInt Failover Control and Failover State Tags (Phase 2)

Converting from Phase 1 to Phase 2 Failover

Procedure

Chapter 13.OPC Specific Failover

Hot Failover

Warm Failover

Cold Failover

Command Line Parameter Considerations

Chapter 14.Interface Node Clock

Chapter 15.Security

Chapter 16.Starting / Stopping the Interface

Starting Interface as a Service

Stopping Interface Running as a Service

Chapter 17.Buffering

Which Buffering Application to Use

How Buffering Works

Buffering and PI Server Security

Enabling Buffering on an Interface Node with the ICU

Choose Buffer Type

Buffering Settings

Buffered Servers

Installing Buffering as a Service

Chapter 18.Interface Diagnostics Configuration

Scan Class Performance Points

Performance Counters Points

Performance Counters

Performance Counters for both (_Total) and (Scan Class x)

Performance Counters for (_Total) only

Performance Counters for (Scan Class x) only

Interface Health Monitoring Points

I/O Rate Point

Interface Status Point

Appendix A.Error and Informational Messages

Message Logs

Messages

System Errors and PI Errors

UniInt Failover Specific Error Messages

Informational

Errors (Phase 1 & 2)

Errors (Phase 1)

Errors (Phase 2)

Appendix B.PI SDK Options

Appendix C.OPC Server Issues

Browsing

Timestamps

Disconnecting

False Values

Access Path

Unpack2 messages

Appendix D.Notes on Some OPC Servers

Honeywell APP Node

DeltaV System

Appendix E.Debugging

Debugging Options

/DB=1

/DB=2

/DB=4

/DB=8

/DB=16

/DB=32

/DB=64

/DB=128

/DB=256

/DB=512

/DB=1024

/DB=2048

/DB=4096

/DB=8192

Using the opcresponse.log, opcscan.log, and opcrefresh.log Files

Appendix F.List of Startup Parameters Grouped by Usage

UniInt Parameters (Commonly Used)

DCOM Security

OPC Server

Advanced Options

Data Handling

Miscellaneous

Server-level Failover

Interface-level Failover

UniInt Interface-level Failover

Plug-Ins (Post-processing dlls)

Debugging

Obsolete

Appendix G.Troubleshooting OPC DCOM Problems

Security Auditing

DCOM Failure Logging

Sample System Log Events

Example 1

DCOM Errors Reported in the pipc.log

Common CoCreateInstanceEx errors:

Advise failed errors

Appendix H.Technical Support and Resources

Before You Call or Write for Help

Help Desk and Telephone Support

Search Support

Email-based Technical Support

Online Technical Support

Remote Access

On-site Service

Knowledge Center

Upgrades

OSIsoft Virtual Campus (vCampus)

Revision History

OPC DA Interface1

Terminology

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

Interface Specific Terms

OPC

OPC (originated from OLE for Process Control, now referred as open connectivity via open standards) is a standard established by the OPC Foundation task force to allow applications to access process data from the plant floor in a consistent manner.

OPCTool

This tool used to be the main tool for testing connection to and supported functionality of OPC Servers. OSIsoft recommends using the PI OPCClient for these purposes and leave the PI OPCTool only as a debugging utility when requested by tech support for troubleshooting specific OPC Server problems with their server vendors.

OPCEnum Tool

The OPC Foundation has provided a tool to allow OPC clients to locate servers on remote nodes, without having information about those servers in the local registry. This tool is called OPCEnum and is freely distributed by the OPC Foundation.

OPCClient

This tool can be used to test connectivity to the OPC Server, and to browse OPC Items and verify data collection.

General Terms

Buffering

Buffering refers to an Interface Node’s ability to store temporarily the data that interfaces collect and to forward these data to the appropriate PI Servers.

N-Way Buffering

If you have PI Servers that are part of a PI Collective, PIBufss supports n-way buffering. N-way buffering refers to the ability of a buffering application to send the same data to each of the PI Servers in a PI Collective. (Bufserv also supports n-way buffering to multiple PI Server however it does not guarantee identical archive records since point compressions specs could be different between PI Servers. With this in mind, OSIsoft recommends that you run PIBufss instead.)

ICU

ICU refers to the PI Interface Configuration Utility. The ICU is the primary application that you use to configure 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 of the interfaces on a particular computer.

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

ICU Control

An 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 Node

An Interface Node is a computer on which

  • the PI API and/or PI SDK are installed, and
  • PI Server programs are not installed.
PI API

The PI API is a library of functions that allow applications to communicate and exchange data with the PI Server. All PI interfaces use the PI API.

PI Collective

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

PIHOME

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

A typical PIHOMEon a 32-bit operating system is C:\Program Files\PIPC.

A typical PIHOMEon a 64-bit operating system is C:\Program Files (x86)\PIPC.

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

For example, files for the 32-bit 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.

PIHOME64

PIHOME64is 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 64-bit 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:\ProgramFiles\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 SDK

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

PI Server Node

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

PI SMT

PI SMT refers to PI System Management Tools. PI SMT is the program that 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.log

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

Point

The 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 “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.

Service

A Service is a Windows program that runs without user interaction. A Service continues to run after you have logged off from Windows. It 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.

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.

OPC DA Interface1

Chapter 1.Introduction

OPC (originated from OLE for Process Control, now referred as open connectivity via open standards) is a standard established by the OPC Foundation task force to allow applications to access process data from the plant floor in a consistent manner. Vendors of process devices provide OPC Servers, whose communications interfaces comply with the specifications laid out by the task force (the OPC Standard), and any client software that complies with that standard can communicate with any of those servers without regard to hardware releases or upgrades. The connection between the client and the OPC Server is either through the Microsoft COM interface or through OLE Automation, and the client accesses data from the data cache maintained by the OPC Server or requests that the server read the device directly.

The PI OPC Interface is an OPC Data Access (DA) client application that can communicate to an OPC DA Server and send data to and from the PI System. It supports v1.0a and v2.05 of OPC Data Access standard. The design of the interface allows running multiple instances of the interface simultaneously. Each instance of the interface is able to keep a connection to only one OPC DA Server, which may be on the same or a different machine/node. More than one instance may be configured to connect to the same OPC Server. The interface may reside on a PI home node or a PI Interface node.

Note: The value of [PIHOME] variable for the 32-bit interface will depend on whether the interface is being installed on a 32-bit operating system (C:\ProgramFiles\PIPC) or a 64bit operating system (C:\ProgramFiles(x86)\PIPC).

The value of [PIHOME64] variable for a 64-bit interface will be C:\ProgramFiles\PIPC on the 64-bit Operating system.

In this documentation [PIHOME] will be used to represent the value for either [PIHOME] or [PIHOME64]. The value of [PIHOME] is the directory which is the common location for PI client applications.

Note:Throughout this manual there are references to where messages are written by the interface which is the PIPC.log. This interface has been built against a version of UniInt (4.5.0.59 and later) which now writes all its messages to the local PI Message log.

Please note that any place in this manual where it references PIPC.log should now refer to the local PI message log. Please see the document UniInt Interface Message Logging.docx in the %PIHOME%\Interfaces\UniInt directory for more details on how to access these messages.

Reference Manuals

OSIsoft

  • PI Server manuals
  • PI API Installation manual
  • UniInt Interface User Manual
  • PI OPCClient User’s Guide
  • PI Interface Configuration Utility User Manual
  • OPC DA Interface Failover Manual
  • DCOM Configuration Guide (OSIsoft)

Supported Features

Feature / Support
Part Number / PI-IN-OS-OPC-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
OPC Data Access Standard / 1.0a / 2.0 / 2.05
OPC Security Standard / 1.0
Auto Creates PI Points / APS Connector
Point Builder Utility / No
ICU Control / Yes
PI Point Types / Float16 / Float32 / Float64 / Int16 / Int32 / Digital/String
Sub-second Timestamps / Yes
Sub-second Scan Classes / Yes
Automatically Incorporates PIPoint Attribute Changes / Yes
Exception Reporting / Done by Interface / Done by DCS
Outputs from PI / Yes
Inputs to PI: Scan-based / Unsolicited / Event Tags / Scan-based / Unsolicited / Event Tags
Supports Questionable Bit / Yes
Supports Multi-character PointSource / Yes
Maximum Point Count / Unlimited
* Uses PI SDK / Yes
PINet String Support / N/A
* Source of Timestamps / Interface / OPC Server
History Recovery / No
UniInt-based
* Disconnected Startup
* SetDeviceStatus / Yes
Yes
Yes
Failover / Server-level Failover;
Interface-Level Failover:
UniInt Phase 1 & 2 (Cold/Warm/Hot)
Microsoft Clustering
* Vendor Software Required on PI Interface Node / PINet Node / No
Vendor Software Required on DCSSystem / Yes
Vendor Hardware Required / No
Additional PI Software Included with Interface / Yes
* Device Point Types / VT_I2, VT_I4, VT_R4, VT_R8, VT_BSTR
Serial-Based Interface / No

* See available paragraphs below for further explanation.

Platforms

The Interface is designed to run on the above mentioned Microsoft Windows operating systems. Due to the dependency of OPC on COM and DCOM, the PI OPC Interface is not supported on non-Windows platforms.

Please contact OSIsoft Technical Support for more information.

Uses PI SDK

The PI SDK and the PI API are bundled together and must be installed on each PI Interface node. This Interface does not specifically make PI SDK calls.

If the PI Server is at version 3.4.370 or higher, and the PI API is at version 1.6 or higher, then the PI SDK is not used even if it is enabled since UniInt will use the new PI API calls for long Instrument tag field and multiple character point source.

If the PI Server is older than 3.4.370, the new PI API calls cannot be used. The PI SDK must be enabled to use the long instrument tag field and multiple character pointsource.

The PI SDK cannot be used if the interface will be setup to use Disconnected Startup since it is based on API calls only.

Source of Timestamps

The interface can accept timestamps from the OPC Server or it can provide timestamps from the local node. This is controlled by a command-line parameter.