1

Should IsQualityGood propagate the Quality of the tag?

We have a use case where we have two flow meters that we want to sum up. If one of them is Bad quality from SCADA, we want Calcs to treat it as zero.

We did If(IsQualityGood('tag1'),'tag1',0) + If(IsQualityGood('tag2'),'tag2',0)

It works, but the output value has a Bad quality if one of the inputs does. Is that expected? I would have thought the output of IsQualityGood always have a Good quality.

The issue is it's making the output trend in Axiom light and people are wondering why.

3 replies

null
    • smason
    • 18 hrs ago
    • Reported - view

    Hi ,

    It should output a Good quality. You would want to do if(IsQualityGood(Quality('tag1')),'tag1',0). Notice the Quality() function is embedded within the IsQualityGood() function. Not sure if this is how it is actually configured, but this is how you would want to do it.

      • Real-Time Manager at CSE ICON
      • damon_vinciguerra.1
      • 18 hrs ago
      • Reported - view

       didn't we try this? Or was this exact formula chain something we didn't try?

      • System Engineer | CSE ICON
      • davin_ross
      • 17 hrs ago
      • Reported - view

      We didn’t attempt this approach initially, but I tried it now and it works (though a bit verbose).
      Good catch, ! Calc documentation agrees and suggests IsQualityGood(Quality([tag])).

      That said, this design feels limited. Why require explicit chaining with Quality() instead of allowing IsQualityGood or similar functions to directly validate tag quality? Wouldn’t integrated handling reduce complexity?
      Additionally, as Damon mentioned, passing a tag directly into IsQualityGood achieves the same validation but allows the original quality flag to persist into the resulting value. This means if the data is marked as bad, that status remains attached to the output rather than being stripped away. Why is this the case? Is the intention to preserve downstream quality context, or is it simply a side effect of how the function resolves tag references internally?

Content aside

print this pagePrint this page
  • 1 Likes
  • 17 hrs agoLast active
  • 3Replies
  • 20Views
  • 3 Following