Hi All,
Wondered if anyone could offer us some advice regarding an issue we're seeing with multiple expression tags.
It appears that SOME (not all) of our expression tags result in an Error_EspressionEval error.
They're all based on a UDT and are quite simple 'If' logic in the main.
One of our tags named P_Target_Count is itself is returning an Integer with the following expression:
if (isNull({[.]P_Target_Count}), 0,
if({[.]Timers/P_Timer} = {[.]Set_Line_Speed}, {[.]P_Target_Count}+1, {[.]P_Target_Count}))
P_Timer is an Integer producing Expression tag
Set_Line_Speed is a Float which has been set to a constant value of 300.0 via the UDT
Thing is, it will continue to update the tag's value regardless of whether the Error_ExpressionEval has been triggered or not.
It seems to be fine for most of the tags using this UDT, however, occasionally, it seems as if some of the tags go into this error state.
To clear it, we simply cut, apply, and then paste back in, the expression within the tag and it clears the error....for a while.
Thing is, the exact same code has been utilised and is running in the 7.9 instance this project has been upgraded from without such errors occurring.
We also see the same error occurring in a similar fashion with the P_Timer tag along with a number of other tags throughout the same UDT tag group, as mentioned, for a number of tags utilising it.
We're stumped as where it's been working without issue, it continues to do so...without issue.
Is there some quirk about how we should be interacting with the tags which differs between 7.9 and 8.1.[latest version] that we're not aware of?
Many thanks for any pointers anyone may have.
Kind Regards
Rob