Hello.
I'm having a issue with high CPU usage.
When I'm diagnosing thread's, I see that there is "tag-expressions" that uses nearly 75% of my CPU usage.
I have a UDT that uses isAlarmActiveFiltered to set some boolean expression values to set the following statuses:
- High_acked:
if(!{[.]High_unacked} && isAlarmActiveFiltered("[default]*","*",concat("*",{InstanceName},"*"),3,4,0,1,0),1,0)
- High_unacked:
isAlarmActiveFiltered("*","*",concat("*",{InstanceName},"*"),3,4,0,0,0)
- Medium_acked:
if(!{[.]Medium_unacked} && isAlarmActiveFiltered("[default]*","*",concat("*",{InstanceName},"*"),2,2,0,1,0),1,0)
- Medium_unacked:
isAlarmActiveFiltered("[default]*","*",concat("*",{InstanceName},"*"),2,2,0,0,0)
- Low_Acked:
if(!{[.]Low_unacked} && isAlarmActiveFiltered("[default]*","*",concat("*",{InstanceName},"*"),1,1,0,1,0),1,0)
- Low_unacked:
isAlarmActiveFiltered("[default]*","*",concat("*",{InstanceName},"*"),1,1,0,0,0)
This is to use further to blink a red, orange or yellow symbol to indicate alarm status on a template.
When I'm disabling those tags, the CPU goes down to 24%.
I'm having quite many instances of the UDT, but is it normal that this expression uses so much CPU?
Is there any other ways to visualize active/active unacked and different alarm priorities?
Thank you in advance.