The PI System’s Use of Standards
The PI System relies heavily on standards. The standards can be broken into three main categories:
- Core technology standards. These are fundamental standards the PI System builds on and are present in every system.
- Data presentation/access. Standards that are leveraged to make the data stored in the PI System readily available to 3rd party applications.
- Data acquisition. Standards the PI Systems interfaces leverage to acquire data from systems and store in the PI Server.
Core Technology Standards
Today, no software programs are created without using some form of 3rd party libraries. Use of these, in most cases is transparent to the PI System users. Every standard used will not be covered here. A few examples as well as standards that are visible to users will be covered.
TCP/IP is the primary protocol the PI System leverages for inter-process communication. The OSIsoft PI API and PI SDK protocols are built on this protocol. Of course, IP—internet protocol is the standard for doing this type of communication; it drives the internet and virtually every intranet and private network. Supporting this protocol is an obvious requirement and allows the PI System to easily fit into any organization's network.
As mentioned above, use of this is transparent to any users. This is an implementation detail.
WIN32 API/.NET Framework
Technically not a standard; many PI System components are built for the Windows operating system and therefore leverage this API.
Text standard that facilitates multi-language support.
ISA S88 is the Batch Control models and terminology standard. The PI System supports batch tracking data structures that adhere to this standard.
Data Presentation/Access Standards
The PI System is an open system; data is readily available via several standards. The standards approach allows easy access via variety of mechanisms.
Although often thought of as proprietary Microsoft technology it is actually a standard any operating system could support. VB programmers use ActiveX interfaces frequently.
Web Services/WS-*/SOAP 2.0
This is a set of web services that allow access to PI Data Archive and PI AF Server data. Web services, of course, allow for easy integration into Service Oriented Architectures.
OPC Historical Data Access. The PI System supports access to the PI Data Archive via this standard. It allows any OPC client to read data from the PI System.
OLE DB is Microsoft’s database access protocol and is based on ActiveX. It provides full read and write access to the PI System via Structured Query Language (SQL). OLE DB and SQL allow anyone familiar with SQL full access to PI. This is a popular way to integrate PI System data with BI products such as Business Objects and SAS.
Java Database Connectivity—JDBC—allows Java access to the PI System. This is analogous to OLEDB but for the Java environments.
Open Database Connectivity. Another standard that supports SQL based access to the PI System.
IEEE C37.118 is a protocol for reporting synchronized phasor measurements in power systems. This protocol is used to get data from PMU, phasor measurement unites, and PDC, phasor data concentrators. The PI System has a standard interface that uses C37.118 to read frequency, phase angle, and voltage data from PMUs and PDCs and write the data to PI.
The PI System supports reading data from OPC DA, OPC HAD, and OPC Alarm and Event servers. These are standard OSIsoft PI System Interfaces. OPC is a widely used standard and therefore these interfaces are very popular. See http://opcfoundation.org
Inter-control Center Communications Protocol (ICCP) is a family of IEC protocols. The PI System supports accessing data from these specific protocols:
• IEC 870-6-503
• IEC 870-6-702
• IEC 870-6-802
ICCP is a common protocol supported by Transmission & Distribution (T&D) instrument systems.
Distributed Network Protocol is a standard protocol often used to access Supervisory Control and Data Acquisition systems (SCADA). The PI System has a standard interface for reading data via this protocol and writing it to the PI System. See http://dnp.org
Modbus is a protocol that provides access to many programmable logic controllers (PLC). PLCs are common manufacturing automation devices. The PI System has several standard interfaces for accessing data via Modbus.
Pofibus is a common standard in manufacturing and building automation. The PI System supports this standard via OPC interoperability.
SQL is the language for accessing relational databases. The PI System has a standard interface that allows reading data from most RDBM systems.
Hyper text markup language is the standard of the World Wide Web. Web pages are typically served up via web servers using the protocol hypertext transfer protocol. The PI System has a standard interface that can scrape data from web pages and write it to PI. This is often used to get commodity prices from the web.
The PI System supports several text based interfaces. Typical uses are CSV files and logging systems.
Extensible markup language is a language used to describe and exchange data between systems and applications; it is often used for data persistence. The PI System has standard interfaces to read data from XML documents and write it to the PI System.
IEC 61850 is an electrical distribution protocol used in distribution/substation automation. The standard includes meta data and data formats that are optimized for distribution automation equipment. The protocol is also independent of networking and other data transfer protocols. The PI System supports IEC 61850 through 3rd party OPC Server based interoperation.
IEC 62056-21 is another electrical distribution automation protocol. This protocol is designed to read utility meters. The PI System supports this through a 3rd party interoperation server.
IP Flow is a form of IP packet capture. The PI System has a standard interface that can capture packets, based on user defined filters and write this data to the PI System.
Simple Network Management Protocol is supported by many network and computing devices. SNMP allows remote management of devices as well as access to performance and operational data in the devices. The PI System has a standard interface that allows querying devices via SNMP and writing the results to the PI System.
Building Automation and Control Network protocol; as the name suggests, this protocol is used to network building automation devices. BACnet is used to create coordinated building control systems. The PI System has a standard interface that allows reading data from devices, via BACnet, and writing the data to PI.
Internet Protocol/Internet Control Message Protocol. ICMP is used within IP for control and error messaging. Ping is a common application built on ICMP—ping measures the response time to reach an IP device. The PI Server has a standard interface that can ping selected IP addresses and record the response times.