Why You Should Have a PI System Access License

Traditional PI Clients

 

We all know the traditional PI client applications of Processbook, DataLink, and the newer PI Vision. These applications allow users access to PI data for visualization and analysis. While you can program inside these client applications, they do not provide general purpose programmatic access to PI.

Integrating PI data with other IT and OT systems requires programmatic access to the PI systems.

What is PI System Access?

 

The PI System Access technologies enable access to PI data programmatically. They include the PI SQL Data Access Technologies (OLEDB, ODBC, and JDBC), a RESTful WebAPI, and .NET libraries for programming C# and other .NET languages. These technologies comprise the PSA suite.

How is PSA Licensed?

 

For purposes of system integration, the PSA is licensed on a per PI server basis. It will be priced based on your PI data archive server(s) size. While this is not an inexpensive add-on, it is easy to justify the cost once you consider what you can do with it.

 

PI WebAPI - Restful PI Access

 

Googling "What is a REST API" produces many results due to the popularity of this type of programmatic interface. It has become the de facto standard and it is difficult to find a modern system that does not support REST. You can read the overview of the PI WebAPI here.

The PI WebAPI allows users access to the PI Data Archive, PI Asset Framework Elements and Attributes, and Event Frames.

Programmers pass the query to the server in the URL or post data to a WebAPI URL. Users may read and write data to or from the PI Data Archive or PI Asset Framework servers.

 

The PI WebAPI is probably the best cross-platform license, so it is often used when non-Windows-based systems require access to PI.

For those using Python for Machine Learning projects, this is often the go to option.

PI SQL Data Access

 

Using the SQL query paradigm for integration with other IT systems is often convenient. OLEDB, ODBC, and JDBC are options that every IT person understands.

The PI SQL Data Access system makes the PI Data Archive and PI Asset Framework look like a series of virtual tables or views of the PI system data. Just like the PI DataLink Addin for Excel, these virtual tables generate evenly space interpolated, sampled, or calculated time-series data.

OSIsoft architected the ODBC and JDBC drivers to communicate to a PI SQL Data Access Server (SQL DAS or RTQP Engine) via SOAP. The driver on your client passed the query to the SQL DAS service, which translates the SQL query into AF SDK calls to the Asset Framework and PI Data Archive servers. The OLE DB driver translated the SQL query locally, and the client made the AF SDK calls. OSIsoft recently changed the architecture, so all three drivers make SOAP calls to the SQL DAS service. They also made several improvements to the SQL DAS server to increase performance.

OSIsoft provides PI SQL Commander to help you develop queries and build transpose queries to make complex joins of AF tables easier. This is the place to start.

The SQL suite of drivers allows you to integrate PI into your traditional ETL pipelines.

JDBC is often an option for cross-platform integration.

AF SDK

All of the previously mentioned options rely on the AF SDK under the hood. This .NET assembly is the native language for communicating with the PI Asset Framework server and the PI Data Archive. The AF SDK getting started guide is here.

Most users find this to be the most performant and full-featured option. All other technologies translate your query to AF SDK code, so some overhead is associated. They also provide a subset of the features available in the AF SDK.

Many Machine Learning users access the AF SDK from their Python code. There are various Python packages available for doing this. Note that when using the AF SDK, you must host the code on a Windows system as the AF SDK has not been ported to .NET 5. You can see my previous blog post about this.

Cross-Platform Access to PI Data

The PI WebAPI and the SQL JDBC drivers are the two options if your code needs to run on a platform other than Windows.

JDBC supports Windows, macOS, Linux, and Solaris. The PI WebAPI works with anything supporting a Web client. However, you may need to choose an authentication scheme that supports your platform.

Cost Justification

It may be difficult to justify the licensing expense on a project-by-project basis. This is a strategic purchase. When you consider the benefits of integrating PI with your ETL jobs, implementing condition-based maintenance, and potential savings from optimizing your operations with Machine Learning projects, it starts to look irresponsible not to purchase a PSA license. If you are running a PI System, you are operating processes that easily have the potential to save or produce hundreds of thousands or millions of dollars when optimized properly.

The Freebie - PI Powershell Extension

I would be remiss if I didn't mention the PowerShell Tools for the PI System, which come with the PI Data Archive. This Powershell extension provides access to the PI Data Archive and PI Asset Framework. I would recommend it primarily for system administration tasks, but if you can't justify the expense of PSA, it will allow you some of the benefits and comes included with the PI System.

Conclusion

Suppose your company is even remotely serious about digital transformation and responsible stewardship of your assets. In that case, you need a PI System Access license to take full advantage of your PI System. The suite provides a means to exchange data with your PI System for every possible scenario. The potential benefits are enormous.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.