OPC DA Interface
Version2.3.20.x
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 / SupportPart 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.