1

I have an C# application that uses OPC UA to communicate. Now I need to communicate with an Osisoft Pi system, which as I understand it also "is" an OPC UA Client. There is no PLC involved!

My client and the Osisoft Pi is running on different computers in the LAN.

The OPC UA Server (KepServerEx 6) needs a driver configured.

What driver would be appropriate for this scenario?

Andis59
  • 559
  • 7
  • 25

2 Answers2

2

You would need an OSIsoft UA Interface licence to communicate with it using OPC UA.

OSIsoft PI is a historian run on a server i would suspect your client is scared of licencing costs. There are ways and means, you can insert the data into AF and still have it visible to the PI systems, however it is limited and the better way to do it is to implement the correct OSIsoft interface or protocol.

As mentioned above AF-SDK is the way to go for C#, however be aware you will need an PSA licence on the server to run it.

Matt Inglis
  • 49
  • 1
  • 5
  • 2
    Thanks for your answer! I have discussed this with the client and it seems like I have misunderstood how the system works. All communication goes via an OPC UA server which then is used by several component, which PI System is one. So I can ignore the Pi system part and just focus on the OPC UA. – Andis59 Oct 10 '19 at 11:54
  • Inserting process data in any other places than into a PI Tag or also called PI Points should be avoided at all costs. AF Elements and attributes are build to support process meta-data such as pump ids, serial numbers, process contants etc. The programmability options of the PI System offers great power and it can be easy to abuse it in a way the system was not designed for. OSIsoft technical support should be able to help you to confirm your approach is scalable. Better safe than sorry... – codea Jun 12 '20 at 09:22
  • 100% disagree, AF Linked Tables etc are there for a reason so you can show data from other sources. Of course in an ideal scenario you would have everything in PI Archives, in the real world this is not always possible. Customers have different data stores for different data etc. Duplicating that data in PI is not always the answer. Bare in mind OSIsoft are a business, they will of course advise you put in PI Points, because they charge by the point count! – Matt Inglis Aug 28 '20 at 15:39
1

If you are using C#, the most native way to connect to the PI System is by using PI AF SDK. This sdk will allow you to connect to both the PI Data Archive as well as PI Asset Framework Server.

The first server (PI DA) contains the process data collected via PI Interfaces or PI Connectors (typically OPC, Modbus, flat files etc). PI AF (Asset Framework) is a server that allows to create all the assets hierarchies of a plant and map asset attributes to the process data collected in PI DA.

Perhaps, you should look at PI System interfaces or connectors to collect the data first, and then use the data stored in the PI System to build your application. This is the standard usage of the PI System who helps reducing different vendors silos of process data.

To get a quick start on the multiple ways to use the PI System as a developer have a look here: OSIsoft PI Developer Technologies

And to get started with the PI System, and understand what it is about, you should look here: What is the PI System?

codea
  • 1,439
  • 1
  • 17
  • 31
  • 1
    OK, Thanks I will talk to the client and see if this is a possibility... The reason for the OPC UA server was that the client wanted a "standard" way of communicating, maybe he is thinking "What if we replace PI with something else..." – Andis59 Aug 30 '19 at 10:35
  • The PI System is meant to be a vendor-independant data infrastructure. So if the customer is trying to keep data outside the system in case the system gets replaced then it's not worth using it at all :). Just my .02 cents. – codea Aug 30 '19 at 11:34
  • And also, the PI System is typically running in the Corporate IT Network. OPC and OPC UA are found in the industrial control-process networks. The PI System typically gets it's data from those systems to make them available in the Corporate Network. – codea Nov 23 '19 at 10:11