1 Reply Latest reply on Sep 26, 2016 1:05 PM by Marcos Vainer Loeff

    Push Pi points and AF hierarchy


      I would like to write an implementation to push pi points and AF structure on top of SDK. I understand there are different ways to achieve it - using data pipes or SDK.

      Is there any way to push using PI Web API.


      I would like to write an implementation to push AF structure and PI Data points using data pipes (preferably Web APIs). I have few queries:

      1. Does data pipe only push latest data or out or order data also? My use case is to retrieve data points exist between certain time ranges (say 01/01/2016 - 01/31/2016) and any data point changed (or updated) between this range.

      2. Suppose my Web API client is not up for some time then I need to put some buffer on top of data pipe so that when client will come alive it can pump missed data? Is there any watermarking (start pumping data after certain time) feature available? How buffering is handled?

      3. Is there any way to achieve run time subscription to monitored attributes?

        • Re: Push Pi points and AF hierarchy
          Marcos Vainer Loeff

          Hi Abhay,


          Yes, there is this functionality in PI Web API. It is called PI Web API Channels. This feature is accessed through the Web Socket protocol. It is developed on top  of  AFDataPipe, which is a class from the PI AF SDK.


          AFDataPipe and PI Web API Channels signs up to be notified of data change events (values) for a selected set of attributes. This also includes out-of-order events. If you want to get compressed values using PI Web API, you should use the PI Web API GetRecorded method instead.



          AFDataPipe and PI Web API Channels  should get data from the PI System. Buffer is used normally with interfaces when they send data to the PI System. You cannot use buffer when you are receiving data from PI.


          If you want the change the list of attributes that you are monitoring, I think you need to destroy you websocket object and create a new one. But you can add and remove attributes/PI Point run time using PI AF SDK.


          Note that PI Web API Channels is still in CTP, so I wouldn't use this component on big projects before it is released.


          Please let me know if this helps you!