Configure the BACnet MS/TP Connector
Configure BACnet MS/TP instances and items, discover devices and supported objects, and troubleshoot RS-485 communication.
The BACnet MS/TP Connector communicates with BACnet devices over an RS-485 serial network. You can discover devices and their supported objects automatically, or configure instances and items manually when you already know their BACnet addresses.
This guide explains the serial connection, connector parameters, device and item discovery, supported objects and data types, and common communication problems.
Prerequisites
- Install the BACnet MSTP Connector.
- Connect a supported RS-485 interface to SIA Connect.
- Wire the BACnet MS/TP trunk according to the device manufacturer's instructions.
- Confirm the trunk baud rate and choose a unique local MS/TP MAC address for SIA Connect.
- For manual configuration, identify the target BACnet device instance number and the required object details.
The instance address is the BACnet device instance number. It is not the device's MS/TP MAC address.
Incorrect RS-485 polarity, termination, biasing, or grounding can prevent every device on the trunk from communicating.
Configure an instance manually
- Open Workspace > Instances.
- Create an instance and select the BACnet MSTP Connector.
- Enter a name for the instance.
- Enter the target BACnet device instance number in Address.
- Select the serial interface connected to the MS/TP trunk.
- Configure the communication parameters described below.
- Create the instance.
Instance parameters
| Parameter | Required | Default | Accepted values | Description |
|---|---|---|---|---|
| Address | Yes | None |
0 to 4194303
|
The BACnet device instance number of the target device. |
| Device interface | Yes | None | Detected serial interfaces | The serial interface connected to the BACnet MS/TP trunk. |
| Baudrate | Yes | 9600 |
9600, 19200, 38400, 57600, 76800, or 115200
|
The serial communication rate. It must match the baud rate used by the MS/TP trunk. |
| MAC | Yes | 127 |
0 to 254
|
The local MS/TP MAC address used by SIA Connect. It must not conflict with another node on the trunk. |
| Max masters | Yes | 127 |
1 to 127
|
The highest master MAC address considered during token passing. |
| Max info frames | Yes | 1 |
1 to 255
|
The maximum number of information frames SIA Connect can send before passing the token. |
| Timeout | Yes |
5000 ms |
1 to 3600000 ms during discovery |
How long the Connector waits for BACnet responses. |
| Device ID | Yes | 230 |
0 to 4194303
|
The local BACnet device instance used by SIA Connect. A value of 0 uses 230. |
Device ID and MAC identify different parts of the connection. Device ID is the local BACnet device instance. MAC is the local address used on the MS/TP trunk.
Discover BACnet MS/TP devices
Device discovery sends a BACnet Who-Is request on the selected serial interface and creates candidates from the devices that respond. The Connector reads each device's object name and description when they are available.
- Open Workspace > Instances.
- Start instance discovery and select the BACnet MSTP Connector.
- Select the required Device interface. Leave it empty only when you want discovery to scan every detected serial interface.
- Set the baud rate, local MAC, Max masters, Max info frames, Timeout, and Device ID.
- Optionally limit the search with the minimum and maximum BACnet device instance.
- Start the discovery.
- Review the discovered candidates and warnings.
- Select and import the required devices.
The imported instance address is the discovered BACnet device instance number. The selected serial interface and discovery communication settings are included in the imported instance.
Normal reads and writes on an affected serial interface are paused while discovery is using that interface. Instances can temporarily report BACnet MS/TP discovery in progress.
Device discovery parameters
Device discovery uses the instance parameters listed above. It also provides these optional range filters:
| Parameter | Required | Accepted values | Description |
|---|---|---|---|
| Device instance min | No |
0 to 4194303
|
The lowest BACnet device instance included in the Who-Is request. |
| Device instance max | No |
0 to 4194303
|
The highest BACnet device instance included in the Who-Is request. |
Enter both range values and make sure the minimum is not greater than the maximum. If the range is incomplete or invalid, the Connector ignores it and scans without the range.
If discovery scans several serial interfaces, it stops before exceeding the available worker time. Select one Device interface to make the scan more focused. If needed, increase the scan duration provided by the Edge Portal.
Discover items
Item discovery reads the selected device's BACnet Object_List. It then reads the name, description, Present_Value, data type, and engineering unit of each supported object.
- Open the BACnet MS/TP instance.
- Start item discovery.
- Wait while the Connector reserves the instance's serial interface and reads the device's Object_List.
- Review the discovered item candidates and warnings.
- Select the required candidates.
- Import the selected items.
The Connector configures discovered items to use the Present value property. It assigns the detected data type and engineering unit. Output and value objects that support writing are marked for read and write access. Input objects are marked as read-only.
Unsupported objects, unsupported Present_Value data types, empty values, and objects that cannot be read are skipped. The discovery result includes a warning for each supported object that could not be imported as a candidate.
Configure an item manually
- Open the BACnet MS/TP instance.
- Create an item.
- Enter a name for the item.
- Select the BACnet Object type.
- Enter the Object instance.
- Select the Property.
- Select the property's Data type.
- Configure the item's access and polling settings as required.
- Create the item.
The selected data type must match the BACnet property's actual application data type. A mismatch can cause read or write errors.
Item parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
| Object type | Yes | Analog input | The BACnet object type that contains the required property. |
| Object instance | Yes | 0 |
The instance number of the object within the BACnet device. |
| Property | Yes | Present value | The BACnet property to read or write. |
| Data type | Yes | Boolean | The BACnet application data type used to interpret the property value and encode writes. |
Supported object types
| Object type | BACnet number | Discovery access |
|---|---|---|
| Analog input | 0 |
Read |
| Analog output | 1 |
Read and write |
| Analog value | 2 |
Read and write |
| Binary input | 3 |
Read |
| Binary output | 4 |
Read and write |
| Binary value | 5 |
Read and write |
| Character string value | 40 |
Read and write |
| Integer value | 45 |
Read and write |
| Large analog value | 46 |
Read and write |
| Octet string value | 47 |
Read and write |
| Positive integer value | 48 |
Read and write |
Supported properties
| Property | BACnet number | Description |
|---|---|---|
| Present value | 85 |
The current value of the object. |
| Description | 28 |
The object's description. |
| Object name | 77 |
The object's name. |
| Object type | 79 |
The object's BACnet type. |
| Object identifier | 75 |
The combined BACnet object type and instance identifier. |
| Out of service | 81 |
The object's out-of-service state. |
| Status flags | 111 |
The object's in-alarm, fault, overridden, and out-of-service flags. |
Supported data types
| Data type | Application tag | Description |
|---|---|---|
| Boolean | 1 |
A false or true value, represented as 0 or 1. |
| Unsigned int | 2 |
An unsigned integer. |
| Signed int | 3 |
A signed integer. |
| Real | 4 |
A 32-bit floating-point value. |
| Double | 5 |
A 64-bit floating-point value. |
| Octet string | 6 |
A sequence of bytes. |
| Character string | 7 |
A character string. |
| Enumerated | 9 |
A value selected from a BACnet enumeration. |
Verify communication
- Enable the BACnet MS/TP instance and its items.
- Open the instance and check its current status.
- Confirm that item values update at the configured interval.
- For a writable object, perform a controlled write only when it is safe to change the target system.
- Confirm that the BACnet device accepts the value and that the item reads back the expected result.
The Connector attempts BACnet ReadPropertyMultiple first. If the target device rejects that service as unrecognized, the Connector automatically switches to individual ReadProperty requests for that device.
Troubleshoot the BACnet MS/TP Connector
| Issue or message | Cause | Action |
|---|---|---|
Serial port not available |
No Device interface is configured or the interface is unavailable. | Reconnect the RS-485 interface, confirm that it appears under peripherals, and select it in the instance parameters. |
BACnet MS/TP discovery in progress |
Discovery has reserved the instance's serial interface. | Wait for discovery to finish or cancel the discovery session. Normal reads and writes resume when the interface is released. |
Unable to reserve serial interface ... |
The serial interface is already in use or could not be locked for discovery. | Stop other discovery sessions using the interface. Confirm that another application is not using the port, then retry. |
Failed to initialize BACnet MS/TP on interface ... |
The selected serial interface could not be initialized. | Check the interface connection and instance parameters. Reconnect the adapter if necessary. |
No serial interfaces were found for BACnet MS/TP discovery |
SIA Connect did not detect a serial interface. | Connect the RS-485 interface and confirm that it is available before starting discovery. |
No BACnet MS/TP devices were discovered |
No device responded to the Who-Is request. | Check A/B polarity, trunk termination, baud rate, local MAC, Max masters, device power, and the selected serial interface. |
Discovery stopped early to avoid worker timeout... |
The scan reached its available execution time before all interfaces and devices were processed. | Select one Device interface, reduce the device-instance range, or increase the scan duration. |
Invalid ... value: ... |
A discovery parameter is outside the supported range or is not a number. | Correct the parameter using the accepted values in this guide, then restart discovery. |
Invalid BACnet target device instance: ... |
The instance address is not a valid BACnet device instance. | Enter a value from 0 to 4194303. Do not enter the MS/TP MAC address. |
Timeout bind request (...s) or Timeout binding to BACnet device ...
|
The target device did not respond before the timeout. | Confirm the target device instance, baud rate, serial interface, MAC settings, trunk wiring, and termination. Increase Timeout when required. |
Timeout receiving message |
The Connector sent a request but did not receive the expected response. | Check the serial network and confirm that the item uses a valid object type, object instance, and property. |
| An expected item is not discovered | The object type or Present_Value data type is unsupported, Present_Value is empty, or an Object_List property request failed. | Review the discovery warnings. Confirm that the device exposes Object_List and Present_Value. Configure the item manually only when its object type and data type are supported. |
| A read returns an object or property error | The configured object, object instance, property, or data type does not match the target device. | Check the device's BACnet object list and property definition, then correct the item parameters. |
| A write is rejected | The property is read-only, the object does not support writing, or the value cannot be encoded as the configured data type. | Confirm that the target property is writable and that the item data type matches the property. Review the BACnet error returned by the device. |