Issue
Deleting BACnet objects using a BACnet Operator Workstation (BOWS) can permanently remove those objects from the BACnet device. The effected devices can be Building Operation BACnet devices, e.g. Automation Server or third party BACnet devices.
Environment
- Building Operation Enterprise Server
- Building Operation Automation Server
- 3rd Party BACnet Controllers
Cause
The BACnet controller(s) in question support BACnet create and delete services on the specific objects.
Resolution
Functions as Designed
If the device supports create and delete services for the object it is designed to function this way.
In general the BOWS should provide as much as possible a complete and accurate image of the contents of the device. For example using the Enterprise/Automation server as a BOWS:
- Creating new objects will automatically send a create-object request and attempt to create the object in the device.
- Deleting objects will automatically send a delete-object request and attempt to delete the object in the device.
- Upload and Download of object commands attempt to synchronize the database with the actual contents of the device.
- Download will attempt to create any objects that are in the database (but not in the device),
- and also attempt to delete any objects from the device which are not in the database.
- Upload adds or removes objects from the BOWS database.
Please see Protecting EBO/SBO BACnet objects from being deleted by 3rd party BOWS for a method of preventing BACnet points being deleted from an Enterprise/Automation Server. Consult third party documentation to identify preventing creation/deletion.
Offline Workaround
If the device supports the Device Communication Control service, and allows disable, a work around is to make changes to the database while the device is offline.
For example, using the Enterprise/Automation server as a BOWS, right click the device and select Device->Communication->Disable.
Open the property grid for the device and it should take about 12 seconds before the device is reported as offline. Any other break in communication should also work to get the device offline. Once offline, objects can be deleted from the database without affecting the device. But, after changing the database this way, the device's "upload" or "download" commands should not be used, as it will re-synchronize the device and database (either deleting objects from the device, or adding them back to the database).
It is important to note using this method the BOWS will not fully represent the objects in the device and also remember to re-enable the communication to the device.