Appendix E - BACnet Object Properties

E.1       Data Object Properties (Analog, Binary, Multistate)

The following properties are found in the Analog, Binary, and Multi-state types of Input, Output, and Value objects. Some properties apply only to certain object types as noted where applicable.

Property Encoding
Object_Identifier (75) BACnetObjectIdentifier
Object_Name (77) (W) CharacterString
“Analog Input n
Object_Description (28) (W) Character String
Same as Object_Name, is only alias for Object_Name
Object_Type (79) BACnetObjectType
ENUMERATED:
analog-input (0)
analog-output (1)
analog-value (2)
binary-input (3)
binary-output (4)
binary-value (5)
device (8)
multi-state-input (13)
multi-state-output (14)
multi-state-value (19)
Present_Value (85) (W)

REAL (analog objects)
ENUMERATED (binary objects)
Unsigned (multi-state objets)
(no index)
(priority required when writing commandable objects)
(input objects writeable only when out of service)

Status_Flags (111) BACnetStatusFlags
BIT STRING: fault(1), out-of-service(3)
Event_State (36) BACnetEventState
ENUMERATED: normal(0), fault(1)
Reliability (103) BACnetReliability
ENUMERATED: normal(0)
Vendor specific:
no response (64)
crc error (65)
exception, illegal function code (66)
exception, illegal data address (67)
exception, illegal data value (68)
exception, code+65, rarely used (69..79)
configuration property fault (80)
exception, code not recognized (81)
BACnet client read/write timeout (82)
BACnet client received error response from slave (83)
Out_Of_Service (81) (W) BOOLEAN
COV_Increment (22) (W) REAL (analog objects only)
COV_Period (180) (W) Unsigned
Priority_Array (87) BACnetPriorityArray (commandable objects only)
SEQUENCE SIZE (16) OF BACnetPriorityValue
REAL (each element, analog output objects)
ENUMERATED (each element, binary output objects)
Unsigned (each element, multi-state output objects)
Relinquish_Default (104) (W)

REAL (analog objects)
ENUMERATED (binary objects)
Unsigned (multi-state objets)

Polarity (84) BACnetPolarity (binary objects only)
ENUMERATED: normal(0)
Number_Of_States (74) Unsigned (multi-state objects only)
Units (117) BACnetEngineeringUnits (analog objects only)
Active_Text (4) CharacterString (binary objects only)
Inactive_Text (46) CharacterString (binary objects only)
State_Text (110) CharacterString (multistate objects only)
Vendor Specific Object Properties:
Object_Map_Usage (801) (W) BIT STRING:
(0) object is mapped to Modbus
(1) object included in packed group
(2) object included in mixed type packed group
(3) reserved
(4) set default on power-up
(5) set default on comm. fail
(6) read periodic
(7) write periodic
(8) write on delta
(9) enable max quiet
(10) object is mapped to BACnet
Poll_Period (802) (W) Unsigned
Modbus poll/update time in seconds
Note: Properties 803 through 808 can only be written when bit 0 of the Object_Map_Usage bit string is set. Properties 819 through 826 can only be written when bit 10 of the Object_Map_Usage bit string is set. Bits 0 and 10 of the Object_Map_Usage bit string cannot both be set at the same time (doing so will cause unpredictable behavior).
Register_Number (803) (W) Unsigned
Modbus register number 1..65535
Register_Type (804) (W)

ENUMERATED:
none(0),
coils(1),
discrete-input(2),
input-register(3),
holding-registers(4),
coil (5), (write single, FC5)
holding-register (6) (write single, FC6)

Register_Format (805) (W)

ENUMERATED:
none(0),
signed-integer(1),
unsigned-integer(2),
double-signed-integer(3),
double-unsigned-integer(4),
floating-point(5),
bit(6),
double-signed-integer-swapped(7),
double-unsigned-integer-swapped(8),
floating-point-swapped(9)

Modbus_Slave_ID (806) (W)

ENUMERATED:
1..MAX_RTU_DEVICE

Register_Bit_Mask (807) (W) Unsigned
Register_Bit_Fill (808) (W) Unsigned
Slope (809) (W)

REAL
BACnet = Modbus * slope + intercept
Modbus = (BACnet – intercept) / slope

Intercept (810) (W) REAL
Default_Value (811) (W) REAL (analog objects)
ENUMERATED (binary objects)
Unsigned (multi-state objects)
Max_Quiet_Time (812) (W) Unsigned
BACnet_Slave_Timeout (813) (W) Unsigned
Max_Read_Fail_Count (814) (W) Unsigned
Send_On_Delta (815) (W) REAL (analog objects only)
Initial_COV_Increment (816) (W) REAL (analog objects only)
Initial_COV_Period (817) (W) Unsigned
Initial_Relinquish_Default (818) (W) REAL (analog objects)
ENUMERATED (binary objects)
Unsigned (multi-state objects)
BACnet_Slave_Device (819) (W) Unsigned
Slave_Object_Type (820) (W) ENUMERATED
Slave_Object_Instance (821) (W) Unsigned
Slave_Index (822) (W) Unsigned
(value is index+1, 0=no index)
Slave_Priority (823) (W) ENUMERATED
(1..16)
Slave _Property_Type (824) (W) ENUMERATED
(see BACnet protocol specification for type codes)
Slave_Data_Encoding (825) (W)

ENUMERATED
(0) Null,
(1) Boolean,
(2) Unsigned integer,
(3) Signed Integer,
(4) Real (floating point),
(8) Bit string,
(9) Enumerated

Slave _Bit_Position (826) (W) ENUMERATED
Error_Class (830) Unsigned
Error_Code (831) Unsigned
Config_Write_Command (832) (W) ENUMERATED
(1) write config to EEPROM

E.2       Device Object Properties

The following properties are found in the Device object of the BB3-3101. In addition to standard Device properties, configuration properties that apply at a system level to the whole device are included here.

Property Encoding
Object_Identifier (75) BACnetObjectIdentifier
Object_Name (77) CharacterString
Object_Type (79) BACnetObjectType
ENUMERATED:
device (8)
System_Status (112) BACnetDeviceStatus
Vendor_Name (121) CharacterString
Vendor_Identifier (120)

Unsigned16
(should always return 208)

Model_Name (70) CharacterString
Fimrware_Revision (44) CharacterString
Application_Software_Version (12) CharacterString
Protocol_Version (98) Unsigned
Protocol_Revision (139) Unsigned
Protocol_Services_Supported (97) BACnetServicesSupported
Protocol_Object_Types_Supported (96) BACnetObjectTypesSupported
Object_List (76) BACnetARRAY[N] of BACnetObjectIdentifier
Max_APDU_Length_Accepted (62) Unsigned
Segmentation_Supported (107) BACnetSegmentation
APDU_Timeout (11) Unsigned
Number_Of_APDU_Retries (73) Unsigned
Device_Address_Binding (30) List of BACnetAddressBinding
Database_Revision (155) Unsigned
Description (28) CharacterString
Location (58) CharacterString
Max_Segments_Accepted (167) Unsigned
APDU_Segment_Timeout (10) Unsigned
Active_COV_Subscriptions (152) BACnetLIST of BACnetCOVSubscription
Last_Restart_Reason (196) BACnetRestartReason
Max_Master (64) Unsigned (0..127)
Max_Info_Frames (63) Unsigned
Restart_Notification_Recipients (202) BACnetLIST of BACnetRecipient
Time_Of_Device_Restart (203) BACnetTimeStamp
Vendor Specific Object Properties:
RTU_Port_Baud_Rate (851) (W)

ENUMERATED:
(1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200)

RTU_Character_Forma t(852) (W)

BITSTRING:
(0) double registers are swapped
(1) gateway is slave
(2) enable parity
(3) set odd parity (even otherwise if parity enabled)
(4) enable two stop bits (no parity)

RTU_Slave_Timeout (853) (W)

Unsigned
Index: 1..MAX_RTU_DEVICE

RTU_Slave_Address (854) (W)

ENUMERATED
(1..247)

RTU_Pre_Delay (855) (W) Unsigned
Max_State_Per_Multistate (856) (W) Unsigned
RTU_Message_Count (861) (W*)

Unsigned
Index: 1..MAX_RTU_DEVICE

RTU_Exception_Count (862) (W*)

Unsigned
Index: 1..MAX_RTU_DEVICE

RTU_Bad_CRC_Count (863) (W*)

Unsigned
Index: 1..MAX_RTU_DEVICE

RTU_No_Response_Count (864) (W*)

Unsigned
Index: 1..MAX_RTU_DEVICE

W* -- Registers are “writeable” for purposes of resetting error counts. Writing any value will reset count to zero. Total message count will stop at 65535. Error counts will stop at 255. Counting will resume when reset to zero.
RTU_Error_Scan (865) (W)

Unsigned
Index: 1..MAX_RTU_DEVICE
(index is starting point to scan for next device with errors)
(returns next index and error count, or zero)
(write index to reset errors for that device, or zero to reset all)

RTU_Raw_Command (871) (W)

OCTET_STRING
(write raw Modbus packet to send, read reply)

MSTP_Port_Baud_Rate (1201) (W)

ENUMERATED:
(9600, 19200, 38400, 76800)
NOTE: Changes to port settings will take effect only after a COLDSTART or WARMSTART command is issued.

MSTP_Station_ID (1202) (W) Unsigned
Enable_Auto_Reset (1203) (W)

BOOLEAN
(True if reliability codes should auto return to zero)

Reinit_Password (1205) (WO)

CharacterString
Note: This property is write-only, and is only writeable with unlock sequence.

Password_Unlock (1206) (W)

Unsigned
Note: Must write device’s own device instance to this property to unlock password for writing, and next property written must be 1205. Any other sequence will reset and lock out password write.

Device_Allocation (1251) (W)

Unsigned
Index: Use object type
analog-input (0)
analog-output (1)
analog-value (2)
binary-input (3)
binary-output (4)
binary-value (5)
multi-state-input (13)
multi-state-output (14)
multi-state-value (19)
max-state-per-multistate(128)
(value is count allocated of objects of type indexed)
(attempting to write a count that is not acceptable will return error class Services, code Invalid Configuration Data)

NOTE: After writing all 10 object allocation counts, a WARMSTART must be issued. All object maps will be cleared.