To set up a protocol driver in Niagara Workbench, open Config > Drivers in the Nav tree, drag the appropriate network component (BacnetNetwork, ModbusTcpNetwork, ModbusAsyncNetwork, or LonNetwork) from the palette, configure the local device identity and communication port, then use the Device Manager to discover or manually add field devices. The most common failures come from duplicate device IDs, mismatched baud rates on MS/TP trunks, incorrect Modbus addressing conventions, and tuning policies that overload the poll scheduler.
Niagara Driver Architecture
Every Niagara station—whether running on a JACE 8000, JACE 9000, or a Supervisor host—uses a modular driver framework to communicate with field devices. Drivers live under the Config > Drivers node in the station's Nav tree. Each protocol gets its own network container (BacnetNetwork, ModbusTcpNetwork, ModbusAsyncNetwork, LonNetwork), and each network container holds device objects that represent individual field controllers or instruments.
The driver architecture follows a consistent hierarchy across all protocols: Network > Device > Points. The network component owns the communication channel (an IP socket, a serial port, or a LON transceiver). Device components represent addressable endpoints on that channel. Point components (called proxy points in Niagara terminology) are the individual data values—temperatures, setpoints, statuses, commands—that the driver reads from or writes to the field device.
Before adding any driver, you must install the corresponding module on the station. In Workbench, navigate to Platform > Platform Administration > Software Manager, locate the protocol module (e.g., bacnet, modbus, lonworks), and install it. The station will prompt for a restart after module installation. Once the module is installed, the protocol's palette becomes available for drag-and-drop configuration.
BACnet Driver Setup (IP and MS/TP)
BACnet is the most commonly integrated protocol in Niagara-based building automation systems. The Niagara BACnet driver supports both BACnet/IP and BACnet MS/TP from a single BacnetNetwork component, with separate port configurations for each transport.
Step 1: Add the BACnet Network
Open the bacnet palette in the Palette window. Drag the BacnetNetwork component onto Config > Drivers in the Nav tree. Workbench will automatically prompt you to install any missing dependent modules—confirm and commit the installation if needed.
Step 2: Configure the Local Device
Navigate to Config > Drivers > BacnetNetwork > Local Device. The critical property here is Object Id, which is the BACnet device instance number for the Niagara station itself. The default value of -1 is invalid and must be changed to a unique number within your BACnet internetwork. Choose a device instance that does not conflict with any other BACnet device on any connected network. Common practice is to reserve a range (e.g., 100000–100999) for Niagara supervisors and JACEs.
Step 3: Configure BACnet/IP
Navigate to Config > Drivers > BacnetNetwork > Bacnet Comm > Network > Ip Port. This port is added by default but must be configured and enabled:
- Network Number — Assign a unique BACnet network number for this IP segment. Every distinct BACnet network in your internetwork must have a unique network number.
- Link > Adapter — Select the physical Ethernet interface the station should use for BACnet/IP traffic. On a JACE with multiple NICs, this determines which subnet the driver communicates on.
- Link > Udp Port — The default is
0xBAC0(47808 decimal), which is the standard BACnet/IP UDP port. Change this only if your network uses a non-standard port. - Enabled — Set to
trueto activate the port.
If the Niagara station needs to communicate with BACnet devices on remote IP subnets, you must also configure a BBMD (BACnet Broadcast Management Device) entry or register as a foreign device. Add BBMD entries under the Ip Port's BBMD Table, specifying the IP address and broadcast distribution mask of each remote BBMD.
Step 4: Configure BACnet MS/TP (If Applicable)
If you have RS-485-connected MS/TP devices, open the bacnet palette, find the NetworkPorts folder, and drag the MstpPort component onto Config > Drivers > BacnetNetwork > Bacnet Comm > Network. Configure the following:
- Network Number — A unique BACnet network number for this MS/TP trunk, different from the IP port's network number and any other trunk.
- Link > Port Name — The serial port on the JACE (e.g.,
COM1,COM2, or/dev/ttyS0depending on the platform). - Link > Baud Rate — Must match all other devices on the trunk. Common values are 9600, 38400, and 76800. Every device on the MS/TP segment must use the same baud rate.
- Mstp Address — The MAC address for the Niagara station on this trunk, between 0 and 127. Must be unique among all devices on the segment.
- Max Master — Set this to the highest MAC address of any master device on the trunk. Setting it too high wastes time polling empty addresses. Setting it too low causes the station to ignore devices above the threshold.
- Enabled — Set to
true.
Step 5: Discover and Add Devices
Navigate to Config > Drivers > BacnetNetwork and open the Bacnet Device Manager view (right-click > Views > Bacnet Device Manager, or use the AX Bacnet Device Manager on older versions). Click Discover to send a BACnet Who-Is broadcast. Discovered devices appear in the manager table. For each device you want to integrate, set the Device ID, Network number, and MAC Address. For BACnet/IP devices, the MAC address format is 192.168.1.100:0xBAC0 (IP address and UDP port). For MS/TP devices, the MAC address is the device's MS/TP address (0–127).
After adding devices, right-click each device and select Actions > Discover to enumerate the device's BACnet objects. You can then add proxy points for the objects you need.
Modbus Driver Setup (TCP and RTU)
Niagara provides separate network components for Modbus TCP and serial (RTU/ASCII) connections. Understanding which component to use depends on how the Modbus device connects to the network.
Modbus TCP (Direct IP Devices)
For Modbus devices with native Ethernet interfaces (energy meters, VFDs with IP cards, smart sensors), use the ModbusTcpNetwork:
- Open the
modbuspalette and drag ModbusTcpNetwork onto Config > Drivers. - Right-click the network and add a ModbusTcpDevice for each field device.
- On each device, set the Ip Address to the device's IP, and the Tcp Port (default 502).
- Set the Unit Id (Modbus slave address). For direct TCP devices, this is usually
1or255. Check the manufacturer's documentation.
Modbus TCP Gateway (Serial Devices Behind a Gateway)
When RS-485 Modbus RTU devices connect through a TCP-to-serial gateway (such as an Ethernet-to-RS485 converter), use the ModbusTcpGateway component instead:
- Drag ModbusTcpGateway from the
modbuspalette onto Config > Drivers. - Set the Ip Address to the gateway's IP address.
- Set the Modbus Data Mode to
Rtu(default) orAsciidepending on the serial network type. - Add child ModbusTcpGatewayDevice entries for each serial device behind the gateway, setting the correct Modbus slave address for each.
Modbus RTU (Direct Serial Connection)
For a direct RS-485 serial connection from the JACE to Modbus RTU devices, use the ModbusAsyncNetwork:
- Drag ModbusAsyncNetwork from the
modbuspalette onto Config > Drivers. - Right-click the network, select Views > Property Sheet, and expand Serial Port Config.
- Set Port Name to the JACE's serial port (e.g.,
COM2for the default RS-485 port on a JACE 8000). - Configure Baud Rate, Data Bits, Stop Bits, and Parity to match the field devices. The most common Modbus RTU setting is 9600/8/N/1, but many devices use 19200 or 38400.
- Add ModbusAsyncDevice child components for each slave, setting the Address to the device's Modbus slave ID (1–247).
Adding Modbus Points
For each Modbus device, you manually add proxy points referencing the correct register addresses. Niagara's Modbus driver uses 0-based PDU addressing. If your register map says holding register 40001, you enter address 0 and select register type Holding Register. If the map says register 40100, enter address 99. Getting this offset wrong by one register is the single most common Modbus integration error.
For multi-register data types (32-bit integers, IEEE 754 floats), configure the Data Type and Byte Order properties on each proxy point to match the manufacturer's specification. Use the device's Actions > Learn Optimum Device Poll Config to let Niagara automatically group consecutive registers into efficient multi-register read commands.
LonWorks Driver
LonWorks integration requires a JACE with a physical LON transceiver (such as the EM-8000-LON option module) or a Supervisor with a LON-IP adapter. LonWorks is less common in new installations but remains prevalent in legacy buildings, particularly those with older Honeywell, TAC/Schneider Xenta, or Johnson Controls equipment.
- Open the
lonworkspalette and drag LonNetwork onto Config > Drivers. - Navigate to the LonNetwork's Lon Comm Config and set the Device Name to the LON port identifier (e.g.,
LON1,LON2) matching the physical transceiver port on the JACE. - If the JACE has multiple LON ports, add a separate LonNetwork for each physical port.
- Open the Lon Device Manager view to discover or manually add LON devices. The device manager supports learning devices by their Neuron ID, assigning subnet/node addresses, and downloading standard network variable (SNVT) applications.
- For LON over IP (LON-IP), use the LonIpNetwork component from the
lonIpmodule instead. This variant adds an ipChannel container for Ethernet-based LON communication, eliminating the need for a physical FTT-10A transceiver.
LonWorks device discovery in Niagara is generally slower than BACnet because the LON protocol does not have an equivalent of BACnet's Who-Is broadcast. Discovery relies on service pin messages from devices or manual entry of Neuron IDs. Plan extra commissioning time for LON-heavy projects.
Driver Polling and Performance Tuning
Every proxy point in a Niagara station must be periodically refreshed. The Poll Scheduler (visible at Config > Drivers > [Network] > Poll Scheduler) manages three polling buckets: Fast, Normal, and Slow. Each bucket runs at a configurable interval, and every proxy point is assigned to one of the three buckets through its tuning policy.
Tuning Policies
Tuning policies are defined in the Tuning Policy Map under the network component. Each policy specifies the poll frequency bucket and, for BACnet, whether to use COV (Change of Value) subscriptions instead of polling. Navigate to Config > Drivers > BacnetNetwork > Tuning Policy Map to create or edit policies. Common practice is to create separate policies:
- COV policy — Set
Use Covtotrue. Assign this to points on devices that support BACnet COV subscriptions. The device pushes value changes to the station, eliminating unnecessary poll traffic. Ideal for binary status points, alarm conditions, and setpoints that change infrequently. - Fast poll policy — Assign to critical points like supply air temperature, discharge pressure, or safety interlocks that need sub-10-second refresh rates.
- Normal poll policy — The default. Suitable for zone temperatures, damper positions, and most analog values.
- Slow poll policy — Assign to configuration values, firmware versions, or counters that rarely change. Polling every 60–300 seconds reduces network traffic.
Modbus Poll Optimization
Modbus networks benefit significantly from register grouping. By default, the Niagara Modbus driver creates a separate read command for each individual proxy point. For devices with many consecutive registers, this is extremely inefficient. Use Actions > Learn Optimum Device Poll Config on each Modbus device to let Niagara automatically identify consecutive registers of the same type and group them into multi-register read commands. This can reduce the number of Modbus transactions by 80% or more on register-dense devices like energy meters.
Monitoring Poll Health
Check the Poll Scheduler's Busy Time statistic regularly. This value indicates what percentage of the poll cycle is spent actively communicating. Keep busy time below 75%. If it consistently exceeds this threshold, the station cannot keep up with the configured poll rates. Remedies include:
- Moving less-critical points to the Slow poll bucket.
- Increasing the poll cycle interval for the Normal or Fast bucket.
- Splitting devices across multiple network components (e.g., two BacnetNetwork instances on separate IP interfaces).
- Using COV subscriptions for BACnet devices that support them, removing those points from the poll cycle entirely.
- For Modbus, learning the optimum device poll config to reduce transaction count.
Common Mistakes
- Leaving the Local Device Object Id at -1. The BacnetNetwork ships with a default device instance of
-1, which is not a valid BACnet device ID. The driver will not communicate until you set a valid, unique device instance number. This is the first thing to check when BACnet discovery returns no results after a fresh driver installation. - Mismatched baud rate or Max Master on MS/TP trunks. Every device on a BACnet MS/TP segment must use the same baud rate. If the Niagara station is set to 38400 and a field controller is at 9600, neither device will see the other. Similarly, if Max Master is set to 31 but a device has MAC address 45, the station will never pass the token to that device and it will appear offline.
- Modbus off-by-one addressing errors. Niagara's Modbus driver uses 0-based PDU addresses. If you copy register numbers directly from a manufacturer's 1-based register map (e.g., entering 40001 instead of 0 for the first holding register), every point reads from the wrong address. The resulting values may look plausible but will be incorrect. Always subtract the register type offset before entering addresses in Niagara.
- Forgetting to enable the communication port. Both the BACnet IP Port and MS/TP Port have an Enabled property that defaults to
falseon newly added ports. Dragging the port component into the Nav tree does not automatically start communication. You must explicitly setEnabledtotrueand, on some platforms, right-click and select Enable from the context menu. - Overloading the poll scheduler with too many fast-polled points. Adding hundreds of proxy points on the Fast poll bucket overwhelms the JACE's CPU and network bandwidth. The Poll Scheduler's busy time climbs above 100%, poll cycles start overlapping, and point values go stale. Audit which points truly need fast polling (safety interlocks, critical process variables) and move everything else to Normal or Slow.
Platform Compatibility
Driver availability and configuration options vary across Niagara hardware and software versions. Here is what to expect on each platform:
| Platform | BACnet IP | BACnet MS/TP | Modbus TCP | Modbus RTU | LonWorks |
|---|---|---|---|---|---|
| JACE 8000 (Niagara 4.x) | Yes | Yes (COM port) | Yes | Yes (COM port) | Yes (with LON option module) |
| JACE 9000 (Niagara 4.x / 5.x) | Yes | Yes (COM port) | Yes | Yes (COM port) | Check option module availability |
| Niagara Supervisor (Windows/Linux) | Yes | No (no serial port) | Yes | Via USB-to-RS485 adapter | Via LON-IP adapter or USB interface |
| JACE-6xx / JACE-2xx (Niagara AX) | Yes | Yes | Yes | Yes | Yes (with LON daughter card) |
On Niagara 4.8 and later, the BACnet driver includes improved COV subscription handling and better diagnostic logging. The Modbus driver received the “Learn Optimum Device Poll Config” feature in Niagara 4.7 for automatic register grouping. LonWorks support depends on hardware—the JACE 8000 requires the EM-8000-LON option module, while Supervisor instances use LON-IP (EIA-852 tunneling) through an IP-to-LON router.
Source Attribution
This guide draws on technical documentation and community discussion from the following sources:
- iConnect Knowledge Base — BACnet Basic Configuration Steps for Niagara
- iConnect Knowledge Base — BACnet Adding Devices in Niagara
- Innon Knowledge Base — Niagara Drivers Poll Scheduling and Tuning Policy Settings
- Innon Knowledge Base — How to Optimize Modbus for the Fastest Speed in Niagara
- OneSight / Tridium — Niagara Modbus Driver Guide (March 2025)
- Johnson Controls — Facility Explorer: Niagara BACnet Driver Documentation
- Optigo Networks — The 3 Most Common MS/TP Mistakes
- Tridium — Niagara Framework Product Documentation
Was this article helpful?
Related Articles
Need to do this remotely? SiteConduit replaces VPN configuration with one-click encrypted sessions. No port forwarding, no certificate management. Join the waitlist.
SiteConduit Technical Team
Idea Networks Inc.
SiteConduit builds managed remote access for building automation. Our knowledge base is maintained by BAS professionals with hands-on experience deploying and troubleshooting BACnet, Niagara, Modbus, and Facility Explorer systems.