Object_Identifier

This property consists of two elements, a 10-bit Object_Type and a 22-bit Object_Instance. The Object_Type is defined in the BACnet standard:

AnalogInput :=0
AnalogOutput :=1
AnalogValue :=2
BinaryInput :=3
BinaryOutput :=4
BinaryValue :=5
Calendar :=6
Command :=7
Device :=8
EventEnrollment :=9
File :=10
Group :=11
Loop :=12
MultiStateInput :=13
MultiStateOutput :=14
NotificationClass :=15
Program :=16
Schedule :=17
Averaging :=18
MultiStateValue :=19
TrendLog :=20
LifeSafetyPoint :=21
LifeSafetyZone :=22
Accumulator :=23
PulseConverter :=24
EventLog := 25
GlobalGroup := 26
TrendLogMultiple := 27
LoadControl := 28
StructuredView := 29
AccessDoor := 30
unassigend31 := 31
AccessCredential := 32
AccessPoint := 33
AccessRights := 34
AccessUser := 35
AccessZone := 36
CredentialDataInput := 37
NetworkSecurity := 38
BitStringValue := 39
CharacterStringValue := 40
DatePatternValue := 41
DateValue := 42
DateTimePatternValue := 43
DateTimeValue := 44
IntegerValue := 45
LargeAnalogValue := 46
OctetStringValue := 47
PositiveIntegerValue := 48
TimePatternValue := 49
TimeValue := 50
NetworkPort := 51
AlertEnrollment := 52
Channel := 53

The Object_Instance is specified when the object is created and must be unique per object type. In the TwinCAT 3 library Tc3_BACnetRev14 the instance numbers start at 10000 by default. The highest 22-bit value = 4194303 cannot be assigned to object instances. This value is reserved by the BACnet standard as a wildcard in case the actual object instance number is not known.

In the case of the Device_Objects, the Object_Instance must be unique within the entire BACnet internetwork (across all BACnet data link layers).