Gross Error Detection

Discussion created by mhalhead Champion on Mar 21, 2009
Latest reply on Mar 24, 2009 by cescamilla

I'm looking at creating a centralised system (obviously based on PI) that pulls data from our sites (about 17 operations ranging from concentrators to refineries - not all have PI yet). The purpose of the centralised system is detailed data analysis and production reporting. The current solution uses a process model that is housed in a custom developed RDB which is remarkably similar to AF; therefore we would migrate these models to AF. The size of the database is not huge; we're antisipating about 5000-10000 tags across the whole company. There are two areas that need to be addressed:


1) Gross Error Detection


2) Calculating rollup, KPI's and metrics


Once these two items have been done then the data is ready for the statistical analysis and reporting. For this post I will cover the gross error detection (GED).


What we want to do is run all the data through Gross Error Detection; the intention is to mark data that is "bad" using simple rules such as high/low limits, rate of change, not updating ... Not all data should be subjected to these rule (for example a equipment run signal).


Talking to OSI there are a number of options but nothing directly out the box.


1) We could setup a PE for each tag that needs validating and writing the validated data to a new tag. This has the advantage of being pretty high performance and triggered on event (therefore near real time validations). I have my doubts about the 5000-10000 PEs. The disadvantages are that the solution will be hard to maintain (you would have to alter all PEs if you change the validation techniques). The parameters are hardcode, as PE can't read parameters out of AF. You effectively double your tag count. Therefore, I don't believe that this is a real option.


2) Write an ACE calculation that runs through the point on a schedule and performs the GED. The ACE module would have to read the parameters out of AF2 and use a state for the validation results. The advantage is that there is only a single version of the validation routine therefore it is easier to maintain. The disadvantage is that we would have to write the comparitively more complex code. The other disadvantage is that I have no idea how to make the system well integrated with AF2. I want a system that when the engineer creates the AF2 element the ACE module automatically includes the new points in the validation. I'm also concerned about the performance.


I'm therefore looking for comments/suggestion from the community on what would be the best method of achieving this.