I’m using version 8.1.3 (b2021030309) and I’m experiencing the following issue with alarm texts. In a UDT I’ve defined a member ActionCode and a member iParam1: when ActionCode equals -3 an alarm should appear warning the operator that he should change station, moving to the station written in iParam1. The displayPath of the alarm is configured as follows:
The station number that appears seems to be one alarm late, i.e.
the first time that the alarm occurs it shows 0
the second time it shows the station of the first time
It sounds like the alarm is activating before iParam1 has changed value, so is using the value it is at the time. How are your two tags being written to? Does it ever show the correct value? If so, it’s most likely a race condition is occurring
Tag subscriptions are unordered, so you can never rely on values that are updated “together” in a PLC being read “together” and delivered simultaneously. One will always arrive and be processed before the other’s new value arrives. And the ordering can change as subscription re-optimization happens at the OPC driver level. You need to delay your alarm at least a full period of your tag group’s update rate to ensure iParam1 is stable before it is referenced by the displayPath.