2 Replies Latest reply on Jan 29, 2014 10:52 PM by Roger Palmen

    PI UFL

    Darren.Metcalfe

      Hi

       

      I'm wanting to create a UFL interface which reads datasets provided every hour. For each one of the loggers that is included in the dataset (35) there should be 96 values over the course of the day. I'd like to include some kind of error checking within the config file that confirms that 96 values are definitely read. The loggers themselves could provide data at irregular intervals, ie one 15 minute interval is missed but included in the next dataset. Has anyone had experience of creating such UFL / Config file? I'm relatively new to PI and would liek to broaden my knowlesge particularly around UFL creation.

       

      Many Thanks in advance

        • Re: PI UFL
          mhalhead

          Hi Darren,

           

          To try and understand the problem a bit better. You have a UFL interface that reads a log file. There will be multiple log files which will contain x number of records. The total number of records for the 24 hour period will be 96. Is this correct?

           

          If it is then I don't believe that you can do the error checking with UFL. UFL doesn't have a persistent state between reading files (I would have to check the manual to see if it can read values back from PI). However, even if it could you can't predict the end of the day; the last file might have all 96 values (hypothetically). What I would do is create a performance equation point that does the count at the end of each day (off set the time by a little).

            • Re: PI UFL
              Roger Palmen

              Hi Darren,

               

              I've been in a similar situation in a very similar case (UK water company, 15-minute reads from telemetry using UFL).

               

              Because you mention the data is asynchronous, (in other words, you can only check if you have 96 values some reasonable time after the day period passed), imho the UFL interface is not the place to do this. Imho, the interface should just process the raw data, and a separate process should take care of Data Quality checks.Separation of duties.

               

              I'd suggest to build a separate tool which checks of the data of a specific day reflects the expected quantity and frequency. One way is e.g. using Excel and the OLEDB Provider to run a query counting the values per point per day, and use Excel to report the Points for attention. Ofcourse, PE tags, AF Notifications, etc. can do the same job and much more.

               

              Hope this helps!