1 Reply Latest reply on Jan 16, 2013 2:15 PM by Rick Davin

    PI & Limits


      Hi everyone,


      has anyone expierience with limits and Osisoft PI (AF,EF,...)


      Usually someone has for the values we all record in PI some kind of limits.
      - this limits maybe change depending on the productiontype,...
      - for one value we typicall a setpoint, high limit, high high,....
      - this limits also can change (not very often - but still)


      - limits are not only a PCS / DCS Task but also for more process information as a whole...


      What options are there to combine this with Osisoft PI and it's tools.


      When you store this limit's in tags you run in a couple of problems
      - when you have for example 100 Tags * 5 (for setpoint,high,...) * 3  Production lines * 3 Production Types = 4500 Tags,
      - what you maybe typically do is that you have one tag (which holds the active value - with a performance equation behind which points depending on the production type to the right "base limit".


      Storing it in AF
      - how do you architecture the whole thing
      - do have you value as an attribute (and the setpoint, limits,... as a child attribute)
      - do you use one element per value and just the limits are further attributes (with this you can create attribute template and maybe reuse limit calculations)
      - but with this the whole "template concept (template site, template area,....) doesn't really work)


      Storing it in Event Frames
      - one eventframe is one recipe,...


      How you visualize the limits best ?
      - when you wan't to display the value and the limit's in processbook you have the option to display it in SQC (which then is a pain in the ass to really analyze data) or use a "common" trend (where it also is a pain to get the colors right (setpoint green, limits red,...  and you have a lot of useless information because of the description below and the values on the right.



      - coresight the same


      - datalink the same.


      Integration with notification?
      - this is maybe the easiest,... if you have solved the other ones,..


      Some inputs
      - Best Practice,...
      - a PI System which supports limits by hearts would be nice













        • Re: PI & Limits
          Rick Davin

          I can't go too deep into specifics.  I think its a common caution of American workers to not overshare so as not to give away too many company secrets, or a plain out fear of being fired.  That said, I can say a few general things.


          My company is a big AF user.  Just like a High or a High-High, we have different types of limits.  We are a service company with many customers, so we have Customer-specified limits alongside our Universal limits.  Additionally we have Critical Limits.  A given measurement is usually a root-level attribute, that is to say an attribute on the element's root.  And each root measurement may have child attributes for the 0, 1, or more limits: none and any combination of Universal, Customer, Critical.  The Customer limits are generally stored as PI tags.  They may never change but its important to know that they could possibly change, and therefore be historized.  The Universal limits are stored in an AFTable that is used by all customers (that's why it's universal).  The Critical limits are stored in an AFTable per customer and location.  None of the tables have a time series column; limits in tables are meant to be fixed and unchanging.


          Sorry, I can't discuss visualization or notifications.  We also have a custom data reference to check whether a root measurement is within limit specifications or not.  On the surface this sounds trivial, and in many regards it is.  One could write a formula to check limits.  However, there is a lot of mundane little annoyance checks that should be made to be sure all attributes' values are compared with the same UOM, and what happens if there is a High without a Low attribute, or what happens if there is a Low attribute but its value is a digital state.  The custom data reference takes care of all of those nit-picky little details.


          Some of this topic again seems trivial on the surface.  But little questions and answers are quite important.  For instance, if you have a limit value will you treat it inclusive or exclusive?  E.g. if I have a High should it be (Meas <= High ) or (Meas < High)?  Will you support the nightmare scenario where one measurement's limits are inclusive and another one's are exclusive?  With our custom DR, we chose to have limits universally be treated the same (inclusive).