BACnetDeviceCommControl
(FUN)
FUNCTION BACnetDeviceCommControl : IEC_BACNET_STATUS
Sends a deviceCommunicationControl request.
Instructs a remote device to enable/disable initiating and responding to all APDUs (except Device-Communication-Control and Reinitialize-Device, in the IEC_BACNET_DCC_VALUE.DCC_DISABLE case). This routine may control APDU properties like APDU length, segmentation and timeout for both request and response. This routine can execute asynchronously, i.e. this routine will return to the caller before the BACnet reply comes so that the applications can keep running. In this case the response information will be received by the thread that is responsible for receiving asynchronous responses. An optional BACNET_SIMPLE_ACK_COMPLETE_CB routine, which is provided by the BACnet application, shall be used to process this information. If a number of asynchronous requests are sent, the responses shall be queued and identified by the transaction handles. If the application does not supply the BACNET_SIMPLE_ACK_COMPLETE_CB routine; then the BACnetDeviceCommControl routine sends a request and waits for reply.
- InOut:
Scope
Name
Type
Comment
Return
BACnetDeviceCommControl
IEC_BACNET_STATUS
A status indicating if the operation worked.
Input
pSourceAddress
POINTER TO IEC_BACNET_ADDRESS
If the BACnet application has only one device constructed and installed, this can be 0. In this case the MAC address of this device will be used. Otherwise this shall be the MAC address returned on device object construction.
pDestinationAddress
POINTER TO IEC_BACNET_ADDRESS
This is the MAC address of the device to which the request should be sent.
pDccParams
POINTER TO IEC_BACNET_DCC_INFO
A pointer to the service information data structure. The fields of this data structure include the time duration, which may be indefinite or indicate a number of minutes that the remote device shall ignore all APDUs (except Device-Communication-Control and Reinitialize-Device APDUs in the DCC_DISABLE case), dccValue (which may be IEC_BACNET_DCC_VALUE.DCC_ENABLE or IEC_BACNET_DCC_VALUE.DCC_DISABLE), and a password.
pAPDUParams
POINTER TO IEC_BACNET_APDU_PROPERTIES
A pointer to the APDU-Properties structure which sets APDU properties for this transaction only. This does not change global defaults or settings for the application APDU Properties. This argument may be 0. In this case APDU properties are used which were specified in the device object properties of the applications device which sends the request.
pTransactionToken
POINTER TO BACnetAsyncTransactionToken
Transaction token of the asynchronous call - see BACnetAsyncTransactionToken.
pError
POINTER TO IEC_BACNET_ERROR
A pointer to a structure to hold BACnet Error information. pError may be 0 if the application isn’t interested in detailed error information.