9 Replies Latest reply on May 4, 2014 10:33 PM by Rhys Kirk

    Experience with new Asset Based Analytics

    Tony Fenn
      I'm evaluating the new AF Server 2014 and Asset Based Analytics. I'm not sure where this thread should go but I'm hoping that a new thread with on this 'abacus' topic can be started. I have a bunch of questions and will throw out a few here as I'm looking to share and learn: Question 1: I have a list of 5 or 6 analysis (with multiple expressions in each) belonging to one element. I would like to write to an output attribute in one analysis and then clear it by writing again from another analysis.  It appears that I can only write to the same output attribute from only 1 of my analysis. Why is that restricted ? Question 2: To solve the problem stated in 1, can I write directly to an attribute in a PE expression (without declaring an output attribute) ? For example I have an attribute called 'Moving Open', which I have set using an output attribute earlier in my logic, but using another expression I want to clear like this: if DoAction = 1 then ('Moving Open' = 0) else NoOutput() Will this work ? I have many other Asset Based Analytic questions, but will hold off until this thread takes off. Thanks
        • Re: Experience with new Asset Based Analytics
          skwan

          Hi Tony:

           

          Great to hear from you.  Currently we only allow one analysis to write to one output.  I believe I understand your use case, thanks for the explanation, it really helps us.  In your case, I would suggest that you consider merging your analyses into one.  Since PE expressions support multiple expressions and since there is no requirement that each expression has to have an output,  you can use them to hold temporary values.  Let's use an example:

          • Start with one analysis that is of the Expression type
          • In the Expression grid, name your Variable, let's call it "Status".  Enter  your expression.
          • In subsequent expression within the same Analysis,  you can simply say If Status = 1 then "Moving Opne" = 0 else NoOutput()
          • When there are multiple expressions, we evaluate them top to bottom and we also respect dependency, i.e. if a result is used as an input, we would evaluate them in the correct order
          By using Variables, you can accomplish what you need without having to write an intermediate value to an attribute as a holding place.
          While we're on this subject, our recommendation is that outputs be written to PI Points and not static attributes.  There are many performance implications that you would avoid by writing the output to a PI Point.
            • Re: Experience with new Asset Based Analytics
              Tony Fenn
              Steve I merged as you suggested but I'm hoping you can point me in a good direction with the use of variables to acheive the same thing: The scenario is I'm evaluating the correct travel and opening of a large expensive valve. I know the valve is moving when a limit switch is true and it stops when the same limit switch goes false. I need to evaluate a set of conditions when the valve has travelled and then stops. The key thing is I need a way to 'latch' the stopped condition so that evaluations can be done.  The following is a simplified version of my expressions: MyVariableDoaction1  || if ('limit switch = "true") then 1 else Nooutput()  /* use the Doaction1 variable to act like a latch to capture that the valve is moving */ MyVariableDoaction2  ||     if (MyVariableDoaction1 = 1) and  ('limit switch = 'false') then 1 else Nooutput() /* valve must have stopped as my variable was 'latched' and the limit switch therefore went from true to false, so now I can evaluate my conditions */ if (MyVariableDoaction2 = 1) then {if (perform my valve exception check logic) then 1 else 0 } else Nooutput() /* write out to an attribute to trigger my event frame in another analysis */ This all looks great, and it will work for a first pass evaluation BUT will not work on subsequent execution unless how I reset my variables. Maybe we need to get on a Go To Meeting to walk thro possible solutions ?