3 Replies Latest reply on Oct 19, 2012 10:38 PM by jlakumb

    PI SDK Buffering Limitations




      Are there any updates being worked on for PI SDK Buffering?

      Not being able to make edits to data/annotations using PI SDK Buffering is a pain.


      We need to support HA collectives and with these limitations with PI SDK  buffering its not worth enabling as it supports the very basics of what we need to do.


      LIMITATIONS (from the documentations I am referring to):
      In addition, the following calls that edit existing events do not support buffering in PI SDK 1.4.0:


      Data that is not buffered. The following data is not included in PI SDK buffering:
      Annotations (except annotations that are created when the corresponding event is created)
      Batch data
      Data edits and deletes
      Configuration changes (for example, changes to the PI Point database or PI Module Database)




      Neil Goundar
      (Software Engineer)

      Dimension Software

        • Re: PI SDK Buffering Limitations

          Hi Neil,


          As part of our general efforts to focus on one "PI System SDK" (i.e. PI AF SDK), we are no longer adding significant enhancements to PI SDK functionality, including PI SDK buffering.  However, we are planning to include this buffering capability in future release of PI AF SDK (currently planned for PI AF SDK 2.6).  For now, the PI SDK buffering functionality is final, although we may provide fixes for minor issues.


          Can you explain what exactly you are trying to do today with PI SDK buffering?  For example, what data are you trying to replicate to collective members and what tools are you using?  This would help us understand your use case so that we can try to address it in PI AF SDK.





            • Re: PI SDK Buffering Limitations

              Hi Jay,


              Thanks for your response on this.


              We are developing an ACE application which needs to send data to all members of the HA collective.

              If data already exists in PI and the data in the source system is updated, data needs to be updated in PI as well and annotated to indicate that the data has been updated.

              The data from the source system is delivered to us in csv files in a "Source System Specific format" (both for new data entries as well as for updating existing data).


              We use PI SDK to write values to PI (UpdateValues method).

              PI SDK buffering is an option to allow for new data entries to be buffered to all members in the HA collective but does not allow for:

              1. the data to be edited. We need to replace the previous entry with the updated value.
              2. the annotations to be edited.

                We need to include a flag in the annotation to indicate that the data has been updated for later reporting and to flag it to users of the data that changes have been done.

              Since this is an ACE application my initial thoughts were to use the PIACEPoints using which we can write data to HA collective members but this does not allow for annotations to be written and hence we turned towards PI SDK.


              Is there any solution to getting around this in a simple way (probably one solution which would support everything we are trying to achieve)?