BACnet protocol - Developer Documentation
Skip to content

Overview of BACnet protocol for MindConnect Software Agent

BACnet (Building Automation and Control Networks) is a normed protocol for building automation and was designed by ASHRAE (American Society of Heating, Refrigerating and Air-Conditioning Engineers) in order to provide a consistent and intra-operative standard for data communication in and with systems of building automation.

Note

  • When you attempt to browse online, If your device is not reachable or the configuration does not match the actual device(such as an incorrect IP address or device ID),default browsing result is displayed which displays the supported object types and their property types.
  • BACNet is limited to Port 1(Production network). Port 2 cannot be used for BACNet connection.

add-new-datasorce-BACnet

Parameters

Parameters required to set BACnet are,

The following table shows the parameter of the BACnet window:

Parameter Description
Device ID The unique identification number for the BACnet device.
Address Binding There are two possibilities to set the BACnet/IP address for a device
Dynamic : If dynamic is selected, the address is assigned dynamically where the driver determines the BACnet/IP address from the BACnet devices.
Static : If Static is selected, the BACnet/IP address must be allocated by the user, thus an automatic update is not performed. If there is a change in the information it must be updated manually by the user in the adequate fields as shown below:
add-new-datasorce-bacnet-static
The highlighted parameters in the above image are the mandatory parameters to be entered.
BACnet IPAddress : IP address of the BACnet device (If the same IP address or Device Id is used twice, only one connection can be established).
BACnet Port : The UDP port for the communication to the BACnet device.
BACnetNetwork ID : The number of network ID the device resides (max. 65535).
BBMD IpAddress Broadcast Management Device IP Address.
BBMD Port Broadcast Management Device Port Number

BACnet – Datapoint

In order to collect the data of the BACnet device, click "Add Datapoint" to add new datapoint.

The following picture shows the datapoint parameter window:

new-datapoint-bacnet

The following table shows the parameters of the BACnet data point,

Parameter Description
Type The following datapoint types are supported:
- int
- long
- double
- boolean
- string
Type Transformation For the datatypes, the following transformation types are available:
- Default
- Boolean
- UnsignedInteger
- SignedInteger
- Real
- Double
- Octets
- String
- BitString
- Enummerated
- Date
- Time
- DateTime
Data Acquisition Mode The following modes are supported:
- READ
- WRITE
- READ&WRITE
BACnet Object Type The following object types are supported:
- Accumulator
- Accumulator
- AnalogInput
- AnalogOutput
- AnalogValue
- Averaging
- BinaryInput
- BinaryOutput
- BinaryValue
- BitStringValue
- Calendar
- CharacterStringValue
- Command
- DateValue
- DatePatternValue
- DateTimeValue
- DateTimePatternValue
- Device
- EventEnrollment
- GlobalGroup
- IntegerValue
- LargeAnalogValue
- LifeSafetyPoint
- LifeSafetyZone
- LoadControl
- Loop
- MultistateInput
- MultistateOutput
- MultistateValue
- NotificationClass
- OctetStringValue
- PositiveIntegerValue
- Program
- PulseConverter
- Schedule
- TimeValue
- TimePatternValue
- TrendLog
- TrendLogMultiple
BACnet Instance Number (Object ID) The instance of the object provides the unique identification for the type of the objects.
Property types Each object type has a specific list of Property types; the following are the Property types supported:
- APDU_Segment_Timeout
- APDU_Timeout
- Accepted_Modes
- Ack_Required
- Acked_Transitions
- Active_COV_Subscriptions
- Active_Text
- Active_VT_Sessions
- Adjust_Value
- Alarm_Value
- Alarm_Values
- Align_Intervals
- All_Writes_Successful
- Application_Software_Version
- Average_Value
- Backup_Failure_Timeout
- Buffer_Size
- Controlled_Variable_Value
- Controlled_Variable_Units
- COV_Increment
- COV_Period
- COV_Resubscription_Interval
- Change_Of_State_Count
- Change_Of_State_Time
- Client_COV_Increment
- Configuration_Files
- Count
- Count_Before_Change
- Count_Change_Time
- Database_Revision
- Date_List
- Daylight_Savings_Status
- Deadband
- Description
- Description_Of_Halt
- Device_Address_Binding
- Device_Type
- Derivative_Constant
- Derivative_Constant_Units
- Direct_Reading
- Effective_Period
- Elapsed_Active_Time
- Enable
- Error_Limit
- Event_Algorithm_Inhibit
- Event_Algorithm_Inhibit_Ref
- Event_Detection_Enable
- Event_Enable
- Event_Message_Texts
- Event_Message_Texts_Config
- Event_Parameters
- Event_State
- Event_Time_Stamps
- Event_Type
- Exception_Schedule
- Fault_Values
- Feedback_Value
- Firmware_Revision
- High_Limit
- In_Process
- Inactive_Text
- Input_Reference
- Instance_Of
- Integral_Constant
- Integral_Constant_Units
- Interval_Offset
- Is_UTC
- Last_Notify_Record
- Last_Restart_Reason
- Last_Restore_Time
- Life_Safety_Alarm_Values
- Limit_Enable
- Limit_Monitoring_Interval
- List_Of_Object_Property_References
- Local_Date
- Local_Time
- Location
- Logging_Object
- Logging_Record
- Logging_Type
- Log_Buffer
- Log_DeviceObjectProperty
- Log_Interval
- Low_Limit
- Maintenance_Required
- Max_APDU_Length_Accepted
- Max_Info_Frames
- Max_Master
- Max_Pres_Value
- Max_Segments_Accepted
- Maximum_Output
- Maximum_Value
- Member_Of
- Min_Pres_Value
- Minimum_Off_Time
- Minimum_On_Time
- Minimum_Output
- Minimum_Value
- Mode
- Model_Name
- Notification_Class
- Notification_Threshold
- Notify_Type
- Number_Of_APDU_Retries
- Number_Of_States
- Object_Identifier
- Object_List
- Object_Name
- Object_Property_Reference
- Object_Type
- Operation_Expected
- Out_Of_Service
- Output_Units
- Polarity
- Prescale
- Present_Value
- Priority
- Priority_Array
- Priority_For_Writing
- Profile_Name
- Program_Change
- Program_Location
- Program_State
- Proportional_Constant
- Proportional_Constant_Units
- Protocol_Object_Types_Supported
- Protocol_Revision
- Protocol_Services_Supported
- Protocol_Version
- Pulse_Rate
- Reason_For_Halt
- Recipient_List
- Record_Count
- Records_Since_Notification
- Reliability
- Reliability_Evaluation_Inhibit
- Relinquish_Default
- Resolution
- Restart_Notification_Recipients
- Scale
- Scale_Factor
- Schedule_Default
- Segmentation_Supported
- Setpoint
- Setpoint_Reference
- Setting
- Silenced
- Start_Time
- State_Description
- State_Text
- Status_Flags
- Stop_Time
- Stop_When_Full
- System_Status
- Time_Delay
- Time_Delay_Normal
- Time_Of_Active_Time_Reset
- Time_Of_Device_Restart
- Time_Of_State_Count_Reset
- Time_Synchronization_Recipients
- Tracking_Value
- Total_Record_Count
- Trigger
- UTC_Offset
- Units
- Update_Interval
- Update_Time
- VT_Classes_Supported
- Value_Before_Change
- Value_Change_Time
- Value_Set
- Vendor_Identifier
- Vendor_Name
- Weekly_Schedule
- Zone_Members
- _Error
Index The index provides the referencing of an element in an array. If the array index is not specified, the whole array will be mapped.

Last update: February 16, 2024