BACnet - What are BACnet Device Backup and Restore Procedures
The automation developer should be aware of the BACnet procedures concerning device Backup and Restore activities. Both procedures are defined in detail by the standard in Clause 19 for future reference. The procedures may involve either network visible BACnet objects and/or non-network visible settings.
Backup and Restore procedures employ File objects to contain and move configuration data. The specific content and format of this data is a concern for the developer. In addition, the choice of whether to use stream-based or record-based files is also a matter of decision for the developer.
The following is a list of services required for both Backup and Restore procedures from the standard:
- Reinitialize Device
- Read Property
- Write Property
- Atomic Read
- Atomic Write
- Create Object (optional)
Both of these procedures operate in a similar way, with only a single difference. The standard further defines the following events to perform the Backup or Restore procedures:
- Procedure Initiation
- Procedure Preparation
- Load Parameters (Backup Procedure only)
- Configuration of Files
- Procedure Ending
In the Initiation phase, a Reinitialize Device message is sent from one device to another using the following structure:
- ReinitializeDevice(STARTBACKUP or RESTORE,
)
The sender device will wait for a response from the receiver device before continuing either procedure.
The Preparation phase entails receiving an approval or rejection from the previous phase. The following codes will indicate approval or rejection conditions:
- 'Result(+)' - Approval
- 'Result(-)' - Rejection
The Backup procedure has an additional step referred to as: Loading Parameters. At receiving an approval result, the sender device will the Configuration_Files property within the Device object. These configuration files contains vendor-specific data related to the procedures.
The next phase involves the actual Backup or Restore operation. This task is accomplished with the information from the Configuration_Files property, and through the Atomic Read and Write services.
The Ending phase for both procedures involves another Reinitialize Device message from the sender to the receiver device in the following structure from the standard:
- ReinitializeDevice (ENDBACKUP or RESTORE,
)
Both of the procedures will end with the approval and receipt from the previous message.
In building control applications, many automation devices have configuration data developed by the manufacturer. The developer should be aware of the procedures that the BACnet standard will use if an interoperable device Backup and Restore feature is made available in the automation device.