2 of 2 people found this helpful
The method PIServer.UpdateValuesAsync returns a task whose result is null if there are no errors. Otherwise the result is an AFErrors<TKey> instance containing error information.
For successful data write through Buffer, this method requires that PI Buffer Subsystem (PIBufSS) needs to be correctly pre-configured with Buffering Manager. Buffering data through PIBufSS has a limitation where error feedback from PI Data Archive cannot be returned to the caller.
1. Set the AFBufferOption to Buffer. Ensure that there are no errors in either of the places(AFErrors or PI SDK logs). If you see errors you can try fixing them
2. The next thing to do is trace if the value is going through the buffer. The easy way to do it is using pibufss –trace which shows events processed by PIbufss.
3. Check for errors in the the PI Server message logs
Thank you Thyagarajan for your suggestions.
I followed your steps and ensured that there are no errors in either of the places(AFErrors or PI SDK logs).
I also used pibufss –trace command but saw no events registered to any point.
Eventually, I ran this command on the machine where my application is running and not on the pi-server machine where I ran all the other testing commands, and only then I saw that the buffer does work and points trace show events registration to buffer.
So somehow it seems that running the tests on the pi-server machine was the problem.
Buffering is implemented as a local service that stores and forwards events to a PI Data Archive server or collective. Buffering is always configured on the same machine where the application is executing and having it on a another system, especially the PI Data Archive would be contrary to its intended purpose.
PI DA can have it's own instance of buffering but it does not in any manner affect the behavior of other instances connecting to the server.
Also, when testing event flows I would recommend the use of pibufss -trace command instead of the other which you had tried.
Refer to: Buffering User Guide