ABB IMS/AEH Advant Station (ABB Master, ABB MOD 300) Interface

ABB IMS/AEH Advant Station
(ABB Master, ABB MOD 300)
Interface to the PI System
Version 5.24.0.0
How to Contact Us
Phone
(510) 297-5800
(510) 297-5828
Fax
(510) 357-8136
E-mail
techsupport@osisoft.com
World Wide Web
http://www.osisoft.com
Mail
OSIsoft
P.O. Box 727
San Leandro, CA 94577-0427
USA
OSI Software, Ltd
P O Box 8256
Symonds Street
Auckland 1035 New Zealand
OSI Software GmbH
Hauptstrae 30
D-63674 Altenstadt 1
Deutschland
OSI Software, Asia Pte Ltd
152 Beach Road
#09-06 Gateway East
Singapore, 189721
(main number)
(technical support)
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.
HP-UX 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.
PI_abbims.doc
 2000-2003 OSI Software, Inc. All rights reserved
777 Davis Street, Suite 250, San Leandro, CA 94577
ABB IMS/AEH Advant Station Interface to the PI System
ii
Table of Contents
Introduction ................................................................................................................... 1
Reference Manuals ..................................................................................................... 2
Supported Features ..................................................................................................... 2
Diagram of Hardware Connection ............................................................................... 4
Principles of Operation ................................................................................................ 5
Overview ..................................................................................................................... 5
Input ........................................................................................................................ 5
Quality Check for Selected Attributes ...................................................................... 6
Output ...................................................................................................................... 7
Connection to the PI Server ..................................................................................... 8
Connection to the DCS ............................................................................................ 8
Timestamps ............................................................................................................. 9
Sign-up for Updates ................................................................................................. 9
Supported Object Types ............................................................................................ 10
Transfer Methods ...................................................................................................... 10
ABB Attribute Data Types .......................................................................................... 11
Events – Recommended for ABB Master Only .......................................................... 12
Installation Checklist .................................................................................................. 13
Interface Installation on NT ........................................................................................ 15
Naming Conventions and Requirements ................................................................... 15
Microsoft DLLs .......................................................................................................... 16
Interface Directories .................................................................................................. 16
The PIHOME Directory Tree .................................................................................. 16
Interface Installation Directory ............................................................................... 16
Interface Installation Procedure ................................................................................. 16
Installing the Interface as an NT Service ................................................................... 17
Installing the Interface Service with PI-Interface Configuration Utility..................... 17
Installing the Interface Service Manually ................................................................ 19
Interface Files for NT ................................................................................................. 20
ABB IMS/AEH Advant Station Interface to the PI System
iii
iii
Table of Contents
Interface Installation on HP-UX .................................................................................. 21
Definition of Environment Variables ........................................................................... 21
Installation of the PI-API on HP-UX ........................................................................... 22
Interface Upgrade...................................................................................................... 24
Installing/Upgrading from CD-ROM or a Downloaded File ......................................... 24
Interface Files for HP-UX........................................................................................... 26
Additional Files after Link .......................................................................................... 26
Linking the PI-ABB Advant Interface ......................................................................... 26
Linking the Interface Control Program ....................................................................... 26
HP-UX Ownership of Interface Files .......................................................................... 26
Digital States ............................................................................................................... 29
PointSource ................................................................................................................. 31
PI Point Configuration ................................................................................................ 33
Point Attributes .......................................................................................................... 33
Tag ........................................................................................................................ 33
PointSource ........................................................................................................... 33
PointType .............................................................................................................. 33
SourceTag ............................................................................................................. 33
Location1 ............................................................................................................... 34
Location2 ............................................................................................................... 34
Location3 ............................................................................................................... 34
Location4 ............................................................................................................... 34
Location5 ............................................................................................................... 35
InstrumentTag ....................................................................................................... 35
ExDesc .................................................................................................................. 35
Scan ...................................................................................................................... 36
Shutdown ............................................................................................................... 36
Hints for Point Configuration ...................................................................................... 37
HP-UX ................................................................................................................... 37
NT.......................................................................................................................... 38
Increasing Shared Memory Size on HP-UX ............................................................... 38
Increasing Shared Memory Size on Windows NT ...................................................... 39
How to Retrieve a List of all Available Objects ........................................................... 39
ABB Master ........................................................................................................... 39
ABB MOD 300 ....................................................................................................... 40
iv
iv
Output Points............................................................................................................. 40
Trigger Method 1 (Recommended) ........................................................................ 41
Trigger Method 2 ................................................................................................... 41
Performance Point Configuration .............................................................................. 43
Configuring Performance Points with PI-ICU (NT-Intel) ............................................. 43
Configuring Performance Points Manually ................................................................. 44
I/O Rate Tag Configuration......................................................................................... 45
Monitoring I/O Rates on the Interface Node .............................................................. 45
Configuring I/O Rate Tags with PI-ICU (NT-Intel) ...................................................... 45
Configuring I/O Rate Tags Manually .......................................................................... 46
Configuring the PI Point on the PI Server .............................................................. 46
Configuration on the Interface Node ...................................................................... 47
Startup Command File ................................................................................................ 49
Command-Line Parameters....................................................................................... 50
Sample Interface Startup Files for HP-UX ................................................................. 57
On Demand ........................................................................................................... 57
On Event................................................................................................................ 58
Cyclic ..................................................................................................................... 59
Sample abbimspi.bat Files for NT .............................................................................. 60
On Demand ........................................................................................................... 60
On Event................................................................................................................ 60
Cyclic ..................................................................................................................... 61
Interface Node Clock .................................................................................................. 63
NT ............................................................................................................................. 63
HP-UX ....................................................................................................................... 63
Security........................................................................................................................ 65
Starting / Stopping the PI-ABB Advant Interface on NT ........................................... 67
Starting Interface as a Service .................................................................................. 67
Stopping Interface Running as a Service ................................................................... 67
Starting / Stopping the PI-ABB Advant Interface on UNIX ....................................... 69
Starting Background Processes ................................................................................ 69
Terminating Background Processes .......................................................................... 69
Anomalous Background Job Termination .................................................................. 70
Buffering ...................................................................................................................... 71
ABB IMS/AEH Advant Station Interface to the PI System
v
v
Table of Contents
Configuring Buffering with PI-ICU (NT-Intel) .............................................................. 71
Configuring Buffering Manually.................................................................................. 74
Example piclient.ini File ............................................................................................. 75
NT.......................................................................................................................... 75
HP-UX ................................................................................................................... 76
Note for DSTMISMATCH on NT ............................................................................ 76
Appendix A: Error and Informational Messages ....................................................... 77
Message Logs ........................................................................................................... 77
Log Files .................................................................................................................... 77
Interface Output File on HP-UX ................................................................................. 77
pimesslogfile on HP-UX ............................................................................................. 78
Messages on NT ....................................................................................................... 78
Translation of Error Codes ........................................................................................ 78
Specific AdvaInform UserAPI Errors and other problems .......................................... 79
Status: 3 (bciEMPTY – No more waiting events/data)............................................ 79
PI-ABB Advant Interface Allegedly Supplies Wrong Values ................................... 80
Summary of Statuses and Error Codes ..................................................................... 80
AdvaInform UserAPI Statuses ............................................................................... 80
Object Access Statuses ......................................................................................... 82
System Errors and PI Errors ...................................................................................... 83
Error Descriptions on NT and Unix ........................................................................ 83
Appendix B: Hints for PI System Manager ................................................................ 85
Automatic Interface Start on HP-UX System Startup via ABB’s Process Supervision 85
Graceful Interface Stop on System Shutdown ........................................................... 86
Starting the Interface when the PI-API is Started (HP-UX) ........................................ 86
sitestart .................................................................................................................. 87
Stopping the Interface When the PI-API is Stopped (HP-UX) .................................... 87
Automatic Interface Start on NT – Practical Experiences .......................................... 88
Increasing Number of Interfaces per AEH on Windows NT ....................................... 89
Appendix C: Interface Control Program – HP-UX Only ............................................ 91
Appendix D: Achieving Better Interface Performance ............................................. 93
Use More Interface Copies ........................................................................................ 93
Use Scan Class Offsets............................................................................................. 93
Use a Separate Interface Copy for a Fast Scan Class .............................................. 93
Consider the Transfer Method “On Event” (ABB Master only) ................................... 93
vi
vi
Appendix E: Test Environment .................................................................................. 95
IMS 2.0 ...................................................................................................................... 95
AEH 2.1 ..................................................................................................................... 95
AEH 2.2 ..................................................................................................................... 95
Appendix F : Attribute Lists via getObj ..................................................................... 97
Appendix G: Mounting an NT CD ROM on an HP-UX Advant Station ................... 117
Revision History........................................................................................................ 121
ABB IMS/AEH Advant Station Interface to the PI System
vii
vii
Introduction
The ABB IMS/AEH Advant Station to PI Interface (referred to as PI-ABB Advant
Interface in this document) provides the read/write transfer of data between an ABB
Master or ABB MOD 300 process control system and the Plant Information (PI)
System using the AdvaInform UserAPI.
The PI-ABB Advant Interface runs on the Advant Station (IMS or AEH).
The PI-ABB Advant Interface cannot run on an Engineering Station (ES).
The PI-ABB Advant Interface cannot run on an Operator Station (OS).
The Advant Station serves as a PI Interface Node.
It is not recommended to run the PI Server on the same machine.
The following environments are supported:
IMS 2.0 under HP-UX 10.20
AEH 2.0 under HP-UX 10.20
AEH 2.1 under HP-UX 10.20
AEH 2.2 under HP-UX 10.20
AEH 3.0 under Windows NT 4.0
AEH 3.1 under Windows NT 4.0
AEH 3.2 under Windows 2000
The AdvaInform UserAPI must be installed on the IMS/AEH.
(Please note that "2.x" for AEH on HP-UX and "3.x" for AEH on NT is an ABB
naming convention used to differentiate between OS platforms by the version
number. It's actually the same software generation.)
The PI-ABB Advant Interface was originally developed to run on an Information
Management Station (IMS) on HP-UX. Starting with version 4.0 of the interface it can
also run on an INTEL-NT PC running the ABB Advant Enterprise Historian (AEH).
Version 4.x and greater of the interface does not run on HP-UX 9.05 and therefore no
longer supports IMS 1.x.
The PI-ABB Advant Interface was designed to use the capabilities of the AdvaInform
UserAPI contained in IMS Software version 1.2. The interface is also compatible
with IMS Software version 1.3. It uses the bciDoRequest call.
The AdvaInform UserAPI is now included in the ABB Advant Enterprise Historian
Select Package. Previously the AdvaInform UserAPI was included with the ABB
Advant Enterprise Historian. The Select package DOES NOT contain the ABB
Enterprise Historian but is sufficient to run the interface.
Note on HP-UX: There are limits to the number of points and events per second that
can be retrieved from a single Advant station. An Advant station with an RTA card that
contains 8 Mbytes of RAM will allow between 4000 – 6000 tags to be retrieved from
the control system. The expected throughput for a machine with 64 Mbytes of RAM is
approximately 300 calls per second.
ABB IMS/AEH Advant Station Interface to the PI System
1
1
Introduction
The AdvaInform UserAPI provides functions for data transfer between an ABB
Advant Station based on HP-UX or INTEL NT and a connected ABB Master (ASEA
Masterpiece) or a MOD 300 DCS.
Note: The PI-ABB Advant Interface accesses the ABB objects directly in the DCS
through the AdvaInform UserAPI. No local copies of the Process Objects are required
on the Advant Station. The interface does not use the Oracle tables on the Advant
Station.
Reference Manuals
OSIsoft

UniInt End User Document

PI Data Archive Manual

PI-API Installation Instructions
ABB

ABB Master AdvaInform Basic Functions User’s Guide Part 1 and 2

ABB Master AdvaInform Object Handling User’s Guide

ABB Master AdvaInform Object Types Reference Manual

Advant OCS with MOD 300 Software AdvaInform Object Types Reference
Manual

ABB Master Advant Station 500 Series Information Management Station User’s
Guide

ABB Master Advant Station 500 Information Management Station SW*1.1/2
Release Description

AdvaInform Basic Functions Release Notes

Advant Enterprise Historian for Windows NT

Advant MES Advant Enterprise Historian for Windows NT Administrator's Guide
Supported Features
2
2
Feature
Support
Part Number
PI-IN-ABB-ADV-HPUX
PI-IN-ABB-ADV-NTI
Platforms
HP-UX 10.20 / Intel NT 4.0
PI Point Types
PI 2: R / I / D
PI 3: Float16 / Float32 / Float64 / Int16 /
Int32 / Digital / String
Sub-Second Timestamps
No
Sub-Second Scan Classes
Yes
Feature
Support
* Automatically Incorporates PI Point
Attribute Changes
Yes
Exception Reporting
Yes
Outputs from PI
Yes
Inputs to PI: Scan-Based / Unsolicited /
Event Tags
‘On Demand’ (Scan-Based),
‘Cyclic’ (Cyclically initiated by DCS)
‘On Event’ (Events sent by the DCS)
Maximum Point Count
See ABB limit in Introduction
* Uses PI-SDK
Yes
PINet to PI 3 String Support
Not applicable
* Source of Timestamps
Local time on the Advant Station or PI
Server time
History Recovery
No
* Failover
No
* UniInt-Based
Yes
* Vendor Software Required on PI Interface
Node
Yes
* Vendor Hardware Required
Yes
* Device Point Types
See chapter ‘ABB Attribute Data Types’
28 See paragraphs below for further explanation.
Automatically Incorporates PI Point Attribute Changes
Note that ‘Cyclic’ and ‘On Event’ interfaces behave specially. During the
‘bciGetData’ phase, controlled by the Startup Command File parameter /du (default:
half an hour) they cannot process PI Point Attribute Changes.
Uses PI-SDK
Using the PI-SDK applies to the NT version of this interface only. The use of the PISDK must be enabled via the startup command line switch /pisdk=1. Use of the PISDK is particularly important if /timsrc=P is in use.
Source of Timestamps
The PI-ABB Advant Interface can use the local HP-UX or NT system time of the
Advant Station or the PI Server time for time stamping the values of the PI tags. The
behavior is controlled by the setting of /timsrc.
UniInt-Based
UniInt stands for Universal Interface. UniInt is not a separate product or file; it is an
OSIsoft-developed template used by our developers, and is integrated into many
interfaces, such as the PI-ABB Advant Interface. The purpose of UniInt is to keep a
consistent feature set and behavior across as many of our interfaces as possible. It
ABB IMS/AEH Advant Station Interface to the PI System
3
3
Introduction
also allows for the very rapid development of new interfaces. In any UniInt-based
interface, the interface uses some of the UniInt-supplied configuration parameters and
some interface-specific parameters. UniInt is constantly being upgraded with new
options and features.
The UniInt End User Document is a supplement to this manual.
Vendor Software Required
AdvaInform UserAPI (supplied by ABB)
Vendor Hardware Required
ABB Advant Station
(Information Management Station (IMS) or Advant Enterprise Historian (AEH))
Device Point Types
See chapter ‘ABB Attribute Data Types’.
Diagram of Hardware Connection
4
4
Principles of Operation
Overview
At startup, the PI-ABB Advant Interface checks all command line parameters. If some of
them are missing or out of range and cannot be filled with a default value, the interface
generates an error message and stops. Note, that some information messages are
generated and stored in the log files before the /in=… parameter could be evaluated. The
/id=… switch, however, is read at the very beginning of the interface lifetime. If you use
it, the interface identification (should be equal to the interface number) will appear even
in very early messages, allowing you to tell output of different interface copies from each
other.
If all parameters are correct, the interface runs the initialization part. According to the PI
Point configuration details, the ABB process objects are divided into groups consisting
of tags with the same property (data transfer direction, transfer method, scan class, object
type, attribute, controller node).
Event counters are initialized and a sign-up-for-updates operation is performed to
recognize changes in the point database.
Data collection starts after the interface has finished searching the point database for
tags. In the log files, this will be marked by a message like this:
Wed Jul 1 13:51:29 1998 ABBIMSPI 1> 1562 points found for point source A
Data Acquisition
Data are transferred between ABB objects and the corresponding PI tags by performing
attribute operations.
Input
Depending on the transfer method the corresponding AdvaInform User API function is
called to perform data transfer on demand, on event or cyclic. For all transfer methods,
the values are sent to PI using the PI exception reporting mechanism.
On Demand
/tm=D.
According to Location 4, the attributes (Extended Descriptor) of the ABB
objects (Instrument tag name) are read periodically. Use scan classes  3. Tags
must have a value  3 in Location 4. The interface must be started with at least 3
/f=… startup parameters.
ABB IMS/AEH Advant Station Interface to the PI System
5
5
Principles of Operation
On Event
/tm=E. ABB Master only.
All tags receive an initial value on interface startup, representing the current
value of the object attribute in the DCS, most likely NOT representing an event
in the DCS. During normal operation, attribute values from object instances are
read whenever a specific event is detected. An event function is then called to
transfer data to PI immediately. For Basic Objects, a changed value or status in
the DCS may be considered to be an event (depending on the DCS
configuration), causing data transfer to PI to be invoked. For the supported Mod
300 Process Objects, an event is generated whenever the attribute itself has
changed. Make sure that for the object of interest, events have been enabled on
the DCS. One /f=… startup parameter is required. However, it serves as a
placeholder and is not evaluated. Location 4 must be 1.
Note: ‘On Event’ data transfer is not recommended with MOD 300. See chapter
‘Note about supported object types, attributes, transfer methods, input and
output’ for more details.
Cyclic
/tm=C. A permanent subscription for a cyclic read is created. A cyclic function is
called to transfer data to PI whenever a cycle ends. The scan cycle is defined via
the /ct=… switch. Scan frequency specifications via /f=… have no influence.
However, at least 2 “placeholder” /f parameters are required. Tags must have a 2
in Location 4.
In general, the PI-ABB Advant Interface supports all attributes that represent a single
string or a single numerical value (maximum size: 32 bit). See Chapter “Events –
Recommended for ABB Master Only” for restrictions regarding on-event transfer.
The following applies to any attribute that is of data type BITSET or SHORT_BITSET:
A single bit can be transferred to PI by setting Location 3 of the tag to the required bit
number. For attributes of type BITSET, values between 1 and 32 are expected in
Location 3. For SHORT_BITSET attributes, the range is 1 … 16.
The entire attribute information will be stored if location 3 contains zero.
Information about the data type of an attribute can be obtained from AdvaInform Object
Types Reference Manual or via getObj.
For detailed information about meaning and spelling of the attributes, see the description
sections for the ABB objects in the AdvaInform Object Types Reference Manual. You
can also list object attributes via ABB’s getObj example program. Refer to Appendix F :
Attribute Lists via getObj.
Tags will receive DCS Failed in PI if the object status returned by the AdvaInform
UserAPI functions is different from bciOBJ_SUCCESS.
In addition, if for an On-Demand interface, the bciDoRequest call fails, i.e. the returned
AdvaInform UserAPI status is different from bciSUCCESS, all tags in the affected scan
class will also receive this Digital State. In such a case, the overall UserAPI call already
failed. Subsequent object-by-object checking does not make sense and is skipped.
Quality Check for Selected Attributes
For objects of type AI and AO the attribute VALUE is checked against the attribute
STATUS (which is always read simultaneously) before it is stored in PI:
STATUS Bit 1 (active)
STATUS Bit 2 (error)
must be equal to 1
must be equal to 0
In all other cases the tag receives Set to Bad.
6
6
For Objects of type DI and DO there is a quality check if you read the attribute
STATUS. Any bit of this 32-bit entity can be stored as 0 or 1 in the PI tag. The number
of the required bit (range 1 … 32) must be stored in location 3 of the tag. If bit 9 (the
value bit) is selected, it will be checked against bits 1 and 2, which have the same
meaning as for AI and AO objects. Bit 9 will be stored in the PI tag, if the following
conditions are fulfilled:
STATUS Bit 1 (active)
STATUS Bit 2 (error)
must be equal to 1
must be equal to 0
In all other cases the tag receives Set to Bad.
The numerical value of the attribute MEASURE is stored in PI, if the quality-attribute
DQ_MEAS for that object is equal to 1. Otherwise, the tag receives Set to Bad.
A similar check is performed for the attribute RESULT. The quality attribute
DATAQUAL is checked to make sure that RESULT is valid. If DATAQUAL contains a
value other than 1, the tag will be Set to Bad.
Output
The AdvaInform UserAPI provides functions for executing operations in object
instances. This is the only way to update values. The updating process is invoked by the
means of the PI event handling functions. At interface startup a list of output tags will be
established. These tags must either contain a valid PI tag name in the SourceTag field or
the field must be left blank in which case writes to the DCS are performed if the output
tag itself changes value in PI.
PI will inform the interface whenever a source tag has received a new value. The output
tag will then be updated with the value of the source tag. Finally, the value gets sent to
the DCS. Please consult the “Introduction” chapter of this manual for detailed
information about conventions regarding operations for the various ABB object types
and resulting restrictions. Furthermore, information about operations can be found in the
Object Types Reference Manual for ABB Master or MOD 300. Using getObj is also
possible (see Appendix F :
Attribute Lists via getObj).
Output tags must have a value > 2 in location 4, i.e. they must belong to an ‘On Demand’
interface.
Outputs to the DCS can be totally disabled by using the /nooutputs startup parameter.
The PI-ABB Advant Interface currently supports output to the DCS for selected object
types and attributes. For writing towards the DCS, so-called operations are being used.
Operations have names. For AI, AO, DI, DO, DAT and TEXT, the operation name is
“ORDER”. Note that outputs to DAT objects could not yet be tested. Although PIDCON,
PIDCONA, MULTIDAT, VALVECON, MOTCON, MANSTN and RATIOSTN objects
have an operation “ORDER” as well, output to these object types is not yet supported.
For MOD 300 process objects of type CCF and TLL, the operation name is just the
attribute name, with a preceding “PUT_”. For example, the name of the operation that is
used to write a value back to the attribute “MEASURE” is “PUT_MEASURE”.
If the interface finds the “PUT_” construction in the list of available operations, even for
object types other than CCF and TLL, this attribute can be updated in the DCS.
Otherwise, output is not supported.
Note that all event and operation name constructions discussed above are automatically
performed by the interface internally. There is no impact on what the user has to specify
in the Extended Descriptor (attribute name) and the Instrument tag name (object name).
ABB IMS/AEH Advant Station Interface to the PI System
7
7
Principles of Operation
Example:
You want to write to the attribute SETPOINT of FIC-100, which is an object of type
CCF_PID_LOOP. Enter ATTRIB= SETPOINT into the tag’s Extended Descriptor. To
make sure that writing will be possible, check the object via getObj.
$ getObj FIC-100
===============================================================
Object FIC-100 is of type CCF_PID_LOOP which has:
--------------------------------------------------------------…
247 SETPOINT
FLOAT
4 byte
…
-Operations---------------------------------------------------…
249 PUT_SETPOINT
OPERATION
4 byte
…
The interface finds SETPOINT in the Extended Descriptor. Then it retrieves a list of all
operations supported for FIC-100. One of the operations is PUT_SETPOINT. This is
what the interface expects, thus writing to this attribute will be possible.
Connection to the PI Server
Connection to the PI server is necessary for the PI-ABB Advant Interface to get started.
If it can’t connect, it will try again in an endless loop. If you are not aware of your PI
Home Node being down, test the connection between the API Node (the IMS) and the PI
Home Node. For instance, execute OSI’s example program $PIHOME/bin/apisnap. If
connection to the PI Home Node is established, it will ask you for a tag name and display
the snapshot. In case of failure, please check the network connection. It is also a good
idea to verify that access to the PI Home node is permitted. In PI 2 systems, the name of
the IMS must appear with Read/Write access in PISysDat:PIServer.dat. In PI 3 systems,
verify, that the PI Proxy Table and the PI Firewall table are set up to allow point and data
access by the IMS.
If the PI-API detects connection problems to the PI Home Node, this will be reported in
$PIHOME/dat/pimesslogfile. However, if buffering is switched on, you will not lose
data. You can find detailed information about buffering in the PI-API Manual. Missing
connection to the PI server will not disturb the interface processes on the IMS.
Connection to the DCS
In case of connection problems with the DCS, the PI-ABB Advant Interface will receive
error statuses from the AdvaInform UserAPI functions. Any object related return status
that is different from bciOBJ_SUCCESS would result in DCS Failed for the
corresponding tag in PI.
If a controller node is down, or if the cable between the IMS and the DCS gets
unplugged, bciOBJ_NODE_DOWN will be returned. However, when the node is back
up or the cable is plugged in again, the interface is not able to reconnect. This is a known
problem in the AdvaInform UserAPI. Starting with version 3.20, the PI-ABB Advant
Interface has a workaround built in. Whenever bciOBJ_NODE_DOWN is received, the
interface deletes ALL requests (or cancels all cyclic/event subscriptions, respectively)
towards the controllers. It will rebuild ALL lists and try to reconnect after a configurable
amount of time (see parameter /try=… in the “Startup Command File” chapter of this
manual). The interface is not able to detect the node(s) being down. Thus, even if only
part of the DCS environment is currently unreachable, all tags are affected. They will not
8
8
receive new data until all objects that were addressed on interface startup are reachable
again.
Important Note:
If you decide to restart the interface in a situation where only one or a few, but not all DCS
nodes are down, it will most likely start to work immediately. However, you will notice that
fewer tags have been found than in previous instances. This happens because the
objects that were in the state bciOBJ_NODE_DOWN before will now cause the
corresponding tags to be rejected. The interface will start with a subset of tags, involving
only the objects being currently reachable. Though restarting the interface is a possible
workaround in cases where a partial DCS node shutdown is planned and known of, it is
important to restart the interface again after the node is back up. During the downtime of
one node, you can ensure data collection for the other nodes via a temporary interface
restart. But in order to come back to the full set of tags, another restart is necessary after
the problem has disappeared.
Note: You can disable the workaround and consider the above problem solved if the
appropriate patch supplied by ABB was applied to your IMS/AEH. The patch is available
for IMS 2.0. See the description of the /ndw startup parameter in the “Startup Command
File” chapter for more information. Starting with AEH 2.1 on HP-UX or 3.1 on NT, the fix is
implemented in the product and no longer appears as a patch.
Timestamps
For time stamping tag values, the PI-ABB Advant Interface can use local time of the
Advant Station or PI Server time. The behavior is controlled by the setting of /timsrc.
Local time of the Advant Station will be used if /timsrc=A is specified on the command
line, or if the /timsrc switch is missing. PI Server time will be used in case of /timsrc=P.
On NT, it is possible to run the PI-ABB Advant Interface on an AEH that does not
observe DST, i.e. with the ‘Automatically adjust clock for daylight saving changes’ box
unchecked under the ‘Time Zone’ tab of the Date/Time Properties applet. Use /timsrc=P
in this case. The interface will continue to assign correct PI Server time stamps during
DST transitions of the PI Server despite of the AEH not performing the one hour forward
or backward jump in local time. It is possible to adjust AEH time to correct local time
(which results in incorrect UTC during ‘Summer time’). The interface will still send
correct PI Server time stamps. However, the interface and bufserv must be stopped prior
to changing local time on the NT AEH. They must be restarted afterwards.
Important Notes
-
On NT, in order to have /timsrc=P work correctly under all circumstances, it is
mandatory to also specify /pisdk=1 in the interface startup file, i.e. enable use of the
PI-SDK.
-
Running the PI-ABB Advant Interface on an IMS or AEH with manually adjusted
local time (i.e. incorrect UTC) is not supported on HP-UX.
-
Using PI Server time (/timsrc=P) on HP-UX is not supported if the interface runs on
an AEH that resides in a location being off from GMT by a non-integral number of
hours such as GMT+9:30 (Australian Central Standard Time, Australian Central
Daylight Time (South Australia), CST-9:30CDT).
Sign-up for Updates
The interface periodically checks for alterations of the point database and performs the
necessary operations such as adding, editing and deleting of tags. In case of editing, the
tag will receive a status of Configure. Note that in case of on-event or cyclic transfer
ABB IMS/AEH Advant Station Interface to the PI System
9
9
Principles of Operation
these interface activities are always suspended for duration according to the value
specified via /du=… (see “Startup Command File”). Refer to the description of this
parameter for further information.
Supported Object Types
Basic Objects
Object
Read
Write
Analog Input – AI
Single numerical or string attribute
VALUE
Analog Output – AO
Single numerical or string attribute
VALUE
Digital Input – DI
Single numerical or string attribute
Bit 9 of STATUS
Digital Output – DO
Single numerical or string attribute
Bit 9 of STATUS
Dat Objects – DAT
Single numerical or string attribute
Not tested
Text Objects – TEXT
Single numerical or string attribute
INT_LONG, TEXT_REAL,
TEXT not tested
MOD 300 Process Objects
Object
Read
Write
CCF Objects
Single numerical or string attribute
Numerical attribute
String attribute not tested
TLL Objects
Single numerical or string attribute
Numerical attribute
String attribute not tested
TCL Objects
Single numerical or string attribute
Not tested
Other Object Types (Selection)
Object
Read
PIDCON
Single numerical or string attribute
Not supported
PIDCONA
Single numerical or string attribute
Not supported
VALVECON
Single numerical or string attribute
Not supported
MOTCON
Single numerical or string attribute
Not supported
MANSTN
Single numerical or string attribute
Not supported
RATIOSTN
Single numerical or string attribute
Not supported
MULTIDAT
Single numerical or string attribute
Not tested
Transfer Methods
There are three methods of read transfer:
On Demand
On Event (ABB Master only)
Cyclic
10
10
Write
Output to the DCS is possible based on PI exceptions in “On Demand” interfaces.
Note about supported object types, attributes, transfer methods, input and output:
Generally, any attribute of any object type that represents a string or a single numerical
value (float or integer) up to a length of 32 bits can be read by the interface. This includes
even object types not listed above.
ABB Attribute Data Types
Supported
The following data types are supported:
ABB Attribute
Data Type
C Data Type
Displayed by getObj
bciFLOAT
float
FLOAT
bciCHAR
char
CHAR
bciSMALL
char
SMALL
bciUSMALL
unsigned char
USMALL
bciBOOLEAN
char
BOOLEAN
bciSHORT
short int
SHORT
bciLONG
long int
LONG
bciBITSET
long int
BITSET
bciENUM
long int
ENUM
bciUSHORT
unsigned short int
USHORT
bciSHORT_BITSET
short int
SH_BITSET
bciSHORT_ENUM
int
SH_ENUM
bciULONG
unsigned long int
ULONG
bciSTRING
char*
STRING
Not Supported
The following data types are NOT supported:
ABB Attribute
Data Type
C Data Type
Displayed by getObj
bciDOUBLE
double
DOUBLE
bciSTRUCT
struct
STRUCT
bciUNION
union
UNION
bciARRAY
Array []
ARRAY
bciOPEN_ARRAY
Array []
OPENARRAY
bciCOMPOSITION
struct
COMPOSITE
ABB IMS/AEH Advant Station Interface to the PI System
11
11
Principles of Operation
You can use ABB’s example program getObj to check if the attribute you want to read is
supported. For more information about getObj, consult chapter “Hints for Point
Configuration” later in this manual. There is no restriction other than the data type for an
attribute to be supported.
Events – Recommended for ABB Master Only
There is an additional restriction if you want to read attributes “On Event” (ABB Master
only). Events for ABB objects have names. For the Basic object types AI, AO, DI, DO
and the other object types on ABB Master that were tested (PIDCON, PIDCONA,
VALVECON, MOTCON, MANSTN, RATIOSTN), the name is always “EVENT”. For
MOD 300 process objects of type CCF and TLL, the event name is just the attribute
name, with a preceding “CHG_”. For example, the event name for the attribute
“MEASURE” is “CHG_MEASURE”.
If the interface finds either “EVENT” or the “CHG_…” construction in the list of
available events for the desired object type/attribute combination, the attribute can be
read on event. If the event name follows other rules, then the attribute is currently
unsupported for the event transfer method (you can read it “On Demand”, however).
Note that DAT and TEXT objects are unable to generate events although the overview
retrieved via getObj may state otherwise.
Important Note for MOD 300: Because the MOD 300 system is not an event-based
system, events are simulated from the Advant nodes. Essentially, data to be retrieved on
events is subscribed to by the core system. Subscriptions are set-up on a pre-determined
subscription rate, which can result in missed events.
In other words: Although the PI-ABB Advant Interface was written in a way that the use of
the ‘On Event’ method is possible for both ABB Master and ABB Mod 300, this method is
NOT recommended if your DCS is MOD 300. It works fine with ABB Master.
The fact that the ‘On Event’ method is recommended for Master DCS only is documented
in chapter 7 of the AdvaInform UserAPI User’s Guide, “FAQ and recommendations”.
12
12
Installation Checklist
For those users who are familiar with running PI data collection interface programs,
this checklist helps you get the PI-ABB Advant Interface running. If you are not
familiar with PI interfaces, you should return to this section after reading the rest of
the manual in detail.
1. Verify that PI-API has been installed. On NT, the PI-SDK is required.
If on HP-UX:
- Need ‘root’ password if PI-API has yet to be installed.
- Choose the cfront compatible PI-API version 1.3.4
(higher HP-UX PI-API versions not supported at this time).
- Recommendation is to choose ‘ocsmgr’ as the PI-API user.
2. Install the PI-ABB Advant Interface.
3. If on HP-UX:
- Link the Interface Control Program
4. Test the connection between the interface node and the foreign device using
ABB’s example program getObj.
5. Define digital states.
6. Choose a point source. If PI 2 home node, create the point source.
7. Configure PI points.
Location1 is the interface instance.
Location3 is the bit number, if applicable.
Location4 is the scan class (be aware of the 2 reserved scan classes).
Location5 is the direction of data transfer.
ExDesc is the attribute name.
InstrumentTag is the object name.
8. Configure performance points.
9. Configure I/O Rate tag.
10. Edit startup command file, use scan offsets to lower CPU load for ‘On Demand’
interfaces.
11. Check the interface node clock. See the administrator if not correct.
(Date and Time can be changed by ocsmgr via the IMS menu on HP-UX)
12. Set up security.
13. Start the interface without buffering.
14. Verify data.
15. Stop interface, start buffering, start interface.
16. If on HP-UX:
- edit $PIHOME/bin/sitestart
- edit $PIHOME/bin/sitestop
- edit $PIHOME/bin/apiprocs
define PIHOME, SHLIB_PATH and ABBIMSPI
- incorporate the PI-API Startup in ABB’s Process Supervision
- edit StartPIAPIOnBoot and put in hard coded definitions of
PIHOME, SHLIB_PATH and ABBIMSPI
17. Verify that the PI-API and the interface stop properly when the Advant Station is
shut down.
18. Verify that the interface starts up when the Advant Station is booted.
ABB IMS/AEH Advant Station Interface to the PI System
13
13
Interface Installation on NT
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 Application Programming Interface (PI-API) has been installed (see the
PI-API Installation Instructions 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.
After the interface has been installed and tested, Bufserv should be enabled on the PI
Interface Node (once again, see the PI-API Installation Instructions manual). Bufserv is
distributed with the PI-API. It is a utility program that provides the capability to store and
forward events to a PI Server, allowing continuous data collection when communication
to the PI Server is lost. Communication will be lost when there are network problems or
when the PI Server is shut down for maintenance, upgrades, backups, or unexpected
failures.
In most cases, interfaces on PI Interface 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. See the
UniInt End User Document for special procedural information.
Naming Conventions and Requirements
In the installation procedure below, it is assumed that the name of the interface
executable is abbimspi.exe and that the startup command file is called
abbimspi.bat.
It is customary for the user to rename the executable and the startup command file when
multiple copies of the interface are run. For example, one would typically use
abbimspi1.exe and abbimspi1.bat for interface number 1, abbimspi2.exe and
abbimspi2.bat 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 arguments in a file that has the same root name.
ABB IMS/AEH Advant Station Interface to the PI System
15
15
Interface Installation on NT
Microsoft DLLs
The following Microsoft DLLs are distributed on the installation CD-ROM. Copy these
files to the winnt\system32 directory only if the files in the
winnt\system32 directory are older than the files on the CD-ROM.
MSVCIRT.DLL
MSVCRT.DLL
MSVCRT40.DLL
MSVCP50.DLL
MSVCP60.DLL
The following additional Microsoft DLLs are also distributed on the CD-ROM. These
DLLs are only used by a debug version of the interface. Copy these files to the
Winnt\system32 directory only if the files in the winnt\system32 directory are older
than the files on the CD-ROM.
MSVCIRTD.DLL
MSVCRTD.DLL
MSVCP50D.DLL
MSVCP60D.DLL
Interface Directories
The PIHOME Directory Tree
The 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 WinNT directory. A typical pipc.ini file contains the following lines:
[PIPC]
PIHOME=c:\pipc
The above lines define the \pipc directory as the root of the PIHOME directory tree on
the C: drive. OSIsoft recommends using \pipc as the root directory name. The
PIHOME directory does not need to be on the C: drive.
Interface Installation Directory
Place all copies of the interface into a single directory. The suggested directory is:
PIHOME\interfaces\abbimspi\
Replace PIHOME with the corresponding entry in the pipc.ini file.
Interface Installation Procedure
The PI-ABB Advant interface setup program uses the services of the Microsoft Windows
Installer. Windows Installer is a standard part of Windows 2000. When running on
16
16
Windows NT 4.0 systems, the PI- ABB Advant setup program will install the Windows
Installer itself if necessary. To install, run the PI_ABBIMS_x.x.x.x.exe installation kit.
In the installation procedure below, assume that the interface is being installed and that
all copies of the interface will be installed in the same directory.
1. Copy the interface files from the installation media to
PIHOME\interfaces\abbimspi\. Create the directory if necessary.
2. If necessary, rename the command file so that it has the same root name of the
executable.
3. Alter the command-line arguments in the .bat file as discussed in this manual.
4. Try to start the interface interactively with the command:
abbimspi.bat
If the interface cannot be started interactively, one will not be able to run the interface as
a service. It is easier to debug interactively started processes because error messages are
echoed directly to the screen. Once the interface is successfully running interactively,
one can try to run it as a service by following the instructions below.
Installing the Interface as an NT Service
The PI-ABB Advant interface service can be created with the PI-Interface Configuration
& Management Utility, or can be created manually.
Installing the Interface Service with PI-Interface Configuration Utility
The PI-Interface Configuration & Management Utility provides a user interface for
creating, editing, and deleting the interface service:
ABB IMS/AEH Advant Station Interface to the PI System
17
17
Interface Installation on NT
Service Configuration
Service name
The Service to Add box shows the name of the current interface service. This service
name is obtained from the interface executable.
Display name
The Display Name text box shows the current Display Name of the interface service. If
there is currently no service for the selected interface, the default Display Name is the
service name with a “PI-” prefix. Users may specify a different Display Name. OSIsoft
suggests that the prefix “PI-” be appended to the beginning of the interface to indicate
that the service is part of the OSI suite of products.
Service Type
The Service Type indicates whether the interface service will start automatically or need
to be started manually on reboot.

If the Auto option is selected, the service will be installed to start automatically
when the machine reboots.

If the Manual option is selected, the interface service will not start on reboot, but
will require someone to manually start the service.

If the Disabled option is selected, the service will not start at all.
Generally, interface services are set to start automatically.
Dependencies
The Installed services list is a list of the services currently installed on this machine.
Services upon which this Interface is dependant should be moved into the Dependencies
list using the
button. For example, if API Buffering is running, then “bufserv”
should be selected from the list at the right and added to the list on the left. Often
interface services also depend on a vendor program. To remove a service from the list of
dependencies, use the
“Dependencies” list.
button, and the service name will be removed from the
When the PI Interface is started (as a service), the services listed in the dependency list
will be verified as running (or an attempt will be made to start them). If the dependent
service(s) cannot be started for any reason, then the PI interface service will not run.
Note: Please see the PI Log and Operating System Event Logger for messages that may
indicate the cause for any server not running as expected.
- Add button
To add a dependency from the list of Installed services, select the dependency name, and
click the Add button.
- Remove button
To remove a selected dependency, highlight the service name in the Dependencies list,
and click the Remove button.
18
18
The full name of the service selected in the Installed services list is displayed below the
Installed services list box.
Create
The Create button adds the displayed service with the specified Dependencies and with
the specified Startup Type.
Remove
The Remove button removes the displayed service. If the service is not currently
installed, or if the service is currently running, this button will be grayed out.
Start or Stop Service
To Start or Stop an interface service, use the Start button
and a Stop button
on
the ICU toolbar. If this interface service is not currently installed, these buttons will
remain grayed out until the service is added. If this interface service is running, the Stop
button is available. If this service is not running, the Start button is available.
The status of the Interface service is indicated in the lower portion of the PI-ICU dialog.
Status of
the ICU
Status of the
Interface
Service
Service
installed or
uninstalled
Installing the Interface Service Manually
Change to the directory where the abbimspi.exe executable is located. Then, consult
the following table to determine the appropriate service installation command .
NT Service Installation Commands on a PI Interface Node or a PI Server Node with Bufserv
Manual service
abbimspi.exe –install –depend “tcpip bufserv”
Automatic service
abbimspi.exe –install –auto –depend “tcpip bufserv”
NT Service Installation Commands on a PI Interface Node or a PI Server Node without Bufserv
Manual service
abbimspi.exe –install –depend tcpip
Automatic service
abbimspi.exe –install –auto –depend tcpip
When the interface is installed as a service on the PI Server node and when Bufserv is
not implemented, a dependency on the PI network manager is not necessary because the
interface will repeatedly attempt to connect to the PI Server until it is successful.
Note: Interfaces are typically not installed as automatic services when the interface is
installed on the PI Server node.
Check the Microsoft Windows NT services control panel to verify that the service was
added successfully. One can use the services control panel at any time to change the
interface from an automatic service to a manual service or vice versa .
ABB IMS/AEH Advant Station Interface to the PI System
19
19
Interface Installation on NT
Interface Files for NT
abbimspi.exe
abbimspi_event.bat.new
abbimspi_cyclic.bat.new
abbimspi_demand.bat.new
abbimspi.doc
abbims_x.x.x.xtxt
20
20
interface executable (linking not required)
interface startup template
interface startup template
interface startup template
this interface manual
release notes (x.x.x.x stands for the version)
Interface Installation on HP-UX
Definition of Environment Variables
The Interface ‘make’ procedure requires the following UNIX environment variables to
be properly defined:
PIHOME
ABBIMSPI
this is the PI-API home directory, for example, /opt/piapi
this is the Interface subdirectory path beneath PIHOME
Example:
If your PI-API HP-UX is installed under /opt/piapi, the PIHOME variable must point to
/opt/piapi.
$ echo $PIHOME
/opt/piapi
$
If the PI-ABB Advant Interface resides under /opt/piapi/abbimspi, the ABBIMSPI
variable must point to abbimspi
$ echo $ABBIMSPI
abbimspi
$
If the environment variable PIHOME does not exist, define it with the following
commands:
PIHOME=/opt/piapi
export PIHOME
If the environment variable ABBIMSPI does not exist, define it with the following
commands:
ABBIMSPI=abbimspi
export ABBIMSPI
In order to have PIHOME and ABBIMSPI available every time you log on, you may
wish to put their definitions into /home/ocsmgr/.profile for user ocsmgr. Consult your
HP-UX system administrator for more information.
The directory for the Interface files is:
$PIHOME/$ABBIMSPI/bin
The directory for the Interface log files is:
$PIHOME/$ABBIMSPI/log
ABB IMS/AEH Advant Station Interface to the PI System
21
21
Interface Installation on HP-UX
Installation of the PI-API on HP-UX
Before installing the PI-ABB Advant Interface itself, you must install the PI-API HP-UX.
Note that currently PI-API version 1.3.4 is highest supported version. If you are installing
the PI-API from a distribution kit that is at a higher version (e.g. 1.3.8), you must choose
to install the option “PI-API v1.3.4 compatible with the HP-UX cfront compiler” when
prompted. PI-API 1.3.9.1 does not support the HP-UX cfront compiler and thus cannot
be used for this interface.
For more information, see the Appendices, “UNIX Installation Procedures”, “UNIX Post
Installation” and “HP-UX” in the PI-API Application Programming Interface User
Guide.
It is recommended to have ocsmgr own all PI-API directories and the resulting processes,
i.e. the requested “existing user name” should be ocsmgr. Note that the PI-ABB Advant
Interface was compiled with cfront, so choose this option when asked (i.e. enter N to the
question ‘Do you want to install the ANSI C++ [Y] or the cfront version?’).
The following sample installation log (taken from a PI-API 1.3.4 installation) shows the
required steps. User inputs during the installation are shown in bold red.
Creating/Updating the PI-API file system
PIHOME is properly defined: /opt/piapi
Setting PI Environment Variables
Installing PI-API from /opt/piapi/build
BLDDIR exists
LIBDIR exists
BINDIR exists
DATDIR exists
INCDIR exists
SRCDIR exists
Enter an existing user name for PI-API [piadmin] ?
User name: ocsmgr
File: piclient.ini exists
File: iorates.dat exists
Do you want to install the ANSI C++ [Y] or the cfront version? N
Version (10 20) API install type = 0
Installing Base System – PI API
API Installation Script
Setting Working Directory
Installing /opt/piapi/bin/pistart /opt/piapi/bin/pistop
Installing /opt/piapi/bin/apiverify
Installing piapi.h piparams.h pidefs.h pistatus.h piba.h pisql.h
piapix.h pidgstat.h
Installing /opt/piapi/lib/libpiapi.sl
Installing /opt/piapi/lib/libpiapi.a
Installing files in /opt/piapi/bin:
apisnap bufserv bufutil iorates ioshmcls ioshmsrv
isbuf mqcls
mqmgr mqsrv pilogsrv shootq
Running the Site Specific Link Script
Installing examples: apisnap.c apisnap.mak
22
22
If installing a higher PI-API Version (e.g. 1.3.6, where the following sample was taken
from), you will see this:
This distribution contains
1. PI-API v1.3.4 compatible with the HP-UX cfront compiler
2. PI-API v1.3.4 compatible with the ANSI C++ compiler
3. PI-API v1.3.6 compatible with the ANSI C++ compiler and ANSI streams
If your PI-API programs (for example, PI-Interfaces) do not
mention ANSI C++ compiler compatibility or PI-API v1.3.6 compatibility,
choose option 1. You can always re-run this script to re-install
another version of the PI-API.
Which of the above PI-API version do you wish to install: [1], 2, or 3?
1
Choose “1”.
Starting with PI-API version 1.3x, there is a utility $PIHOME/bin/apiverify. This little
script lists all PI-API processes and allows you to detect whether one or more is/are
missing. You can include the abbimspi process by simply editing the file
$PIHOME/bin/apiprocs. After modification, it may look like this:
bufserv
mqmgr
mqsrv
ioshmsrv
iorates
abbimspi
A periodic execution of apiverify as part of the daily maintenance procedure will alert
you if the interface process is missing.
$ apiverify
NAME
PID
TIME
bufserv
22945
00:00:00
mqmgr
22938
00:00:00
mqsrv
22933
00:00:00
ioshmsrv
22951
00:00:00
iorates
22956
00:00:00
WARNING: abbimspi is NOT running
%CPU
0
0
0
0
0
VSZ
156
48
48
40
76
Note:
Multiple copies of the PI-ABB Advant Interface may be running while multiple instances
of the native PI-API processes must not. Unfortunately, the apiverify script is unable to
distinguish between these cases and will issue a warning if multiple occurrences of the
same process name are found. Please ignore an interface related warning unless there are
indeed more interface copies showing up than you actually intended to start. Example:
$ apiverify
NAME
PID
TIME
bufserv
22945
00:00:00
mqmgr
22938
00:00:00
mqsrv
22933
00:00:01
ioshmsrv
22951
00:00:00
iorates
22956
00:00:00
abbimspi
22990
00:00:00
abbimspi
22993
00:00:00
WARNING: multiple instances of abbimspi
ABB IMS/AEH Advant Station Interface to the PI System
%CPU
VSZ
0
156
0
48
0
48
0
40
0
76
0
300
0
256
are running
23
23
Interface Installation on HP-UX
In this case, if you have configured two interfaces, everything is ok. If you set up only
one interface, you might have accidentally started it twice, maybe after an unsuccessful
attempt to stop and a subsequent restart.
Interface Upgrade
Before you install the upgrade, make sure that you have a valid backup of your existing
interface files. In particular, take care of your interface startup scripts. If you are using
the names of the startup example files shipped with the kit, your files will get
overwritten. Make sure that the HP-UX environment variables PIHOME and ABBIMSPI
are defined. Insert the tape and copy the files.
Example:
cd $PIHOME/$ABBIMSPI/bin
tar –xv
Installing/Upgrading from CD-ROM or a Downloaded File
Nowadays, interfaces are shipped on CD-ROM. Furthermore; files can easily be
exchanged by e-mail or supplied and downloaded via an ftp server. You may get
authorized to download an interface update from ftp.osisoft.com or receive a bug fix by
e-mail. The file you receive via ftp, e-mail or on the CD-ROM is a self-extracting
executable for Intel NT, containing a compressed tar file for HP-UX, the current
Interface manual and the Release Notes. For example, you may receive version 5.09 of
the PI-ABB Advant Interface in the file abbims_5.09.exe. Detach this file to your PC and
double-click it in the Windows Explorer.
In this example, after extraction, you will have the following files in c:\temp\abbimspi
abbims_5.09.tar.Z
abbimspi.doc
abbims_5.09.txt
You may wish to keep abbimspi.doc and abbims_5.09.txt on your PC (although
abbims_5.09.txt is copied to your Unix box as well).
If this is a new installation, create the interface directory:
24
24
mkdir $PIHOME/$ABBIMSPI
cd $PIHOME/$ABBIMSPI
mkdir bin
mkdir log
cd bin
Next use ftp binary file transfer to move abbims_5.09.tar.Z to
$PIHOME/$ABBIMSPI/bin on the Advant Station. Make a backup of the files in this
directory prior to proceeding. Check that the file you just copied has kept the uppercase
‘Z’ at the end: abbims_5.09.tar.Z. (Otherwise, uncompress won’t work.) Uncompress
and un-tar the file:
$ uncompress abbims_5.09.tar.Z
$ tar –xvf abbims_5.09.tar
(this will leave abbims_5.09.tar)
Note: You can mount an NT CD ROM directly on the Advant Station and copy files.
See Appendix G:
Mounting an NT CD ROM on an HP-UX Advant Station.
ABB IMS/AEH Advant Station Interface to the PI System
25
25
Interface Installation on HP-UX
Interface Files for HP-UX
StartPIAPIOnBoot
abbimscp.mak
abbimscp.o
abbimspi.o
uniint.o
apiMake
apiMakefile
ifinfo
ifstop
PI_abbims_x.x.x.x.txt
abbimspi_event.sh.new
abbimspi_cyclic.sh.new
abbimspi_demand.sh.new
PI-API Start script for use with Process Supervision
control program makefile
control program object file
interface object file
OSI universal interface object file
interface make script
interface makefile
interface information
interface stop procedure
release notes
interface startup example (event-based version)
-”(cyclic version)
-”(on demand version)
Additional Files after Link
abbimspi
abbimscp
Interface executable
Control program executable
Linking the PI-ABB Advant Interface
The PI-ABB Advant Interface must be re-linked any time you receive a new interface
version. Furthermore, the interface should be linked whenever the PI-API-HP-UX is
linked. Linking of the PI-API is done by executing $PIHOME/build/pi.install.
$ cd $PIHOME/$ABBIMSPI/bin
$ apiMake abbimspi
Make sure the PI-API is running when you perform the link procedure.
Linking the Interface Control Program
$ cd $PIHOME/$ABBIMSPI/bin
$ make –f abbimscp.mak
HP-UX Ownership of Interface Files
A user that has enough privileges to execute ABB functions should own the interface
files. This is typically ocsmgr.
The recommended method is to have the complete PI-API tree owned by the
account ocsmgr:
$ chown –R ocsmgr $PIHOME
$ chgrp –R ocs $PIHOME
Under control of ocsmgr, the PI-API has proven to function correctly and you will not
have any problems when executing ABB functions. The drawback is: If you want to
make the PIHOME and ABBIMSPI environment variables (discussed in the chapter
“Definition of Environment Variables”) permanent by defining them in files being
26
26
executed on login or system boot, you must be permitted to modify .profile of ocsmgr or
even root. Also note that these files will be overwritten on IMS/AEH/HP-UX upgrades.
If you want to use ABB’s Process Supervision for automatic startup of the PI-ABB
Advant Interface on IMS startup, make sure that ocsmgr has enough privileges to access
PI-API and PI-ABB Advant Interface files. A process started up automatically by the
Process Supervision functionality is started and owned by the ocsmgr user. If your PIAPI tree is owned by ocsmgr, you will not have any problem.
See your HP-UX system administrator to allow or help you perform necessary
configuration tasks.
ABB IMS/AEH Advant Station Interface to the PI System
27
27
Digital States
For more information regarding Digital States, refer to the Data Archive Manuals.
PI 2 Home Node
Digital states are defined by running the Digtl Stat display from the PI menu. The
states must be contiguous for each status type and may be anywhere within the
Digital State Table outside of the range 193 – 320, which is reserved for OSIsoft. The
digital states need to be defined prior to point configuration. The digital state sets
described in the PI 3 sections below should be entered into the PI 2 Digital State Table.
For more information, see the DA manual.
PI 3 Home Node
Digital State Sets
PI 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 Data Archive Manual for Windows
NT and Unix manual.
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 Set
Similar 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.
ABB IMS/AEH Advant Station Interface to the PI System
29
29
PointSource
The PointSource is a single, unique character that is used to identify the PI point as a
point that belongs to a particular interface. For example, one may choose the letter A to
identify points that belong to the PI-ABB Advant Interface. To implement this, one
would set the PointSource attribute to A for every PI Point that is configured for the PIABB Advant Interface. Then, if one uses /ps=A on the startup-command line of the PIABB Advant Interface, the PI-ABB Advant Interface will search the PI Point Database
upon startup for every PI point that is configured with a PointSource of A. 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 argument.
Case-sensitivity for PointSource Attributes
In all cases, the point source character that is supplied with the /ps command-line
argument is not case sensitive. That is, /ps=A and /ps=a are equivalent.
PI 2 Server Nodes
The following point source characters are reserved on PI 2 systems and cannot be used as
the point source character for an interface: C, ?, @, Q, T. Also, if one does not specify a
point source character when creating a PI point, the point is assigned a default point
source character of L. Therefore, it would be confusing to use L as the point source
character for an interface.
Before a PI point with a given point source can be created, the point source character
must be added to the PI 2 point source table. For example, if point source A is not
defined in the PI 2 point source table, a point with a point source of A cannot be created.
This prevents the user from accidentally creating a point with an incorrect point source
character.
Defining a Point Source Character in the PI 2 Point Source Table
1. Enter PI by typing the following command from a VMS command prompt:
@pisysexe:pi
2. Select the PointSrc option from the menu.
3. Select New from the menu.
4. Assign a point source next to the Code: field.
Point Source Code: A
Point Source Descriptor: ABB Advant
Also, assign minimum and maximum values for the Location1 to Location5 attributes.
Location1
Location2
Location3
Location4
Location5
Minimum
0
0
0
1
0
Maximum
255
0
32
255
1
5. Select “Save” from the menu.
ABB IMS/AEH Advant Station Interface to the PI System
31
31
PointSource
PI 3 Server Nodes
No point source table exists on a PI 3 Server, which means that points can be
immediately created on PI 3 with any point source character. Several subsystems and
applications that ship with PI 3 are associated with default point source characters. The
Totalizer Subsystem uses the point source character T, the Alarm Subsystem uses G and
@, Random uses R, RampSoak uses 9, and the Performance Equations Subsystem uses C.
Either do not use these point source characters or change the default point source
characters for these applications. Also, if one does not specify a point source character
when creating a PI point, the point is assigned a default point source character of L.
Therefore, it would be confusing to use L as the point source character for an interface.
32
32
PI Point Configuration
The PI point is the basic building block for controlling data flow to and from the
PI Data Archive. A single point is configured for each measurement value that needs to
be archived. Use the point attributes below to define what data to transfer.
Point Attributes
Tag
A tag is a label or name for a point. Any tag name can be used in accordance to the
normal PI point naming conventions.
PointSource
The PointSource is a single, unique character that is used to identify the PI point as a
point that belongs to a particular interface. For additional information, see the
/ps command-line argument and the “Point Source” section. For PI 2 systems, the point
source must be defined in the point source library before point configuration.
PointType
Typically, device point types do not need to correspond to PI point types. For example,
integer values from a device can be sent to floating point or digital PI tags. Similarly, a
floating-point value from the device can be sent to integer or digital PI tags, although the
values will be truncated.
PI 2 Server Nodes
Scaled real, full-precision real, integer, and digital point types are supported on
PI 2 Servers. For more information on the individual point types, refer to the
Data Archive (DA) section of PI System Manual I.
The PI-ABB Advant Interface supports the PI 2 point types R (Real), I (Integer) and D
(Digital). For points of type R high precision storing is supported, i.e., 32 bit floating
point numbers and integers in the range up to 16,000,000.
PI 3 Server Nodes
Float16, float32, int16, int32, digital, string, and blob point types are supported on
PI 3 Servers. For more information on the individual point types, see
PI Data Archive for NT and UNIX.
For PI 3 Home Nodes, point types Digital, Int16, Int32, Float16, Float32, Float64 and
String are supported.
SourceTag
This field is used for output tags, i.e. it is only evaluated if Location 5 is set to 1. Specify
the PI tag name where the output tag gets data from. The output tag will automatically be
updated if the sourcetag changes. The output tag will be used to transfer data from PI to
the DCS.
ABB IMS/AEH Advant Station Interface to the PI System
33
33
It is possible to leave this field blank. In this case, the output tag itself will be subscribed
for events in PI.
Location1
Location 1 contains the interface number. This number must match the one specified via
the /in= startup parameter. Otherwise, the tag will be rejected silently, i.e. without
creating a message in the log files. Multiple copies of the PI-ABB Advant Interface can
run on the same Advant Station.
Location2
This attribute is not used for the PI-ABB Advant Interface.
Location3
If the attribute you want to read is of type BITSET (for example STATUS of a DI object)
or SHORT_BITSET (for example STATUS of a TEXT object), Location 3 can be used
to specify the number of the specific bit you want to store in PI. In this case, Location 3
must contain a number between 1 and 32 (for attributes of type BITSET) or between 1
and 16 (for attributes of type SHORT_BITSET), respectively.
The entire attribute value (a 32 or 16 bit integer) can be read by setting Location 3 to 0.
A common example is the VALUE bit (also called VALUE Terminal) of the STATUS
attribute of a DI or DO. The actual “value” of a DI or DO is just one bit of STATUS,
namely bit 9. To read this “value”, the Extended Descriptor must contain
ATTRIB=STATUS and Location 3 must be set to 9.
Location4
The scan class is stored here. The scan frequency of the tag is controlled by this location
parameter. For example, a ‘3’ in Location 4 corresponds to the 3rd /f=… startup switch.
There is two reserved scan classes:
Specify 1 for event-based reads (ABB Master only). The /tm parameter for event-based
reads must be E.
Specify 2 for cyclic reads. The /tm parameter for cyclic-based reads must be C.
Specify 3 or greater for demand-based (scan class) reads and all outputs. The /tm
parameter for these points must be D.
Output tags must reside in an on-demand scan class which means that location 4 contains
a value greater than 2. For those tags, the scan class is just used to prevent the tag from
being entered into an event or cyclic interface instance. The corresponding /f=…
specification is not evaluated for output tags as outputs are always performed when the
source tag changes.
Note: The number of points per scan class must NOT exceed 1500 or this can result in
failure of the PI-ABB Advant Interface. If more than 1500 tags should be serviced at the
same time, please use an additional scan class with the same scan-frequency for the next
1500 tags. See also
34
34
Appendix D:
Achieving Better Interface Performance.
Location5
This is the direction of data transfer. Choose 0 for input tags, i.e. if data are input from
the DCS to PI. Choose 1 for output tags, i.e. if data are output from PI to the DCS. If set
to 1, make sure the output tag belongs to an ‘On Demand’ interface.
InstrumentTag
Object name in ABB Master or ABB MOD 300.
For a PI 2 Server, the InstrumentTag attribute is limited to 32 characters. For a
PI 3 Server, the InstrumentTag is limited to 32 characters if UniInt does not use the PISDK and to 1024 characters if UniInt uses the PI-SDK.
ExDesc
This is the Extended Descriptor attribute. For a PI 2 Server, ExDesc is limited to 80
characters. For a PI 3 Server, ExDesc is limited to 80 characters if UniInt does not use
the PI-SDK and to 1024 characters if UniInt uses the PI-SDK.
The Extended Descriptor is used to store the attribute to be read or modified.
Syntax:
ATTRIB=<attribute name>
Examples:
ATTRIB=VALUE
ATTRIB=MEASURE
ATTRIB=DEV_STAT
The attribute name specified must exactly match one of the attribute names available for
the required object type, including uppercase/lowercase spelling. The PI-ABB Advant
Interface automatically retrieves the object type of a given object name. See also
description of the InstrumentTag field.
To configure a tag, it is necessary to know which attributes are available in the DCS for a
specific object type because the PI-ABB Advant Interface will compare the attribute
specified in the Extended Descriptor against the list of valid attributes.
Tags with an invalid attribute – object name combination (i.e. an invalid ExDesc –
InstrumentTag combination) will be rejected by the PI-ABB Advant Interface.
For lists of supported attributes (and their exact names), refer to the AdvaInform Object
Types Reference Manual. The interface supports only attributes that represent a single
string or a single numerical value (maximum size 32 bit). It is possible to retrieve a
summary of attributes, events and operations for a specific object type via getObj.
See “Appendix F :
Attribute Lists via getObj” for more information.
Performance Points
For UniInt-based interfaces, the extended descriptor is checked for the string
“PERFORMANCE_POINT”. If this character string is found, UniInt treats this point as a
performance point. See the section called “Performance Point Configuration“.
ABB IMS/AEH Advant Station Interface to the PI System
35
35
PI Point Configuration
Scan
By default, the Scan attribute has a value of 1, which means that scanning is turned on
for the point. Setting the scan attribute to 0 turns scanning off. If the scan attribute is 0
when the interface starts, SCAN OFF will be written to the PI point. If the scan attribute
is changed from 1 to 0 while the interface is running, SCAN OFF will also be written to
the PI point after the point edit is detected by the interface.
There is one other situation, which is independent of the Scan attribute, where UniInt
will write SCAN OFF to a PI point. If a point that is currently loaded by the interface is
edited so that the point is no longer valid for the interface, the point will be removed
from the interface, and SCAN OFF will be written to the point. For example, if the
PointSource of a PI point that is currently loaded by the interface is changed, the point
will be removed from the interface and SCAN OFF will be written to the point.
Shutdown
PI 2 Server Nodes
The Shutdown attribute is not used if the server node is a PI 2 system. For information
on configuring shutdown events for PI 2, see Data Archive (DA) section 4.2.3 of
PI System Manual I.
PI 3 Server Nodes
The shutdown attribute is used only if the server node is a PI 3 system.
The Shutdown attribute is 1 (true) by default. The default behavior of the PI Shutdown
subsystem is to write the SHUTDOWN digital state to all PI points when PI is started. The
timestamp that is used for the SHUTDOWN events is retrieved from a file that is updated by
the Snapshot Subsystem. The timestamp is usually updated every 15 minutes, which
means that the timestamp for the SHUTDOWN events will be accurate to within 15 minutes
in the event of a power failure. For additional information on shutdown events, refer to
PI Data Archive for NT and UNIX.
Note: The SHUTDOWN events that are written by the PI Shutdown subsystem are
independent of the SHUTDOWN events that are written by the PI-ABB Advant Interface
when the /stopstat=Shutdown command-line argument is specified.
One can disable SHUTDOWN events from being written to PI when PI is restarted by
setting the Shutdown attribute to 0 for each point. Alternatively, one can change the
default behavior of the PI Shutdown Subsystem to write SHUTDOWN events only for
PI points that have their Shutdown attribute set to 0. To change the default behavior, edit
the \PI\dat\Shutdown.dat file, as discussed in PI Data Archive for NT and UNIX.
Bufserv
It is undesirable to write shutdown events when Bufserv is being used. Bufserv is a
utility program that provides the capability to store and forward events to a PI Server,
allowing continuous data collection when the Server is down for maintenance, upgrades,
backups, and unexpected failures. That is, when PI is shut down, Bufserv will continue
to collect data for the interface, making it undesirable to write SHUTDOWN events to
the PI points for this interface.
36
36
Hints for Point Configuration
HP-UX
ABB provide example programs in the following directory:
/opt/advant/UserAPI/examples
You can check whether the object name you entered into the instrument tag field and the
requested attribute (in the Extended Descriptor via ATTRIB=…) are spelled correctly,
and see the current value of attributes, using the utility getObj.
This tool is very useful to check the availability of an object. It is independent of PI and a
good means for troubleshooting. For instance, if you see an error message in the
interface output file regarding difficulties with ABB object access, and the getObj
program yields the same message, then there is likely a problem in the DCS or the IMS.
Example:
$ /opt/advant/UserAPI/examples/getObj 142IT082 VALUE
getObj: bciGetAttributes(142IT082) API ERROR –100
The getObj program takes two arguments: object name and attribute name. If both are
correct, getObj will return the current value of the attribute. Example:
$ getObj OAKY1000E.UCL RESULT
OAKY1000E.UCL RESULT = 17.00
You can obtain a list of available attributes, along with a summary of events and
operations, by omitting the second argument. In order to get this summary information, it
is also possible to use an object type name instead of an object name, e.g.
$ getObj AI
See Appendix F :
Attribute Lists via getObj for examples of summaries.
There are other example-programs you can use to test on-demand, cyclic or event-based
reads. Depending on the object type, use getAI, getAO, getDI or getDO for Basic
Objects. If these programs do not exist, create them with ABB’s apiMake script. Note
that in this case, the C Compiler must be available on your IMS Advant Station.
Example:
$ apiMake getObj
c89 +e –D_POSIX_SOURCE -I. –I.. –
I/opt/advant/UserAPI/include -I/opt/advant/c++_complib/include
I/opt/advant/TypeDir/include -I/opt/advant/OMF/include I/opt/advant/UXBase/include -Ic
Linking getObj …
Stripping getObj …
done
-
The example below shows how to retrieve an event-based value from an ABB Master
DCS. If the object name is correct, this command will subscribe for events and return
value and status on event.
ABB IMS/AEH Advant Station Interface to the PI System
37
37
PI Point Configuration
$ getAI PU-2891A cycle 0
Other choices of value for cycle behave differently, and are documented by entering the
getAI command without arguments. In general, launching these examples without
arguments will display usage information. Example:
$ /opt/advant/UserAPI/examples/getObj
SYNTAX: getObj ObjectName [ALL|FULL]
Or: getObj ObjectName [ALL|FULL]
Or: getObj ObjectName AttributeName1
AttributeName2…AttributeName9]
WHERE: ALL gives OPERATION and EVENT expansion
and STRUCT, UNION & COMPOSITION attribute expansion
AND: FULL gives additional ARRAY & BITSET attribute expansion
If you are unsure where to find the getObj or other example programs, use the UNIX find
command, e.g.:
$ find / -name getObj –print
This command will search for a file named getObj, beginning from the root “/”, and print
out the complete path if the file was found.
If the program getObj is unable to resolve any objects that are known to reside in the
DCS then it is possible that the IMS software has not started up correctly.
Restarting the IMS software MUST only be done after an authorized person has
given the OK to do so since stopping the IMS software may impact the DCS.
The commands to restart the IMS 2.0 software are as follows:
$
$
#
#
#
cd /home/ocsmgr
su
(you must enter the root password here)
./IMSstop –v
./IMSstart –v
exit
NT
The above considerations regarding ABB example programs, in particular getObj apply
in a general manner also to NT. On Advant Enterprise Historian (AEH) 3.0 getobj.exe
resides in
c:\Program Files\ABB\Advant\SystemModules\AdvaInform
UserAPI\1.3\Examples
Increasing Shared Memory Size on HP-UX
As stated earlier in this manual, depending on the available resources, there is a limit on
the number of points that can be retrieved from a single IMS Advant Station. If you reach
the limit, you might get an error message
Out of shared memory!!!
38
38
In this case, contact your local ABB specialist and ask him to check the file
/etc/opt/advant/OMF/config.cfg
Look for a section [SharedMemory]. If possible yet, doubling the current value for the
keyword Size may help to increase the number of objects that can be serviced. E.g., if
the Size was originally set to 4096, the file may look like this after doubling the value:
[SharedMemory]
# Size is in Kbytes
Size
= 8192
Please have this change only done by an authorized ABB engineer. Afterwards, the
system must be watched carefully to make sure the change has no negative impact on
other components.
Increasing Shared Memory Size on Windows NT
On NT, the ‘size’ of the available shared memory is stored in the registry. Edit the
following entry to modify it. Make sure to have this change done by authorized ABB
personnel. On Advant Enterprise Historian (AEH) 3.0 the key is
HKEY_LOCAL_MACHINE\SOFTWARE\ABB\Advant\SystemModules\OMF\1.4\Priva
te\config\SharedMemory\size
On Advant Enterprise Historian (AEH) 3.1 the key is
HKEY_LOCAL_MACHINE\SOFTWARE\ABB\SystemServices\OMF\config\SharedMe
mory\Size
Note that “1.4” in the key above may have been increased on your system, e.g. to 1.5.
Increasing the size of the shared memory may solve problems with interfaces ‘hanging’
at ABB functions such as bciDoRequest, if the number of tags/objects serviced by one
bciDoRequest was increased and the PI-ABB Advant Interface used to work with fewer
tags.
You may have to set the interface to debug level 4 in order to exactly determine where
the interface is hanging.
For more information, consult the Advant MES Advant Enterprise Historian for Windows
NT Administrator’s Guide.
How to Retrieve a List of all Available Objects
ABB Master
You can retrieve an object list via the Object Reference Maintenance tool. The results
(stored in the file /tmp/Reference.tmp) can be used to fill the Tag name and the
Instrument Tag name. The following step-by-step procedure explains how to get the
information. (This example was generated on an IMS connected to ABB Master.)
On the bottom of the IMS screen, there is an ABB icon. Click on it.
Choose “Station” -> “Object Reference Maintenance”.
Choose “List Object References” -> “List”
The following mask details should apply:
Reference Status
“Resolved”
Object Type
“All”
(or a specific type you want)
Node Type
“All”
Network
“Own”
ABB IMS/AEH Advant Station Interface to the PI System
39
39
PI Point Configuration
Node
“All”
Click OK and the list will appear.
To save the list, click on “Save List”.
A message will appear:
”The current object reference list will be saved as ‘/tmp/Reference.tmp’. If the file
already exists it will be overwritten.”
Check whether you need the old file, per haps rename it, and then click OK.
ABB MOD 300
The following hints, based on notes that have been taken during an installation, can be
used to pull information for analog and digital tags, digital state sets and digital states out
of a MOD 300 system.
Log on to the OS/ES (not the IMS).
Run SQLplus using the project configuration account and password.
Set linesize 1000
set pagesize 50000
===
spool pimod300_ana.txt
SELECT
OBJ_ID,LOOP_DESC,LOENGUNLIM,HIENGUNLIM,MEAS_UNITS,MEASFCMNAM FROM
LOOP_DEF ORDER BY OBJ_ID;
spool off
spool pimod300_digdesc.txt
SELECT * FROM DEV_DESC;
spool off
===
spool pimod300_dig.txt
SELECT OBJ_ID, DESCRIPSET, DEVICETYPE, LOOP_DESC FROM DEV_LOOP
spool off
The DEV_DESC table has a field called OBJ_ID that corresponds to the DESCRIPSET
field in the DEV_LOOP table (use for digitalset name in PI). The state descriptors are in
fields named STATEVAL01, STATEVAL02 … STATEVAL16.
Output Points
Output points control the flow of data from the PI Data Archive to any destination that is
external to the PI Data Archive, such as a PLC or a third-party database. For example, to
write a value to a register in a PLC, one would use an output point. Each interface has its
own rules for determining whether a given point is an input point or an output point.
There is no de facto PI point attribute that distinguishes a point as an input point or an
output point.
Outputs are triggered for UniInt-based interfaces. That is, outputs are typically not
scheduled to occur on a periodic basis. There are two mechanisms for triggering an
output.
40
40
Trigger Method 1 (Recommended)
For trigger method 1, a separate trigger point must be configured. The output point must
have the same point source as the interface. The trigger point can be associated with any
point source, including the point source of the interface. Also, the point type of the
trigger point does not need to be the same as the point type of the output point.
The output point is associated with the trigger point by setting the SourceTag attribute of
the output point equal to the tag name of the trigger point. An output is triggered when a
new value is sent to the Snapshot of the trigger point. The new value does not need to be
different than the previous value that was sent to the Snapshot to trigger an output, but
the timestamp of the new value must be more recent than the previous value. If no error
is indicated, then the value that was sent to the trigger point is also written to the output
point. If the output is unsuccessful, then an appropriate digital state that is indicative of
the failure is usually written to the output point. If an error is not indicated, the output
still may not have succeeded because the interface may not be able to tell with certainty
that an output has failed.
This field is used for output tags, i.e. it is only evaluated if Location 5 is set to 1. Specify
the PI tag name the output tag gets data from. The output tag will automatically be
updated if the SourceTag receives a new snapshot. The output tag will be used to transfer
data from PI to the DCS.
It is possible to leave this field blank. In this case, the output tag itself will be subscribed
for events in PI.
Trigger Method 2
For trigger method 2, a separate trigger point is not configured. To trigger an output,
write a new value to the Snapshot of the output point itself. The new value does not need
to be different than the previous value to trigger an output, but the timestamp of the new
value must be more recent than the previous value.
ABB IMS/AEH Advant Station Interface to the PI System
41
41
Performance Point Configuration
One can configure performance points to monitor the amount of time in seconds that an
interface takes to complete a scan for a particular scan class. The closer the scan
completion time is to 0 seconds, the better the performance. The scan completion time is
recorded to millisecond resolution. Note that for the reserved scan classes 1 and 2,
Performance Points are rather meaningless as the interface will stay inside the ‘scan’,
more precisely at bciGetData, for a long time, depending on the /du argument.
Configuring Performance Points with PI-ICU (NT-Intel)
The PI-Interface Configuration & Management Utility (PI-ICU) provides a user interface
for creating and managing Performance Points.
Create
To create a Performance Point, right mouse click the line belonging to the tag to be
created, and select Create.
Delete
To delete a Performance Point, right mouse click the line belonging to the tag to be
deleted, and select Delete.
Correct
If the “Status” of a point is marked “Incorrect”, the point configuration can be
automatically corrected by ICU by right mouse clicking on the line belonging to the tag
to be corrected, and selecting Correct. The Performance Points are created with the
following PI attribute values. If ICU detects that a Performance Point is not defined with
the following, it will be marked Incorrect:
Attribute
Details
Tag
Tag name that appears in the list box
Point Source
Point Source for tags for this interface, as specified on the first tab
Compressing
Off
Excmax
0
Descriptor
Interface name + “ Scan Class # Performance Point”
ABB IMS/AEH Advant Station Interface to the PI System
43
43
Performance Point Configuration
Rename
To rename a Performance Point, right mouse click the line belonging to the tag to be
renamed, and select “Rename”.
Status
The Status column in the Performance Points table indicates whether the Performance
Point exists for the scan class in column 2.

Created – Indicates that the Performance Point does exist

Not Created – Indicates that the Performance Point does not exist

Deleted – Indicates that a Performance Point existed, but was just deleted by the
user
Scan Class
The Scan Class column indicates which scan class the Performance Point in the
Tagname column belongs to. There will be one scan class in the Scan Class column for
each scan class listed in the Scan Classes combo box on the Uniint Parameters tab.
Tagname
The Tagname column holds the Performance Point tag name.
Snapshot
The Snapshot column holds the snapshot value of each Performance Point that exists in
PI. The Snapshot column is updated when the Performance Points/Counters tab is
clicked, and when the interface is first loaded.
Configuring Performance Points Manually
Performance point configuration is the same on all operating system platforms.
Performance points are configured as follows.
1. Set the extended descriptor to:
PERFORMANCE_POINT
or to:
PERFORMANCE_POINT=interface_id
where interface_id corresponds to the identifier that is specified with the
/id flag on the startup command line of the interface. The character string
PERFORMANCE_POINT is case insenstive. The interface_id does not need to be
specified if there is only one copy of an interface that is associated with a particular
point source.
2. Set Location4 to correspond to the scan class whose performance is to be monitored.
For example, to monitor scan class 2, set Location4 to 2. See the /f flag for a
description of scan classes.
3. Set the PointSource attribute to correspond to the /ps flag on the startup command
line of the interface.
4. Set the PointType attribute to float32.
44
44
I/O Rate Tag Configuration
An I/O Rate point can be configured to receive 10-minute averages of the total number of
exceptions per minute that are sent to PI by the interface. An exception is a value that has
passed the exception specifications for a given PI point. Since 10-minute averages are
taken, the first average is not written to PI until 10 minutes after the interface has started.
One I/O Rate tag can be configured for each copy of the interface that is in use.
Monitoring I/O Rates on the Interface Node
For NT and UNIX nodes, the 10-minute rate averages (in events/minute) can be
monitored with a client application such as ProcessBook
Configuring I/O Rate Tags with PI-ICU (NT-Intel)
The PI-Interface Configuration & Management Utility (PI-ICU) provides a user interface
for creating and managing IORates Tags.
PI-ICU currently allows for one I/O Rate tag to be configured for each copy of the
interface that is in use. Some interfaces allow for multiple I/O Rates tags.
Enable IORates for this Interface
The Enable IORates for this interface check box enables or disables IORates for the
current interface. To disable IORates for the selected interface, uncheck this box. To
enable IORates for the selected interface, check this box.
Tag Status
The Tag Status column indicates whether the IORates tag exists in PI. The possible states
are:

Created – This status indicates that the tag exist in PI

Not Created – This status indicates that the tag does not yet exist in PI

Deleted – This status indicates that the tag has just been deleted

Unknown – This status indicates that the ICU is not able to access the PI Server
In File
The In File column indicates whether the IORates tag listed in the tag name and the
event counter is in the IORates.dat file. The possible states are:

Yes – This status indicates that the tag name and event counter are in the
IORates.dat file
ABB IMS/AEH Advant Station Interface to the PI System
45
45
I/O Rate Tag Configuration

No – This status indicates that the tag name and event counter are not in the
IORates.dat file
Event Counter
The Event Counter correlates a tag specified in the iorates.dat file with this copy of the
interface. The command line equivalent is /ec=x, where x is the same number that is
assigned to a tag name in the iorates.dat file.
Tagname
The tag name listed under the Tagname column is the name of the IORates tag.
Snapshot
The Snapshot column holds the snapshot value of the IORates tag, if the IORates tag
exists in PI. The Snapshot column is updated when the IORates/Status Tags tab is
clicked, and when the interface is first loaded.
Right Mouse Button Menu Options
Create
Create the suggested IORates tag with the tag name indicated in the Tagname column.
Delete
Delete the IORates tag listed in the Tagname column.
Rename
Allows the user to specify a new name for the IORates tag listed in the Tagname column.
Add to File
Adds the tag to the IORates.dat file with the event counter listed in the Event Counter
Column.
Search
Allows the user to search the PI Server for a previously defined IORates tag.
Configuring I/O Rate Tags Manually
There are two configuration steps.
Configuring the PI Point on the PI Server
PI 2 Server Nodes
A listing of the I/O Rate Tags that are currently being monitored can be obtained with
the command:
@PISysDat:IOMonitor.com
Create an I/O Rate Tag using one of the existing I/O Rate Tags as a template.
46
46
PI 3 Server Nodes
Create an I/O Rate Tag with the following point attribute values.
Attribute
Value
PointSource
L
PointType
float32
Compressing
0
ExcDev
0
Configuration on the Interface Node
For the following examples, assume that the name of the PI tag is SY:ABB001, and that
the name of the I/O Rate on the home node is SY:ABB001.
NT Nodes
1. Edit/Create a file called iorates.dat in the PIHOME\dat directory. The
PIHOME directory is defined either by the PIPCSHARE entry or the PIHOME entry in
the pipc.ini file, which is located in the \WinNT directory. If both are specified,
the PIPCSHARE entry takes precedence.
Since the PIHOME directory is typically C:\PIPC, the full name of the
iorates.dat file will typically be C:\PIPC\dat\iorates.dat.
Add a line in the iorates.dat file of the form:
SY:ABB001, x
where SY:ABB001 is the name of the I/O Rate Tag and x corresponds to the first
instance of the /ec=x flag in the startup command file. X can be any number
between 2 and 34 or between 51 and 200, inclusive. To specify additional rate
counters for additional copies of the interface, create additional I/O Rate tags and
additional entries in the iorates.dat file. The event counter, /ec=x, should be
unique for each copy of the interface.
2. Set the /ec=x flag on the startup command file of the interface to match the event
counter in the iorates.dat file.
The interface must be stopped and restarted in order for the I/O Rate tag to take effect.
I/O Rates will not be written to the tag until 10 minutes after the interface is started.
UNIX Nodes
1. Edit/Create a file called iorates.dat in the $PIHOME/dat directory. PIHOME is an
environment variable that is set equal to the PI home directory name as discussed in
the PI-API Installation Instructions manual.
Add a line in the iorates.dat file of the form:
SY:ABB001, x
where SY:ABB001 is the name of the I/O Rate Tag and x corresponds to the first
instance of the /ec=x flag in the startup command file. X can be any number
between 1 and 34 or between 51 and 200, inclusive. However, it is best to use an
ABB IMS/AEH Advant Station Interface to the PI System
47
47
I/O Rate Tag Configuration
event counter, x, that is not equal to 1 because 1 is the default event counter for
UniInt-based interfaces.
To specify additional rate counters for additional copies of the interface, create
additional I/O Rate tags and additional entries in the iorates.dat file. The event
counter, /ec=x, should be unique for each copy of the interface.
2. Set the /ec=x flag on the startup command file of the interface to match the event
counter in the iorates.dat file.
3. The I/O Rate shared memory server and the I/O Rate monitor program must be
stopped and started for the changes to take effect. The easiest way to do this is to run
the pistop and pistart command scripts with the following commands:
sh $PIHOME/bin/pistop
nohup sh $PIHOME/bin/pistart
One can determine that the shared memory server and the I/O Rate monitor are
running with the commands:
ps –ef | grep ioshmsrv
ps –ef | grep iorates
48
48
Startup Command File
Command-line arguments begin with a /, for example, /ps=A.
Notes for NT
For NT, command file names have a .bat extension. The NT continuation character ( ^)
allows one to use multiple lines for the startup command. The maximum length of each
line is 1024 characters (1 kilobyte). The number of flags is unlimited, and the maximum
length of each flag is 1024 characters.
The PI-Interface Configuration & Management Utility (PI-ICU) provides a tool for
configuring the Interface startup command file.
A screenshot of the interface ICU control is shown below.
ABB IMS/AEH Advant Station Interface to the PI System
49
49
Startup Command File
Notes for UNIX
UNIX does not enforce file-naming conventions. The backslash (\) continuation
character allows one to use multiple lines for the startup command. There is no limit to
the command-line length and there is no limit to the number or length of the command
line parameters.
Note: The UniInt End User Document includes details about other command line
parameters, which may be useful.
Command-Line Parameters
Parameter
/nn=host:port
Required
/deb=x
Optional
Default: 0
50
PI Home Node name, /nn is identical to /host, see description there,
parameter is kept for backward compatibility
Debug level.
This is the optional debug level (0-7). It defaults to a value of 0, which
means that no additional output will be sent to the interface output file.
Greater values result in more output information. On HP-UX, you can
use the interface control program abbimscp to modify the debug level
while the interface is running. In problem situations, debug level 4
(/deb=4) is recommended. However, this can result in a huge interface
output file, depending on the number of tags. Make sure not to run the
interface in debug level 4 for more than some minutes. Watch the
available disk space when operating in debug mode to prevent the disk
from filling up. In general, you should await instructions from OSI
regarding how long to run the interface in a high debug level if
problems occurred, as different phases may need to be monitored
(startup, data initialization, data collection, shutdown or even all of
those). For example, in order to examine interface performance and to
check DCS response times, a temporary change to Debug level 4 via
the Control Program may be sufficient. After a while, the Debug level
can be reset to 0. If startup problems occur, you will probably have to
edit the startup script and restart the interface. You will have to revert
your change after diagnosis is finished, to prevent the interface from
ALWAYS being started in high Debug mode. Eventually, to debug
shutdown problems, increasing the Debug level on the fly via the
Control Program + a subsequent interface stop may be required.
/to=x
Time-out.
Optional
Default: 300
Only applicable for cyclic interfaces.
Maximum period accepted for a cyclic tag to be without new data.
Afterwards the tag gets an I/O Timeout status until e.g. connection is
re-established and the tag resumes getting data.
/in=x
Interface Number.
Example: /in=1
Location1 of a tag must match the interface number in order to be
serviced.
It is possible to run multiple PI-ABB Advant Interfaces on the same
node. Due to ABB restrictions, the number of cyclic and event tags per
application is limited. Therefore several interface processes may be
necessary to service all tags. Each interface instance must have its own
number. Via this number, you can tell which interface caused a specific
message in pimesslogfile or pipc.log.
Required
50
Description
Parameter
/tm=[C|D|E]
Optional
Default: D
Description
Transfer Method.
One interface process only performs one method.
/tm=C
/tm=D
/tm=E
Interface reads data cyclically
(cyclic subscription at one pre-defined rate per interface see /ct argument)
Interface reads and writes data on demand
(multiple scan classes with configurable frequencies possible)
Interface reads data on event
(event subscription, recommended for ABB Master only)
See also the descriptions of Location4 and the /f=… parameter earlier
in this manual.
/du=x
Optional
Default: 1800
Duration.
Duration (in seconds) for cyclic and on-event subscriptions.
Data collection using the cyclic or on-event method is initialized by a
so-called subscription of objects. The actual data transfer is done by the
ABB function bciGetData. Periodically, after an amount of time
according to /du=… data collection is suspended. The interface returns
from bciGetData, checks the PI Point Database and executes
bciGetData again.
Behavior of the interface according to the specified value:
Small value, e.g. /du=60
Short periods of continuous cyclic scanning or event watching, but
frequent checking for changes in the PI point database; adding or
deleting tags is immediately reflected by the interface;
Big value, e.g. /du=3600
Long periods of continuous cyclic data collection or watching for
events; changes in the PI point database can be recognized only after
return from the ABB function, i.e. after e.g. 1 hour;
Do not exceed the ABB limit for the duration (currently: 4096
seconds).
Important note for the ‘On Event’ interface: Between /du=…
periods, i.e. when the interface checks for point updates, it is unable to
receive events from the DCS. Although in practice, these intermediate
periods usually do not last for more than a second, an event may
happen exactly at this time and could get lost. To work around this
problem, it is possible to specify a negative value for /du, for example
/du=-1
A negative value will cause the event driven interface to stay in
bciGetData forever. No event will ever be missed. The drawback is that
the interface will not do anything else. You will not be able to add, edit
or delete points for this interface while it is running. Instead, you must
restart the event interface after a point edit. This is a significant
difference to the standard OSI interface features but is caused by the
fact that DCS events are not being buffered. If the final tag
configuration is accomplished, you should start the event interface with
/du=-1 and waive the capability of on-line point edits in favor of 100%
data reception.
ABB IMS/AEH Advant Station Interface to the PI System
51
51
Startup Command File
Parameter
Description
Note for HP-UX: For the ‘duration’ seconds (if negative: forever), the
interface will not reach any other place in the code except the callback
functions that send event or cyclic data to PI. On HP-UX, these
functions will check a mailbox for messages from the Control Program
on a regular basis. Hence, a command issued by the Control Program
will only be received on either the next cycle or on the next event,
respectively.
/ct=x
Optional
Default: 9
/try=x
Optional
Default: 300
/ndw=x
Optional
Default: 1
Cycle Time.
Only applicable with /tm=C. Cycle time to be used by the AdvaInform
UserAPI function for cyclic read. There is only one cycle time for one
cyclic interface process. Note that there are restrictions on the cyclic
subscription intervals (IMS 1.1 and 1.2 support 1s, 3s and 9s intervals
only). Refer to the AdvaInform UserAPI documentation and Release
Description for further information.
Number of seconds to wait before trying to re-establish a lost
connection to the DCS.
It may happen, that a node in the DCS becomes unreachable. In the
interface log file, this will be reported by error messages like “…
object’s node not reachable”. In this case, the PI-ABB Advant Interface
will try to re-establish the connection after a while. The default setting
is /try=300 which means that an attempt to reconnect is made after 5
minutes. If the attempt fails, the next one is launched after another 5
minutes. It is possible to configure a different retry rate via /try=… .
You can choose an integer value between 0 and 3600. Note that the /try
switch has no effect if the ABB patch for fixing the “Node Down”
problem has been applied (discussed in this manual) and the
workaround (which actually uses the value set via /try) has therefore
been disabled via /ndw=0 (see below).
Enable or disable the Node Down Workaround. For a detailed
description of the Node Down situation, please refer to the section
“Connection to the DCS”. There is a fix available from ABB.
For AdvaInform 2.0 request patch:
ABB-AI-USERAPI_PATCH_1
For Enterprise Historian 2.0 for HP-UX request patch:
ABB-AI-USERAPI_PATCH_1
For Enterprise Historian 3.0 for Windows NT request patch:
ABB-PAPI_130001
If the appropriate patch was applied to your system, the PI-ABB
Advant Interface no longer needs to work around the problem. You
should disable the workaround by specifying /ndw=0. You can forget
about /try then.
/timsrc=x
Source of time stamps.
Optional
Default: A
/timsrc=A
/timsrc=P
Local time of the Advant Station
PI Server time
See chapter ‘Timestamps’ for more details.
On NT, if /timsrc=P is specified, specify /pisdk=1, too.
/pisdk=x
Optional
Default: 0
52
52
The /pisdk flag can be used to enable or disable the PI-SDK. Use
/pisdk=1 to enable the PI-SDK. Use /pisdk=0 to disable the PI-SDK.
On NT, if /timsrc=P is specified, specify /pisdk=1, too.
Parameter
/nooutputs
Optional
Default: outputs
enabled
Description
If specified, any writes to the DCS are disabled. Upon startup of the PIABB Advant Interface, the following message will get written to the
message log:
ABBIMSPI 1> /NoOutputs flag detected. Outputs to PI disabled
Please interpret this message in a way that no output tags will be
serviced by this interface, thus output from PI to the DCS is not
possible.
/startup_delay=x
Optional
Default: 30
/ps=x
Required
Number of seconds the PI-ABB Advant Interface delays right after
start. If this parameter is specified, the interface will delay the specified
number of seconds immediately after printing out the message that
indicates that the interface is starting (i.e. “Starting interface…”). If
/startup_delay is specified without specifying the number of seconds to
delay, then the default delay time is 30 seconds. This parameter is of
special importance for the NT version of this interface. Unlike on HPUX, there is no Process Supervision the interface can be incorporated
in. Even though the interface could be set up to be dependent on one of
the AEH Services, it may start up too soon, actually before all the ABB
processes are completely up and running.
For example, to wait a grace period of 5 minutes after a reboot of the
NT AEH before the interface starts, specify /startup_delay=300.
The /ps flag specifies the point source for the interface. A is not case
sensitive and can be any single character. For example, /ps=A and
/ps=a are equivalent.
The point source that is assigned with the /ps flag corresponds to the
PointSource attribute of individual PI Points. The interface will attempt
to load only those PI points with the appropriate point source.
However, not all tags found may finally make it to the interface, due to
additional checks (see /in=…, /tm=…) See also chapter “Installation”
for more information.
/id=x
The /id flag is used to specify the interface identifier.
Optional
Default: empty
The interface identifier is a string that is no longer than 9 characters in
length. UniInt concatenates this string to the header that is used to
identify error messages as belonging to a particular interface. UniInt
always uses the /id flag in the fashion described above. This string,
together with the interface name, appears in the PI-API log file
$PIHOME/dat/pimesslogfile (pipc.log on NT) as a header for
interface messages. It is recommended that you use the interface
number as the id. For example, use /in=1 /id=1 as startup parameters.
/f=SS
or
/f=SS,SS
or
/f=HH:MM:SS
or
/f=HH:MM:SS,hh:m
m:ss
The /f flag defines the time period between scans in terms of hours
(HH), minutes (MM), and seconds (SS). The scans can be scheduled to
occur at discrete moments in time with an optional time offset specified
in terms of hours (hh), minutes (mm), and seconds (ss). If HH and MM
are omitted, then the time period that is specified is assumed to be in
seconds.
Required for reading
scan-based inputs
Each instance of the /f flag on the command line defines a scan class
for the interface. There is no limit to the number of scan classes that
can be defined. The first occurrence of the /f flag on the command
line defines the first scan class of the interface, the second occurrence
defines the second scan class, and so on. PI Points are associated with a
ABB IMS/AEH Advant Station Interface to the PI System
53
53
Startup Command File
Parameter
Description
particular scan class via the Location4 PI Point attribute. For example,
all PI Points that have Location4 set to 1 will receive input values at the
frequency defined by the first scan class. Similarly, all points that have
Location4 set to 2 will receive input values at the frequency specified
by the second scan class, and so on.
Two scan classes are defined in the following example:
/f=00:01:00,00:00:05 /f=00:00:07
or, equivalently:
/f=60,5 /f=7
The first scan class has a scanning frequency of 1 minute with an offset
of 5 seconds, and the second scan class has a scanning frequency of
7 seconds with no offset.
When no offset is specified, the scan class will be scheduled for
immediate execution. That is, the interface will not wait for a welldefined moment in time before scanning when no offset is specified.
When an offset is specified, the scans occur at well-defined moments in
time according to the formula:
scan times = (reference time) + n(frequency) + offset
where n is an integer and the “reference time” is midnight on the day
that the interface was started. In the above example, “frequency” is 60
seconds and “offset” is 5 seconds for the first scan class. This means
that if the interface was started at 05:06:06, the first scan would be at
05:07:05, the second scan would be at 05:08:05, and so on.
There is no guarantee that a scan will occur at the interval defined by
the scan class. If the interface is under a large load, then some scans
may occur late or be skipped entirely.
Subsecond Scan Classes (Including VMS as of version 3.4.3 )
One can also specify sub-second scan classes on the command line
such as
/f=0.5 /f=0.1
where the scanning frequency associated with the first scan class is 0.5
seconds and the scanning frequency associated with the second scan
class is 0.1 seconds.
Similarly, sub-second scan classes with sub-second offsets can be
defined, such as
/f=0.5,0.2 /f=1,0
Wall Clock Scheduling (NT and UNIX only)
Wall-clock scheduling means that the scans will occur at the same time every
day, even across daylight savings time transitions. The interface implicitly
assumes that certain scan classes should be scheduled according to a wall
clock. For example, the interface implicitly assumes that
/f=24:00:00,08:00:00 means that the scan should occur once a
day at 8 PM. The period of the scan is actually 25 hours during daylight saving
time to standard time transitions and is 23 hours during standard time to
daylight savings time transitions.
Wall-clock scheduling is assumed only when an offset is explicitly defined for a
scan class. For example, /f=24:00:00 means that the scan should occur
once every 24 hours even across daylight savings time transitions. Even when
54
54
Parameter
Description
an offset is explictly defined, wall-clock scheduling is implicitly assumed only if
the scan would ordinarily occur at the same time every day. For example, the
scans associated with /f=23:00:00,08:00:00 would occur at 8 PM
the first day, 7 PM the next day, and so on. The interface will perform the scan
once every 23 hours even across daylight savings time transitions since there
is no implicit reason to adhere to a wall clock for this particular scan class.
Periods of 2, 3, 4, 6, 8, 12, or 24 hours or periods that are a multiple of 24
hours are implicitly scanned according to wall-clock scheduling as long as a
time offset is explicitly defined for the scan class.
A scan class can be explicitly defined to adhere to wall-clock scheduling by
appending ,L to the scan class definition. For example,
/f=23:00:00,08:00:00,L will invoke wall-clock scheduling for the
scan class. This means that the period of the scan class with be 24 hours
during daylight saving time to standard time transitions and 22 hours during
standard time to daylight savings time transitions. Appending ,L has no effect
when the period of the scan class is less than or equal to 1 hour.
Similarly, a scan class can be explicitly defined to ignore wall clock scheduling
by appending ,U to the scan class definition. For example,
/f=24:00:00,08:00:00,U means that the scan period will always be
24 hours, even across daylight savings time transitions.
An interesting case occurs with wall-clock scheduling on the spring forward
time change for a scan class defined as /f=02:00:00,00:30:00.
Under normal opeartion, scans will occur at 00:00:30, 02:30:00, 04:30:00, and
so on. However, during the spring forward time change, there is no wall clock
time of 02:30:00. In this case, the interface skips the scan entriely and
performs the following scan at 04:30:00.
/host=host:port
Optional for NT and
UNIX
The /host flag is used to specify the PI Home node. 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 for a PI 3 Server and 545 for a PI 2 Server. It is
recommended to explicitly define the host and port on the command
line with the /host flag.
Examples:
The interface is running on a PI Interface Node, the domain name of
the PI 3 home node is Marvin, and the IP address of Marvin is
206.79.198.30. Valid /host flags would be:
/host=marvin
/host=marvin:5450
/host=206.79.198.30
/host=206.79.198.30:5450
ABB IMS/AEH Advant Station Interface to the PI System
55
55
Startup Command File
Parameter
/stopstat
or
/stopstat=
digstate
Default:
/stopstat=
”Intf shut”
Optional
Description
If the /stopstat flag is present on the startup command line, then
the digital state I/O Timeout will be written to each PI Point when the
interface is stopped.
If /stopstat=digstate is present on the command line, then the
digital state, digstate, will be written to each PI Point when the
interface is stopped. For a PI 3 Server, digstate must be in the
system digital state table. For a PI 2 Server, where there is only one
digital state table available, digstate must simply be somewhere in
the table. UniInt uses the first occurrence in the table.
If neither /stopstat nor /stopstat=digstate is specified on
the command line, then no digital states will be written when the
interface is shut down.
Examples:
/stopstat=”Intf shut”
The entire parameter is enclosed within double quotes when there is a
space in digstate.
/ec=x
Optional
Default: 23
/sio
Optional
Event counter.
This is the number of a free slot in iorates.dat. See chapter “I/O Rate
Tag Configuration” for additional information.
The /sio flag stands for “suppress initial outputs.” The flag applies
only for interfaces that support outputs. If the /sio flag is not
specified, the interface will behave in the following manner.
When the interface is started, the interface determines the current
Snapshot value of each output tag. Next, the interface writes this value
to each output tag. In addition, whenever an individual output tag is
edited while the interface is running, the interface will write the current
Snapshot value to the edited output tag.
This behavior is suppressed if the /sio flag is specified on the
command line. That is, outputs will not be written when the interface
starts or when an output tag is edited. In other words, when the
/sio flag is specified, outputs will only be written when they are
explicitly triggered.
/q
Optional for NT and
UNIX
Recommended
When the /q flag is present, Snapshots and exceptions are queued
before they are sent to the PI Server node.
Extended API mode behavior:
The maximum queue size is close to 4000 bytes. The queue is flushed
between scans if it is not filled.
Non-Extended API mode behavior:
The maximum queue size is 255 bytes for a PI 3 Server and 36 bytes
for a PI 2 Server. For example, if the interface is running on a UNIX
node and is communicating to a PI 2 Server, then the maximum queue
size is 36. The queue is flushed between scans if it is not filled.
When the /q flag is specified in non-extended API mode, the PI-API
sends integer values as 16-bit integers instead of 32-bit integers.
Therefore, integer points will be limited to values between 0 and
32767. Values higher than 32767 need to be sent to floating-point PI
tags.
56
56
Parameter
/dbuniint=0x0008
Optional
Recommended
Description
When the /dbuniint=0x0008 flag is present, the interface will
send a message to the log file upon interface shutdown, reporting the
signal number that caused it to terminate.
The general format of the /dbuniint switch is
/dbuniint=level This switch is used to set a debug level for
debugging UniInt code. Level is a 32-bit integer. Setting a particular
bit in level to 1 turns on a particular debug switch. See the UniInt
End User Document for more information. Please use levels other than
0 and 0x0008 only upon recommendation of OSIsoft as it can result in
very verbose log files. /dbuniint=0x0008 however does not cause
repeated messages and can be permanently specified on the command
line.
Sample Interface Startup Files for HP-UX
Sample interface startup files abbimspi_cyclic.sh.new, abbimspi_demand.sh.new,
abbimspi_event.sh.new are provided in $PIHOME/$ABBIMSPI/bin. These files may be
adapted for your requirements. It is recommended that you copy the template file to a
different file name and modify the copy. The template files will be overwritten on every
interface upgrade. More than one instance of this interface may be run at one time, but
must be differentiated by unique /in=… and /id=… arguments.
On Demand
The following is an example startup file for an ‘On Demand’ interface:
#!/bin/ksh
#
# Startup file for the ABB IMS/AEH Advant Interface to PI
# The \ marks are continuation characters, they allow
# you to have a command be split between multiple lines.
# There must not be ANYTHING after the \ on each line.
# There must not be ANY ‘#’ comment line between command lines.
# This is only a sample of the options available, the user
# manual has the list and descriptions for them all.
#
# /host=host
PI Home node
# /ps=x
Point source
# /f=hh:mm:ss
scan frequency
# /in=x
Interface Number
# /id=x
Interface identifier, should be same as for /in
# /deb=x
Interface-specific debug level
# /tm=[C|D|E]
Transfer Method (Cyclic, Demand, Event)
# /du=x
Duration. Only for event and cyclic method
# /ct=x
Cycle Time.Only applicable with /tm=C
# /timsrc=x
Source of time stamps
# /pisdk=x
Enable or disable the PI-SDK
# /q
Use queued PI-API functions
# /nooutputs
Outputs disabled
# /startup_delay=x Number of seconds the Interface delays right after start
# /stopstat=x
shutdown digital state
# /ec=x
Event counter
# /sio
suppress initial outputs
# /dbuniint=x
Uniint debug level, 0x0008 recommended
#
echo “Starting up ABB IMS Advant Station to PI interface 3 (on DEMAND: scan classes >= 3)”
DIR=”$PIHOME/$ABBIMSPI”
LOG=”$DIR/log/abbimspi_demand.log”
if [ -r $LOG ]; then
mv $LOG $LOG.old
fi
ABB IMS/AEH Advant Station Interface to the PI System
57
57
Startup Command File
nohup $DIR/bin/abbimspi /host=mypi3server:5450 \
/in=3 \
/id=3 \
/tm=D \
/ps=A \
/ec=23 \
/f=00:00:01 \
/f=00:00:09 \
/f=00:00:15 \
/f=00:01:00 \
/f=00:05:00 \
/f=00:10:00 \
/f=00:15:00 \
/q \
/deb=0 \
/dbuniint=0x0008 \
 $LOG 2>&1 &
echo “ … started”
exit
#------------------------------------------------------------------#
End
#-------------------------------------------------------------------
On Event
The following is an example startup file for an ‘On Event’ interface:
#!/bin/ksh
#
# Startup file for the ABB IMS/AEH Advant Interface to PI
# The \ marks are continuation characters, they allow
# you to have a command be split between multiple lines.
# There must not be ANYTHING after the \ on each line.
# There must not be ANY ‘#’ comment line between command lines.
# This is only a sample of the options available, the user
# manual has the list and descriptions for them all.
#
# /host=host
PI Home node
# /ps=x
Point source
# /f=hh:mm:ss
scan frequency
# /in=x
Interface Number
# /id=x
Interface identifier, should be same as for /in
# /deb=x
Interface-specific debug level
# /tm=[C|D|E]
Transfer Method (Cyclic, Demand, Event)
# /du=x
Duration. Only for event and cyclic method
# /ct=x
Cycle Time.Only applicable with /tm=C
# /timsrc=x
Source of time stamps
# /pisdk=x
Enable or disable the PI-SDK
# /q
Use queued PI-API functions
# /nooutputs
Outputs disabled
# /startup_delay=x Number of seconds the Interface delays right after start
# /stopstat=x
shutdown digital state
# /ec=x
Event counter
# /sio
suppress initial outputs
# /dbuniint=x
Uniint debug level, 0x0008 recommended
#
echo “Starting up ABB IMS Advant Station to PI interface 1 (on EVENT: scan class 1)”
DIR=”$PIHOME/$ABBIMSPI”
LOG=”$DIR/log/abbimspi_event.log”
if [ -r $LOG ]; then
mv $LOG $LOG.old
fi
nohup $DIR/bin/abbimspi /host=mypi3server:5450 \
/in=1 \
/id=1 \
/tm=E \
/ps=A \
/ec=25 \
/f=00:00:01 \
/f=00:00:09 \
58
58
/q \
/deb=0 \
/dbuniint=0x0008 \
 $LOG 2>&1 &
echo “ … started”
exit
#------------------------------------------------------------------#
End
#-------------------------------------------------------------------
Cyclic
The following is an example startup file for a ‘Cyclic’ interface:
#!/bin/ksh
#
# Startup file for the ABB IMS/AEH Advant Interface to PI
# The \ marks are continuation characters, they allow
# you to have a command be split between multiple lines.
# There must not be ANYTHING after the \ on each line.
# There must not be ANY ‘#’ comment line between command lines.
# This is only a sample of the options available, the user
# manual has the list and descriptions for them all.
#
# /host=host
PI Home node
# /ps=x
Point source
# /f=hh:mm:ss
scan frequency
# /in=x
Interface Number
# /id=x
Interface identifier, should be same as for /in
# /deb=x
Interface-specific debug level
# /tm=[C|D|E]
Transfer Method (Cyclic, Demand, Event)
# /du=x
Duration. Only for event and cyclic method
# /ct=x
Cycle Time.Only applicable with /tm=C
# /timsrc=x
Source of time stamps
# /pisdk=x
Enable or disable the PI-SDK
# /q
Use queued PI-API functions
# /nooutputs
Outputs disabled
# /startup_delay=x Number of seconds the Interface delays right after start
# /stopstat=x
shutdown digital state
# /ec=x
Event counter
# /sio
suppress initial outputs
# /dbuniint=x
Uniint debug level, 0x0008 recommended
#
echo “Starting up ABB IMS Advant Station to PI interface 2 (CYCLIC: scan class 2)”
DIR=”$PIHOME/$ABBIMSPI”
LOG=”$DIR/log/abbimspi_cyclic.log”
if [ -r $LOG ]; then
mv $LOG $LOG.old
fi
nohup $DIR/bin/abbimspi /host=mypi3server:5450 \
/in=2 \
/id=2 \
/tm=C \
/ps=A \
/ec=24 \
/f=00:00:01 \
/f=00:00:09 \
/q \
/deb=0 \
/dbuniint=0x0008 \
 $LOG 2>&1 &
echo “ … started”
exit
#------------------------------------------------------------------#
End
#-------------------------------------------------------------------
ABB IMS/AEH Advant Station Interface to the PI System
59
59
Startup Command File
Sample abbimspi.bat Files for NT
On Demand
The following is an example file for an ‘On Demand’ interface:
rem
rem Startup file for the ABB IMS/AEH Advant Interface to PI
rem The ^ marks are continuation characters, they allow
rem you to have a command be split between multiple lines.
Rem There must not be ANYTHING after the ^ on each line.
Rem There must not be ANY ‘rem’ comment line between command lines.
Rem This is only a sample of the options available, the user
rem manual has the list and descriptions for them all.
Rem
rem /host=host
PI Home node
rem /ps=x
Point source
rem /f=hh:mm:ss
scan frequency
rem /in=x
Interface Number
rem /id=x
Interface identifier, should be same as for /in
rem /deb=x
Interface-specific debug level
rem /tm=[C|D|E]
Transfer Method (Cyclic, Demand, Event)
rem /du=x
Duration. Only for event and cyclic method
rem /ct=x
Cycle Time.Only applicable with /tm=C
rem /timsrc=x
Source of time stamps
rem /pisdk=x
Enable or disable the PI-SDK
rem /q
Use queued PI-API functions
rem /nooutputs
Outputs disabled
rem /startup_delay=x Number of seconds the Interface delays right after start
rem /stopstat=x
shutdown digital state
rem /ec=x
Event counter
rem /sio
suppress initial outputs
rem /dbuniint=x
Uniint debug level, 0x0008 recommended
rem
abbimspi ^
/host=mypi3server:5450 ^
/in=3 ^
/id=3 ^
/tm=D ^
/ps=A ^
/ec=23 ^
/f=00:00:01 ^
/f=00:00:09 ^
/f=00:00:15 ^
/deb=0 ^
/stopstat ^
/dbuniint=0x0008
On Event
The following is an example file for an ‘On Event’ interface:
rem
rem
rem
rem
Rem
Rem
Rem
rem
Rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
60
60
Startup file for the ABB IMS/AEH Advant Interface to PI
The ^ marks are continuation characters, they allow
you to have a command be split between multiple lines.
There must not be ANYTHING after the ^ on each line.
There must not be ANY ‘rem’ comment line between command lines.
This is only a sample of the options available, the user
manual has the list and descriptions for them all.
/host=host
/ps=x
/f=hh:mm:ss
/in=x
/id=x
/deb=x
/tm=[C|D|E]
/du=x
/ct=x
PI Home node
Point source
scan frequency
Interface Number
Interface identifier, should be same as for /in
Interface-specific debug level
Transfer Method (Cyclic, Demand, Event)
Duration. Only for event and cyclic method
Cycle Time.Only applicable with /tm=C
rem /timsrc=x
rem /pisdk=x
rem /q
rem /nooutputs
rem /startup_delay=x
rem /stopstat=x
rem /ec=x
rem /sio
rem /dbuniint=x
rem
abbimspi ^
/host=mypi3server:5450
/in=1 ^
/id=1 ^
/tm=E ^
/ps=A ^
/ec=25 ^
/f=00 :00 :01 ^
/deb=0 ^
/du=120 ^
/stopstat ^
/dbuniint=0x0008
Source of time stamps
Enable or disable the PI-SDK
Use queued PI-API functions
Outputs disabled
Number of seconds the Interface delays right after start
shutdown digital state
Event counter
suppress initial outputs
Uniint debug level, 0x0008 recommended
^
Cyclic
The following is an example file for a ‘Cyclic’ interface:
rem
rem Startup file for the ABB IMS/AEH Advant Interface to PI
rem The ^ marks are continuation characters, they allow
rem you to have a command be split between multiple lines.
Rem There must not be ANYTHING after the ^ on each line.
Rem There must not be ANY ‘rem’ comment line between command lines.
Rem This is only a sample of the options available, the user
rem manual has the list and descriptions for them all.
Rem
rem /host=host
PI Home node
rem /ps=x
Point source
rem /f=hh:mm:ss
scan frequency
rem /in=x
Interface Number
rem /id=x
Interface identifier, should be same as for /in
rem /deb=x
Interface-specific debug level
rem /tm=[C|D|E]
Transfer Method (Cyclic, Demand, Event)
rem /du=x
Duration. Only for event and cyclic method
rem /ct=x
Cycle Time.Only applicable with /tm=C
rem /timsrc=x
Source of time stamps
rem /pisdk=x
Enable or disable the PI-SDK
rem /q
Use queued PI-API functions
rem /nooutputs
Outputs disabled
rem /startup_delay=x Number of seconds the Interface delays right after start
rem /stopstat=x
shutdown digital state
rem /ec=x
Event counter
rem /sio
suppress initial outputs
rem /dbuniint=x
Uniint debug level, 0x0008 recommended
rem
abbimspi ^
/host=mypi3server:5450 ^
/in=2 ^
/id=2 ^
/tm=C ^
/ps=A ^
/ec=24 ^
/f=00 :00 :01 ^
/f=00 :00 :09 ^
/deb=0 ^
/du=120 ^
/stopstat ^
/dbuniint=0x0008
ABB IMS/AEH Advant Station Interface to the PI System
61
61
Interface Node Clock
NT
The correct settings for the time and time zone should be set in the Date/Time control
panel. If local time participates in Daylight Savings, from the control panel, configure the
time to be automatically adjusted for Daylight Savings Time. The correct local settings
should be used even if the interface node runs in a different time zone than the PI Server
node.
Make sure that the TZ environment variable is not defined. The currently defined
environment variables can be listed by going to Start | Settings | Control Panel, double
clicking on the system icon, and selecting the environment tab on the resulting dialog
box. Also, make sure that the TZ variable is not defined in an autoexec.bat file. When
the TZ variable is defined in an autoexec.bat file, the TZ variable may not appear as
being defined in the System control panel even though the variable is defined.
Admittedly, autoexec.bat files are not typically used on NT, but this does not prevent
a rogue user from creating such a file and defining the TZ variable unbeknownst to the
System Administrator.
What if the NT Interface Node does not observe DST?
If the Interface Node does not observe DST despite local time participating in Daylight
Savings, then local time of the NT box will be one hour off during summer time. If this is
the case, working with the default setting /timsrc=A will produce wrong time stamps
during the DST period. The solution is to use /timsrc=P instead (and also /pisdk=1),
which will force the interface to use PI Server Time based on UTC, regardless of local
time on the AEH. See the description of /timsrc in the chapter “Command-Line
Parameters”. See the also chapter “Timestamps” for more information.
HP-UX
The correct time and time zone must be configured on the interface node. Also, the
interface node should be configured to automatically adjust for daylight savings time for
locations that use daylight savings time. The correct local settings should be used even if
the interface node runs in a different time zone than the PI Server node.
What if the HP-UX Interface Node does not observe DST?
This not supported.
ABB IMS/AEH Advant Station Interface to the PI System
63
63
Security
If the home node is a PI 3 Server, the PI Firewall Table and the PI Proxy Table must be
configured so that the interface is allowed to write data to the PI Data Archive. See
“Modifying the Firewall Database” and “Modifying the Proxy Database” in the PI Data
Archive Manual. Note that starting with PI 3.3, the PI Trust Table has replaced the PI
Proxy Table.
If the home node is a PI 2 Server, the read/write permissions should be set appropriately
in the pisysdat:piserver.dat file on the PI 2 home node. For more information on
setting permissions on PI 2, see the pibuild:piserver.txt file on the PI 2 home
node.
If the interface cannot write data to a PI 3 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 Server, it writes a –999 error. See the section “Appendix A:
Error and Informational Messages” for additional information on error messaging.
ABB IMS/AEH Advant Station Interface to the PI System
65
65
Starting / Stopping the PI-ABB Advant Interface on NT
This section describes starting and stopping the PI-ABB Advant Interface once it has
been installed as a service. See the UniInt End User Document to run the interface
interactively.
Starting Interface as a Service
If the interface was installed a service, it can be started from the services control panel or
with the command:
abbimspi.exe –start
A message will be echoed to the screen informing the user whether or not the interface
has been successfully started as a service. Even if the message indicates that the service
started successfully, make sure that the service is still running by checking in the services
control panel. There are several reasons that a service may immediately terminate after
startup. One is that the service may not be able to find the command-line arguments in
the associated .bat file. For this to succeed, the root name of the .bat file and the
.exe file must be the same, and the .bat file and the .exe file must be in the same
directory. If the service terminates prematurely for whatever reason, no error messages
will be echoed to the screen. The user must consult the pipc.log file for error
messages. See the section “Appendix A:
Error and Informational Messages” on page 77, for additional information.
Stopping Interface Running as a Service
If the interface was installed a service, it can be stopped at any time from the services
control panel or with the command:
abbimspi.exe –stop
The service can be removed by:
abbimspi.exe –remove
ABB IMS/AEH Advant Station Interface to the PI System
67
67
Starting / Stopping the PI-ABB Advant Interface on
UNIX
Starting Background Processes
To start an interface on Unix, simply execute the script file supplied with the interface
kit, after you adjusted it according to your needs. You must be ocsmgr. Example:
$ cd $PIHOME/$ABBIMSPI/bin
$ start_demand_interface
This will start the PI-ABB Advant Interface as a background process. See the UniInt
End User Document to run the interface as a foreground process.
Terminating Background Processes
First, obtain the process id (pid) of the background job. This is done as follows. First
execute the command:
ps –ef | grep abbimspi
which produces output similar to:
ocsmgr 12788 12707
2 09:55:27 ttys1 0:00 abbimspi /ps=A …
The second column is the pid of the process. That is, 12788 is the pid of the
abbimspi interface in the example above.
The process is then stopped by:
kill 12788
Make sure you are picking up the right number as there may be multiple ‘abbimspi’
processes on your machine.
The kill command (without an argument) will send the SIGTERM signal (signal 15) to
the process. The interface will handle this signal properly. All necessary operations such
as deleting requests or canceling subscriptions for cyclic and on-event transfer, giving a
Digital State to all tags, according to the /stopstat startup parameter etc. are performed.
There is an overall interface shutdown procedure ifstop, which is part of the interface kit.
Execute
$PIHOME/$ABBIMSPI/bin/ifstop
to terminate all PI PI-ABB Advant Interface processes.
Note: Do not terminate interface processes via kill –9 unless there is a serious reason for
this. A program cannot catch signal 9, as opposed to other signals. Thus, kill –9 will
abort the process, not giving the interface any chance to exit gracefully. As a result of
this, you will have an interface log file with the last lines missing because the remaining
log information will not be flushed to disk. If the log file was at a size of zero bytes
before you killed the interface via kill –9, you will end up not having any interface log
information at all. Furthermore, after kill –9, tags will not receive the Digital State
ABB IMS/AEH Advant Station Interface to the PI System
69
69
Starting / Stopping the Interface on UNIX
passed to the interface via /stopstat, thus the indication in the PI archive, that the
interface was stopped will be missing. Another reason for not using kill –9 is that the
necessary cleanups towards the AdvaInform UserAPI and the ABB Object Management
Facility (OMF) will not be performed, which should be avoided.
However, if there is no other way of terminating the interface, go ahead and use kill –9.
You can also use the Interface Control Program abbimscp with the command ‘q’ to stop
a distinct interface instance. See Appendix C:
Interface Control Program – HP-UX Only for details.
Recommendation: Use the startup parameter /dbuniint=0x0008 to record the
interface termination signal in the log file.
Anomalous Background Job Termination
On some platforms, processes that are started in the background will be terminated if one
types “control-c” in the same window that the job was started in. If one closes the
window in which the interface was started or if one logs off and logs back on, the user
will not be able to accidentally terminate the job in this manner.
70
70
Buffering
For complete information on buffering, please refer to the Uniint End User.
PI Interface Node buffering consists of a buffering process which runs continuously on
the local node, a PI-API library whose calls can send data to this buffering process, and a
utility program for examining the state of buffering and controlling the buffering process.
Note: Change the Local Security Policy on Windows XP.
1. Open “Administrative Tools” from the control panel.
2. Open “Local Security Policy” from administrative tools.
3. Browse to “Security Options” under “Local Policies.”
4. Double click on “System Objects: Default owner for objects created by members of the
Administrators group.”
5. Change the dropdown from “Object Creator” to “Administrators group.”
The behavior of Bufserv should now be the same on XP as it was for NT4 and 2000.
Configuring Buffering with PI-ICU (NT-Intel)
Buffering is enabled through the PI-Interface Configuration Utility’s Tools>API
Buffering… menu. Unless buffering is explicitly enabled, the PI-API will not buffer data,
sending data directly to the home node.
The API Buffering… dialog allows the user to view and configure the parameters
associated with the API Buffering (bufserv) process. The user can start and stop the API
Buffering process from the Service tab:
Service Tab
The Service tab allows for some API Buffering service configuration. For further
configuration changes, use the Services applet.
ABB IMS/AEH Advant Station Interface to the PI System
71
71
Buffering
Service Name
The Service name displays the name of the API Buffering Service.
Display Name
The Display name displays the full name associated with the API Buffering service.
Log On As
Log on as indicates the Windows user account under which the API Buffering service is
setup to start automatically on reboot, or manually. To modify the user account or
password under which bufserv runs, use the Microsoft Windows “Services” applet.
Dependencies
The Dependencies lists the Windows services on which the API Buffering service is
dependent.
Service Startup Type
The Startup Type indicates whether the API Buffering service is setup to start
automatically on reboot or manually on reboot, or is disabled.

If the Auto option is selected, the service will be installed to start automatically
when the machine reboots.

If the Manual option is selected, the interface service will not start on reboot, but
will require someone to manually start the service.

If the Disabled option is selected, the service will not start at all.
Generally, the API Buffering service is set to start automatically.
Start / Stop Service
The Start / Stop buttons allow for the API Buffering service to be started and stopped.
After a change is made to any of the settings on the Settings tab, the Save button must be
clicked, and then the service must be stopped and restarted for the changes to be picked
up by bufserv.
Settings Tab
The Settings tab allows for configuration of the 7 configurable settings used by API
Buffering. Default values are used if no other value is provided.
72
72
Enable API Buffering
Enables the API Buffering feature.
Maximum File Size
Maximum buffer file size in kilobytes before buffering fails and discards events. Default
value is 100,000. Range is 1 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value,
click the Apply button.
Send Rate
Send rate is the time to wait between sending up to MAXTRANSFEROBJS to the server
(milliseconds). Default value is 100. Range is 0 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value,
click the Apply button.
Primary Memory Buffer Size
Primary memory buffer size is the size in bytes of the Primary memory buffer. Default
value is 32768. Range is 64 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value,
click the Apply button.
Secondary Memory Buffer Size
Secondary memory buffer size is the size in bytes of the Secondary memory buffer.
Default value is 32768. Range is 64 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value,
click the Apply button.
ABB IMS/AEH Advant Station Interface to the PI System
73
73
Buffering
Max Transfer Objects
Max transfer objects is the maximum number of events to send between each
SENDRATE pause. Default value is 500. Range is 1 to 2,000,000.
The Use Default button places the default value into the text box. To keep this value,
click the Apply button.
Pause Rate
When buffers are empty the buffering process will wait for this number of seconds
before attempting to send more data to the home node. Default value is 2. Range is 0 to
2,000,000.
The Use Default button places the default value into the text box. To keep this value,
click the Apply button.
Retry Rate
When the buffering process discovers the home node is unavailable it will wait this
number of seconds before attempting to reconnect. Default value is 120. Range is 0 to
2,000,000.
The Use Default button places the default value into the text box. To keep this value,
click the Apply button.
Max Theoretical Send Rate
This is the theoretical max send rate is calculated like this:
max = MAXTRANSFEROBJS / SENDRATE * 1000
Default value is 5000.
There are no additional steps needed to install buffering after installing the PI-API. The
delivered PI-API library supports both buffered and un-buffered calls.
Configuring Buffering Manually
Buffering is enabled through the use of a configuration file, piclient.ini. Unless this
file is modified to explicitly enable buffering, the PI-API will not buffer data, sending
data directly to the home node.
There are no additional steps needed to install buffering after installing the PI-API. The
delivered PI-API library supports both buffered and un-buffered calls.
Note: When buffering is configured to be on, the bufserv process must be started
before other programs using the PI-API, so that these programs can access the shared
buffering resources. Any program that makes a connection to a PI Server has this
requirement even if it does not write to PI.
Configuration of buffering is achieved through entries in the piclient.ini file. The
file is found in the dat subdirectory of the PIHOME directory (typically c:\pipc\dat)
under Windows NT. On UNIX systems, the file is found in the dat subdirectory of the
PIHOME directory (e.g., /opt/piapi/dat). This file follows the conventions of
Microsoft Windows initialization files with sections, keywords within sections, and
values for keywords. All buffering settings are entered in a section called
[APIBUFFER]. To modify settings, simply edit the piclient.ini file in a text editor
(Notepad on Windows, vi on UNIX) to the desired values.
74
74
The following settings are available for buffering configuration:
Keywords
Values
Default
Description
BUFFERING
0,1
0
Turn off/on buffering. OFF = 0, ON = 1,
PAUSERATE
0 – 2,000,000
2
When buffers are empty the buffering process
will wait for this long before attempting to
send more data to the home node (seconds)
RETRYRATE
0 – 2,000,000
120
When the buffering process discovers the
home node is unavailable it will wait this long
before attempting to reconnect (seconds)
MAXFILESIZE
1 – 2,000,000
100,000
Maximum buffer file size before buffering
fails and discards events. (Kbytes)
MAXTRANSFEROBJS
1 – 2,000,000
500
Maximum number of events to send between
each SENDRATE pause.
BUF1SIZE
64 – 2,000,000
32768
Primary memory buffer size. (Bytes)
BUF2SIZE
64 – 2,000,000
32768
Secondary memory buffer size. (Bytes)
SENDRATE
0 – 2,000,000
100
The time to wait between sending up to
MAXTRANSFEROBJS to the server
(milliseconds)
In addition to the [APIBUFFER] section, the [PISERVER] section may be used to
define the default PI server and an optional time offset change that may occur between
the client and server.
Keywords
Values
Default
Description
PIHOMENODE
string
none
Default server for UNIX. Windows
default server is in pilogin.ini
DSTMISMATCH
0 – 2,000,000
0
The time that the server and client local
time offset is allowed to jump.
Typically, 3600 if the nodes are in time
zones whose DST rules differ (seconds)
Example piclient.ini File
NT
On Windows NT the default server information is stored in the pilogin.ini file so the
piclient.ini would only have the [APIBUFFER] section. The BUFFERING=1
indicates that buffering is on. The MAXFILESIZE entry in Kbytes of 100000 allows up to
100 Megabytes of data storage. Do not use commas or other separators in the numeric
entries. The retry rate is set to 600 seconds meaning wait 10 minutes after losing a
connection before retrying.
On NT a piclient.ini file might look like:
[APIBUFFER]
BUFFERING=1
MAXFILESIZE=100000
; The PI-API connection routines have a 1 minute default timeout.
RETRYRATE=600
ABB IMS/AEH Advant Station Interface to the PI System
75
75
Buffering
HP-UX
The BUFFERING=1 indicates that buffering is on. The MAXFILESIZE entry in Kbytes of
100000 allows up to 100 Megabytes of data storage. Do not use commas or other
separators in the numeric entries. The retry rate is set to 600 seconds meaning wait 10
minutes after losing a connection before retrying. The [PISERVER] and [TCP/IP]
sections are used to define the default connection. Comment lines begin with a
semicolon.
On HP-UX a piclient.ini file might look like:
[PISERVER]PIHOMENODE=MYNTSERVER
; DSTMISMATCH=0
[TCP/IP]
PORT=5450
[APIBUFFER]
BUFFERING=1
MAXFILESIZE=100000
; The PI-API connection routines have a 1 minute default timeout.
RETRYRATE=600
Note for DSTMISMATCH on NT
On Windows platforms, all DSTMISMATCH entries go into PILOGIN.INI file – NONE
go into piclient.ini.
On Windows platforms, DSTMISMATCH looks like this in PILOGIN.INI:
[Defaults]
PIServer=arwen
HELPFILE=C:\pipc\LIBRARY\PILOGIN.HLP
PI3USER=piadmin
PI2USER=piadmin
PI1USER=piadmin
DSTMISMATCH1=3600
DSTMISMATCH2=3600
DSTMISMATCH3=3600
[PINODEIDENTIFIERS]
PI3=arwen,8164,5450
PI2=trinity,6249,5450
PI1=strider,62085,5450
[Services]
PI1=PI
[NETWORK]
Timeout=60
76
76
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 location of the message log depends upon the platform on which the interface is
running. See the UniInt End User Document for more information.
Messages are written to PIHOME\dat\pipc.log at the following times.

When the interface starts many informational messages are written to the log. These
include the version of the interface, the version of UniInt, the command-line
parameters used, and the number of points.

As the interface retrieves points, messages are sent to the log if there are any
problems with the configuration of the points.

If the /dbuniint=level is used on the command line, then various informational
messages are written to the log file.
Log Files
Interface Output File on HP-UX
The interface output file (also called the interface log file), is located in the
$PIHOME/$ABBIMSPI/log directory. All fatal error messages are copied to this file. The
interface also copies startup, shutdown and debug information to this file. Note that each
interface instance must have its own log file. In the startup template files the interface
output file appears after the “>” character.
The following example start_demand_interface specifies abbimspi_demand.log as the
interface output file. If a log file with the same name is found on interface start, it will be
renamed to abbimspi_demand.log.old.
#!/bin/ksh
#----------------------------------------------------------------#
Startup of ABB IMS Advant Station to PI interface
#
Date: 28-Apr-1998
#----------------------------------------------------------------#
echo “Starting up ABB IMS Advant Station to PI interface 3 (on DEMAND: scan classes >= 3)”
DIR=”$PIHOME/$ABBIMSPI”
LOG=”$DIR/log/abbimspi_demand.log”
if [ -r $LOG ]; then
mv $LOG $LOG.old
fi
nohup $DIR/bin/abbimspi /nn=roc174:5450 \
/in=3
\
ABB IMS/AEH Advant Station Interface to the PI System
77
77
Appendix A: Error and Informational Messages
/id=3
/tm=D
/ps=A
/ec=23
/f=00:00:01
/f=00:00:09
/f=00:00:15
/f=00:01:00
/f=00:05:00
/f=00:10:00
/f=00:15:00
/try=60
/q
/deb=0
\
\
\
\
\
\
\
\
\
\
\
\
\
\
$LOG 2>&1 &
echo “ ... started”
exit
#----------------------------------------------------------------#
End
#---------------------------------------------------------------
pimesslogfile on HP-UX
The PI message log, pimesslogfile, is located in $PIHOME/dat. The interface puts its
error and information messages into this file except for messages from fatal errors that
prevented the interface from starting up. Messages to pimesslogfile are flushed to disk
more often than to the interface log file.
While every interface copy has its own output file, $PIHOME/dat/pimesslogfile contains
messages from all interfaces and the PI-API processes. That’s why you should use the
/in=… and /id=… startup parameters with care. If there is a problem with a specific
interface instance while other copies are running well, it is important to tell which one
caused a message in pimesslogfile.
Messages on NT
Error and informational messages are written to the pipc.log file. The location of the
pipc.log file is determined by the PIHOME entry in the pipc.ini file. The pipc.ini file
should always be in the WinNT directory. For example, if the PIHOME entry is
C:\PIPC
then the pipc.log file will be located in the c:\PIPC\dat directory.
For version 1.3 and greater of the PI-API, a process called pilogsrv may be installed
to run as a service. After the pipc.log file exceeds a user-defined maximum size, the
pilogsrvprocess renames the pipc.log file to pipcxxxx.log , where xxxx ranges from
0000 to the maximum number of allowed log files. Both the maximum file size and the
maximum number of allowed log files are configured in the pipc.ini file. Configuration
of the pilogsrvprocess is discussed in detail in the PI-API Installation Instructions
manual.
Translation of Error Codes
The PI-ABB Advant Interface makes calls to AdvaInform UserAPI functions. Depending
on the function, different kinds of statuses are returned, such as statuses from calls to the
AdvaInform UserAPI (one status per call), object related statuses (one status per object,
up to 500 statuses per call), or statuses from operations. The interface usually translates
these return codes into a short text, giving the user an idea about current interface
78
78
operation. While successful operations will not be mentioned in the log files (except
when the interface is in a debug level >0), warnings and errors will always appear, along
with the return status.
Here is an example for a warning message. The short explanation for status –114 is in
parentheses:
Thu Jul 9 09:59:54 1998 ABBIMSPI-3-dev_service_input_list> Warning: Bad object status
in read on demand: PI-Tag: 321PDIC151A., Object: 321PDIC151A.PTA, Status: -114
(bciOBJ_NODE_DOWN – Object’s node not reachable)
Here is an example for a success message. This information can only be seen in the log
file if the PI-ABB Advant Interface is running in debug level 4 or higher:
Thu Jul 9 12:10:13 1998 ABBIMSPI-3 Debug4> bciDoRequest, Status: 1 (bciSUCCESS –
Service successfully completed)
However, it may happen that output looks like this:
Thu Apr 9 06:35:57 1998 ABBIMSPI-1 Debug4> bciDoRequest, Status: 1 (MessageID: 13, 10, 129)
In this case, there is a problem executing the AdvaInform UserAPI function
bciGetMessageText on your machine. Please check with your local ABB engineer,
whether translating the status codes is possible in your environment.
However, even then, there is still a chance to get status codes explained. The file
/opt/advant/UserAPI/include/bciUserAPI.h
contains a list of all AdvaInform UserAPI and object statuses.
Specific AdvaInform UserAPI Errors and other problems
Status: 3 (bciEMPTY – No more waiting events/data)
An error resembling the one below may be seen in your log file:
ABBIMSPI-4-dev_service_input_list> Warning: Error in bciDoRequest,
scanclass: 8, status: 3 (bciEMPTY – No more waiting events/data),
writing ‘DCS failed’ to all tags
If this happens, please check whether appropriate IMS/AEH patches have been installed.
HP-UX
The patch concerning the “Node Down” problem is also of importance for this one.
For AdvaInform 2.0 request patch:
For Enterprise Historian 2.0 for HP-UX request patch:
ABB IMS/AEH Advant Station Interface to the PI System
ABB-AI-USERAPI_PATCH_1
ABB-AI-USERAPI_PATCH_1
79
79
Appendix A: Error and Informational Messages
NT
The patch concerning the “Node Down” problem is also of importance for this one.
For Enterprise Historian 3.0 for Windows NT request patch:
ABB-PAPI_130001
In addition, the following patch specifically deals with bciEMPTY:
InformIT Enterprise Historian™ Versions 3.0, 3.1 & 3.2/0 User API Patch
For Enterprise Historian Version 3.0 or 3.1
For Enterprise Historian Version 3.2:
ABB EH3.0/EH3.1 User API HotFix
ABB EH3.2.0 B9 User API HotFix
The patch is documented in ABB’s Release Notes Document 3BUF 001 017 D1
(3buf001017d1.pdf).
PI-ABB Advant Interface Allegedly Supplies Wrong Values
If the object attribute values in the DCS appear to be different from the values of the PI
tags pointing to those object attributes (via InstrumentTag/ExDesc), the reason can be
that objects have been moved in the DCS. Objects typically do not move to another place
on the fly. If objects move, then someone is reconfiguring the system. An object moves
when it is deleted from one node and re-created in another node. For example, if object 1
exists in node A and is moved to node B, all applications referencing the object when it
was in node A only know about the object via its “node A object reference”. For
applications to locate object 1 in its new location – node B, the application node (the
Advant Station) must be told to delete its old reference to object 1 and retranslate the
reference. One way of doing this on a Master IMS/AEH 2.x node is to execute the Object
Reference Maintenance Tool located on the IMS main menu under “Station”. An
object’s reference is held by the IMS Core system so that any applications accessing this
object use this same reference (internal instance identifier). This applies to both a MOD
300 IMS and a Master IMS. For Master, the IMS Core system must be told to retranslate
an object that has been deleted in one node and re-created in another node. This can be
done using the Object Reference Maintenance Tool when on a Master IMS. For MOD
300, the internal object instance identifiers are removed each time the IMS software is
stopped and then re-started. This does not happen on a Master IMS because retranslating
objects can take a significant amount of time so a file holding the internal object instance
identifiers is maintained during IMS shutdowns and restarts.
The PI-ABB Advant Interface cannot force an object re-translation. For ABB Master, retranslation must be done as part of the system reconfiguration procedure when objects
are moved in the system. For MOD 300, a restart of the IMS software is required. After
any objects are moved and their object references re-translated, any applications
referencing these objects must be re-started.
Summary of Statuses and Error Codes
Statuses are listed/documented in Appendix A of the AdvaInform User API User’s
Guide.
AdvaInform UserAPI Statuses
/*
// IMS User API – object access services – API status definition
*/
/*
// Status for specific API interface call
*/
80
80
/* Start of codes that marks error */
bciFIRST_ERROR
= -128, /* First code that marks error */
bciNOT_SUPPORTED
= -127, /* API internal */
bciTIMEOUT
= -126, /* Communication service timeout */
bciVERSION
= -125, /* API internal */
bciALLOCATION
= -124, /* Could not allocate resource */
bciREFERENCE
= -123, /* API internal */
bciILLEGAL_NAME
= -122, /* A specified symbol uses illegal characters */
bciILLEGAL_MONITOR
= -121, /* API internal */
bciILLEGAL_UAC
= -120, /* Illegal UAC in UAF */
bciINCONSISTENCY
= -119, /* API internal */
bciALREADY_DEFINED
= -118, /* API internal */
bciIN_USE
= -117, /* Busy in access service or association */
bciTYPE
= -116, /* API internal */
bciNO_RESOURCE
= -115, /* API internal */
bciNO_SYNCH
= -114, /* Could not create synch file or event flag */
bciSYNTAX_ERROR
= -113, /* API internal */
bciNO_PRIVILEGE
= -112, /* API internal */
bciLENGTH_REJECTED
= -111, /* Unable to create wanted queue size */
bciWRONG_NODE
= -110, /* API internal */
bciWRONG_DOMAIN
= -109, /* API internal */
bciMOVED
= -108, /* Name Server error: Object moved */
bciRENAMED
= -107, /* Name Server error: Object removed */
bciNOT_FOUND
= -106, /* Name Server error: Object not found */
bciABORT
= -105, /* Server aborted object request */
bciFAILURE
= -104, /* Object or its methods failed */
bciINACTIVE
= -103, /* Server object not active */
bciNOT_IMPLEMENTED
= -102, /* Objects service or method not impl */
bciMISSING
= -101, /* Not all methods are supplied */
bciNO_MATCHING_CAP
= -100, /* API internal */
bciCAP_IN_USE
= -99, /* API internal */
bciNO_ASSOCIATION
= -98, /* No association exists */
bciFOUND_OUTSIDE_SCOPE
= -97, /* API internal */
bciALREADY_REGISTERED
= -96, /* API internal */
bciNO_TRANSLATION
= -95, /* Could not translate name to identifier */
bciNOT_DEFINED
= -94, /* API internal */
bciARRAY_BOUNDS
= -93, /* Max_is is lesser than last_is in open array */
bciNOT_EXISTING
= -92, /* No such user exists */
bciNOT_OPEN
= -91, /* OMF could not be opened */
bciCOMM_FAIL
= -90, /* Communication failure */
bciNAME
= -89, /* Name Server error: object type OK, Name error */
bciALREADY_IN_TYPED_VIEW
= -88, /* API internal */
bciENTRY_DELETED
= -87, /* API internal */
bciMONITOR_IN_USE
= -86, /* API internal */
bciNO_SERVICE
= -85, /* API internal */
bciERRONEOUS_CAPS
= -84, /* API internal */
/* Start of codes that marks API interface specific errors */
bciAPI_FIRST_ERROR
= -20, /* First User API specific error code */
bciAPI_RESOURCE_LACK
bciAPI_EXE_FAILED
bciAPI_ERR_EVSIZE
bciAPI_ERR_OPSIZE
bciAPI_ERR_VALSIZE
bciAPI_ERR_EVENT
bciAPI_ERR_OPER
bciAPI_ERR_ATTRIB
bciAPI_ERR_TIMEOUT
=
=
=
=
=
=
=
=
=
-18,
-17,
-16,
-15,
-14,
-13,
-12,
-11,
-10,
/*
/*
/*
/*
/*
/*
/*
/*
/*
Lack of resources (memory) */
Operation could not be executed */
Error in eventSize specification */
Error in operSize specification */
Error in valueSize specification */
Error in event
specification */
Error in operation specification */
Error in attribute specification */
Time-Out out of range */
/* End of codes that marks API interface specific errors */
bciAPI_LAST_ERROR
= -1, /* Last User API specific error code */
/* End of codes that marks error */
bciLAST_ERROR
= -1, /* Last code that marks an error */
bciPENDING
=
0, /* Complete service result not available */
ABB IMS/AEH Advant Station Interface to the PI System
81
81
Appendix A: Error and Informational Messages
/* Start of codes that marks success */
bciFIRST_SUCCESS
=
1, /* First code that marks success */
bciSUCCESS
=
1, /* Service was successfully completed */
bciMORE
bciEMPTY
bciNO_SPACE
bciUNRESOLVED
bciALREADY_OPEN
bciINTERRUPT
bciSERVER_RESTARTED
=
=
=
=
=
=
=
2,
3,
4,
5,
6,
7,
8,
/*
/*
/*
/*
/*
/*
/*
More events/data queued */
No more waiting events/data */
Not enough space in receiving array */
View is unresolved */
OMF already opened */
System call made by OMF was interrupted */
An OMF server node has restarted */
/* End of codes that marks success */
bciLAST_SUCCESS
= 127 /* Last code that marks success */
Object Access Statuses
/*
// IMS User API – object access services – object access status definition
*/
/*
// Status for object access
*/
bciOBJ_FIRST
bciOBJ_NO_CODE
= -128, /* beginning of codes */
= -127,
/* Codes originating in user application (client) side of OMF */
bciCAP_INCONSISTENCY
= -120, /* capability is not in a consistent state */
bciCAP_ARRAY_BOUNDS
= -119, /* mismatch in open array bounds */
bciCAP_UNION_TAG
= -118, /* Invalid tag or union */
bciOBJ_NOT_RESOLVED
= -117, /* object could not be resolved */
bciOBJ_UNREGISTERED
= -116, /* object not registered */
bciOBJ_OBJECT_MOVED
= -115, /* object moved */
bciOBJ_NODE_DOWN
= -114, /* object’s node not reachable */
bciOBJ_NODE_UP
= -113, /* object’s node now reachable again */
bciOBJ_REQUEST_TIMEOUT
= -112, /* communication timeout */
bciOBJ_TIMEOUT
= -111, /* cyclic timeout */
bciOBJ_COMM_FAIL
= -110, /* communication failure */
bciOBJ_RESTARTED
= -109, /* OMF has restarted */
bciOBJ_PENDING
= -108, /* communication failure */
bciOBJ_PING_TIMEOUT
= -107, /* ping request has timed out */
/* Codes originating in object’s (server) side of OMF */
bciOBJ_NOT_IMPLEMENTED
= -96, /* server method not implemented */
bciOBJ_NOT_DEFINED
= -95, /* server class not defined */
bciOBJ_NOT_REGISTERED
= -94, /* object not registered */
bciOBJ_MOVED
= -93, /* object moved */
bciOBJ_SERVER_ABORT
= -92, /* object’s process has aborted */
bciOBJ_SERVER_EXIT
= -91, /* object’s process has made an exit */
bciOBJ_NOT_ACTIVE
= -90, /* object not in active group */
bciOBJ_NOT_BOUND
= -89, /* object not bound to server */
bciOBJ_INCONSISTENCY
= -88, /* capability is not in a consistent state */
bciOBJ_SERVER_FULL
= -87, /* server monitor full */
bciOBJ_SERVER_RESOURCE
= -86, /* there are no more server resources, to many
associations */
bciOBJ_SERVER_ARRAY_BOUNDS
= -85, /* */
bciOBJ_CONTROL_LAST
= -65, /* last control event */
/* Codes from server object, indicating method was invoked but failed: */
bciOBJ_FAILURE
bciOBJ_PARAMETER
bciOBJ_PERMISSION
82
82
= -64, /* generic method failure */
= -63, /* parameter error in operation */
= -62, /* user not permitted to access element */
bciOBJ_STATUS1
bciOBJ_STATUS2
bciOBJ_STATUS3
bciOBJ_STATUS4
bciOBJ_STATUS5
bciOBJ_STATUS6
bciOBJ_STATUS7
bciOBJ_STATUS8
bciOBJ_STATUS9
bciOBJ_STATUS10
bciOBJ_STATUS11
bciOBJ_STATUS12
bciOBJ_STATUS13
bciOBJ_STATUS14
bciOBJ_STATUS15
bciOBJ_STATUS16
bciOBJ_STATUS17
bciOBJ_STATUS18
bciOBJ_STATUS19
bciOBJ_STATUS20
bciOBJ_STATUS21
bciOBJ_STATUS22
bciOBJ_STATUS23
bciOBJ_STATUS24
bciOBJ_STATUS25
bciOBJ_STATUS26
bciOBJ_STATUS27
bciOBJ_STATUS28
bciOBJ_STATUS29
bciOBJ_STATUS30
bciOBJ_STATUS31
bciOBJ_STATUS32
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-61, /* errors defined by object type: */
-60,
-59,
-58,
-57,
-56,
-55,
-54,
-53,
-52,
-51,
-50,
-49,
-48,
-47,
-46,
-45,
-44,
-43,
-42,
-41,
-40,
-39,
-38,
-37,
-36,
-35,
-34,
-33,
-32,
-31,
-30,
/* Codes not passed to client: */
bciOBJ_ABORT
= -1,
/* Codes indicating object accessed successfully: */
bciOBJ_SUCCESS
= 1,
/* successful access of object */
bciOBJ_LAST
= 127
/* last capability status code */
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 NT and Unix
If your PI Server is a PI3 system, you can use the pidiag utility on the PI Server machine
to obtain error descriptions.
(The paths below are examples and may be different in your system)
On an NT/Windows 2000 PI Server:
\PI\adm\pidiag –e error_number
On a Unix PI Server:
/opt/PI/adm/pidiag –e error_number
ABB IMS/AEH Advant Station Interface to the PI System
83
83
Appendix B:
Hints for PI System Manager
Automatic Interface Start on HP-UX System Startup via ABB’s
Process Supervision
It is essential to start PI-ABB Advant Interface processes only after a complete
successful startup of the IMS software. Starting a PI-ABB Advant Interface before the
ABB processes are up may cause interface termination by signal 6.
ABB provides a way to ensure the right process starting sequence at system startup.
Perform the following steps, using the Operator’s Console of the IMS Advant Station:
1. Log in as ocsmgr
2. Make sure the ABB icon on the bottom of your screen is not dimmed
3. Click on the ABB icon
4. Choose Settings from the menu
5. Choose Process Supervision
6. Fill in the mask that appears on the screen:
Program ID
ABBIMSPI
Startup Order 10000
Description
ABB IMS Advant Station to PI Interface
FilePath opt/piapi/abbimspi/bin/StartPIAPIOnBoot
<= enter your path here!
Button implemented must appear as pressed down.
7. Click on Commit
8. Click on Exit
9. Click on Yes to answer the Alert question
!Do you want to save the changes you have made?
10. Click on OK to acknowledge the message
FRM-40400:Transaction complete
-- 1 records applied and saved
11. From the File menu, choose Exit
12. Log out
The interface kit contains a template script StartPIAPIOnBoot that starts the PI-API (it
runs pistart) on system startup.
$PIHOME/bin/pistart calls $PIHOME/bin/sitestart in which you place the interface
startup commands (see below).
Put the required definitions of the Unix environment variables hard coded into
ABB IMS/AEH Advant Station Interface to the PI System
85
85
Appendix B: Hints for PI System Manager
StartPIAPIOnBoot. It may then look like this:
#!/bin/ksh
sleep 120
PIHOME=/opt/piapi
SHLIB_PATH=$PIHOME/lib:$SHLIB_PATH
ABBIMSPI=abbimspi
export PIHOME SHLIB_PATH ABBIMSPI
nohup sh $PIHOME/bin/pistart
function cleanup {
echo “Got signal 15, exiting”
$PIHOME/bin/pistop
echo “Finished”
exit 0
}
trap cleanup 15
while [ true ]; do
sleep 5
done
Please, do not forget to re-modify this file in the unlikely case that the location of your
PI-API changes.
Note that the script contains a 2 minutes sleep at the beginning that should not be
removed. Even if hooked up to ABB Process Supervision, sometimes PI-API startup
problems after reboot were seen. Those could be remedied by waiting two more minutes
after Process Supervision had given the ok to start the application.
Graceful Interface Stop on System Shutdown
Process Supervision also takes care on graceful interface stop when the system shuts
down.
The Process Supervision component of the Enterprise Historian software has functions
that will both start an application on IMSstart or when the station comes up after a boot
as well as to shut it down at IMSstop or when the system is shut down (the HP-UX
shutdown command runs the IMSstop script).
Therefore the startup script StartPIAPIOnBoot does not exit. It traps the kill command
that will be issued to a supervised process when IMSstop is executed in case of
-
manual re-start (IMSstop, IMSstart)
- automatic re-start
- HP-UX reboot or shutdown
When having trapped this kill interrupt the script StartPIAPIOnBoot will then in turn kill
the PI-API processes that it had started and then exit itself.
Starting the Interface when the PI-API is Started (HP-UX)
To start the PI-ABB Advant Interfaces when the PI-API processes start up, enter a
startup line for each interface into $PIHOME/bin/sitestart. Example:
86
86
sitestart
#!/bin/ksh
# @(#)sitestart
1.2 09/05/95
# File: sitestart
#
# This file is provided to allow site specific applications to be started
# whenever the pistart is executed. An appropriate application stop script
# should be inserted into the sitestop file.
#
$PIHOME/$ABBIMSPI/bin/start_demand_interface_1
$PIHOME/$ABBIMSPI/bin/start_demand_interface_2
Stopping the Interface When the PI-API is Stopped (HP-UX)
Add the following line at the end of the file $PIHOME/bin/sitestop:
verify_stopped abbimspi
If you cannot find sitestop in the fashion quoted below, you may copy it from
$PIHOME/build/api or use the lines below to edit your existing file. The complete
sitestop script is posted below:
ABB IMS/AEH Advant Station Interface to the PI System
87
87
Appendix B: Hints for PI System Manager
#############################################################################
# @(#)sitestop 1.3 2000/07/25
# File: sitestop
#
# This file is provided to allow site specific applications to be stopped
# whenever the pistop is executed. An appropriate application start script
# should be inserted into the sitestart file or the verify_stopped()
# routine below may be used.
#############################################################################
## Bourne shell script to check process shutdown.
Verify_stopped()
{
pid=`ps –e | grep $1 | grep –v grep | awk ‘{ print $1 }’`
if [ ${pid:-0} –gt 0 ]
then
# Change the following line a signal besides SIGTERM is used to stop
# the interface.
Kill $pid
lcount=0
dcount=0
while [ ${pid:-0} –gt 0 ]
do
if [ ${lcount} –gt 300 ]
then
break;
fi
sleep 1
echo ‘.\c’
pid=`ps –e | grep $1 | grep –v grep | awk ‘{ print $1 }’`
lcount=`expr $lcount+1`
dcount=`expr $dcount+1`
if [ ${dcount} –ge 60 ]
then
echo $lcount
dcount=0
fi
done
if [ ${dcount} –gt 0 ]
then
echo ‘ ‘
fi
if [ ${pid:-0} –gt 0 ]
then
echo “ERROR: Unable to stop $1 (pid = $pid)”
$PIHOME/bin/shootq “ERROR: Unable to stop $1 (pid = $pid)”
else
echo “Program $1 stopped”
$PIHOME/bin/shootq “Program $1 stopped”
fi
else
echo “Program $1 not found”
$PIHOME/bin/shootq “Program $1 not found”
fi
}
# EXAMPLE:
# verify_stopped
buftest
verify_stopped abbimspi
Automatic Interface Start on NT – Practical Experiences
On HP-UX, ABB Process Supervision can be used to ensure proper application startup.
Currently, there is no equivalent tool on NT.
Like on HP-UX, it is very important to start the interface only after the NT ABB
processes have started up completely. Make sure that the ABB services are set to load as
a service. “ABB Advant Process Administration Service” (PAS) should be set to
“Automatic” and the “ABB Advant System Message Log “should be set to “Manual”.
The message log will start as dependent of the PAS service. NOTE: If you set them both
88
88
to automatic the service will fail to start. Once the system has booted and been up for a
few minutes you can see which service you are waiting for by going to the start menu
and selecting ADVANT, System Services, then Process Administration. This will show
you a window with the sub services that ABB must restart. If you open this too soon
there will be an error message and you will not see any of the services. The services that
should be listed are:
BsSysLogNT
csCleanup
csInit
csNetMaint
csPreMaint
csTransport
dxStallsup
dxTimeSync
dxupr
FmsServer
LogManager
OmfCleanup
OMFCOM
OmfNameProc
OmfNameProc
OmfPM
OmfTimer
OmoNameBroker
OmoNodeBroker
OmoStorageDomain
OmoTypeDirectory
SesServer
All of these services should be started with the exception of “dxupr”.
It must be ensured that the PI-ABB Advant Interface starts only after a complete
startup of all ABB processes. You can configure the wait period via the /startup_delay
command line argument. See chapter “Startup Command File” for details.
Practical experience has shown that waiting 5 minutes is long enough to be safe.
Increasing Number of Interfaces per AEH on Windows NT
On the Windows NT AEH, you may run into a problem when attempting to have
multiple copies of the PI-ABB Advant Interface. The reason is that there is a limit on the
number of OMF applications (one of which is the PI-ABB Advant Interface) per AEH.
This limit is controlled by the number of semaphores and is stored in the NT registry. If
you encounter problems when starting additional copies of the PI-ABB Advant Interface,
while the number you had so far ran fine, please contact your local ABB specialist. The
following modification may fix the problem. Run regedit and go to the following registry
key.
On Advant Enterprise Historian (AEH) 3.0:
HKEY_LOCAL_MACHINE\Software\ABB\Advant\SystemModules\OMF\1.5\private
\config\Semaphores
On Advant Enterprise Historian (AEH) 3.1:
ABB IMS/AEH Advant Station Interface to the PI System
89
89
Appendix B: Hints for PI System Manager
HKEY_LOCAL_MACHINE\SOFTWARE\ABB\SystemServices\OMF\config\Semaphores
Increase the setting of Max (which is at 20 by default). On one site, increasing this to 50,
subsequently allowed for 11 OMF processes.
90
90
Appendix C:
Interface Control Program – HP-UX Only
The interface kit contains a small program named abbimscp. It allows changing the
debug level “on the fly” which can become very useful in problem situations. You can
also stop your PI-ABB Advant Interface with this program. There are 2 files in the kit:
abbimscp.mak
abbimscp.o
Refer to the chapter “Linking the Interface Control Program” for instructions about how
to ‘make’ abbimscp.
The control program allows you to modify the debug level for the PI-ABB Advant
Interface while it is running. If you find it useful or if you have been advised by OSI to
do so, run abbimscp to add more run-time information to the interface output file. The
syntax is:
$abbimscp debuglevel interfacenumber
or
$abbimscp q interfacenumber
Starting abbimscp without command line arguments will display the expected usage:
$./abbimscp
ABB IMS Advant Station to PI Interface Control Program Version 1.2
Usage e.g.:
Usage e.g.:
./abbimscp 4 1
./abbimscp q 1
- switch debug level to 4 for abbimspi with /in=1
- Shut down interface abbimspi with /in=1
$
Note that ‘On Event’ and ‘Cyclic’ interfaces may react a bit delayed. Depending on
/du=…, the interface may stay at bciGetData for a long time or even ‘forever’. The
interface’s next chance to check the mailbox for a command issued by abbimscp is when
data is received from the DCS and the corresponding callback function is called to send
data to PI. For a Cyclic interface, this means that the command you sent will be received
by the interface on the next cycle. In an ‘On Event’ interface, the command will be
recognized at the next event.
ABB IMS/AEH Advant Station Interface to the PI System
91
91
Appendix D:
Achieving Better Interface Performance
Use More Interface Copies
It is better to have more interface copies, each one servicing fewer tags. For example, 3
interfaces with 500 tags in each have been found to have a better scan performance than
one interface with all 1500 tags in it. In fact, the best performance has been seen with
one interface copy per scan class.
Use Scan Class Offsets
Better performance and more moderate CPU usage have been seen when scan class
offsets were being used. For more details, refer to the description of /f=… in the section
“Startup Command File”. Make sure that different scan classes are never called at the
same time.
Use a Separate Interface Copy for a Fast Scan Class
If, for some tags, a short scan cycle of e.g. 3 seconds is wanted, while the majority of
tags is scanned every 30, 40, 50 or 60 seconds, it is more efficient to have the 3 seconds
tags serviced by a separate interface instance.
Consider the Transfer Method “On Event” (ABB Master only)
The interface, via ABB’s AdvaInform UserAPI provides the possibility to read object
attributes “On Event”. For some attributes with a discrete characteristic, it makes more
sense to have the DCS tell the interface when the attribute value has changed rather than
to scan this object periodically. Given that the system is not overloaded with events, an
event interface can hardly be seen in the UNIX process list, hence leaving more
resources for the “On Demand” interfaces. However, setting up a permanent subscription
on the event of a very noisy signal can result in tremendous CPU load, and hence in the
opposite of what was intended.
See chapter Introduction for more details about the “On Event” method. The ‘On Event’
method is not recommended for MOD 300.
ABB IMS/AEH Advant Station Interface to the PI System
93
93
Appendix E:
Test Environment
IMS 2.0
ABB Master
Advant Controller AC 450
MasterBus MB 300e
Advant Station 530 IMS, 288 Mbyte RAM
RTA card 16 Mbyte
IMS 2.0 with “programming option” (including AdvaInform UserAPI 1.3)
HP-UX 10.20
Intel Pentium 200 MHz, 192 MB RAM, 2Gbyte disk
PI 3.1 Build 2.71 (in a late phase also PI 3.2 Build 3.29)
Intel NT 4.0 Service Pack 3
ABB IMS Advant Station to PI interface version 3.11
300 AI objects + 100 DI objects on the ABB Master Test system were mapped to 7000
different PI tags
AEH 2.1
ABB MOD 300
This is AdvaInform Enterprise Historian Version 2.1-0.
Software versions included in the AdvaInform Basic Functions 2.2-0:
- HP-UX
10.20
- Motif
1.2
-X
X11R5
- Oracle
7.3.2.3
- TeleUSE
3.2-1
- OS
1.8-0
- OMF
1.4-5
- TypeDir
5.1-1
- UXBase
2.3-0
-
PI-API HP-UX 1.3.4
- PI 3.2 Build 357.17 on Intel NT 4
AEH 2.2
ABB Master
Information about version
This is AdvaInform Enterprise Historian Version 2.2-0.
Software versions included in the AdvaInform Basic Functions 2.2-0:
ABB IMS/AEH Advant Station Interface to the PI System
95
95
Appendix E: Test Environment
96
96
- HP-UX
- Motif
-X
- Oracle
- TeleUSE
- OS
- OMF
- TypeDir
- UXBase
10.20
1.2
X11R5
7.3.2
3.02.B
1.8-0
1.4-5
5.1-3
2.3-0
- PI-API HP-UX
- PI Server
- Interface version
1.3.6 (cfront compatible option 1.3.4 chosen)
PI 3.3, Build 361.96 on Windows 2000
5.09
Appendix F :
Attribute Lists via getObj
The following lists are summaries of attributes, events and operations for the 6 Basic
Object Types + one example for a CCF_PID_LOOP object. Similar information can be
retrieved for any other object type. Remember that you have to ‘cd’ into
/opt/advant/UserAPI/examples first.
$ cd /opt/advant/UserAPI/examples
$ getObj AI
=================================================================
Object AI is of type AI which has:
-Attributes-----------------------------------------------------0 NAME
STRING
21 byte
1 DESCRIPTION
STRING
29 byte
2 STATUS
BITSET
4 byte
3 UNIT
STRING
7 byte
4 RANGE_MIN
FLOAT
4 byte
5 RANGE_MAX
FLOAT
4 byte
6 VALUE
FLOAT
4 byte
7 ERROR_TREAT
SHORT
2 byte
8 NO_OF_DEC
SMALL
1 byte
9 SUBSYSTEM
SMALL
1 byte
10 CLASS
SMALL
1 byte
11 HI_LIM2
FLOAT
4 byte
12 HI_LIM1
FLOAT
4 byte
13 LO_LIM1
FLOAT
4 byte
14 LO_LIM2
FLOAT
4 byte
15 USE_HI_LIM2
BOOLEAN
1 byte
16 USE_HI_LIM1
BOOLEAN
1 byte
17 USE_LO_LIM1
BOOLEAN
1 byte
18 USE_LO_LIM2
BOOLEAN
1 byte
19 LIM1_TREAT
SHORT
2 byte
20 LIM2_TREAT
SHORT
2 byte
21 ain_ab1_dcx
COMPOSITE
12 byte
22 ain_ab2_dcx
COMPOSITE
80 byte
23 ain_ab3_dcx
COMPOSITE
96 byte
24 ain_ab4_dcx
COMPOSITE
100 byte
-Operations-----------------------------------------------------0 Delete
OPERATION
0 byte
1 Deactivate
OPERATION
0 byte
2 Copy
OPERATION
21 byte
3 NormalOperation
OPERATION
0 byte
4 SELECT
OPERATION
84 byte
5 DESELECT
OPERATION
16 byte
6 ORDER
OPERATION
24 byte
7 ACKNOWLEDGE
OPERATION
16 byte
8 GETVALUE
OPERATION
28 byte
-Events---------------------------------------------------------0 EVENT
EVENT
0 byte
$ getObj AO
=================================================================
ABB IMS/AEH Advant Station Interface to the PI System
97
97
Appendix F: Attribute Lists via getObj
Object AO is of type AO which has:
-Attributes-----------------------------------------------------0 NAME
STRING
21 byte
1 DESCRIPTION
STRING
29 byte
2 STATUS
BITSET
4 byte
3 UNIT
STRING
7 byte
4 RANGE_MIN
FLOAT
4 byte
5 RANGE_MAX
FLOAT
4 byte
6 VALUE
FLOAT
4 byte
7 MAX_LIM
FLOAT
4 byte
8 MIN_LIM
FLOAT
4 byte
9 START_VALUE
SHORT
2 byte
10 ERROR_TREAT
SHORT
2 byte
11 NO_OF_DEC
SMALL
1 byte
12 SUBSYSTEM
SMALL
1 byte
13 CLASS
SMALL
1 byte
14 aout_ab1_dcx
COMPOSITE
12 byte
15 aout_ab2_dcx
COMPOSITE
80 byte
16 aout_ab3_dcx
COMPOSITE
88 byte
-Operations-----------------------------------------------------0 Delete
OPERATION
0 byte
1 Deactivate
OPERATION
0 byte
2 Copy
OPERATION
21 byte
3 NormalOperation
OPERATION
0 byte
4 SELECT
OPERATION
84 byte
5 DESELECT
OPERATION
16 byte
6 ORDER
OPERATION
24 byte
7 ACKNOWLEDGE
OPERATION
16 byte
8 GETVALUE
OPERATION
28 byte
-Events---------------------------------------------------------0 EVENT
EVENT
0 byte
=================================================================
$ getObj DI
=================================================================
Object DI is of type DI which has:
-Attributes-----------------------------------------------------0 NAME
STRING
21 byte
1 DESCRIPTION
STRING
29 byte
2 STATUS
BITSET
4 byte
3 ERROR_TREAT
SHORT
2 byte
4 VALUE_TREAT
SHORT
2 byte
5 SUBSYSTEM
SMALL
1 byte
6 CLASS
SMALL
1 byte
7 din_ab1_dcx
COMPOSITE
4 byte
8 din_ab2_dcx
COMPOSITE
60 byte
-Operations-----------------------------------------------------0 Delete
OPERATION
0 byte
1 Deactivate
OPERATION
0 byte
2 Copy
OPERATION
21 byte
3 NormalOperation
OPERATION
0 byte
4 SELECT
OPERATION
84 byte
5 DESELECT
OPERATION
16 byte
98
98
6 ORDER
7 ACKNOWLEDGE
8 GETVALUE
OPERATION
OPERATION
OPERATION
24 byte
16 byte
28 byte
-Events---------------------------------------------------------0 EVENT
EVENT
0 byte
=================================================================
$ getObj DO
=================================================================
Object DO is of type DO which has:
-Attributes-----------------------------------------------------0 NAME
STRING
21 byte
1 DESCRIPTION
STRING
29 byte
2 STATUS
BITSET
4 byte
3 ERROR_TREAT
SHORT
2 byte
4 SUBSYSTEM
SMALL
1 byte
5 CLASS
SMALL
1 byte
6 dout_ab1_dcx
COMPOSITE
4 byte
7 dout_ab2_dcx
COMPOSITE
56 byte
-Operations-----------------------------------------------------0 Delete
OPERATION
0 byte
1 Deactivate
OPERATION
0 byte
2 Copy
OPERATION
21 byte
3 NormalOperation
OPERATION
0 byte
4 SELECT
OPERATION
84 byte
5 DESELECT
OPERATION
16 byte
6 ORDER
OPERATION
24 byte
7 ACKNOWLEDGE
OPERATION
16 byte
8 GETVALUE
OPERATION
28 byte
-Events---------------------------------------------------------0 EVENT
EVENT
0 byte
$ getObj DAT
=================================================================
Object DAT is of type DAT which has:
-Attributes-----------------------------------------------------0 NAME
STRING
21 byte
1 VALID
SMALL
1 byte
2 VAL_TYPE
SMALL
1 byte
3 B0_VAL
BOOLEAN
1 byte
4 B1_VAL
BOOLEAN
1 byte
5 B2_VAL
BOOLEAN
1 byte
6 B3_VAL
BOOLEAN
1 byte
7 B4_VAL
BOOLEAN
1 byte
8 B5_VAL
BOOLEAN
1 byte
9 B6_VAL
BOOLEAN
1 byte
10 B7_VAL
BOOLEAN
1 byte
11 B8_VAL
BOOLEAN
1 byte
12 B9_VAL
BOOLEAN
1 byte
13 B10_VAL
BOOLEAN
1 byte
14 B11_VAL
BOOLEAN
1 byte
15 B12_VAL
BOOLEAN
1 byte
ABB IMS/AEH Advant Station Interface to the PI System
99
99
Appendix F: Attribute Lists via getObj
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
B13_VAL
B14_VAL
B15_VAL
B16_VAL
B17_VAL
B18_VAL
B19_VAL
B20_VAL
B21_VAL
B22_VAL
B23_VAL
B24_VAL
B25_VAL
B26_VAL
B27_VAL
B28_VAL
B29_VAL
B30_VAL
B31_VAL
IW_VAL
IL_VAL
R_VAL
dat_ab1_dcx
dat_ab2_dcx
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
BOOLEAN
SHORT
LONG
FLOAT
COMPOSITE
COMPOSITE
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
4
4
8
28
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
-Operations-----------------------------------------------------0 Delete
OPERATION
0 byte
1 Deactivate
OPERATION
0 byte
2 Copy
OPERATION
21 byte
3 NormalOperation
OPERATION
0 byte
4 DAT_SELECT
OPERATION
52 byte
5 DAT_DESELECT
OPERATION
16 byte
6 DAT_ORDER
OPERATION
32 byte
-Events---------------------------------------------------------0 EVENT
EVENT
0 byte
=================================================================
$ getObj TEXT
=================================================================
Object TEXT is of type TEXT which has:
-Attributes-----------------------------------------------------0 NAME
STRING
21 byte
1 INT_LONG
LONG
4 byte
2 TEXT_REAL
FLOAT
4 byte
3 DISPMAX
FLOAT
4 byte
4 DISPMIN
FLOAT
4 byte
5 NO_OF_DEC
SMALL
1 byte
6 ORD_BLK
SMALL
1 byte
7 STATUS
SH_BITSET
2 byte
8 TEXT
STRING
73 byte
9 td_ab1_dcx
COMPOSITE
88 byte
10 td_ab2_dcx
COMPOSITE
120 byte
-Operations-----------------------------------------------------0 Delete
OPERATION
0 byte
1 Deactivate
OPERATION
0 byte
2 Copy
OPERATION
21 byte
3 NormalOperation
OPERATION
0 byte
100
100
4 TEXT_SELECT
5 TEXT_DESELECT
6 TEXT_ORDER
OPERATION
OPERATION
OPERATION
84 byte
16 byte
104 byte
-Events---------------------------------------------------------0 EVENT
EVENT
0 byte
=================================================================
$
$ getObj CCF_PID_LOOP
Object CCF_PID_LOOP is of type CCF_PID_LOOP which has:
-Attributes------------------------------------------------------0 NAME
STRING
21 byte
1 APL_F1
USMALL
1 byte
2 APL_F10
USMALL
1 byte
3 APL_F2
USMALL
1 byte
4 APL_F3
USMALL
1 byte
5 APL_F4
USMALL
1 byte
6 APL_F5
USMALL
1 byte
7 APL_F6
USMALL
1 byte
8 APL_F7
USMALL
1 byte
9 APL_F8
USMALL
1 byte
10 APL_F9
USMALL
1 byte
11 BLKBYTE
SHORT
2 byte
12 CHK_ENB
USMALL
1 byte
13 COMP_ALL
USMALL
1 byte
14 COMP_MOD
USMALL
1 byte
15 COMP_REQ
USMALL
1 byte
16 CONTPR
LONG
4 byte
17 CONTUAC
USMALL
1 byte
18 CONT_SRC
LONG
4 byte
19 CO_ENAB
USMALL
1 byte
20 CO_RLREF
LONG
4 byte
21 CO_STATE
USMALL
1 byte
22 DEMAND_M
USMALL
1 byte
23 DEMAND_N
USMALL
1 byte
24 DEMAND_X
ARRAY
20 byte
25 DEPENAB
USMALL
1 byte
26 DEVLPNUM
ULONG
4 byte
27 DMD_SCAN
USMALL
1 byte
28 ENAB_FLG
USMALL
1 byte
29 INDEX_1
USMALL
1 byte
30 INDEX_10
USMALL
1 byte
31 INDEX_2
USMALL
1 byte
32 INDEX_3
USMALL
1 byte
33 INDEX_4
USMALL
1 byte
34 INDEX_5
USMALL
1 byte
35 INDEX_6
USMALL
1 byte
36 INDEX_7
USMALL
1 byte
37 INDEX_8
USMALL
1 byte
38 INDEX_9
USMALL
1 byte
39 INSTR
SHORT
2 byte
40 INSTRTYP
USMALL
1 byte
41 LER_ACTN
USMALL
1 byte
42 LOOPDESC
STRING
25 byte
43 LOOPLREF
LONG
4 byte
44 LOOPTYPE
USMALL
1 byte
45 LOOP_DAT
LONG
4 byte
ABB IMS/AEH Advant Station Interface to the PI System
101 101
Appendix F: Attribute Lists via getObj
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
102
102
LOOP_SEQ
LP_CONFG
LP_STATE
NORMSTAT
OUTERROR
PHASE
POSTENAB
PREV_STA
REM_INP
SCANFLAG
SCANRATE
TAG
TCL_DONE
UNITNUM
DQ_ENAB
ALG_NUM
ALM_COMP
ALM_MASK
CONINDEX
CON_DQ
CON_DVDQ
CON_DVHI
CON_DVLO
CON_HI
CON_HIHI
CON_IROC
CON_LO
CON_LOLO
CON_ODQ
CON_OHI
CON_OIRC
CON_OLO
CON_SPDQ
CON_SPHI
CON_SPLO
DECPTPOS
DEV_ALM
DEV_DQ_B
DEV_HI
DEV_LO
C_DQ_BAD
DQ_MEAS
ENGUNITS
ERR_FCM
EU_DEBD
FCMS
HI
HIHI
HIHILIMT
HILIMT
HI_CONV
IROCLIMT
IROC_HI
LOLIMT
LOLO
LOLOLIMT
LOW
LO_CONV
MEASLREF
MEASURE
MEAS_ALM
FLOAT
SMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USHORT
STRING
USMALL
USHORT
USMALL
SMALL
BITSET
LONG
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
STRING
USMALL
FLOAT
ARRAY
USMALL
USMALL
FLOAT
FLOAT
FLOAT
FLOAT
USMALL
FLOAT
USMALL
FLOAT
USMALL
FLOAT
USMALL
FLOAT
USMALL
4
1
1
1
1
1
1
1
1
1
2
13
1
2
1
1
4
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
7
1
4
64
1
1
4
4
4
4
1
4
1
4
1
4
1
4
1
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
MROC_ALM
NBKINPTS
OROC_ALM
OUTP_ALM
OUT_DQ_B
OUT_HI
OUT_IRC
OUT_LO
RD1_K1
SPT_ALM
SP_DQ
SP_HI
SP_LO
TRNDLREF
TRNDRATE
MEASURE_COMP
BAD_INP
BALANCE
B_DQ
B_HILI
B_LMAL
B_LOLI
B_MDAL
B_MODE
B_REMIN
B_VALUE
CTL_RATE
DATAQUAL
FCM_MODE
FULL_OUT
INITMODE
INIT_FLG
INIT_OUT
INPUT_1
LINKFAIL
OUMDFAIL
OUTRETMD
OUTRFAIL
OUT_COND
OUT_DEBD
OUT_HILI
OUT_LOLI
OUT_MODE
OUVAFAIL
OU_LM_AL
OU_MD_AL
PREVOUMD
RATE_CNT
RATE_LIM
REMTRKFL
REMTRKIN
REM_CRTL
RESULT
RET_OUMD
R_DQ
R_HILI
R_LMAL
R_LOLI
R_MDAL
R_MODE
R_REMIN
USMALL
SMALL
USMALL
USMALL
USMALL
USMALL
USMALL
USMALL
FLOAT
USMALL
USMALL
USMALL
USMALL
LONG
USHORT
COMPOSITE
SMALL
SMALL
USMALL
FLOAT
USMALL
FLOAT
USMALL
USMALL
LONG
FLOAT
SMALL
USHORT
USMALL
FLOAT
USMALL
USMALL
FLOAT
LONG
USMALL
USMALL
USMALL
FLOAT
USMALL
FLOAT
FLOAT
FLOAT
SMALL
USMALL
SMALL
SMALL
SMALL
LONG
FLOAT
LONG
LONG
USMALL
FLOAT
SMALL
USMALL
FLOAT
USMALL
FLOAT
USMALL
USMALL
LONG
ABB IMS/AEH Advant Station Interface to the PI System
1
1
1
1
1
1
1
1
4
1
1
1
1
4
2
12
1
1
1
4
1
4
1
1
4
4
1
2
1
4
1
1
4
4
1
1
1
4
1
4
4
4
1
1
1
1
1
4
4
4
4
1
4
1
1
4
1
4
1
1
4
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
103 103
Appendix F: Attribute Lists via getObj
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
104
104
R_VALUE
TRAK_DQ
TRAK_VAR
TRKFLPAD
TRKINPAD
TRKORET
TRK_FLAG
TRK_STAT
WD_COUNT
WD_TIME
WORST_DQ
OUTPUT_COMP
ACCUMINT
ACTION
AC_GAIN
AC_RESET
ADPTMODE
A_GAIN
A_RESET
BAD_SPT
BS_GAIN
BS_RESET
C
CASCADE
DELTA_T
DEV_DEBD
DEV_HILI
DEV_LOLI
DEV_VAL
DTC_ENAB
END_SPT
ERROR
ERR_SQR
EXFBENAB
FFFBMODE
FF_CONST
FF_TYPE
FILT_CON
GAIN_DQ
GAIN_LIM
INC_CV
INC_FLAG
INC_H_DB
INC_L_DB
INC_MFLG
INITSPMD
INIT_SPT
INTGTYPE
INT_DER
INT_FORM
MPROCVAL
M_R_HILI
M_R_LOLI
M_R_TYPE
M_R_VAL
PREACT
PREACTIM
PRERMPMD
PREVFFFB
PREVINTG
PREVSPMD
FLOAT
USMALL
FLOAT
LONG
LONG
USMALL
USMALL
USMALL
LONG
LONG
USMALL
COMPOSITE
DOUBLE
USMALL
FLOAT
FLOAT
SMALL
LONG
LONG
SMALL
FLOAT
FLOAT
FLOAT
USMALL
FLOAT
FLOAT
FLOAT
FLOAT
FLOAT
USMALL
FLOAT
FLOAT
USMALL
USMALL
SMALL
FLOAT
USMALL
FLOAT
USMALL
FLOAT
FLOAT
USMALL
FLOAT
FLOAT
USMALL
USMALL
FLOAT
SMALL
FLOAT
USMALL
FLOAT
FLOAT
FLOAT
SMALL
FLOAT
SMALL
FLOAT
SMALL
SMALL
FLOAT
SMALL
4
1
4
4
4
1
1
1
4
4
1
8
8
1
4
4
1
4
4
1
4
4
4
1
4
4
4
4
4
1
4
4
1
1
1
4
1
4
1
4
4
1
4
4
1
1
4
1
4
1
4
4
4
1
4
1
4
1
1
4
1
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
PROC_DQ
PROC_ENG
PROC_HV
PROC_LV
PROC_VAL
PROPTYPE
RD1_K2
RD1_K3
RD1_K4
REMINF
REMSETPT
REMSPTN
REM_DTC
REM_EXFB
REM_EXFF
RESET_DQ
RET_SPMD
RMP_RATE
SETPOINT
SETPTN
SETPT_DQ
SPMDFAIL
SPREFAIL
SPRETMD
SPTRKSRC
SPT_HILI
SPT_LOLI
SPT_MODE
SPVAFAIL
SP_LM_AL
SP_MD_AL
TRKSRET
TUNE_FLG
ATUNE_ID
EXEC_AT
SETPOINT_COMP
USMALL
FLOAT
FLOAT
FLOAT
FLOAT
SMALL
FLOAT
FLOAT
FLOAT
SMALL
LONG
SMALL
LONG
LONG
LONG
USMALL
SMALL
FLOAT
FLOAT
FLOAT
USMALL
USMALL
FLOAT
USMALL
LONG
FLOAT
FLOAT
SMALL
USMALL
SMALL
SMALL
USMALL
USMALL
ULONG
USMALL
COMPOSITE
1
4
4
4
4
1
4
4
4
1
4
1
4
4
4
1
1
4
4
4
1
1
4
1
4
4
4
1
1
1
1
1
1
4
1
8
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
-Operations------------------------------------------------------0 Delete
OPERATION
0 byte
1 Deactivate
OPERATION
0 byte
2 Copy
OPERATION
21 byte
3 NormalOperation
OPERATION
0 byte
4 TAKE_CONTROL
OPERATION
4 byte
5 PUT_APL_F1
OPERATION
1 byte
6 PUT_APL_F10
OPERATION
1 byte
7 PUT_APL_F2
OPERATION
1 byte
8 PUT_APL_F3
OPERATION
1 byte
9 PUT_APL_F4
OPERATION
1 byte
10 PUT_APL_F5
OPERATION
1 byte
11 PUT_APL_F6
OPERATION
1 byte
12 PUT_APL_F7
OPERATION
1 byte
13 PUT_APL_F8
OPERATION
1 byte
14 PUT_APL_F9
OPERATION
1 byte
15 PUT_BLKBYTE
OPERATION
2 byte
16 PUT_CHK_ENB
OPERATION
1 byte
17 PUT_COMP_ALL
OPERATION
1 byte
18 PUT_COMP_MOD
OPERATION
1 byte
19 PUT_COMP_REQ
OPERATION
1 byte
20 PUT_CONTPR
OPERATION
4 byte
21 PUT_CONTUAC
OPERATION
1 byte
22 PUT_CONT_SRC
OPERATION
4 byte
ABB IMS/AEH Advant Station Interface to the PI System
105 105
Appendix F: Attribute Lists via getObj
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
106
106
PUT_CO_ENAB
PUT_CO_RLREF
PUT_CO_STATE
PUT_DEMAND_M
PUT_DEMAND_N
PUT_DEMAND_X
PUT_DEPENAB
PUT_DEVLPNUM
PUT_DMD_SCAN
PUT_ENAB_FLG
PUT_INDEX_1
PUT_INDEX_10
PUT_INDEX_2
PUT_INDEX_3
PUT_INDEX_4
PUT_INDEX_5
PUT_INDEX_6
PUT_INDEX_7
PUT_INDEX_8
PUT_INDEX_9
PUT_INSTR
PUT_INSTRTYP
PUT_LER_ACTN
PUT_LOOPDESC
PUT_LOOPLREF
PUT_LOOPTYPE
PUT_LOOP_DAT
PUT_LOOP_SEQ
PUT_LP_CONFG
PUT_LP_STATE
PUT_NORMSTAT
PUT_OUTERROR
PUT_PHASE
PUT_POSTENAB
PUT_PREV_STA
PUT_REM_INP
PUT_SCANFLAG
PUT_SCANRATE
PUT_TAG
PUT_TCL_DONE
PUT_UNITNUM
PUT_DQ_ENAB
PUT_ALG_NUM
PUT_ALM_COMP
PUT_ALM_MASK
PUT_CONINDEX
PUT_CON_DQ
PUT_CON_DVDQ
PUT_CON_DVHI
PUT_CON_DVLO
PUT_CON_HI
PUT_CON_HIHI
PUT_CON_IROC
PUT_CON_LO
PUT_CON_LOLO
PUT_CON_ODQ
PUT_CON_OHI
PUT_CON_OIRC
PUT_CON_OLO
PUT_CON_SPDQ
PUT_CON_SPHI
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
1
4
1
1
1
20
1
4
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
25
4
1
4
4
1
1
1
1
1
1
1
1
1
2
13
1
2
1
1
4
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
PUT_CON_SPLO
PUT_DECPTPOS
PUT_DEV_ALM
PUT_DEV_DQ_B
PUT_DEV_HI
PUT_DEV_LO
PUT_C_DQ_BAD
PUT_DQ_MEAS
PUT_ENGUNITS
PUT_ERR_FCM
PUT_EU_DEBD
PUT_FCMS
PUT_HI
PUT_HIHI
PUT_HIHILIMT
PUT_HILIMT
PUT_HI_CONV
PUT_IROCLIMT
PUT_IROC_HI
PUT_LOLIMT
PUT_LOLO
PUT_LOLOLIMT
PUT_LOW
PUT_LO_CONV
PUT_MEASLREF
PUT_MEASURE
PUT_MEAS_ALM
PUT_MROC_ALM
PUT_NBKINPTS
PUT_OROC_ALM
PUT_OUTP_ALM
PUT_OUT_DQ_B
PUT_OUT_HI
PUT_OUT_IRC
PUT_OUT_LO
PUT_RD1_K1
PUT_SPT_ALM
PUT_SP_DQ
PUT_SP_HI
PUT_SP_LO
PUT_TRNDLREF
PUT_TRNDRATE
PUT_BAD_INP
PUT_BALANCE
PUT_B_DQ
PUT_B_HILI
PUT_B_LMAL
PUT_B_LOLI
PUT_B_MDAL
PUT_B_MODE
PUT_B_REMIN
PUT_B_VALUE
PUT_CTL_RATE
PUT_DATAQUAL
PUT_FCM_MODE
PUT_FULL_OUT
PUT_INITMODE
PUT_INIT_FLG
PUT_INIT_OUT
PUT_INPUT_1
PUT_LINKFAIL
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
ABB IMS/AEH Advant Station Interface to the PI System
1
1
1
1
1
1
1
1
7
1
4
64
1
1
4
4
4
4
1
4
1
4
1
4
1
4
1
1
1
1
1
1
1
1
1
4
1
1
1
1
4
2
1
1
1
4
1
4
1
1
4
4
1
2
1
4
1
1
4
4
1
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
107 107
Appendix F: Attribute Lists via getObj
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
108
108
PUT_OUMDFAIL
PUT_OUTRETMD
PUT_OUTRFAIL
PUT_OUT_COND
PUT_OUT_DEBD
PUT_OUT_HILI
PUT_OUT_LOLI
PUT_OUT_MODE
PUT_OUVAFAIL
PUT_OU_LM_AL
PUT_OU_MD_AL
PUT_PREVOUMD
PUT_RATE_CNT
PUT_RATE_LIM
PUT_REMTRKFL
PUT_REMTRKIN
PUT_REM_CRTL
PUT_RESULT
PUT_RET_OUMD
PUT_R_DQ
PUT_R_HILI
PUT_R_LMAL
PUT_R_LOLI
PUT_R_MDAL
PUT_R_MODE
PUT_R_REMIN
PUT_R_VALUE
PUT_TRAK_DQ
PUT_TRAK_VAR
PUT_TRKFLPAD
PUT_TRKINPAD
PUT_TRKORET
PUT_TRK_FLAG
PUT_TRK_STAT
PUT_WD_COUNT
PUT_WD_TIME
PUT_WORST_DQ
PUT_ACCUMINT
PUT_ACTION
PUT_AC_GAIN
PUT_AC_RESET
PUT_ADPTMODE
PUT_A_GAIN
PUT_A_RESET
PUT_BAD_SPT
PUT_BS_GAIN
PUT_BS_RESET
PUT_C
PUT_CASCADE
PUT_DELTA_T
PUT_DEV_DEBD
PUT_DEV_HILI
PUT_DEV_LOLI
PUT_DEV_VAL
PUT_DTC_ENAB
PUT_END_SPT
PUT_ERROR
PUT_ERR_SQR
PUT_EXFBENAB
PUT_FFFBMODE
PUT_FF_CONST
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
1
1
4
1
4
4
4
1
1
1
1
1
4
4
4
4
1
4
1
1
4
1
4
1
1
4
4
1
4
4
4
1
1
1
4
4
1
8
1
4
4
1
4
4
1
4
4
4
1
4
4
4
4
4
1
4
4
1
1
1
4
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
PUT_FF_TYPE
PUT_FILT_CON
PUT_GAIN_DQ
PUT_GAIN_LIM
PUT_INC_CV
PUT_INC_FLAG
PUT_INC_H_DB
PUT_INC_L_DB
PUT_INC_MFLG
PUT_INITSPMD
PUT_INIT_SPT
PUT_INTGTYPE
PUT_INT_DER
PUT_INT_FORM
PUT_MPROCVAL
PUT_M_R_HILI
PUT_M_R_LOLI
PUT_M_R_TYPE
PUT_M_R_VAL
PUT_PREACT
PUT_PREACTIM
PUT_PRERMPMD
PUT_PREVFFFB
PUT_PREVINTG
PUT_PREVSPMD
PUT_PROC_DQ
PUT_PROC_ENG
PUT_PROC_HV
PUT_PROC_LV
PUT_PROC_VAL
PUT_PROPTYPE
PUT_RD1_K2
PUT_RD1_K3
PUT_RD1_K4
PUT_REMINF
PUT_REMSETPT
PUT_REMSPTN
PUT_REM_DTC
PUT_REM_EXFB
PUT_REM_EXFF
PUT_RESET_DQ
PUT_RET_SPMD
PUT_RMP_RATE
PUT_SETPOINT
PUT_SETPTN
PUT_SETPT_DQ
PUT_SPMDFAIL
PUT_SPREFAIL
PUT_SPRETMD
PUT_SPTRKSRC
PUT_SPT_HILI
PUT_SPT_LOLI
PUT_SPT_MODE
PUT_SPVAFAIL
PUT_SP_LM_AL
PUT_SP_MD_AL
PUT_TRKSRET
PUT_TUNE_FLG
PUT_ATUNE_ID
PUT_EXEC_AT
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
OPERATION
ABB IMS/AEH Advant Station Interface to the PI System
1
4
1
4
4
1
4
4
1
1
4
1
4
1
4
4
4
1
4
1
4
1
1
4
1
1
4
4
4
4
1
4
4
4
1
4
1
4
4
4
1
1
4
4
4
1
1
4
1
4
4
4
1
1
1
1
1
1
4
1
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
109 109
Appendix F: Attribute Lists via getObj
-Events----------------------------------------------------------0 DUMMY_EVENT
EVENT
4 byte
1 CHG_APL_F1
EVENT
2 byte
2 CHG_APL_F10
EVENT
2 byte
3 CHG_APL_F2
EVENT
2 byte
4 CHG_APL_F3
EVENT
2 byte
5 CHG_APL_F4
EVENT
2 byte
6 CHG_APL_F5
EVENT
2 byte
7 CHG_APL_F6
EVENT
2 byte
8 CHG_APL_F7
EVENT
2 byte
9 CHG_APL_F8
EVENT
2 byte
10 CHG_APL_F9
EVENT
2 byte
11 CHG_BLKBYTE
EVENT
4 byte
12 CHG_CHK_ENB
EVENT
2 byte
13 CHG_COMP_ALL
EVENT
2 byte
14 CHG_COMP_MOD
EVENT
2 byte
15 CHG_COMP_REQ
EVENT
2 byte
16 CHG_CONTPR
EVENT
8 byte
17 CHG_CONTUAC
EVENT
2 byte
18 CHG_CONT_SRC
EVENT
8 byte
19 CHG_CO_ENAB
EVENT
2 byte
20 CHG_CO_RLREF
EVENT
8 byte
21 CHG_CO_STATE
EVENT
2 byte
22 CHG_DEMAND_M
EVENT
2 byte
23 CHG_DEMAND_N
EVENT
2 byte
24 CHG_DEMAND_X
EVENT
40 byte
25 CHG_DEPENAB
EVENT
2 byte
26 CHG_DEVLPNUM
EVENT
8 byte
27 CHG_DMD_SCAN
EVENT
2 byte
28 CHG_ENAB_FLG
EVENT
2 byte
29 CHG_INDEX_1
EVENT
2 byte
30 CHG_INDEX_10
EVENT
2 byte
31 CHG_INDEX_2
EVENT
2 byte
32 CHG_INDEX_3
EVENT
2 byte
33 CHG_INDEX_4
EVENT
2 byte
34 CHG_INDEX_5
EVENT
2 byte
35 CHG_INDEX_6
EVENT
2 byte
36 CHG_INDEX_7
EVENT
2 byte
37 CHG_INDEX_8
EVENT
2 byte
38 CHG_INDEX_9
EVENT
2 byte
39 CHG_INSTR
EVENT
4 byte
40 CHG_INSTRTYP
EVENT
2 byte
41 CHG_LER_ACTN
EVENT
2 byte
42 CHG_LOOPDESC
EVENT
50 byte
43 CHG_LOOPLREF
EVENT
8 byte
44 CHG_LOOPTYPE
EVENT
2 byte
45 CHG_LOOP_DAT
EVENT
8 byte
46 CHG_LOOP_SEQ
EVENT
8 byte
47 CHG_LP_CONFG
EVENT
2 byte
48 CHG_LP_STATE
EVENT
2 byte
49 CHG_NORMSTAT
EVENT
2 byte
50 CHG_OUTERROR
EVENT
2 byte
51 CHG_PHASE
EVENT
2 byte
52 CHG_POSTENAB
EVENT
2 byte
53 CHG_PREV_STA
EVENT
2 byte
54 CHG_REM_INP
EVENT
2 byte
55 CHG_SCANFLAG
EVENT
2 byte
56 CHG_SCANRATE
EVENT
4 byte
57 CHG_TAG
EVENT
26 byte
58 CHG_TCL_DONE
EVENT
2 byte
59 CHG_UNITNUM
EVENT
4 byte
110
110
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
CHG_DQ_ENAB
CHG_ALG_NUM
CHG_ALM_COMP
CHG_ALM_MASK
CHG_CONINDEX
CHG_CON_DQ
CHG_CON_DVDQ
CHG_CON_DVHI
CHG_CON_DVLO
CHG_CON_HI
CHG_CON_HIHI
CHG_CON_IROC
CHG_CON_LO
CHG_CON_LOLO
CHG_CON_ODQ
CHG_CON_OHI
CHG_CON_OIRC
CHG_CON_OLO
CHG_CON_SPDQ
CHG_CON_SPHI
CHG_CON_SPLO
CHG_DECPTPOS
CHG_DEV_ALM
CHG_DEV_DQ_B
CHG_DEV_HI
CHG_DEV_LO
CHG_C_DQ_BAD
CHG_DQ_MEAS
CHG_ENGUNITS
CHG_ERR_FCM
CHG_EU_DEBD
CHG_FCMS
CHG_HI
CHG_HIHI
CHG_HIHILIMT
CHG_HILIMT
CHG_HI_CONV
CHG_IROCLIMT
CHG_IROC_HI
CHG_LOLIMT
CHG_LOLO
CHG_LOLOLIMT
CHG_LOW
CHG_LO_CONV
CHG_MEASLREF
CHG_MEASURE
CHG_MEAS_ALM
CHG_MROC_ALM
CHG_NBKINPTS
CHG_OROC_ALM
CHG_OUTP_ALM
CHG_OUT_DQ_B
CHG_OUT_HI
CHG_OUT_IRC
CHG_OUT_LO
CHG_RD1_K1
CHG_SPT_ALM
CHG_SP_DQ
CHG_SP_HI
CHG_SP_LO
CHG_TRNDLREF
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
ABB IMS/AEH Advant Station Interface to the PI System
2
2
8
8
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
14
2
8
128
2
2
8
8
8
8
2
8
2
8
2
8
2
8
2
2
2
2
2
2
2
2
2
8
2
2
2
2
8
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
111 111
Appendix F: Attribute Lists via getObj
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
112
112
CHG_TRNDRATE
CHG_BAD_INP
CHG_BALANCE
CHG_B_DQ
CHG_B_HILI
CHG_B_LMAL
CHG_B_LOLI
CHG_B_MDAL
CHG_B_MODE
CHG_B_REMIN
CHG_B_VALUE
CHG_CTL_RATE
CHG_DATAQUAL
CHG_FCM_MODE
CHG_FULL_OUT
CHG_INITMODE
CHG_INIT_FLG
CHG_INIT_OUT
CHG_INPUT_1
CHG_LINKFAIL
CHG_OUMDFAIL
CHG_OUTRETMD
CHG_OUTRFAIL
CHG_OUT_COND
CHG_OUT_DEBD
CHG_OUT_HILI
CHG_OUT_LOLI
CHG_OUT_MODE
CHG_OUVAFAIL
CHG_OU_LM_AL
CHG_OU_MD_AL
CHG_PREVOUMD
CHG_RATE_CNT
CHG_RATE_LIM
CHG_REMTRKFL
CHG_REMTRKIN
CHG_REM_CRTL
CHG_RESULT
CHG_RET_OUMD
CHG_R_DQ
CHG_R_HILI
CHG_R_LMAL
CHG_R_LOLI
CHG_R_MDAL
CHG_R_MODE
CHG_R_REMIN
CHG_R_VALUE
CHG_TRAK_DQ
CHG_TRAK_VAR
CHG_TRKFLPAD
CHG_TRKINPAD
CHG_TRKORET
CHG_TRK_FLAG
CHG_TRK_STAT
CHG_WD_COUNT
CHG_WD_TIME
CHG_WORST_DQ
CHG_ACCUMINT
CHG_ACTION
CHG_AC_GAIN
CHG_AC_RESET
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
4
2
2
2
8
2
8
2
2
8
8
2
4
2
8
2
2
8
8
2
2
2
8
2
8
8
8
2
2
2
2
2
8
8
8
8
2
8
2
2
8
2
8
2
2
8
8
2
8
8
8
2
2
2
8
8
2
16
2
8
8
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
CHG_ADPTMODE
CHG_A_GAIN
CHG_A_RESET
CHG_BAD_SPT
CHG_BS_GAIN
CHG_BS_RESET
CHG_C
CHG_CASCADE
CHG_DELTA_T
CHG_DEV_DEBD
CHG_DEV_HILI
CHG_DEV_LOLI
CHG_DEV_VAL
CHG_DTC_ENAB
CHG_END_SPT
CHG_ERROR
CHG_ERR_SQR
CHG_EXFBENAB
CHG_FFFBMODE
CHG_FF_CONST
CHG_FF_TYPE
CHG_FILT_CON
CHG_GAIN_DQ
CHG_GAIN_LIM
CHG_INC_CV
CHG_INC_FLAG
CHG_INC_H_DB
CHG_INC_L_DB
CHG_INC_MFLG
CHG_INITSPMD
CHG_INIT_SPT
CHG_INTGTYPE
CHG_INT_DER
CHG_INT_FORM
CHG_MPROCVAL
CHG_M_R_HILI
CHG_M_R_LOLI
CHG_M_R_TYPE
CHG_M_R_VAL
CHG_PREACT
CHG_PREACTIM
CHG_PRERMPMD
CHG_PREVFFFB
CHG_PREVINTG
CHG_PREVSPMD
CHG_PROC_DQ
CHG_PROC_ENG
CHG_PROC_HV
CHG_PROC_LV
CHG_PROC_VAL
CHG_PROPTYPE
CHG_RD1_K2
CHG_RD1_K3
CHG_RD1_K4
CHG_REMINF
CHG_REMSETPT
CHG_REMSPTN
CHG_REM_DTC
CHG_REM_EXFB
CHG_REM_EXFF
CHG_RESET_DQ
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
ABB IMS/AEH Advant Station Interface to the PI System
2
8
8
2
8
8
8
2
8
8
8
8
8
2
8
8
2
2
2
8
2
8
2
8
8
2
8
8
2
2
8
2
8
2
8
8
8
2
8
2
8
2
2
8
2
2
8
8
8
8
2
8
8
8
2
8
2
8
8
8
2
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
113 113
Appendix F: Attribute Lists via getObj
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
$
CHG_RET_SPMD
CHG_RMP_RATE
CHG_SETPOINT
CHG_SETPTN
CHG_SETPT_DQ
CHG_SPMDFAIL
CHG_SPREFAIL
CHG_SPRETMD
CHG_SPTRKSRC
CHG_SPT_HILI
CHG_SPT_LOLI
CHG_SPT_MODE
CHG_SPVAFAIL
CHG_SP_LM_AL
CHG_SP_MD_AL
CHG_TRKSRET
CHG_TUNE_FLG
CHG_ATUNE_ID
CHG_EXEC_AT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
EVENT
2
8
8
8
2
2
8
2
8
8
8
2
2
2
2
2
2
8
2
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
byte
$ getObj VA_STRING_FCM
Object VA_STRING_FCM is of type VA_STRING_FCM which has:
-Attributes------------------------------------------------------0 NAME
STRING
21 byte
1 ALG_NUM
SMALL
1 byte
2 DATAQUAL
USHORT
2 byte
3 DEVLPNUM
ULONG
4 byte
4 FCM_ID
STRING
4 byte
5 FCM_MODE
USMALL
1 byte
6 INITMODE
USMALL
1 byte
7 INIT_FLG
USMALL
1 byte
8 INIT_OUT
FLOAT
4 byte
9 INPUT_1
LONG
4 byte
10 OUT_MODE
SMALL
1 byte
11 RESULT
FLOAT
4 byte
12 WORST_DQ
USMALL
1 byte
13 SVALUE
STRING
41 byte
-Operations------------------------------------------------------0 Delete
OPERATION
0 byte
1 Deactivate
OPERATION
0 byte
2 Copy
OPERATION
21 byte
3 NormalOperation
OPERATION
0 byte
4 TAKE_CONTROL
OPERATION
4 byte
5 PUT_ALG_NUM
OPERATION
1 byte
6 PUT_DATAQUAL
OPERATION
2 byte
7 PUT_DEVLPNUM
OPERATION
4 byte
8 PUT_FCM_ID
OPERATION
4 byte
9 PUT_FCM_MODE
OPERATION
1 byte
10 PUT_INITMODE
OPERATION
1 byte
11 PUT_INIT_FLG
OPERATION
1 byte
12 PUT_INIT_OUT
OPERATION
4 byte
13 PUT_INPUT_1
OPERATION
4 byte
14 PUT_OUT_MODE
OPERATION
1 byte
15 PUT_RESULT
OPERATION
4 byte
16 PUT_WORST_DQ
OPERATION
1 byte
17 PUT_SVALUE
OPERATION
41 byte
114
114
-Events----------------------------------------------------------0 DUMMY_EVENT
EVENT
4 byte
1 CHG_ALG_NUM
EVENT
2 byte
2 CHG_DATAQUAL
EVENT
4 byte
3 CHG_DEVLPNUM
EVENT
8 byte
4 CHG_FCM_ID
EVENT
8 byte
5 CHG_FCM_MODE
EVENT
2 byte
6 CHG_INITMODE
EVENT
2 byte
7 CHG_INIT_FLG
EVENT
2 byte
8 CHG_INIT_OUT
EVENT
8 byte
9 CHG_INPUT_1
EVENT
8 byte
10 CHG_OUT_MODE
EVENT
2 byte
11 CHG_RESULT
EVENT
8 byte
12 CHG_WORST_DQ
EVENT
2 byte
13 CHG_SVALUE
EVENT
82 byte
ABB IMS/AEH Advant Station Interface to the PI System
115 115
Appendix G:
Mounting an NT CD ROM on an HP-UX Advant Station
Recent Advant Stations are not necessarily equipped with a DAT tape drive, so having the
compressed tar file on a tape would not help. But usually, there is a CD ROM drive.
It may happen that you have a CD burnt (and readable) on an NT computer and you need
to transfer the Unix related file(s) to the Advant Station. Sometimes, there is no PC with
a CD ROM drive in the neighborhood from which you could ftp the files.
In Windows Explorer, the files on CD may appear as follows:
To transfer abbimspi_5.05.tar.Z to the HP-UX box, do the following:
(The example actions have been performed under the root account.)
Insert the CD into the CD ROM drive of the Advant Station.
You need a directory /cdrom.
Create a working directory for the file, for example /tmp/abbimspi.
# mkdir /tmp/abbimspi
Mount the CDROM drive.
# mount /cdrom
Navigate to the file.
# cd /cdrom
# ls –l
total 12
dr-xr-xr-x
dr-xr-xr-x
dr-xr-xr-x
1 4294967295 4294967295
1 4294967295 4294967295
1 4294967295 4294967295
ABB IMS/AEH Advant Station Interface to the PI System
2048 May 10 15:32 CD05(B~1
2048 May 24 14:41 INTERF~1
2048 May 24 14:44 INTERF~2
117 117
Appendix F: Attribute Lists via getObj
# cd INTERF~2
# ls –l
total 4
dr-xr-xr-x
1 4294967295 4294967295
2048 May 24 14:44 ABBIMSPI
1
1
1
1
1
1
1
2048
2048
2048
2048
2048
2048
2048
# cd ABBIMSPI
# ls –l
total 28
dr-xr-xr-x
dr-xr-xr-x
dr-xr-xr-x
dr-xr-xr-x
dr-xr-xr-x
dr-xr-xr-x
dr-xr-xr-x
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
May
May
May
May
May
May
May
24
24
24
24
24
24
24
14:44
14:44
14:44
14:44
14:44
14:44
14:44
321REL
423REL
424REL
500REL
501REL
504REL
505VER
# cd 505VER
# ls –l
total 8
dr-xr-xr-x
dr-xr-xr-x
1 4294967295 4294967295
1 4294967295 4294967295
2048 May 24 14:44 HPUX
2048 May 24 14:44 NTI
# cd HPUX
# ls –l
total 2592
-r-xr-xr-x
-r-xr-xr-x
-r-xr-xr-x
-r-xr-xr-x
-r-xr-xr-x
-r-xr-xr-x
1
1
1
1
1
1
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
4294967295
683520
103080
292947
44892
149989
45304
Dec
Dec
Dec
Dec
Dec
Dec
27
27
27
27
27
27
2001
2001
2001
2001
2001
2001
ABBIMS.DOC;1
ABBIMSPI.O;1
ABBIMS~1.EXE;1
ABBIMS~1.TXT;1
ABBIMS~1.Z;1
ABBIMS~1.ZIP;1
Copy the file you need on Unix to the working directory and rename it to the original
name. Note the double quotes around the file name! Uncompress and un-tar the file and
we’re set.
# cp “ABBIMS~1.Z;1” /tmp/abbimspi
# cd /tmp/abbimspi
# ls –l
total 320
-r-xr-xr-x
1 root
sys
118
118
149989 Jul 18 09:29 ABBIMS~1.Z;1
#
#
#
x
x
x
x
x
x
x
x
x
x
x
x
x
mv “ABBIMS~1.Z;1” abbimspi_5.05.tar.Z
uncompress abbimspi_5.05.tar.Z
tar –xvf abbimspi_5.05.tar
./abbimspi.o, 103080 bytes, 202 tape blocks
./uniint.o, 84432 bytes, 165 tape blocks
./apiMake, 1970 bytes, 4 tape blocks
./apiMakefile, 2652 bytes, 6 tape blocks
./StartPIAPIOnBoot, 39 bytes, 1 tape blocks
./ifinfo, 341 bytes, 1 tape blocks
./ifstop, 415 bytes, 1 tape blocks
./abbimspi_cyclic.sh.new, 1041 bytes, 3 tape blocks
./abbimspi_demand.sh.new, 1224 bytes, 3 tape blocks
./abbimspi_event.sh.new, 1043 bytes, 3 tape blocks
./abbimscp.o, 7684 bytes, 16 tape blocks
./abbimscp.mak, 210 bytes, 1 tape blocks
./release_notes, 44309 bytes, 87 tape blocks
Finally, dismount the CD ROM drive. There must not be any open files from this
directory or a window pointing to it. You can remove the CD afterwards.
# umount /cdrom
ABB IMS/AEH Advant Station Interface to the PI System
119 119
Revision History
Date
Author
Comments
24-Nov-96
KP
Written
18-Dec-96
KP
Added version overview and getObj hints
12-Mar-97
KP
Modifications for Version 3.x (DoRequest support)
26-Apr-97
KP
Revised
01-Nov-97
KP
Added more HP-UX and IMS hints
25-Feb-98
KP
Hints for increasing Shared Memory on the Advant
Station
16-May-98
KP
Remarks regarding support for IMS 2.0 on HP-UX
10.20, hints for better performance, description of
control program,
31-May-98
KP
Added description of /id=…startup parameter
10-Jul-98
KP
Revised, Support of additional object types
29-Oct-98
KP
Add exact paths for IMS 2.0 (IMSstop, config.cfg)
13-Jan-99
KP
Revised, Interface stop via Control Program possible
(V3.21)
30-Jun-99
MMG
Add sections for Intel-NT version (v4.0).
02-Dec-99
KP
Add new requirements for version 4.x
Add remark for negative /du argument in event
interfaces
Add practical experiences for startup on NT.
20-Mar-00
KP
Add startup parameter /ndw
04-Apr-00
KP
Add information about ABB’s node down patch
05-Apr-00
KP
Add info that output to TEXT objects is supported
22-Dec-00
KP
String tag support
20-May-01
KP
Add description of startup parameter /startup_delay
Remove all references to IMS 1.x and HP-UX 9.x.
10-Jul-01
KP
Revised. Mention enhanced sitestop in PI-API 1.3.4.
12-Oct-01
KP
Refine registry key info for SharedMemory on NT
13-Feb-02
KP
Manual re-written for release 5.07, modified according
to the Interface Skeleton Version 1.11 standard
01-Jul-02
KP
Revised and updated for version 5.09
08-Aug-02
CG
Formatting; fixed headers & footers
28-Mar-03
KP
Added description of /timsrc switch
Added Appendix describing mounting an NT CDROM
on an HP-UX machine
ABB IMS/AEH Advant Station Interface to the PI System
121 121
Revision History
Date
122
122
Author
Comments
02-Apr-03
KP
Removed description of ABB’s IMSstop script
modification, documented graceful interface stop using
Process Supervision instead.
04-Apr-03
KP
Added information on how to extract a tag list from a
MOD 300 system
17-Apr-03
KP
Added recommendation for /dbuniint=0x0008 startup
parameter
23-Apr-03
KP
More AEH version information in Introduction
30-Apr-03
KP
Change names of sample startup files (.bat.new, .sh.new)
04-Jun-03
CG
Minor formatting changes; added ICU
23-Jun-03
KP
Minor revision
28-Jul-03
MKP
Added interface ICU control screenshot.
23-Oct-03
KP
Corrected * Source of Timestamps in the 'Supported
Features' table to also mention PI Server time.
22-Mar-04
KP
Pointed out that the interface does not currently support
PI-API versions greater then 1.3.4 on HP-UX. No
restrictions for the Windows version.