GE FANUC CIMPLICITY HMI
Interface to the PI System

Version 4.0.0.0

i

UniInt End-User Interface to the PI System

How to Contact Us

Phone / (510) 297-5800 (main number)
(510) 297-5828 (technical support)
Fax / (510) 357-8136
E-mail /
World Wide Web / http://www.osisoft.com
Mail / OSIsoft
P.O. Box 727
San Leandro, CA 94577-0427
USA
OSI Software GmbH
Hauptstrabe 30
D-63674 Altenstadt 1
Deutschland / OSI Software, Ltd
P O Box 8256
Symonds Street
Auckland 1035 New Zealand
OSI Software, Asia Pte Ltd
152 Beach Road
#09-06 Gateway East
Singapore, 189721

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 OSIsoft, Inc. Microsoft Windows, Microsoft Windows for Workgroups, and Microsoft NT are registered trademarks of Microsoft Corporation. Solaris is a registered trademark of Sun Microsystems. HPUX is a registered trademark of Hewlett Packard Corp.. IBM AIX RS/6000 is a registered trademark of the IBM Corporation. DUX, DEC VAX and DEC Alpha are registered trademarks of the Digital Equipment Corporation.
PI_GECimpi.doc

Ó 2000-2005 OSIsoft, Inc. All rights reserved
777 Davis Street, Suite 250, San Leandro, CA 94577

i

UniInt End-User Interface to the PI System

Table of Contents

Introduction 1

Reference Manuals 2

Supported Features 2

Diagram of Hardware Connection 5

Principles of Operation 7

Installation Checklist 11

Interface Installation 13

Naming Conventions and Requirements 13

Interface Directories 13

Interface Installation Procedure 14

Installing the Interface as an NT Service 14

Connection Tool 19

Digital States 21

PointSource 23

PI Point Configuration 25

Point Attributes 25

Output Points 29

Performance Point Configuration 31

I/O Rate Tag Configuration 33

Monitoring I/O Rates on the Interface Node 33

Configuring I/O Rate Tags with PI-ICU (NT-Intel) 33

Configuring I/O Rate Tags Manually 34

Startup Command File 37

Configuring the Interface with PI-ICU 37

Command-line Parameters 43

Sample PICimpi_HMI5x.bat File 46

Interface Node Clock 49

Security 51

Starting / Stopping the Interface 53

Starting Interface as a Service 53

Stopping Interface Running as a Service 53

Buffering 55

Configuring Buffering with PI-ICU (NT-Intel) 55

Configuring Buffering Manually 58

Sample PIClient.ini File 60

Appendix A: Error and Informational Messages 61

Message Logs 61

Messages 61

System Errors and PI Errors 62

Revision History 63

59

GE FANUC CIMPLICITY HMI Interface Documentation 59

Introduction

The PI GE FANUC CIMPLICITY HMI Interface (PI-CIMPI) provides the transfer of data between the GE FANUC CIMPLICITY system, version 4.01 and higher, and the OSIsoft Plant Information (PI) System. Two versions of the interface executable are shipped with the interface distribution, PICimpi_HMI50.exe and PICimpi_HMI55.exe. PICimpi_HMI50.exe is used when running against version 4.01 or 5.0 of the Cimplicity HMI. PICimpi_HMI55.exe is used when running against version 5.5, 6.0, or 6.1 of the Cimplicity HMI. The interface runs on any WindowsXP or Windows Server platforms.

The interface is bi-directional. The interface reads data from a single project on one CIMPLICITY server and sends the data to the PI server. The interface can also output data to the single specified project as well. The interface may run on a CIMPLICITY Viewer node or a CIMPLICITY server node. The CIMPLICITY system supports a fail-over mechanism where a Viewer Node can be configured to collect data from the active project on one of two CIMPLICITY servers configured for fail-over.

The interface obtains data from the CIMPLICITY server on an exception basis. The interface checks for new data at a configurable scan rate (default is 250ms). The user can choose to have the data time stamped in one of 3 ways; use the raw unadjusted time from the Cimplicity server, use the PI server time at which the event was received, or use the adjusted time from the Cimplicity server. If using the adjusted time from the Cimplicity server, which is the default, the PI-CIMPI interface queries the Cimplicity server for the current time and compares that with the current time from the PI server. It uses the difference between the two times to determine an offset. This offset is then used to adjust the time of the Cimplicity event to the PI time.

The interface will exit under certain situations that do not allow recovery by standard programmatic means. Because of this possibility, the PI-CIMPI interface is shipped with a separate program named WatchDog that will monitor the interface and restart the interface if it is not running. This scenario is discussed in The Principles of Operation section and the start-up command parameter /wd.

The following is a list of key features found in version 4.0.0.0 of the PI-CIMPI interface. It is the intent for OSIsoft to maintain backward compatibility with previous versions. However, there may be some features listed below that are not supported in previous interface versions. Refer to the interface manual for a specific version to verify functionality.

·  The interface supports communication to a single Cimplicity HMI project. Multiple projects will require multiple instances of the interface to be run.

·  The interface collects data from the Cimplicity HMI only by exception. Meaning Cimplicity will only send changed data to the interface. Versions 1.x and 2.x allowed for data collection by polling and event triggers. The user does not need to make any modifications to the point attributes because of this change.

·  This version of the interface has implemented support for complex (array) Cimplicity inputs or outputs. A point is identified as a complex point by configuring the InstrumentTag attribute of the PI Point. Refer to the PI Point Configuration section of this manual for details on configuring complex data points.

·  Users can select specific PI Points to be timestamped with sub-second resolution. Points requiring sub-second resolution can be identified by setting the UserInt1 attribute of the PI Point.

Reference Manuals

OSIsoft

·  UniInt End User Document

·  PI Data Archive Manual

·  PI-API Installation Instructions

Vendor

·  GE Fanuc Automation, CIMPLICITY HMI v6.10 Documentation. Copyright® 1995-2003 GE Fanuc Automation Americas, Inc.

·  GE Fanuc Automation, CIMPLICITY HMI for Windows NT and Windows 95, Base System, User’s Manual, GFK-1108F, October 97

·  GE Fanuc Automation, CIMPLICITY HMI for Windows NT and Windows 95, Point Management API, Application Developer Guide, GFK-1201C, April 1997

Supported Features

Feature / Support /
Part Number / PI-IN-GE-CIM-NT
Platforms / NTI (4, 2000, XP)
APS Connector / Yes
Point Builder Utility / No
ICU Control / Yes
PI Point Types / PI3 Servers: int16, int32, float16, float32, float64, digital, string
PI2 Servers: real, int16, digital
Sub-Second Timestamps / Yes
Sub-Second Scan Classes / Yes
*Automatically Incorporates PIPoint Attribute Changes / Yes
Exception Reporting / Yes
Outputs from PI / Yes
Inputs to PI: Scan-Based / Unsolicited / Event Tags / Unsolicited
Maximum Point Count / Unlimited
Uses PI-SDK / 1.3.1.x or higher
PINet to PI 3 String Support / No
* Source of Timestamps / CIMPLICITY server, PI Time, or Adjusted
History Recovery / No
Failover / No
*UniInt-Based / Yes
* Vendor Software Required on PI-API / PINet Node / Yes
Vendor Software Required on Foreign Device / No
Vendor Hardware Required / No
* Additional PI Software Included with Interface / Yes
* Device Point Types / Analog, Boolean, Text

* See paragraphs below for further explanation.

Automatically Incorporates PIPoint Attribute Changes

For a Cimplicity value that doesn’t change often, if the tag is removed from the interface, SCAN OFF will be written to the tag. If the tag is added back to the interface or if another PI tag is added with the same Cimplicity tag name, the value of the PI tag will NOT be updated until the value of the Cimplicity tag changes or the interface is restarted. This includes those Cimplicity tags with a “Bad Input” value. The reason for this is that the interface uses Cimplicity’s on-change API call to retrieve data and this call will send a static value the first time it is called for a point (at start-up), but it will not send another value until the value changes.

Source of Timestamps

CIMPLICITY events come with time stamps from CIMPLICITY. The resolution of a time stamp from CIMPLICITY is to the millisecond. The user can choose to have the data time stamped in one of 3 ways; use the raw unadjusted time from the Cimplicity server, use the PI server time at which the event was received, or use the adjusted time from the Cimplicity server. If using the adjusted time from the Cimplicity server, which is the default, the PI-CIMPI interface queries the Cimplicity server for the current time and compares that with the current time from the PI server. It uses the difference between the two times to determine an offset. This offset is then used to adjust the time of the Cimplicity event to the PI time. A new offset will only be applied if it differs by more than 5 seconds from the last offset and a message will be printed when a new time offset will be used.

History Recovery

The interface does not support history recovery.

Fail-over

The CIMPLICITY system supports a fail-over mechanism where a Viewer Node can be configured to collect data from the active project on one of two CIMPLICITY servers configured for fail-over. The interface however, does not have a separate fail-over mechanism.

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-IN-GE-CIM-NT interface. The purpose of UniInt is to keep a consistent feature set and behavior across as many of our interfaces as possible. It also allows for the very rapid development of new interfaces. In any UniInt-based interface, the interface uses some of the UniIntsupplied configuration parameters and some interface-specific parameters. UniInt is constantly being upgraded with new options and features.

The UniInt End User Document is a supplement to this manual.

Vendor Software Required

The interface requires that the CIMPLICITY Point Management API be installed on the computer where the interface will run. This provides the functions required by the interface to access the CIMPLICITY database. To install the CIMPLICITY Point Management API, CIMPLICITY must be installed as a Viewer or as a Server on the interface node. When installing as a Viewer, the Point Management option must be checked.

Additional PI Software

Because there are situations (viewer down on viewer node or project stopped on a server node) where the PI-CIMPI interface must shut down completely to recover and start collecting data from the Cimplicity API, the interface is shipped with a watchdog application to restart the interface if it is stopped. Please see the start-up parameter /wd for instructions on configuring the watchdog application.

Device Point Types

The interface supports collecting data from Cimplicity analog, boolean, and text (string) type tags.

Diagram of Hardware Connection

59

GE FANUC CIMPLICITY HMI Interface Documentation 59

Principles of Operation

Startup

Upon startup, the interface examines the command parameters passed to it. The interface will only communicate to a single project and will ignore multiple projects that are passed to it. The interface will exit if no project name has been passed to it and a message will be printed to the log file indicating that the interface has exited.

The interface then retrieves all of the points that match the Interface ID number and the Point Source from PI. Once all the points have initially been obtained the interface will set up a single CIMPLICITY shopping list for all points. A single PI tag can only point to a single CIMPLICITY tag. If a PI tag is removed from the interface, the interface does not remove the CIMPLICITY point from the shopping list and ignores any subsequent event data that is sent if it is an input or will not execute anymore outputs if it is an output tag. For this reason OSI recommends stopping and restarting the interface if a lot of tags are removed. The interface will continue to operate normally without being restarted, but those extra CIMPLICITY points will be consuming machine resources, both memory and clock cycles. New PI tags will be added dynamically to the shopping list. Upon addition of a new input tag, the interface will receive an initial value with a time-stamp for the point. If the time-stamp of the event is prior to the latest value contained in PI (because the value is static and hasn’t changed since the PI tag’s value), the value will be written to PI with the current time-stamp. This is to handle situations when PI or the PI-CIMPI interface writes a value to the tag such as PT CREATED or SCAN OFF. For example, if a PI Point is created at 10:02, the last time the value changed in the Cimplicity server was 10:00, and the interface is started at 10:10, then the initial event received from the Cimplicity server would be prior to the PT CREATED value that exists in PI. If this situation occurs, the interface will write the value to PI at 10:10. This will not reflect the time the value actually changed to the current value, but it will reflect the current value of the Cimplicity point.

Data Input

All data from CIMPLICITY is collected via exception and checks for new exceptions are made at a rate determined by the start-up parameter /sr=rate where rate is in milliseconds (default = 250ms). Data will be sent to the interface if it changes by any amount. CIMPLICITY exception reporting does not allow the user to specify a dead-band for a given point similar to how a point can be configured in PI. It is up to the user to decide if further exception reporting for a point will be done in PI and if so, what the exception specs should be set at.

Since data comes into the interface via exception, some points may not get new values for a very long time. Therefore the interface will send a value to PI if it has not received a new value from CIMPLICTY within excmax (PI point attribute ExcMax) seconds. The time stamp used will be the CIMPLICITY time or the adjusted PI time. The user may wish to turn the STEP attribute on for points whose values will not change frequently so that a change in value will not show a ramp on the trend.