Wednesday, April 18, 2012

OSIsoft PI Scan Class and Exception Minimum


Continuing on banalities of sub-second data, I got a really good question today about excmin vs. scan rate:

What is the relationship between scan rate and excmin?


Scan Rate
tells the interface how frequently to fetch the data
Excmin
tells the OSIsoft PI snapshot how frequently to ignore the data

It stands to reason that if you tell the interface to fetch sub-second data from the data source, then you don't want to throw out that data. If you do, you're simply clogging your network pipes with traffic that you end up tossing.

In practice, I have not seen excmin used. I'm sure it's useful when you absolutely, positively don't want data within excmin seconds of the previous point. But when you're worried about the 22 tag attributes for 5000 tags, that's a lot to worry about.

What typically happens is that PI tag data compression is handled with:


  • Excmin=0
  • Compmin=0
  • Excdev>0
  • Compdev> 0

Here's why:

We want to see what we're getting, so filtering out primary data just because it didn't fall inside of some arbitrary time-window is actually not GMP.

Secondly, filtering out primary data because it falls within the instrument accuracy of the measurement is a valid method for filtering out data because you are determining what instrument noise is and rationally filtering it out.

Get PI Compression Paper

So there it is:


  • If you have sub-second data, set excmin and compmin = 0.
  • Generally speaking, it's good practice to set both equal to 0 anyway
  • Use excdev/compdev for data compression


No comments: