Skip to Main Content
AVEVA Product Feedback


Status No Status
Created by Guest
Created on Aug 20, 2022

Allow scheduled analyses to ignore circularity

It should be possible to force an apparent circularity to be ignored if analyses are scheduled and not triggered. A thermal efficiency application I have coded as AF Analyses has the following two analyses A and B, such that each is expressed in terms of the other. This is not really a circularity since the logic flow is dynamically switched by a third input X, so that one of these is calculated from independent inputs Y and Z, viz: A: if X > 0 then f(B) else f(Y) B: if X <= 0 then f(A) else f(Z) Clearly, if triggered, this would cause an infinite triggering loop since all inputs are signed up as triggers irrespective of whether the current dynamic conditions require them to be used. This is not the case for scheduled analyses, but at the moment (2018) these two periodic analyses are still disabled due to the circularity detection, so there is no way to implement this kind of switching logic.
  • Attach files
  • Guest
    Reply
    |
    Aug 20, 2022
    I'm not sure that I'm following what you are suggesting. It looks like your expression can be simplified and expressed it in a non-circular way: A: if X > 0 then f(Z) else f(Y) B: if X ≤ 0 then f(Y) else f(Z) Now, it's clearer that the analyses return the same result, so you could get away with having only A and not B. If "f" is the same function both times that it appears, you can even simplify this to: A: f(if X > 0 then Z else Y) Based on your example, and if my understanding of your example is correct, I would argue that the prevention of circular references is still a good thing.