Ping
Interface to the PI System
Version 1.6.3.0
Revision B
Copyright © 1993-2009 OSIsoft, Inc.
OSIsoft, Inc.777 Davis St., Suite 250
San Leandro, CA94577USA
(01) 510-297-5800 (main phone)
(01) 510-357-8136 (fax)
(01) 510-297-5828 (support phone)
Houston, TX
Johnson City, TN
Longview, TX
Mayfield Heights, OH
Philadelphia, PA
Phoenix, AZ
Savannah, GA
Yardley, PA
/ OSIsoft Australia
Perth, Australia
Auckland, New Zealand
OSI Software GmbH
Altenstadt,Germany
OSIsoft Asia Pte Ltd.
Singapore
OSIsoft Canada ULC
Montreal, Canada
Calgary, Canada
OSIsoft, Inc. Representative Office
Shanghai, People’s Republic of China
OSIsoft Japan KK
Tokyo, Japan
OSIsoft Mexico S. De R.L. De C.V.
Mexico City, Mexico
OSIsoft do Brasil Sistemas Ltda.
Sao Paulo, Brazil
Sales Outlets/Distributors
Middle East/North Africa
Republic of South Africa
Russia/Central Asia / South America/Caribbean
Southeast Asia
South KoreaTaiwan
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, photocopying, recording, or otherwise, without the prior written permission of OSIsoft, Inc.
OSIsoft, the OSIsoft logo and logotype, PI Analytics, PI ProcessBook, PI DataLink, ProcessPoint, Sigmafine, Analysis Framework, PI Datalink, IT Monitor, MCN Health Monitor, PI System, PI ActiveView, PI ACE, PI AlarmView, PI BatchView, PI ManualLogger, PI ProfileView, ProTRAQ, RLINK, RtAnalytics, RtBaseline, RtPortal, RtPM, RtReports and RtWebParts are all trademarks of OSIsoft, Inc. All other trademarks or trade names used herein are the property of their respective owners.
RESTRICTED RIGHTS LEGEND
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph I(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013
Table of Contents
Terminology
Introduction
Reference Manuals
Supported Features
Diagram of Hardware Connection
Principles of Operation
Bandwidth and Network Traffic Issues
Resolution Limits
Topology Issues
Installation Checklist
Data Collection Steps
Interface Diagnostics
Advanced Interface Features
Interface Installation
Naming Conventions and Requirements
Interface Directories
PIHOME Directory Tree
Interface Installation Directory
Interface Installation Procedure
Installing Interface as a Windows Service
Installing Interface Service with PI Interface Configuration Utility
Installing Interface Service Manually
Digital States
PointSource
PI Point Configuration
Point Attributes
Tag
PointSource
PointType
Location1
Location2
Location3
Location4
Location5
InstrumentTag
ExDesc
Scan
Shutdown
Startup Command File
Configuring the Interface with PI ICU
Ping Interface page
Command-line Parameters
Sample PIPing.bat File
UniInt Failover Configuration
Introduction
Quick Overview
Configuring Synchronization through a Shared File (Phase 2)
Synchronization through a Shared File (Phase 2)
Configuring UniInt Failover through a Shared File (Phase 2)
Start-Up Parameters
Failover Control Points
PI Tags
Detailed Explanation of Synchronization through a Shared File (Phase 2)
Steady State Operation
Failover Configuration Using PI ICU
Create the Interface Instance with PI ICU
Configuring the UniInt Failover Startup Parameters with PIICU
Creating the Failover State Digital State Set
Using the PI ICU Utility to create Digital State Set
Using the PI SMT 3 Utility to create Digital State Set
Creating the UniInt Failover Control and Failover State Tags (Phase 2)
Interface Node Clock
Security
Windows
Starting / Stopping the Interface on Windows
Starting Interface as a Service
Stopping Interface Running as a Service
Buffering
Which Buffering Application to Use
How Buffering Works
Buffering and PI Server Security
Enabling Buffering on an Interface Node with the ICU
Choose Buffer Type
Buffering Settings
Buffered Servers
Installing Buffering as a Service
Interface Diagnostics Configuration
Scan Class Performance Points
Performance Counters Points
Interface Health Monitoring Points
I/O Rate Point
Interface Status Point
Appendix A: Error and Informational Messages
Message Logs
Messages
Location5
Bad Input
System Errors and PI Errors
UniInt Failover Specific Error Messages
Informational
Errors (Phase 1 & 2)
Errors (Phase 2)
Appendix B: PI SDK Options
Revision History
Ping Interface to the PI System1
Terminology
To understand this interface manual, you should be familiar with the terminology used in this document.
Buffering
Buffering refers to an Interface Node’s ability to store temporarily the data that interfaces collect and to forward these data to the appropriate PI Servers.
N-Way Buffering
If you have PI Servers that are part of a PI Collective, PIBufss supports n-way buffering. N-way buffering refers to the ability of a buffering application to send the same data to each of the PI Servers in a PI Collective. (Bufserv also supports n-way buffering to multiple PI Server however it does not guarantee identical archive records since point compressions specs could be different between PI Servers. With this in mind,OSIsoft recommends that you run PIBufss instead.)
ICU
ICU refers to the PI Interface Configuration Utility. The ICU is the primary application that you use to configure and run PI interface programs. You must install the ICU on the same computer on which an interface runs. A single copy of the ICU manages all of the interfaces on a particular computer.
You can configure and run an interface by editing a startup command file. However, OSIsoft discourages this approach. Instead, OSIsoft strongly recommends that you use the ICU for interface management tasks.
ICU Control
An ICU Control is a plug-in to the ICU. Whereas the ICU handles functionality common to all interfaces, an ICU Control implements interface-specific behavior. Most PI interfaces have an associated ICU Control.
Interface Node
An Interface Node is a computer on which
- the PI API and/or PI SDK are installed, and
- PI Server programs are not installed.
PI API
The PI API is a library of functions that allow applications to communicate and exchange data with the PI Server. All PI interfaces use the PI API.
PI Collective
A PI Collective is two or more replicated PI Servers that collect data concurrently. Collectives are part of the High Availability environment. When the primary PI Server in a collective becomes unavailable, a secondary collective member node seamlessly continues to collect and provide data access to your PI clients.
PIHOME
PIHOME refers to the directory that is the common location for PI client applications. A typical PIHOME is C:\Program Files\PIPC. PI interfaces reside in a subdirectory of the Interfaces directory under PIHOME. For example, files for the Modbus Ethernet Interface are in C:\Program Files\PIPC\Interfaces\ModbusE.
This document uses [PIHOME] as an abbreviation for the complete PIHOME directory. For example, ICU files in [PIHOME]\ICU.
PI SDK
The PI SDK is a library of functions that allow applications to communicate and exchange data with the PI Server. Some PI interfaces, in addition to using the PI API, require the use of the PI SDK.
PI Server Node
A PI Server Node is a computer on which PI Server programs are installed. The PI Server runs on the PI Server Node.
PI SMT
PI SMT refers to PI System Management Tools. PI SMT is the program that you use for configuring PI Servers. A single copy of PI SMT manages multiple PI Servers. PI SMT runs on either a PI Server Node or a PI Interface Node.
Pipc.log
The pipc.log file is the file to which OSIsoft applications write informational and error messages. While PI interfaces run, they writes to the pipc.log file. The ICU allows easy access to the pipc.log.
Point
The PI point is the basic building block for controlling data flow to and from the PI Server. For a given timestamp, a PI point holds a single value.
A PI point does not necessarily correspond to a “point” on the foreign device. For example, a single “point” on the foreign device can consist of a set point, a process value, an alarm limit, and a discrete value. These four pieces of information require four separate PI points.
Service
A Service is a Windows program that runs without user interaction. A Service continues to run after you have logged off from Windows. It has the ability to start up when the computer itself starts up.
The ICU allows you to configure a PI interface to run as a Service.
Tag (Input Tag and Output Tag)
The tag attribute of a PI point is the name of the PI point. There is a one-to-one correspondence between the name of a point and the point itself. Because of this relationship, PI System documentation uses the terms “tag” and “point” interchangeably.
Interfaces read values from a device and write these values to an Input Tag. Interfaces use an Output Tag to write a value to the device.
Ping Interface to the PI System1
Introduction
OSIsoft’s PI Ping Interface program determines the latency of a TCP/IP network. In particular, PI Ping measures the response times of ICMP echo messages (i.e., “pings”) that it sends to a remote machine. Accordingly, this program can help the user in diagnosing network connection problems between machines residing in a TCP/IP network.
PI Ping comes in two versions: a regular (full) version and a limited version known as PI Ping Basic. The latter has the following limitations:
- it gets data for up to 32 PI points,
- only one copy of the program may be running at a time,
- it runs only on a machine that is also running the PI Server version 3.3 or higher, and
- it sends data only to this PI Server machine
PI Ping Basic is installed as part of PI Server v3.3 and higher.
The filename of PI Ping Basic is piping_basic.exe. The filename of the regular version of PI Ping is PIPing.exe.
The following table summarizes the differences between the regular and basic versions of PI Ping.
PI Ping / PI Ping BasicMaximum point count / Unlimited / 32
Availability / Available for purchase / Installed as part of PI Server 3.3 and higher
Can run on a PI Interface node / Yes / No
Must run on a PI Server node / No / Yes
Must send data to the PI Server node on which it runs / No / Yes
Number of copies that can run simultaneously / Unlimited / 1
Filename / PIPing.exe / PIPing_basic.exe
PI Ping does not require any special hardware. A standard network interface card on the Windows machine is sufficient.
Reference Manuals
OSIsoft
- PI Server manuals
- PI API Installationmanual
- UniInt Interface User Manual
Supported Features
Feature / SupportPart Number / PI-IN-OS-PING-NTI
* Platforms / Windows 2000 SP3 & SP4 / XP / 2003 / Vista / 2008 Server
APS Connector / No
Point Builder Utility / Yes
ICU Control / Yes
PI Point Types / Int16 / Int32 / Float16 / Float32 / Float64
Sub-second Timestamps / No
Sub-second Scan Classes / No
Automatically Incorporates PIPoint Attribute Changes / Yes
Exception Reporting / Yes
Outputs from PI / No
Inputs to PI: Scan-based / Unsolicited / Event Tags / Scan-based / Event Tags
Supports Questionable Bit / No
Supports Multi-character PointSource / Yes
Maximum Point Count / Point Count of PI Server (Full version)
32 (Basic version)
* Uses PI SDK / No
PINet String Support / Not Applicable
* Source of Timestamps / PI server Machine
History Recovery / No
* UniInt-based
* Disconnected Startup
* SetDeviceStatus / Yes
Yes
Yes
* Failover / UniInt Failover (Phase 2) Cold and Hot
Vendor Software Required on PI Interface Node / PINet Node / No
Vendor Software Required on Foreign Device / No
Vendor Hardware Required / No
Additional PI Software Included with Interface / No
Device Point Types / Not Applicable
Serial-Based Interface / No
* See paragraphs below for further explanation.
Platforms
The Interface is designed to run on the above mentioned Microsoft Windows operating systems. Unless otherwise noted, the remainder of this document uses the term “Windows” to refer to all these platforms.
Please contact OSIsoft Technical Support for more information.
Uses PISDK
The PI SDK and the PI API are bundled together and must be installed on each PI Interface node. This Interface does not specifically make PI SDK calls.
Source of Timestamps
The clock on the computer running the PI Server provides the source of timestamps for the values sent by PI Ping. The Interface writes a timestamp that reflects the time at which it begins to measure ping responses. That is, all points that belong to the same scan class will have the same timestamp.
UniInt-based
UniInt stands for Universal Interface. UniInt is not a separate product or file; it is an OSIsoft-developed template used by developers, and is integrated into many interfaces, including this interface. The purpose of UniInt is to keep a consistent feature set and behavior across as many of OSIsoft’s interfaces as possible. It also allows for the very rapid development of new interfaces. In any UniInt-based interface, the interface uses some of the UniIntsupplied configuration parameters and some interface-specific parameters. UniInt is constantly being upgraded with new options and features.
The UniInt Interface User Manual is a supplement to this manual.
Disconnected Start-Up
The PIPing interface is built with a version of UniInt that supports disconnected start-up. Disconnected start-up is the ability to start the interface without a connection to the PI server. This functionality is enabled by adding –cachemode to the list of start-up parameters or by enabling disconnected startup using the ICU. Refer to the UniInt Interface User Manual for more details on UniInt Disconnect startup.
SetDeviceStatus
For a Health Tag whose Extended Descriptor attribute contains [UI_DEVSTAT], the Interface writes the following values:
a)"1 | Starting" – the Interface has started.
b)"Good" –the Interface has started successfully and is ready to measure ping response times; or, for all the points in the current scan class, the Interface has successfully measured the ping response time.
c)"3 | n device(s) in error" – for at least one of the points in the current scan class, the Interface has recorded an I/O Timeout value.
d)"4 | Intf Shutdown" – the Interface has shut down.
Please refer to the UniInt Interface User Manual.doc file for more information on how to configure Health Tags.
Failover
- UniInt Failover Support
UniInt Phase 2 Failover provides support for cold, warm, or hot failover configurations. The Phase 2 hot failover results in a no data loss solution for bi-directional data transfer between the PI Server and the Data Source given a single point of failure in the system architecture similar to Phase 1. However, in warm and cold failover configurations, you can expect a small period of data loss during a single point of failure transition. This failover solution requires that two copies of the interface be installed on different interface nodes collecting data simultaneously from a single data source.Phase 2 Failover requires each interface have access to a shared data file. Failover operation is automatic and operates with no user interaction. Each interface participating in failover has the ability to monitor and determine liveliness and failover status. To assist in administering system operations, the ability to manually trigger failover to a desired interface is also supported by the failover scheme.
The failover scheme is described in detail in the UniInt Interface User Manual, which is a supplement to this manual. Details for configuring this Interface to use failover are described in theUniInt Failover Configurationsection of this manual.
Diagram of Hardware Connection
Ping Interface to the PI System1
Principles of Operation
PI Ping was developed primarily as a system manager's tool for the monitoring and analysis of a PI client-server network. It is specifically tailored for use on a machine running Windows. PI Ping uses functions in Microsoft's IPHLPAPI.DLL or ICMP.DLL to send Internet Control Message Protocol (ICMP) echo ("ping") request messages to a remote machine. These same functions provide PI Ping with the corresponding ICMP echo reply times. No additional hardware is required beyond the machine running PI Ping and a network connection to the remote machine of interest.
When the Interface starts, the interface searches the PI Point Database for points that belong to the Interface and a point list is created for the interface.
Once startup is complete, the Interface enters the processing loop, which includes:
- Servicing scheduled input points. Each Scan Class is processed in turn.
- Servicing output points as events arrive.
- Servicing triggered input points as events arrive.
- The PI Point Database is checked every 2 minutes for points that are added, edited, and deleted. If point updates are detected, the points are loaded (or reloaded) by the Interface as appropriate. The 2-minute update interval can be adjusted with the –updateintervalcommand-line parameter discussed in the UniInt Interface User Manual.The Interface will only process 25 point updates at a time. If more than 25 points are added, edited, or deleted at one time, the Interface will process the first 25 points, wait 30seconds (or by the time specified by the –updateinterval parameter, whichever is lower), process the next 25 points, and so on. Once all points have been processed, the Interface will resume checking for updates every 2 minutes (or by the time specified by the –updateinterval parameter). The Interface will write the digital state SCAN OFF to any points that are removed from the Interface while it is running.
UniInt Failover
This interface supports UniInt failover. Refer to the UniInt FailoverConfiguration section of this document for configuring the interface for failover.
Bandwidth and Network Traffic Issues
Continuous generation of ICMP echo packets at very high frequencies to multiple machines can create bandwidth and network traffic problems. For this reason, the user should run the interface with scan classes that are at least 1 minute (i.e., measure ping response times at frequencies that are at least 1 minute). This ensures that the network is not overloaded with PI Ping traffic.
Resolution Limits
On Windows 2000, PI Ping has a resolution lower limit of 10 milliseconds. This restriction can limit its applicability with respect to very fast networks. Therefore, PI Ping should be viewed as a tool that records automated attempts that quantify the quality of troublesome client-server connections.
Topology Issues
PI Ping measures ping response times only between the computer on which it runs and a remote machine. For example, in the following configuration, PI Ping cannot determine the ping time between Machine1 and Machine2.