Foxboro I/A 51 and 70 Series
Interface to the PI System
Version 2.3.8.66
Revision B
Copyright © 1997-2018 OSIsoft, Inc.
OSIsoft, Inc.777 Davis St., Suite 250
San Leandro, CA94577USA
(01) 510-297-5800 (main phone)
(01) 510-357-8136 (fax)
(01) 510-297-5828 (support phone)
Houston, TX
Johnson City, TN
Longview, TX
Mayfield Heights, OH
Philadelphia, PA
Phoenix, AZ
Savannah, GA
/ OSIsoft Australia
Perth, Australia
OSI Software GmbH
Altenstadt,Germany
OSIsoft Asia Pte Ltd.
Singapore
OSIsoft Canada ULC
Montreal, Canada
Calgary, Canada
OSIsoft, Inc. 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
Sales Outlets/Distributors
Middle East/North Africa
Republic of South Africa
Russia/Central Asia / South America/Caribbean
Southeast Asia
South KoreaTaiwan
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, Inc.
OSIsoft, the OSIsoft logo and logotype, PI Analytics, PI ProcessBook, PI DataLink, ProcessPoint, Sigmafine, Analysis Framework, PI Datalink, IT Monitor, MCN Health Monitor, PI System, PI ActiveView, PI ACE, PI AlarmView, PI BatchView, PI ManualLogger, PI ProfileView, ProTRAQ, RLINK, RtAnalytics, RtBaseline, RtPortal, RtPM, RtReports and RtWebParts are all trademarks of OSIsoft, Inc. All other trademarks or trade names used herein are the property of their respective owners.
RESTRICTED RIGHTS LEGEND
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph I(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013
Foxboro I/A 51 and 70 Series Interface to the PI System1
Table of Contents
Terminology
Introduction
Reference Manuals
Supported Features
Diagram of Hardware Connection
Principles of Operation
Buffered Access
Unbuffered Access
Object Status
Outputs
Installation Checklist
Data Collection Steps
Interface Diagnostics
Advanced Interface Features
Interface Installation on Windows
Naming Conventions and Requirements
Interface Directories
PIHOME Directory Tree
Interface Installation Directory
FoxAPI Installation
Interface Installation Procedure
Installing Interface as a Windows Service
Installing Interface Service with PI Interface Configuration Utility
Installing Interface Service Manually
Interface Installation on UNIX
Naming Conventions and Requirements
Interface Directories
PIHOME Directory
Interface Installation Directory
FoxAPI Installation
PI API Installation Procedure
Interface Installation Procedure
Installing Multiple Instances of the Interface
Multiple Instances in a Single Directory
Multiple Instances in a Separate Directories
FoxAPI Test Program
Digital States
PointSource
PI Point Configuration
Point Attributes
Tag
PointSource
PointType
Location1
Location2
Location3
Location4
Location5
InstrumentTag
ExDesc
UserInt1
Scan
Shutdown
Output Points
Trigger Method 1 (Recommended)
Trigger Method 2
Point Configuration Examples
Profile Points
Startup Command File
Configuring the Interface with PI ICU
Fxbais Interface page
Command-line Parameters
Sample fxbais.bat file
Sample fxbais.sh file
fxbais.ini Configuration File
Interface Node Clock
Security
Windows and UNIX
Starting / Stopping the Interface on Windows
Starting Interface as a Service
Stopping Interface Running as a Service
Starting / Stopping the Interface on UNIX
Interface Startup Script
Interface Stop Script
Automatic startup and shutdown
Automatic startup on a reboot
Terminating Background Processes
Anomalous Background Job Termination
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
Configuring PI API Buffer Server (BufServ) Manually
Buffering Settings
BufServ and n-way buffering
Kernel Resource Configuration on Solaris
Interface Diagnostics Configuration
Scan Class Performance Points
Configuring Scan Class Performance Points on UNIX
Performance Counters Points on Windows
Interface Health Monitoring Points
Configuring Interface Health Points with the ICU
Configuring Interface Health Points Manually
Interface Health Point Keywords
I/O Rate Point
Configuring I/O Rate Tags On UNIX
Configuring PI Point on the PI Server
Configuration on the Interface Node
Interface Status Point
Appendix A: Error and Informational Messages
Message Logs
System Errors and PI Errors
Extra Debugging Messages
List Event Counters and Location5
Common Problems
Operational Hints
Solaris/Unix
Updates and HotFixes for the FoxAPI
Reading an Entire MCIN/MCOUT Block
Reading I/A Series Messages
FoxAPI Configuration Settings (foxapi.cfg)
Time Difference Reported by the Interface
Appendix B: Failover Support
Parameters for Operation
Design Details
Operational Scenarios
Failover Installation Checklist
Miscellaneous Information on Failover
Appendix C: Notes on Upgrading from Previous Versions
Required -host= argument
ExDesc keywords no longer supported
PIHOME and LD_LIBRARY variables defined in /.cshrc
Install Procedure
Appendix D: FoxAPI Configuration
Appendix E: FoxAPI Status Definition
Status Definition for I/A Series Version 4.1 and Earlier
Status Definition for I/A Series Version 4.2 and Later
Storing Status Values in PI
Revision History
Foxboro I/A 51 and 70 Series Interface to the PI System1
Terminology
To understand this interface manual, you should be familiar with the terminology used in this document.
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 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 of the interfaces on a particular computer.
You can configure and run 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 client applications. A typical PIHOME is C:\Program Files\PIPC. PI interfaces reside in a subdirectory of the Interfaces directory under PIHOME. For example, files for the Modbus Ethernet Interface are in C:\Program Files\PIPC\Interfaces\ModbusE.
This document uses [PIHOME] as an abbreviation for the complete PIHOME 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. While 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.
Foxboro I/A 51 and 70 Series Interface to the PI System1
Diagram of Hardware Connection
Introduction
The PI Foxboro data collection interface program provides for the bi-directional transfer of data between OSIsoft’s PI Server and Foxboro’s I/A Series system. Foxboro’s I/A Series systems run on either Solaris (51 Series) or Windows NT/XP (70 Series) computers.
In order to run the PI Foxboro Interface, a computer must have the following software installed:
- OSIsoft PI API version 1.3.x or higher (the current released version of the PIAPI is recommended).
- Foxboro local FoxAPI version 4.x.x if the Interface is to run on an I/A Series AW/AP, or
- Foxboro netFoxAPI version 4.x.x if the Interface is to run on a generic Solaris machine
Foxboro recommends the use of the current release of the FoxAPI.
The choice of the FoxAPI version (i.e., whether local or networked) depends on the type of machine on which the PI Foxboro Interface runs. If this machine is:
- An I/A Series AW/AP, local FoxAPI is required. Note that Foxboro does not install the FoxAPI on WP machines, and so they cannot be used to run the interface.
- A generic Solaris machine which is not a part of the Foxboro I/A system, then netFoxAPI must be purchased and installed on this generic Solaris machine. In addition, netFoxAPI software must also be licensed at the netFoxAPI server machine. The standard FoxAPI manuals describe this operation.
Reference Manuals
OSIsoft
- PI Server manuals
- PI API Installation Manual
- UniInt Interface User Manual
Foxboro
- Foxboro I/A Series documentation
- I/A Series FoxAPI Installation Guide (B0193UC)
- I/A Series FoxAPI User’s Guide (B0193UD)
Supported Features
Feature / SupportPart Number / PI-IN-FX-IA-SOL2
PI-IN-FX-IA-NTI
* Platforms / Solaris 2.5.1 / 8 / 10
Windows (XP, 2003)
APS Connector / No
Point Builder Utility / No
ICU Control / Yes (Windows only)
PI Point Types / float16 / float 32 / float 64 / int16 / int32 / digital / string
Sub-second Timestamps / Yes
Sub-second Scan Classes / Yes (but of limited use. See note below)
Automatically Incorporates PIPoint Attribute Changes / Yes
Exception Reporting / Yes
Outputs from PI / Yes
Inputs to PI: Scan-based / Unsolicited / Event Tags / Scan-based / Event tags
Supports Questionable Bit / Yes
Supports Multi-character PointSource / Yes
Maximum Point Count / Unlimited
* Uses PI SDK / No
PINet String Support / No
* Source of Timestamps / Synchronized to the PI server
* History Recovery / No
* UniInt-based
* Disconnected Startup
* SetDeviceStatus / Yes
Yes
Yes
* Failover / Interface specific
* Vendor Software Required on PI Interface Node / PINet Node / Yes
Vendor Software Required on Foreign Device / No
Vendor Hardware Required / No
Additional PI Software Included with Interface / No
* Device Point Types / See below
Serial-Based Interface / No
* See paragraphs below for further explanation.
Platforms
The Interface is designed to run on the above mentioned UNIX and Microsoft Windows operating systems and their associated service packs.
Please contact OSIsoft Technical Support for more information.
Sub-second Timestamps and Scan Classes
The interface supports sub-second scan classes and timestamps. However, there are limitations within the I/A system which mean that the accuracy of the timestamps may not be reliable.
Firstly, the fastest the I/A stations check for updates for the FoxAPI is 0.5 second (this is independent of the station BPC). Therefore, defining a scan class for the interface faster than 0.5 second will only result in duplicate values being read.
Secondly, the FoxAPI does not return timestamps with the values. Therefore the interface must apply a timestamp when it reads the value and there will be a delay between the value scanned in the I/A control station and when the timestamp is applied.
Also note that high scan frequencies impose a high CPU load on the system and should be avoided if not absolutely required.
Uses PI SDK
On the Windows platform, the PI SDK and the PI API are bundled together and must be installed on each Windows PI Interface node. This Interface does not specifically make PI SDK calls.
Source of Timestamps
The time on the PI server is treated as the master clock when time-stamping values received by the interface. The timestamp is calculated by using the current time on the interface node and applying an offset calculated from the different in the interface node time and the time on the PI server.
Because the Foxboro I/A series workstation may have its time zone set to GMT and its clock set to wall clock time, the time as indicated internally on this machine is technically incorrect. Therefore, PI Foxboro uses the PI API to determine the PI Server’s local time. The Interface then applies an additional time offset to obtain the correct Coordinated Universal Time (UTC). This offset is recalculated every 10 minutes.
Profile data points have a timestamp that corresponds to the value of the I/A object associated with the Profile Trigger tag. See the section on Profile Points for more information.
UniInt-based
UniInt stands for Universal Interface. UniInt is not a separate product or file. It is an OSIsoft-developed template used by developers, and is integrated into many interfaces, including this interface. The purpose of UniInt is to keep a consistent feature set and behavior across as many of OSIsoft’s interfaces as possible. It also allows for the very rapid development of new interfaces. In any UniInt-based interface, the interface uses some of the UniIntsupplied configuration parameters and some interface-specific parameters. UniInt is constantly being upgraded with new options and features.
The UniInt Interface User Manual is a supplement to this manual.
Disconnected Start-Up
The PIfxbais interface is built with a version of UniInt that supports disconnected start-up. Disconnected start-up is the ability to start the interface without a connection to the PI server. This functionality is enabled by adding /cachemode to the list of start-up parameters or by enabling disconnected startup using the ICU. Refer to the UniInt Interface User Manual for more details on UniInt Disconnect startup.
SetDeviceStatus
Functionality has been added to UniInt 4.3.0.15 and later to support health tags. The PI Foxboro I/A interface is built against a version of UniInt that supports the health tags.
The Health tag with a string point type and the attribute Exdesc = [UI_DEVSTAT], is used to represent the status of the interface. The possible values for this string point are:
- “1 | Starting” – The Interface remains in this state until it has loaded the PI points and either starts scanning, or if running in failover, it initializes the failover state.
- “2 | Connected/No Data” - the interface is part of a failover pair and currently initializing or changing failover state.
- “Good” – The interface is able to collect data. A value of “Good” does not mean that all tags are receiving good values, but it is a good indication that there are no hardware or network problems. When using failover, a “Good” status can indicate that the interface is active or on standby. The failover status PI points will show the status of the individual instances of the interface.
- “4 | Intf Shutdown” – The Interface has shut down.
The Interface updates this point whenever the interface is started or stopped.
Failover
The user may simultaneously run two copies of PI Foxboro in a failover configuration. In this manner, if one copy of the Interface fails, the other automatically assumes responsibility for data collection. See the Failover section of this manual for details.
The netFoxAPI version of the interface does not run in a failover configuration.
Note The failover mechanism used by the interface is specific to the Foxboro interface. The interface does not support the UniInt-based failover. -UFO_ID= is not supported.
Vendor Software Required
The PI Foxboro Interface program requires software from Foxboro, Inc. This software is either:
- FoxAPI, version 4.x.x, or
- netFoxAPI, version 4.x.x.
Device Point Types
The PI Foxboro Interface supports the following Foxboro I/A point types:
- char (I/A type 1)
- short integer (I/A type 2)
- float (I/A type 3)
- string (I/A type 4)
- Boolean (I/A type 5)
- long integer (I/A type 6)
- short integer (I/A type 8)
- packed Boolean (I/A type 9)
- long packed Boolean (I/A type 10)
The Interface does not support the reading of I/A Series Messages. For example, messages such as:
- Control Station Generated:
- Process Alarms
- Sequence of Events
- Sequence Block
- System Monitor
- Operator Action Journal
are not supported.
Diagram of Hardware Connection
The following diagrams indicate the connectivity between the various hardware and software components. Note that the Interface must run on a machine that is separate from the PI Server. That is, the user must install the Interface on a machine known in OSIsoft’s terminology as a “PI Interface node”.