Allen-Bradley RSLinx
Interface to the PI System
Version 3.02 and greater
January 9, 2002
How to Contact Us
Phone / (510) 297-5800 (main number)(510) 297-5828 (technical support)
Fax / (510) 357-8136
Internet /
World Wide Web / http://www.osisoft.com
Mail / OSI Software, Inc.
P.O. Box 727
San Leandro, CA 94577-0427
USA
OSI Software GmbH
Hauptstrabe 30
D-63674 Altenstadt 1
Deutschland /
OSI Software, Ltd
P. O. Box 8256
Level One, 6-8 Nugent Street
Auckland 3, New Zealand
Unpublished -- rights reserved under the copyright laws of the United States.
RESTRICTED RIGHTS LEGEND
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii)
of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013
Trademark statement—PI is a registered trademark of OSI Software, Inc. Microsoft Windows, Microsoft Windows for Workgroups, and Microsoft NT are registered trademarks of Microsoft Corporation. Solaris is a registered trademark of Sun Microsystems. HPUX is a registered trademark of Hewlett Packard Corp.. IBM AIX RS/6000 is a registered trademark of the IBM Corporation. DUX, DEC VAX and DEC Alpha are registered trademarks of the Digital Equipment Corporation.
Allen Bradley RSLink PI-IN-SI-SIMAT-NT
Ó 2000 OSI Software, Inc. All rights reserved
777 Davis Street, Suite 250, San Leandro, CA 94577
Table of Contents
Introduction 1
Interface Design Overview 2
Interface Point List 4
Input and Output 4
Time Stamps 4
Solicited Mode PI Point Definition 5
Unsolicited Data Collection 12
Setting up a Message Block 12
Unsolicited Mode PI Point Definition 12
Order of Pre/Post Processing 15
Software Configuration 16
PI Software – PI 2 Systems 16
PI-RSLinx Interface Files - NT and UNIX 16
PIRSLINX.BAT / PIRSLINX.SH 17
INI File 22
Rate Counter – IORATES.DAT file 23
Installation 24
Installation - NT and UNIX 24
Interface Operation 25
Interface Operation - NT and UNIX 25
Startup - NT 25
Startup - UNIX 26
Shutdown 26
Information and Error Messages - NT 27
Information and Error Messages - UNIX 27
Common Errors Returned from the RSLinx 28
Appendix A. Data Table Specifications 30
Appendix B. Configuring the INI file 33
Appendix C. Old Style Data Addressing Scheme 35
Appendix D. Troubleshooting Tips 37
Appendix E. Configuring the RSLinx UNSOL.INI File 39
Appendix F. PI-RSConvert Conversion Utility 40
Jan 09, 2002 43
Introduction
This document describes Oil System's Allen-Bradley RSLinx Interface to the Plant Information (PI) System. The Interface runs with Allen Bradley's RSLinx (NT) or INTERCHANGE (HP-UX) software. When using RSLinx, install Version 2.0 or later of the Allen-Bradley RSLinx vendor software on an Intel 486 or Pentium based machine running Windows NT version 3.51 or later. When using INTERCHANGE, install the Allen-Bradley INTERCHANGE software on a HP-UX workstation running version 10.10 or 10.20. The selected machine may be a PI-Home or PI-API node.
For more information about software requirements, see the Software Configuration section.
The Interface supports communications to any PLC2, PLC3, PLC5, or SLC 500 processor on a Data Highway or Data Highway Plus Link. In addition, the Interface can obtain data directly from Ethernet PLCs or through a serial port via the DF1 protocol. Drivers for Ethernet, 1784-KT, 1784-KTX, 1784-PCMK, the Serial DF1 full duplex protocol, and perhaps other protocols are included with the RSLinx package distributed by Rockwell Software. The interface can also support communication with the WinLinx and ControlLogix gateway controllers, although the interface cannot talk to an INTERCHANGE module if the ControlLogix gateway is being used.
Note: If data will be gathered directly from the ControlLogix processor, the PI-OPC interface should be used in place of the PI-RSLinx interface.
To access data, the user defines groups of tags known as data tables. The Interface collectively scans these data tables either at a user defined rate or based on events of a specified tag. In addition, the Interface allows for output of data tables based on events.
The interface operates in two mutually exclusive modes, solicited and unsolicited. In solicited mode, the Interface scans data tables either at a user defined rate or based on events of a specified tag. In solicited mode, the interface also allows for output of data tables based on events. In unsolicited mode, the interface defines data tables to the INTERCHANGE (or RSLinx) server with unique addresses for a single interface. Devices on the Allen-Bradley network may then direct data to these data items based upon the destination address. In INTERCHANGE parlance, this is called an unsolicited write to the host application. Currently the interface does not support unsolicited reads from PI to the Allen-Bradley network.
To operate the Interface effectively, the user must be familiar with Rockwell-Software’s RSLinx or INTERCHANGE software. In particular, the user must know how to specify which data in the PLC the Interface will be accessing. In addition, the user should possess the appropriate RSLinx, INTERCHANGE or DTL (Data Table Library) documentation set.
After this introduction, this document contains a brief design overview followed by the details of creating points to be scanned by this Interface. Subsequent sections provide an overview of the hardware and software configurations while instructions for operation and installation are contained at the end.
What is UniInt?
UniInt stands for Universal Interface, and it is an OSI-developed template used to create many of our interfaces. UniInt is not a separate product or file, it is solely a template used by our developers, and is integrated into the interface. The purpose of UniInt is to keep a consistent feature set and behavior across as many of our interfaces as possible. It also allows for the very rapid development of new interfaces. UniInt is constantly being upgraded with new options and features. In any UniInt interface, some of the supplied configuration parameters are used by the UniInt features of the interface, and some are used by the interface-specific features of the interface.
The Supported Features Table
Supported Features /Platforms / NTI /
PI Point Types / digital, integer, float (16 & 32 bit), string /
Sub-second Timestamps / Yes /
Sub-second Scan Classes / Yes /
Automatically Incorporates PI Point Attribute Changes / Yes /
Exception Reporting / Yes /
Outputs from PI / Yes /
History Recovery* / No /
Failover* / No /
Inputs to PI: Scan-based / Unsolicited / Event Tags / All types /
UniInt-based / Yes /
Maximum Point Count / Unlimited /
SDK / No /
Vendor Software Required on PI API / PINet node* / Yes /
Vendor Software Required on DCS System* / Yes /
Vendor Hardware Required* / No /
Additional PI Software Included with Interface* / No /
· see paragraphs below for further description
History Recovery
History Recovery is not applicable to this interface.
Failover
The PI-RSLinx interface can be run in a Microsoft Clustered Environment. The interface would run simultaneously on both the Primary and Backup Cluster Nodes, but only the Primary Node would send data to the PI Server. If the current data collecting node should go down or if the interface itself stops on the primary node, then the secondary interface will start sending it's data to PI instead.
Vendor Software Required
The customer is required to purchase one of the following software packages from Rockwell Software/Allen Bradley:
9355-WABENE (RSLinx Professional Software) <or>
9355-WABOEMENE (RSLinx OEM Software)
The interface must run on the same PC where RSLinx is installed and running.
Vendor Hardware Required
No vendor hardware is required.
Additional PI Software
No additional PI software is included.
Diagram of Hardware Connection:
Interface Design Overview
The RSLinx Interface consists of a single executable program and a number of utility files for the interface startup and shutdown. The Interface must be installed on either a HP-UX workstation (version 10.10 or 10.20) or an Intel 486 or Pentium based machine running Windows NT version 3.51 or later. For NT/2000/XP, RSLinx OEM software (part #9355-WABOEM) or the full RSLinx package (part #9355-WAB) must be installed before operation of the Interface can be successful. RSLinx version 2.0 or later is required. For HP-UX, the INTERCHANGE software (part #9351-HPUS) is required for successful operation.
Multiple copies of this interface can run on a single machine; however, each Interface will need to communicate through its own dedicated communications device, (i.e. 1784-KT Card, COM port, etc.). The PI System can support multiple RSLinx interfaces each running on its own PI or PI-API node.
Interface Point List
At startup, the RSLinx Interface scans the PI Point Database for all associated PI points and builds a point list. This list is composed of all unique Data Table (DT) Definitions and all points associated with each Data Table. The Interface performs bounds checking on all important point attributes, and each Data Table Definition is passed to the Data Table Library for verification. Not all of the parameters in the Data Table Definition string can be verified before communication with the remote A-B PLC processor is attempted. Therefore, specifying invalid remote PLCs can introduce errors that are not well defined.
The Interface signs up for point updates and updates (approximately every 2 minutes) its point list: adding, changing, or deleting points as necessary. Large changes to the point database can result in a short break in scanning while the interface reconfigures its tag list.
Input and Output
The RSLinx Interface supports, in solicited mode, both data input and data output with any PLC2, PLC3, PLC5, PLC5/250 or SLC 500 processor on a Data Highway or Data Highway Plus Link. In addition, the Interface supports bidirectional access to Ethernet PLCs as well as through the DF1 serial port protocol. All data transactions take place in the form of Data Table transfers. A Data Table (DT) is defined by its starting address, the number of elements, and additional routing information that specifies routing to the remote hardware.
Input Data Tables may be associated with multiple points, improving communications efficiency and overall throughput. For output data points, a unique output Data Table must be defined for each point. To improve performance, output data are only sent based on events of the source tag for the output point.
Time Stamps
Data scanned by the RSLinx Interface are put into the snapshot using the PI Server’s Windows NT system time that corresponds to the time the data are received. Time Stamps are not used in conjunction with output data. Subsecond timestamps are now supported for input points.
Solicited Mode PI Point Definition
A PI Point or Tag corresponds to a single parameter in a programmable controller. For example, a counter, a set point, a process variable, and the high and low control limits would each serve as a separate point in the PI System Database. Each of these points must be defined and configured individually using either the PI Tag Configurator, PIConfig or PIDIFF utilities. The following describes the PI point configuration for use with the RSLinx Interface. For more information regarding point configuration, see the Data Archive (DA) section of the PI System Manuals.
Note: PI2 and PI3 point requirements differ in some instances with respect to the content of the point database fields; these differences will be pointed out.
Tag
Tag refers to the PI tag name of the PI-RSLinx point. The interface can handle PI tag names with a maximum of characters; however, when the interface logs messages in the interface log, it will only print the first 12 characters of a tag name, for both PI2 and PI3 systems.
PointSource
All points defined in the PI Point Database for use with the RSLinx Interface must share a common point source. The point source may be any single character or symbol. In PI 2, the point source for the interface must be defined in the point source library before interface operation (see Software Configuration).
PointType
The interface supports all PI point types except for the PI 3 blob point type.
Note that an Integer (PI 2), an int16 (PI 3) and a float16 (PI 3) are 15-bit unsigned integers with a possible range of 0 to 32,767. If a value collected by the Interface is outside of this range, a Real (PI 2), int32 (PI 3), or float32 (PI 3) point type should be used. Otherwise, the value will be flagged as "Under Range" or “Over Range”.
Note: Negative integer and string point support was added in version 3.0 of the interface. String output tags are only supported if the version of the PI-API is 1.3.2 or greater.
Location1
The first location is the interface number. There can be up to 256 copies of the interface running using the same point source. That is, each RSLinx Interface System requires a unique interface to the PI System, identified by any arbitrarily chosen integer number from 1 to 256. This is used to distinguish the Interface from multiple RSLinx interfaces running on the same or different nodes.
Location2
The second location parameter specifies the data type on the foreign device. The following table lists the different supported data types.
Location 2 Parameter / Description / Element Size (in Bytes)0 / RAW (single byte) / 1
1 / WORD (16 bit) / 2
2 / LONG WORD (32 bit) / 4
3 / 3 DIGIT BCD (not PLC5) / 2
4 / 4 DIGIT BCD (not PLC5) / 2
5 / FLOAT (except PLC-3) / 4
6 / FLOAT (PLC-3) / 4
7 / FLOAT (SLC500) / 4
8 / LONG WORD(PLC-3) / 4
9 / UNSIGNED WORD (16 bit) / 2
10 / 3 DIGIT BCD (PLC5) / 2
11 / 4 DIGIT BCD (PLC5) / 2
12 / String (PLC5) / 84
13 / ASCII (two characters per element) / 2
Location3
The third location parameter specifies the offset location of this point's data in a data table. The offset location is specified as an integer number of bytes with the first byte in a data table having an offset location of 0. By default, output data has an offset of zero (0). If the data table has multiple elements, you must consult the above chart to decide how to set the offset for elements other than the first one in the table. For instance, if you have a data table that is collecting two float values, the first one would be retrieved using an offset of 0 and the second would be retrieved using an offset of 4, since the Float data type is 4 bytes long according to the chart above. Similarly, if you were collecting 3 string values in one table, the second string would be retrieved using an offset of 84 and the third would be retrieved using an offset of 168.