BACnetReadRange (FUN) ¶ FUNCTION BACnetReadRange : IEC_BACNET_STATUS Sends a ReadRange request Sends a request to read a specific range of data items representing a subset of data available within a specified object property. This routine may be used with any list or array of lists property. This routine may control APDU properties like APDU length, segmentation, and timeout for both request and in 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 which is responsible for receiving asynchronous responses. An optional BACNET_READ_RANGE_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_READ_RANGE_COMPLETE_CB routine; then the BACnetReadRange routine sends a request and waits for reply. Asynchron call, which fills pResult with the call result in an asynchronus manner. As soon as pContentsStatus is IEC_BACNET_STATUS.BACNET_STATUS_OK the data in pContents is valid. InOut: Scope Name Type Comment Return BACnetReadRange IEC_BACNET_STATUS A status indicating whether 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. pReadInfo POINTER TO IEC_BACNET_READ_RANGE_INFO A pointer to the service information data structure of datatype IEC_BACNET_READ_RANGE_INFO . 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. pResult POINTER TO IEC_BACNET_READ_RANGE_RESULT A pointer to a buffer to place the Result data if successful reading (datatype IEC_BACNET_READ_RANGE_RESULT ). The application may initialize the itemData member of the IEC_BACNET_READ_RANGE_RESULT struture with a 0 pointer and bufferSize with 0 too. In this case the memory for the response is allocated by the API and the application is responsible to release it with a call to BACnetFreeStackAllocatedMemory if the buffer is no longer needed. 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.
BACnetReinitializeDevice (FUN) ¶ FUNCTION BACnetReinitializeDevice : IEC_BACNET_STATUS Sends a reinitializeDevice request. Sends a message to instruct a remote Device to reboot itself (cold start) or reset itself (warm start). This routine may be used to execute setup/restore procedures. This routine may control APDU properties like APDU length, segmentation, and timeout for both request and in 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 which 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 BACnetReinitializeDevice routine sends a request and waits for reply. InOut: Scope Name Type Comment Return BACnetReinitializeDevice IEC_BACNET_STATUS A status indicating whether 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. pServiceInfo POINTER TO IEC_BACNET_REINIT_DEV_INFO A pointer to the service information data structure. The fields of this data structure include the Reinit Type ( IEC_BACNET_REINIT_TYPE.REINIT_COLDSTART or IEC_BACNET_REINIT_TYPE.REINIT_WARMSTART ), 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.
BACnetRemoveListElement (FUN) ¶ FUNCTION BACnetRemoveListElement : IEC_BACNET_STATUS Sends an Remove-List-Element request Sends a request to remove one or more list elements from an object property which is a list. This routine may control APDU properties like APDU length, segmentation, and timeout for both request and in 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 which is responsible for receiving asynchronous responses. An optional BACNET_CHANGE_LIST_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_CHANGE_LIST_COMPLETE_CB routine then the BACnetRemoveListElement routine sends a request and waits for the reply. InOut: Scope Name Type Comment Return BACnetRemoveListElement IEC_BACNET_STATUS A status indicating whether 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. pRemoveInfo POINTER TO IEC_BACNET_CHANGE_LIST_INFO A pointer to the service information data structure. This data structure contains the objectID, ePropertyID, nIndex and a buffer in which the Property Contents datatype list is placed. 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. pFirstFailed POINTER TO IEC_BACNET_UNSIGNED A pointer to a buffer in which to place the sequence number of the first element in the pElements list which cannot be added to the property. pFirstFailed may be 0.
BACnetSubscribeCOV (FUN) ¶ FUNCTION BACnetSubscribeCOV : IEC_BACNET_STATUS Sends an SubscribeCov request Sends a message to subscribe a COV client to receive COV notifications from a BACnet standard object, or cancel the existing subscription. If the standard object supports COV reporting, COV notification may be sent to one or more subscriber clients. A subscription establishes a connection between the change of value detection and reporting mechanism within the COV-server device, and a logical Process within a COV-client. This routine may control APDU properties like APDU length, segmentation, and timeout for both request and in 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 which 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 BACnetSubscribeCOV routine sends a request and waits for the reply. InOut: Scope Name Type Comment Return BACnetSubscribeCOV IEC_BACNET_STATUS A status indicating whether 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. pSubscriber POINTER TO IEC_BACNET_SUBSCRIBE_COV_INFO A pointer to a memory block which contains data structure defining a set of parameters: whether this request is for subscription or cancellation, the destination Process identifier, monitored object identifier, whether confirmed or unconfirmed notification is required, and subscription lifetime. 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.
BACnetSubscribeCOVProperty (FUN) ¶ FUNCTION BACnetSubscribeCOVProperty : IEC_BACNET_STATUS Sends an SubscribeCovProperty request Sends a message to subscribe a COV client to receive COV notifications for an arbitrary property in an arbitrary BACnet object, or to cancel an existing subscription. If the object supports COV reporting, COV notifications may be sent to one or more subscriber clients. A subscription establishes a connection between the change of value detection and reporting mechanism within the COV initiating object, and a logical process within the COV-client. This routine may control APDU Properties like APDU length and segmentation and timeout for both request and response processing. This routine may send asynchronous messages, i.e. this routine will complete its execution before the BACnet reply comes so the application can keep running. In this case the response information will be received by the thread which 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 messages are sent, the responses shall be queued and identified by the transaction handles. If no BACNET_SIMPLE_ACK_COMPLETE_CB routine is used then BACnetSubscribeCOVProperty routine sends a request message and waits for the reply. NOTE : If fLifeTimePresent and fCovIncrementPresent of pSubscriber are not set to 1, on some systems errors may occur. However, these parameters can be 1 any time, because a liftime of 0 indicates infinite lifetime and an increment of 0 an infinitesimal small increment. InOut: Scope Name Type Comment Return BACnetSubscribeCOVProperty IEC_BACNET_STATUS A status indicating whether 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. pSubscriber POINTER TO IEC_BACNET_SUBSCRIBE_COVP_INFO A pointer to a memory block which contains data structure defining a set of parameters: whether this request is for subscription or cancellation, the destination Process identifier, monitored object identifier, monitored property reference, COV increment, whether confirmed or unconfirmed notification is required, and subscription lifetime. 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.
BACnetUnconfPrivateTransfer (FUN) ¶ FUNCTION BACnetUnconfPrivateTransfer : IEC_BACNET_STATUS Sends a UnconfirmedPrivateTransfer request. Sends a BACnet Unconfirmed-Private-Transfer service request to invoke proprietary or non-standard service in a remote device. return IEC_BACNET_STATUS InOut: Scope Name Type Comment Return BACnetUnconfPrivateTransfer IEC_BACNET_STATUS Input pSourceAddress POINTER TO IEC_BACNET_ADDRESS If the BACnet application has only one device constructed and installed, this can be NULL. 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. pServiceInfo POINTER TO IEC_BACNET_PRIVATE_TRANSFER_INFO A pointer to the service information data structure. This data structure is to transport the service parameters to the destination device.
BACnetUnconfTextMessage (FUN) ¶ FUNCTION BACnetUnconfTextMessage : IEC_BACNET_STATUS Sends an unconfirmed TextMessage. Sends an Unconfirmed-Text-Message service request to remote device. This service may be broadcast, multicast, or addressed to a single recipient. This service may be used in cases where confirmation that the text message was received is not required. Message may be prioritized into Normal or Urgent categories. A text message may be optionally classified by a numeric class code or class identification string. The interpretation of the class is a local matter. InOut: Scope Name Type Comment Return BACnetUnconfTextMessage IEC_BACNET_STATUS Input pSourceAddress POINTER TO IEC_BACNET_ADDRESS If the BACnet application has only one device constructed and installed, this can be NULL. 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. pServiceInfo POINTER TO IEC_BACNET_TEXT_MESSAGE_INFO A pointer to the service information data structure. This data structure of datatype BACNET_TEXT_MESSAGE_INFO contains an object Identifier of device object of the request initiator, a boolen if Message Class Present attribute, a message class, a message priority, a message string type and a message string.
BACnetWhoHas (FUN) ¶ FUNCTION BACnetWhoHas : IEC_BACNET_STATUS Sends a who-Has request. Sends a BACnet Who-Has request to a local or remote device or network. This routine allows an application to discover BACnet Devices whose local databases contain a given named object, or a given Object Identifier. The I-Have service is used to respond to Who-Has service requests. InOut: Scope Name Type Comment Return BACnetWhoHas IEC_BACNET_STATUS A status indicating whether 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. filterMin IEC_BACNET_DWORD Optional argument for the Who-Is request, which limit the lower range of Device instance numbers expected to respond to the Who-Is request. This argument is omitted from the request if both parameters have the value “BACNET_NO_FILTER” (use -1). filterMax IEC_BACNET_DWORD Optional argument for the Who-Is request, which limit the upper range of Device instance numbers expected to respond to the Who-Is request. This argument is omitted from the request if both parameters have the value “BACNET_NO_FILTER” (use -1). objectSpec POINTER TO IEC_BACNET_WHO_HAS_PARAM A pointer to a data structure which includes either the Object Identifier or Object Name of the object which is requested, and a tag field that indicates which of these two possibilities was chosen.
BACnetWhoIs (FUN) ¶ FUNCTION BACnetWhoIs : IEC_BACNET_STATUS Sends a who-Is request. Sends a BACnet Who-Is request to a local or remote device or network. This routine allows an application to discover BACnet Devices for which the Address isn’t known previously. In a simple network with only one LAN using ARCNET or Ethernet, a minimum delay of 1 second is adequate, but higher values may be appropriate in some situations. InOut: Scope Name Type Comment Return BACnetWhoIs IEC_BACNET_STATUS A status indicating whether 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. filterMin IEC_BACNET_DWORD Optional argument for the Who-Is request, which limit the lower range of Device instance numbers expected to respond to the Who-Is request. This argument is omitted from the request if both parameters have the value “BACNET_NO_FILTER” (use -1). filterMax IEC_BACNET_DWORD Optional argument for the Who-Is request, which limit the upper range of Device instance numbers expected to respond to the Who-Is request. This argument is omitted from the request if both parameters have the value “BACNET_NO_FILTER” (use -1).
BACnetWriteFile (FUN) ¶ FUNCTION BACnetWriteFile : IEC_BACNET_STATUS Sends an AtomicWriteFile request. Write an octet string into a specified position in a specified file. The file may be accessed as records or as a stream of octets. Choice is defined by the value of File_Access_Method property of the File object. Since the present version of this API does not support default processing of this service, the destination has to include a hook procedure to process it. This routine may control APDU properties like APDU length, segmentation, and timeout for both request and in 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 which is responsible for receiving asynchronous responses. An optional BACNET_WRITE_FILE_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_WRITE_FILE_COMPLETE_CB routine; then the BACnetWriteFile routine sends a request and waits for reply. Asynchron call, which fills pResult with the call result in an asynchronus manner. As soon as pResultStatus is IEC_BACNET_STATUS.BACNET_STATUS_OK the data in pResult is valid. InOut: Scope Name Type Comment Return BACnetWriteFile IEC_BACNET_STATUS A status indicating whether 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. pWriteInfo POINTER TO IEC_BACNET_WRITE_FILE_INFO A pointer to the service request information data structure. This data structure contains the objectID, File Access Type ( IEC_BACNET_FILE_ACCESS_TYPE.FILE_ACCESS_STREAM or IEC_BACNET_FILE_ACCESS_TYPE.FILE_ACCESS_RECORD ) and Write File Data information. 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. pResult POINTER TO IEC_BACNET_WRITE_FILE_RESULT A pointer to a buffer to hold the Result data if successful writing (datatype IEC_BACNET_WRITE_FILE_RESULT ). 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.