BACnet Server
About BACnet Server
The server node serves the purpose of reading and writing values to the driver-bacnet. This functionality enables Rubix Compute to be integrated into a BACnet network.
See also: Tutorials BACnet-device The BACnet-server node serves two primary use cases:
- Integrating hardware input/output (e.g., sensors and 0-10dc) into Rubix Compute by adding the Nube-IO IO-16.
- Adding proxy points (Analog Values and Binary Values) to the driver-bacnet. Before proceeding, ensure you have installed the required apps, particularly driver-BACnet.
In Rubix, you can't simultaneously add a Modbus network in the driver's settings and the BACnet-server node using the same serial-port. You have to choose one or the other, as they cannot coexist on the same port.
Setup
Add the bacnet-server node
- Open the Rubix Wires interface.
- Locate and select the option to add a new node.
- Choose the BACnet-server node from the available options.
- Configure the node by setting the number of IO-16s if applicable to your use case.
- Set the serial port according to your hardware setup.
- Save/Deploy the configuration.
Adding points
Following steps below allows you to effectively add points to the BACnet-server node in Rubix Wires.
- Open the BACnet-server node by right-clicking and selecting Open sub flow.
- Once inside, you can add nodes by right-clicking or dragging from the palette.
- Add a new node, selecting either
AI (Analog Input)
,AO (Analog Output)
, orAV (Analog Value)
. - Set the node name to specify the BACnet object name for the point.
Ensure to set the node name
to accurately reflect the point name on the BACnet network
.
BACnet point nodes
Node Name | Category | Use Case | is writeable |
---|---|---|---|
analog-input | bacnet | Is only used when the IO-16s are added (will work with UIs) | read only |
analog-output | bacnet | Is only used when the IO-16s are added (will work with UOs) | writeable via in14 & in15 |
analog-variables | bacnet | to read and and write values to AVs on the bacnet-server, eg a set-point | writeable via in14 & in15 |
binary-variables | bacnet | to read and and write values to BVs on the bacnet-server, eg an enable | writeable via in14 & in15 |
Adding IO-16s
Adding upto 4x IO16s will make the Rubix Compute a BACnet-ip IO device
Adding a AI or AO
In the flow-framework, there's no necessity to add a Modbus network to communicate with the IO-16s.
To configure the BACnet-Server with the desired number of IO-16s, you typically access the BACnet-Server settings interface and input the quantity of IO-16s you intend to add.
To proceed, a systematic outline of each step for adding UI-1 on IO-2 is as follows:
- Power down the Rubix Compute.
- Connect 2x IO16s to the Rubix Compute. Remember, the IO-16s are powered via the Rubix Compute.
- Set the dip switches on IO16 number 1 to address 1 and on number 2 to address 2. Ensure the baud rate is set to 38400 as well.
- Refer to the documentation for more info on setting up the IO-16s.
- Power up the Rubix Compute.
- Open the BACnet-server node.
- Add an Analog Input (AI) node to the BACnet-server configuration.
- Right-click on the newly added AI node and select
Settings
. - Configure the IO Device Number to 2, indicating the 2nd IO-16.
- Set the UI Number to 1, representing UI1.
- This configuration will assign the Analog Input as AI9.
Given that the IO-16 utilizes UOs (Universal Outputs) and UIs (Universal Inputs), only AOs (Analog Outputs) and AIs (Analog Inputs) can be added.
But we can employ UI-1 as a DI (Digital Input), an AI node should be added and configured to address 1 (AI1). Subsequently, it should be set as a digital input.
To enable this functionality:
Add an AO (Analog Output) node and set its settings to operate in a digital mode. Configure the point to accept any value greater than 1 to activate the Digital Output (DO). For instance, the point should interpret values like true/false, 1/0, or 10/0
to control the DO.
UI/UO to BACnet Addressing
Example for inputs
Device Address | IO Number | BACnet address |
---|---|---|
1 | UI1 | AI1 |
1 | UI2 | AI2 |
1 | UI3 | AI3 |
1 | UI4 | AI4 |
1 | UI5 | AI5 |
1 | UI6 | AI6 |
1 | UI7 | AI7 |
1 | UI8 | AI8 |
2 | UI1 | AI9 |
3 | UI1 | AI17 |
This device addressing can be extended until you reach the limit of 4x IO1-6 devices.
Example for outputs
Device Address | IO Number | BACnet address |
---|---|---|
1 | UO1 | AO1 |
2 | UO1 | AO9 |
3 | UO1 | AO17 |