Triggered transaction group values incorrect


We had a problem where a transaction group that is triggered on a bit in a PLC was not loading the correct values but rather the values of the tags prior to being triggered.

This transaction group was triggered by a bit that is set at exactly the same time as the values to be logged are loaded into the registers. (i.e. downtime is calculated and loaded into registers, trigger bit is set high)

Ignition appeared to be capturing the values of the registers before the trigger was set high (perhaps ignition is using the cached value, rather than going out and doing a read once it sees the trigger?)

We resolved this in the PLC by setting the trigger bit high 10 seconds after the the register values are changed to prevent this ‘race’ logging from occurring.



You are right. Ignition uses subscriptions when talking with OPC server. Subscriptions go and poll the PLC and let Ignition know when changes have occurred. So if the values change at the same time it is possible that some of them haven’t been updated yet. If you would like Ignition to poll the PLC when the trigger is active there is a setting for that rather than doing subscriptions.

In your transaction group there is an Advanced tab next to the Triggers tab. You can set the dropdown mode to read rather than subscribe.

thanks travis!