Document Version: V1.1
Gateways & Firmware Requirement:
| Software | E2C Factory | E2C Field | E2C Facility |
|---|---|---|---|
| Gateways supporting | EG3120 EG5120 EG5200 | LG3120 | LG5120 |
| Firmware Requirement (RobustOS Pro Version) | ≥ 2.3.103 | 2.4.110 | (TBD) |
This manual guides field technicians to quickly configure the Robustel edge computing gateway to forward collected data to higher-level systems (such as a BMS - Building Management System) using the Northbound BACnet/IP protocol.
This manual is written for field implementation engineers. You do not need deep theoretical knowledge of the BACnet protocol. By following these step-by-step instructions, you can easily configure the gateway as a BACnet Server, map internal data tags to BACnet objects, and verify the data using third-party tools.
In a typical IIoT project, imagine the gateway as a translator between your local sensors and the Building Management System (BMS). The data flow consists of two main stages:
(Note: This document uses the __LG3120 gateway and E2C Field software__ as an example. The configuration process for other supported gateway and software combinations is very similar.)
Before starting the configuration, please ensure the following preparations are met:
| Device | Requirement |
|---|---|
| Gateway | Robustel Gateway with E2C Field / E2C Factory / E2C Facility software installed. In this document, we use LG3120 with E2C Field for an example. |
| Debugging PC | A PC used to log into the gateway's Web UI and run the BACnet testing software (Yabe). |
| Southbound Device | A Modbus TCP Slave device (e.g., PLC or sensor simulator) to provide the initial data source. |
| Ethernet Cable | Standard Ethernet cables to connect the gateway, the debugging PC, and the Modbus device. |
Before forwarding data via BACnet, the gateway must first collect data from the field devices. In this guide, we will use a Modbus TCP sensor simulator as an example to collect two tags: Temperature and Humidity.
(Note: This section assumes that you already have a Modbus Slave device physically connected to the gateway via an Ethernet cable.)
| Parameter | Description | Default / Example Value |
|---|---|---|
| Name | A recognizable name for your Modbus device. | Sensor1 |
| Driver | The communication protocol used by the device. | Modbus TCP |
| IP Address | The IP address of the Modbus TCP slave device. | 192.168.0.17 |
| Port Number | The TCP port number for Modbus communication. | 502 |
| Slave Address | The Modbus unit identifier or device address. | 2 |
| Polling Cycle | The interval (in seconds) at which the gateway reads data. | 1 |
Now we need to read the specific registers from the Modbus device. Let's assume the client's Modbus Slave manual states that the Temperature data is stored in Holding Register 40001 and Humidity is stored in Holding Register 40002.
| Parameter | Description | Example Value |
|---|---|---|
| Name | The name of the data point. | Temperature , Humidity |
| Tag Type | Choose between Device Tag or Virtual Tag. | Device Tag |
| Function Code | The Modbus function code for reading. | 03 |
| Address | The specific register address of the data point. | 0 , 1 |
| Data Type | The data format of the register. | short(int16) |
| R/W Permission | Select Read Only or Read & Write. | Read Only |
This is the core step where we expose our internal tags to the BACnet network.
| Parameter | Description & Action |
|---|---|
| Local network port | Select the gateway's network interface connected to the LAN (e.g., br_lan(192.168.0.1)). |
| Port Number | Keep the default 47808. This is the standard UDP port for BACnet IP. |
| Local Device ID | Enter a unique number for this gateway in your building network (e.g., 0). Note: This ID must not duplicate any other BACnet device on the same LAN. |
| Enable BBMD | Enable this if the higher-level system (e.g., Yabe or BMS) and the gateway are on different subnets. Leave it disabled (default) if they are on the same subnet. |
The Yabe / BMS does not understand the internal tag names like "Temperature". It only understands standard BACnet Objects like "Analog Input 1 (AI:1)". You must translate them using the BACnet IP Mapping Table.
| Parameter | Description | Example Value |
|---|---|---|
| Mapping Object Type | The standard BACnet object type (e.g., AI for Analog Input). | AI |
| Device | Select the Southbound device from which to collect data. | Sensor1 |
| Tag | Select the specific Southbound data variable to map. | Temperature (or Humidity) |
| Instance number | The unique instance identifier for the BACnet object. | 1 (for Temperature) / 2 (for Humidity) |
| Conversion Mode | How to handle decimal to integer conversion (Round, Ceil, Floor). Select Round for standard rounding. | Round |
Now, let's test if our gateway is successfully working as a BACnet Server.
(where 0 is your Local Device ID). Click on it.
| Issue / Phenomenon | Possible Cause | Solution |
|---|---|---|
| Yabe cannot find the gateway | PC and Gateway are not on the same network subnet. | Ping the gateway's IP from your PC to ensure network connectivity. Check if Windows Firewall is blocking UDP 47808. |
| Yabe finds the gateway, but there are no AI:1 / AI:2 objects | Configuration is submitted but not published. | Go back to the E2C Web UI, ensure you have clicked both Submit and Publish. |
| Object exists in Yabe, but value is 0 or frozen | The Southbound collection failed, so the tag has no data. | Go to Data Collection to verify if the Modbus device is actually online and updating values. |
| BMS reports "Device ID Conflict" | Another controller on the site is using the same Device ID. | Change the Local Device ID in the BACnet IP Server configuration to a unique number (e.g., change 0 to 2001). Submit and Publish. |
For quick on-site configuration, refer to these industry-standard concepts:
| Parameter Name | Default/Recommended Value | Description |
|---|---|---|
| Port | 47808 (UDP) | Standard BACnet/IP port. Do not change unless specified by the BMS engineer. |
| Local Device ID | Unique number (e.g., 0 to 4194303) | The unique identifier of the gateway in the BACnet network. |
| AI (Analog Input) | E.g., AI:1, AI:2 | Used for continuous numerical sensor data (Temperature, Pressure, Level). Mostly Read-Only. |
| AO (Analog Output) | E.g., AO:1, AO:2 | Used for continuous numerical control targets (Frequency setting, Valve opening percentage). Read/Write. |
| BI (Binary Input) | E.g., BI:1 | Used for digital status (Running/Stopped status, Fault alarm). Read-Only. |
| BO (Binary Output) | E.g., BO:1 | Used for digital control commands (Start/Stop command). Read/Write. |