With the ads module, it is possible to setup an output record, e.g. BO (EnableAxis), to control a BOOL variable (bEnable) in a Beckhoff PLC. It is possible to add an info tag to the record definition to allow callbacks to update the BO record in case the PLC variable has been updated from the PLC. See example:
Problem:
A state machine is used in the PLC to govern if the BOOL variable bEnable is allowed to only be FALSE.
A pvput is made to EnableAxis to turn the value to TRUE: pvput EnableAxis 1
*The requested value of TRUE is directly overwritten by the state machine in the PLC to FALSE.
=> The callback is not updating the BO record to FALSE, but remains TRUE.
With the ads module, it is possible to setup an output record, e.g. BO (EnableAxis), to control a BOOL variable (bEnable) in a Beckhoff PLC. It is possible to add an info tag to the record definition to allow callbacks to update the BO record in case the PLC variable has been updated from the PLC. See example:
Problem: A state machine is used in the PLC to govern if the BOOL variable bEnable is allowed to only be FALSE. A pvput is made to EnableAxis to turn the value to TRUE: pvput EnableAxis 1 *The requested value of TRUE is directly overwritten by the state machine in the PLC to FALSE. => The callback is not updating the BO record to FALSE, but remains TRUE.