RJKSolutions

"PI:\\..." and "AF:\\..." code paths in PI Web Services

Discussion created by RJKSolutions on Aug 15, 2013
Latest reply on Aug 16, 2013 by Bhess

Need some clarification.

 

PI Web Services 2012 ships with AF Client 2012, and PI Web Services is a .Net 4 application. So we have AF SDK RDA under the hood, right?

 

When I'm using the InsertPIData method if I supply a path prefixed "PI:" then the call is passed directly to PI SDK, bypassing the PI OLEDB Provider, that (if configured) passes the data to the PI Buffer Subsystem that in turn writes the value to the PI Collective, and fans to a PI Collective (assuming I am not writing to multiple PI Collectives whereby only 1 PI Collective is buffered/fanned). Now if I issue the same call via a path prefixed "AF:" pointing at an Attribute with the PI Point DR (configured with the same tag from the PI: path), then that gets passed directly to the AF SDK so that value is not buffered/fanned (AF SDK limitation) because it uses RDA and not PI SDK. Is that correct?

 

The prefix you choose for ultimately the same PI Point can lead to 2 different code paths and update the same data differently/inconsistently, i.e. the "PI:" prefix will ensure data fanning when working with a PI Collective.

 

Data reads from PI & AF are both serviced by the PI OLEDB Provider & PI OLEDB Enterprise Provider respectively, correct?

 

(Edit: Posted this in the wrong forum, can someone move it to the Web Services forum?)

Outcomes