CALL NOWCALL NOWCALL NOWGATEWAY SELECTORCALL NOWGATEWAY SELECTORLEARN MORELEARN MORE PROCEED TO CHECK-OUT SUBSCRIBE TO OUR RSS FEED SEARCH GATEWAYS NOW SEND MESSAGE NEWSLETTER | SUBSCRIBESUBMIT CALL NOWCALL NOWCALL NOWGATEWAY SELECTORCALL NOWGATEWAY SELECTORLEARN MORELEARN MORE PROCEED TO CHECK-OUT SUBSCRIBE TO OUR RSS FEED SEARCH GATEWAYS NOW SEND MESSAGE NEWSLETTER | SUBSCRIBESUBMIT

BACnet: The Command Object

The Command object is a very important part of the operation of a BACnet device. The Command object writes to a group of object properties through action code(s) within the Present_Value property. When this writing occurs, the Command object will start a sequence of actions in the BACnet device(s).

The Command object like the object in the previous article by the same author uses the four properties required by the BACnet standard. In addition, five more important properties are included in the operation of this object.

The following table will list the properties and datatypes of the Command object from the BACnet standard:

PropertyDatatype
Object_IdentifierBACnet Object Identifier
Object_NameCharacter String
Object_TypeBACnet Object Type
Present_ValueUnsigned
In_ProcessBoolean
All_Writes_SuccessfulBoolean
ActionBACnet Array of Action List
Action TextBACnet Array of Character String
Profile_ NameCharacter String

The Command object can be a powerful aspect with beneficial applications, but at the same time this object can cause confusion and problems for the developer. Certain issues must be observed concerning the Command object:

  • Proper configuration of the Command object.
  • Proper device configuration concerning the Command object.
  • Closely monitor the In_Process property of the Command object, due to the possibility of the object commanding itself.

The following example from the BACnet standard will reveal the Command object structure from an actual building automation application. Specifically, an elevator subsystem where a floor of the building is shut off when in the unoccupied mode:

Object_Identifier = (Command, Instance 1)
Object_Name = "ZONE43CONTROL"
Object_Type = COMMAND
Description = "Fourth Floor, West Wing Office Suite"
Present_Value = 2
In_Process = FALSE
All_Writes_Successful = TRUE
Action = {((,(Analog Value, Instance 5), Present_Value,,65.0, 8,,TRUE,TRUE),
(,(Binary Output, Instance 3), Present_Value,,INACTIVE,8,1,TRUE,TRUE),
((Device, Instance 1), (Binary Value, Instance 1),Present_Value, ,INACTIVE, 8,1,TRUE,TRUE)), ((,(Analog Value, Instance 5), Present_Value,,72.0,
8,2,TRUE,TRUE), (,(Binary Output, Instance 3), Present_Value,
,ACTIVE,8,,TRUE,TRUE), ((Device, Instance 1), (Binary Value, Instance 1),Present_Value,,ACTIVE, 8,,TRUE,TRUE))}
Action_Text = {"Unoccupied", "Occupied"}

Written by: Scott Cosby

Gateway Selector

Select your combination of protocols.
Protocol 1
Protocol 2

Contact Us

Contact us via phone (+1 866-383-1657) or leave a detailed message below for sales, support, or any other needs

*Required Field
I'd like to receive the newsletter. *Check email for confirmation.
*Required Field
Preferred Time To Be Contacted (PST)
8:00am - 12:00pm 12:00pm - 5:00pm