6 Replies Latest reply on May 27, 2010 5:50 PM by wpurrer

    PI & Batch & Datalink (Batch Best Practice ??)

    wpurrer

      We have 8 Production Units without about each 3 Batches per Day.
      Each Batches containes about 80 Values.

      I have to create a month report about all the values and batches from a month. In this example 3*8 * 80 = 200 Values * 30 Days = 6000 Values.

       

      * First Approach

       

      We created a excel / datalink based on Batchview - XLS add in an DataLink - Calculated Values

       

      :-( Even the daily reports took minutes

       

      * Second Approach

       

      I created an SDK - based solution ( ;-) sorry guys no ace,...) which copys the calucaltion in a new Tag (timestamped with the endtime

       

      :-( a little bit faster, but still .. not userfriendly

       

      * Third Approach

       

      We removed the Batchview and only worked with compressed Data.

       

      :-( fast, but a couple of datalink bugs appear, and we don't have the batchview features anymore:

       

      * Forth Approach

       

      * I copy the data into an SQL - Table. (now working on it)

       

       

       

      What's your approach .. with Batch and PI....

       

      Is there a recommended Solution from Osisoft?

        • Re: PI & Batch & Datalink (Batch Best Practice ??)
          andreas

          Hi Wolfgang,

           

          Trying to understand what you are doing here...

           

          You have 8 units, 3 batches/day/unit, 30 days = 720 batches in your report. So what's the 80 in there? 80 tags?, 80 raw values and you need a aggregated value (60k values)? 80 aggregated values from how many raw values (60k aggregated values)?

           

          We probably need to know some more things to provide recommendations. For now I am working on creating enough batches and data to play arround with that

           

          regards,

            • Re: PI & Batch & Datalink (Batch Best Practice ??)
              hanyong

              Something that I would be interested to find out on top of what Andreas suggested would be how long is each operation taking to complete, BatchView doing Batch search and DataLink reading data from PI. Did you managed to profile that?

               

               

                • Re: PI & Batch & Datalink (Batch Best Practice ??)
                  wpurrer

                  At the end of each batch we calculate out of the 80 raw tags   80 batch tags (a batch tag => means for every batch there is only one value in it)

                  Raw Tag is for example temperature, => batch tag is for example max temperature during the batch.

                   

                  I think for tests it is also important that it runs on a different computer then the PI - Server. Because the network latency is important even if there is no real network load .. it  adds a couple of seconds...

                    • Re: PI & Batch & Datalink (Batch Best Practice ??)
                      andreas

                      I see. So we are talking about 720 Batches and 80 calculated values each = ~60k calculated values. That is quite a lot.

                       

                      The way you would usually do (calculated values or archive value for the batch) will require 60k calls to the PI Server to retrieve a single value (that is probably where the latency hits you more than everything else)

                       

                      The only way that comes to my mind would require some preconditions: if you could do the calculations in totalizer, you could manage to have only one calculated value in totalizer per batch per tag (so the precondition would be that you do not have to search for the batch and than search for the value, you "know" that the compressed data in the totalizer is aligned to the batches). If you than arrange your report on a per unit base, you could retrieve compressed values rather than calculated values. That would result in retrieving 60k values in 8 (units) x 80 (tags) = 640 calls to the PI server rather than 60k calls.

                       

                      I will give this idea a test and see what the result would be...