Applies To:
  • CitectSCADA
  • CitectHMI

Advanced alarms and events on scaled tags cannot have trip points that fall outside the allowed range of the tag. For example, if a tag is scaled 0 to 100 then an advanced alarm or event using the expression ScaledTag > 90 will work as expected, but the expression ScaledTag > 110 will never trigger an alarm or event, even if ScaledTag can be made to exceed 110. (You can make ScaledTag exceed 110 by creating an unscaled tag with the same address as the scaled tag, and setting this tag to a high value. Or if the raw value in the IO Device goes to high). 


The reason is the cicode expression evaluates as true but with an error due to the tag value being out of range. The alarm or event is not triggered as there was an error in the calculation.

Some workarounds would be;

* Change the scale limits of the tag itself.

* Define an unscaled tag with the same address as the scaled point, and use the UNscaled tag in the cicode expression that generates the alarm or event.

* Write a cicode function (or use a cicode object) that checks the value of the tag and sets a digital memory tag in order to trigger either the required event or alarm.