Skip to content
  • There are no suggestions because the search field is empty.

How to handle when a BACnet object Present Value Does Not Change when written to

The Present Value of an object does not update when written to. Instead, the value appears in a Priority Array tag.

All devices on a BACnet network can write to the writable properties of another device's objects. Because this can result in conflicting commands, BACnet has a mechanism to resolve this by distinguishing between writable and commandable properties, and applying the resolution to commandable properties only. For writable and non-commandable properties, the last write overwrites any previous writes; there is no conflict resolution.

  • The Present Value of AO, BO, MO objects are always commandable.
  • The Present Value of AV, BV, MV objects are commandable if the vendor chose to implement them that way.
  • If a property is commandable, it is required to have Priority_Array and Relinquish_Default properties. These two properties are used to prevent conflicts in simultaneous commands to the same property.

When a value is written to a commandable point it must contain a priority. There are 16 priorities. If the priority is not specified, then it is assumed to be the lowest (16). Each slot in the array is set to a Null (unused) state after a restart. When a command is received, the BACnet device updates the slot in the Priority Array corresponding to the commanded priority with the new value. The device continuously scans through the priority array of each commandable property and looks for the highest priority slot that is non-Null. It uses that value to update the Present Value. If a command sent to an objects Present Value has no effect, it may have been commanded with a priority lower than the one currently in use.