Alarm setpoints occasionally show null in tag browser and view, but have correct value in tag diagnostics

This happens randomly. I've tried tracing this down to a root cause, but I can't find anything.

The alarm setpoints are set via an expression, but any errors that might arise from that don't explain the discrepancy between the diagnostics and the tag browser. I've found that disabling and re-enabling the tag causes the issue to go away, but I'm hoping for a long-term fix.


image

What is the expression?

if({[.]MES/AX/Temperature} != 0, {[.]MES/AX/Temperature}, {[.]Temperature SP})*1.01

From what I can tell, that this only happens when {[.]MES/AX/Temperature} is non-zero, but doesn't always happen when it's non-zero. There is a similar expression for the low SP, just multiplied by 0.99 instead of 1.01.

add a try catch or isNull. I'm guessing the tag quality may be causing an issue.

If [.]MES/AX/Temperature is null it will return null because null != 0 (I believe)

Are you doing this expression binding directly in the alarm setpoint? I would do it in an expression tag outside this tag and just bind the alarm setpoint to that tag.