BACnetAsyncTransactionToken (STRUCT)¶
TYPE BACnetAsyncTransactionToken : STRUCT
A transaction token for BACnet “asynchronous calls”.
For all “asynchronous calls” there is a callback in CODESYS runtime component CmpBACnet, which get’s called asynchronously after the IEC-code has startet the “asynchronous call”. This had been chosen as the best solution to avoid the complexitity of handling those callbacks via “IEC-Events”. The callback in CODESYS runtime component CmpBACnet sets a request status, which can be checked by the IEC-code, this mechanism is referenced as “caller status polling” later on.
BACnetAsyncTransactionToken is used to identify transactions of “asynchronous calls” like BACnetReadProperty, and to allow BACnetCancelPendingConfirmedRequest if needed. BACnetAsyncTransactionToken transports a pointer to the request status, to allow “caller status polling”. The caller had to provide the memory pointed to by this pointer.
- InOut:
- Name - Type - Initial - Comment - transactionID- UDINT- 0 - Unique ID to identify the transaction. Set the transactionID prio to the “asynchronous call”. Reset the transactionID to 0 after the “asynchronous call” is done or after a call to BACnetCancelPendingConfirmedRequest. - pStatus- POINTER TO IEC_BACNET_STATUS - 0 - Asynchronous Status of the call. If this value switches from IEC_BACNET_STATUS.BACNET_STATUS_BUSY to another state, for example IEC_BACNET_STATUS.BACNET_STATUS_OK, the asynchronous call has finished. - callbackDone- UDINT- 0 - internal information to keep track of transaction status - cancelled- UDINT- 0 - internal information to keep track of transaction status 
