Skip to main content
Version: v0.1.7

User Manual

1. Overview

the Rubix iO 16 is Nube iO’s versatile, low-cost physical Input/Output module. It provides expandable modular monitoring and control points in a small package. With one or more modules plugged directly into the side of a Rubix Compute or wired via RS485, these Rubix iO 16 allow for BMS implementations of any size. In addition to being a slave physical input/output device, OEM options are available for standalone HVAC applications. With configuration and monitoring of the HVAC applications via Modbus, these modules allow for low-cost distributed control and central monitoring of many types of systems. the Rubix iO 16 is a pure Modbus device, making it useful in systems beyond the Nube iO platform. Optional LoRa® wireless version of the Rubix iO allows for wireless communication with the Rubix iO 16. LoRa® wireless technology provides a very long transmission range less susceptible to object interference than other wireless technologies. When using LoRa® wireless to communicate with the Rubix iO 16s the RS485 port can be used as a Modbus passthrough, this allows for wireless communication with any wired (RS485) Modbus device.

max400px

1.1. Technical Specifications

1.1.1. Physical Attributes

max500px

General
Height:112 mm / 4.41 inches
Width:65 mm / 2.56 inches
Depth:56 mm / 2.20 inches
Operating Temperature0°C to 65°C
EnclosureABS Plastic, DIN Rail Mount, IP40 Rated

Power Requirements

Power Supply24VDC ±10%
ConsumptionBase: 1.2W (50mA at 24 VDC)
Max: 36W (1500mA at 24VDC)
Recommended Transformer Size*1050mA / 25VA

Communication Options

CommunicationPartDetails
max100px
max100px
Nube-xbee-485-3wire
All Models
EIA-485 (BUS A,B) Three-wire, Half Duplex

Speed: 9600, 38400, 19200, 28800, 57600, 76800, 115200
Data Bits: 8
Parity: None, Even, Odd
max100pxnube-xbee-lora-RFM95
Optional addon
Add in radio model

Supported Frequencies: AU915, US915, AS232, EU863
Data Bits: 7
Parity: 250 kHz

1.1.2. Physical Inputs and Outputs

max400px

TypeCountCount Details
Universal Input (UI)8- 0 - 10 VDC Signal
- 10k Thermistor
- Resistance
- Digital / Switch / Dry Contact
- 4-20mA Signal
- Pulse Counter*
Universal Output (UO)8- Analog: 0 to 10 VDC (50ma Max)
- Digital: 0 or 12 VDC 0V[OFF] / 12VDC[ON] (700mA Max)

Special configuration required 3.2.2.3. Universal Input Configurations. Only the first 3 UI’s support this mode.

1.1.3. Regulatory Compliance

Manufacturer/ModelRegulatoryNotes
Nube IO / IO-16AS/NZS CISPR 32: 2015IO-16 device
HopeRF / RFM95FCC: Class B 3M RadiatedLoRa® RF module

2. Installation and Configuration

2.1. Mounting

The Rubix iO 16 is 65mm x 112mm. It is designed to be mounted on an electrical DIN rail. It can be mounted vertically or horizontally. The controller should always be mounted in a location such that it will not experience very high or low temperatures, liquids or high humidity.

max400px

2.2. Connecting Power

The Nube iO Rubix iO 16 is powered by a 24VDC power supply on the 24VDC POWER terminals as shown below.

max200px
Pin 1 (+)24VDC
Pin 2 ( )Do Not Connect
Pin 3 (-)DC Ground

max500px

2.3. Connecting RS-485 Network (Wired Network)

When using the wired network connection, the Nube iO Rubix iO 16 RS-485 Modbus connection is used. The connector is terminated and installed as shown below.

max200px
Pin 1 (+)A or + of RS485 Network
Pin 2 (-)B or - of of RS485 Network
Pin 3 (G)C or Ground

max500px

When Networking multiple Nube iO Rubix iO 16 on an RS485 network, each controller is connected in a Daisy Chain. Controllers that are connected between 2 other controllers will have 2 wires (one from the previous controller and one from the next controller) in the same terminal. Ensure A/+ and B/- wires are kept consistent for all controllers on the network.

max500px

2.3.1. Modbus RS485 Passthrough - Wireless Modbus Extender

Modbus RS485 Passthrough is available on Rubix iO 16 Modules equipped with LoRa® (Wireless) Comms. In this mode, the wired Modbus RS485 data is sent wirelessly to the gateway. When using a Nube iO Rubix iO 16 as a wireless Modbus passthrough, the RS485 network is connected only to the third-party device and the Nube iO Rubix iO 16, as shown below. The RS485 wiring is the same as described above.

max500px

2.4. Configuring the Onboard Switches

Several physical onboard switches must be configured correctly for proper communication and functionality. These switches are located under the front cover of the Nube iO Rubix iO 16; to remove the front cover, use a flat-blade screwdriver to gently pry the cover off from the side corners at the cover join line.

2.4.1. Input and Output Type Select Switches

There are several switches under the cover of the Nube iO Rubix iO 16 that are used to set the Input (UI) and Output (UO) type configurations.

in-out-switches.jpg

2.4.1.1. Input Type Select Switches

ModePurposeSetting
1Ok Resistor
OR
Digital (Dry Contact)
- Thermistor Temperature Sensor.
- Dry Contact /Switch/ Digital
max200px
0-1O VDCMeasuring 0-1O VDC signalsmax200px
4-2O mAMeasuring 4-2O mA signalsmax200px

2.4.1.2. Output Type Select Switches

ModePurposeSetting
Digital Output
0/ 12VDC
- 0VDC OR 12VDC output signal.
- Drive 12VDC Relays.
- Drive LEDs
- Max output current 700mA.
max200px
Analog Output
0-10VDC
- Producing 0-10 VDC signal.
- Position and Speed, control for
actuators or variable speed drives.
- Max output current 50mA.
max200px

2.4.2. DIP Configuration Switches

There are 2 banks of small DIP switches (8 DIP Switches per bank) under the cover of the Nube iO Rubix iO 16 that are used to configure various functionalities of the controller.

max500px

2.4.2.1. Left Bank DIP Switches - Modbus Addressing

The Left Bank of DIP Switches (labelled SW2) is used to set the address of the Nube iO Rubix iO 16. The value is set as a binary number (the lowest digit is DIP #1) plus 1 using DIP Switches 1 to 7. See the table below for examples of address settings. 1 is DIP switch UP, and 0 is DIP switch DOWN. DIP switch #8 must remain ON/UP/1 for normal operation.

LEFT DIP SWITCH BANK (SW2) "Table"
[Dip-Switch: 1,2 3, 4, 5, 6, 7] - Device ID/ Address (as binary number+ 1)
Switch SettingDevice ID/ Address
00000001
10000002
01000003
11000004
00100005
10100006
01100007
11100008
00010009
100100010
010100011
110100012
001100013
101100014
011100015
111100016
000001033
000000165
1111110128
[Dip-Switch: 8] - MUST BE ON/UP/1

2.4.2.2. Right Bank DIP Switches - Operation Modes

The Right Bank of DIP Switches (labelled SW1) is used to configure various functions of the Nube iO Rubix iO 16. DIP switch #8 must remain ON/UP/1 for normal operation.

RIGHT DIP SWITCH BANK (SW1) "Table"

[Dip-Switch: 1, 2] - Operation Mode
Switch SettingOperation Mode
00RS485 (Wired)
10LoRa® Wireless*
01RS485 -> LoRa® Passthrough**
11Settings Reset***
[Dip-Switch: 3, 4, 5]- Baud Rate
Switch SettingBaud Rate
00038400
1009600
011019200
[Dip-Switch: 6, 7] - Parity
Switch SettingParity
00None
10Even
01Odd
[Dip-Switch:8] - MUST BE ON/UP/1

Use this setting when connecting to 3rd party Modbus Devices.
Set DIP switches, power cycle, then set back to the operation mode setting

2.5. Physical Input and Output Wiring

This section describes how to connect/wire physical inputs and outputs.

2.5.1. Physical Input Wiring

Wired Inputs consist of wired sensors or wired signals from other devices. They are wired to Digital Input (DI), or Universal Input (UI) terminals.

Wired Inputs are grouped into 2 main groups:

  1. Digital - Only 2 possible states: either an open circuit or a closed circuit. Includes: simple switches/buttons, relays, and other types of dry contact (ex. status signals from other devices).
  2. Analog - Many possible states based on Voltage, Resistance, or Current. Includes: Temperature, Humidity, Pressure, CO2, Position Feedback, etc… Rubix

2.5.1.1. Digital Inputs

Digital Inputs are connected between the Ground(GND) terminal and the selected UI terminal. There is no polarity for Digital Input wiring (ie. input wires can be swapped).

digital-inputs.jpg

2.5.1.2. Analog Inputs

Analog Inputs are connected between the Ground(GND) terminal and the selected UI terminal. There is usually a correct polarity for Analog Inputs (ie. correct wire must be on the correct UI terminal).

There are 2 main types of Analog Inputs:

  1. Resistance - Input is based on resistance. The most commonly used resistance input is Thermistor temperature sensors where resistance varies with change in temperature. There is no polarity for Resistance inputs (ie. input wires can be swapped).
  2. 0-10vdc - Input is based on DC voltage signal over the range of 0v to 10v. This voltage range is related to a defined range on the device that produces the 0-10v signal.
  3. 4-20mA - Input is based on DC current signal over the range of 4mA to 20mA. This current range is related to a defined range on the device that produces the 4-20mA signal. Rubix

analog-input.jpg

2.5.2. Physical Output Wiring

Wired outputs consist of wired output signals to be sent to other devices. They are wired from the Digital Output (DO), Universal Output (UO), and Relay Output (R1, R2,etc.) terminals of controllers that support wired output points.

Wired Outputs are grouped into two main categories:

  1. Digital – Only 2 possible states: ON or OFF. Digital Outputs can produce Voltage, or activate a Switch/Dry Contact.
  2. Analog – Many possible states based on a range of Voltage, or Current (specific to the output type).

2.5.2.1. Digital Outputs

Digital Outputs are connected between the Ground (GND) terminal and the selected DO or UO terminal.

There are 2 types of Digital Outputs:

  1. Voltage - Output is either 0v or a defined voltage level (eg. 12v DC). The Voltage Signal will be produced at the DO/UO terminal.
  2. Switched / Dry Contact / Relay - Output is either Open Circuit (OFF) or Closed Circuit (ON). There is no polarity for this type of Digital Output.

digital-outputs.jpg

2.5.2.2. Analog Outputs

Analog Outputs are connected between Ground (GND) terminal and the selected UO terminal. Analog Outputs are polarity sensitive, with Ground (GND) being 0v (-) and UO terminal being positive Voltage or Current (+).

0-10vdc - Output is a DC voltage signal of the range of 0v to 10v. Voltage is produced on the UO terminal.

analog-outputs.jpg

2.6. Adding the Antenna

For LoRa® Wireless communication, an antenna may be required to achieve the required range to the gateway controller. Please ensure the antenna is fitted to the top of the Nube iO Rubix iO 16 if the Rubix Compute Gateway Controller is not receiving messages from the Nube iO Rubix iO 16.


3. Modbus Communications

Nube iO Rubix iO 16 is a pure Modbus device; All communications with the Rubix iO 16 are via Modbus. Modbus settings are configured via the onboard DIP switches. Modbus settings on the gateway controller must match those set on the connected Rubix iO 16. All devices on a Modbus network must have the same Modbus network settings.

3.1. Default Modbus Network Settings

Initially, Modbus settings for the Rubix iO 16 will be set as follows:

    Device Address: 1
Baud rate: 38400
Parity: None
Stopbits: 1
Bytesize: 8

3.2. Modbus Points

This section describes the available Modbus registers that are used to interact with the Rubix iO 16

3.2.1. Universal Outputs​

The following table details the registers involved in interacting with the Universal Output (UO) points. Writing to these registers will drive the Physical Output points. For UOs, the type of each output must be configured correctly via the Type Select Onboard Switches

0-12VDC
Register TypeCoils
Data TypeDIGITAL
Function Codes1,5,15
DescriptionOn/Off, True/False value
PointRegister
U011
U022
U033
U044
U055
U066
U077
U088

0-10VDC
Register TypeHolding Registers
Data TypeUINT16
Function Codes3,6,16
DescriptionSet value
Value Scalex100
PointRegister
U011
U022
U033
U044
U055
U066
U077
U088

Raw (0.0-1.0)
Register TypeHolding Registers
Data TypeUINT16
Function Codes3,6,16
DescriptionSet value
Value Scale0.0-1.0
PointRegister
U01901
U02903
U03905
U04907
U05909
U06911
U07913
U08915

3.2.2. Universal Inputs

The following table details the Modbus registers involved with interacting with the Universal Input (UO) points. The type of each output must be configured correctly via Type Select Onboard Switches 2.4. Configuring the Onboard Switches.

Discrete Contacts (On/Off)
Register TypeDiscrete Inputs
Data TypeDIGITAL
Function Codes2
DescriptionRead value
PointRegister
UI11
UI22
UI33
UI44
UI55
UI66
UI77
UI88

3.2.2.1. Discrete Contacts HOLD (On/Off)

These registers HOLD the value true once triggered UNTIL the value is read. The Rubix iO 16 supports the Digital Input HOLD on the first 3 UI’s only. To configure this mode, special configuration registers must be set to configure the system. See section 3.2.2.3. Universal Input Configurations

Register TypeDiscrete Inputs
Data TypeDIGITAL
Function Codes2
DescriptionRead value is kept HIGH after being triggered and is kept HIGH until the register has been successfully read
PointRegister
UI1101
UI2102
UI3103
UI4104
UI5105
UI6106
UI7107
UI8108

10k Type 2 Input Temperature
Register TypeInput Registers
Data TypeUINT16
Function Codes4
DescriptionRead value
Value Scalex100
PointRegister
UI11
UI22
UI33
UI44
UI55
UI66
UI77
UI88

10k Type 2 Input Resistance
Register TypeInput Registers
Data TypeFLOAT32
Function Codes4
DescriptionRead value
PointRegister
UI1101
UI2103
UI3105
UI4107
UI5109
UI6111
UI7113
UI8115

0-10ADC
Register TypeInput Registers
Data TypeUINT16
Function Codes4
DescriptionRead value
Value Scalex100
PointRegister
UI1201
UI2202
UI3203
UI4204
UI5205
UI6206
UI7207
UI8208

4-20mA
Register TypeInput Registers
Data TypeUINT16
Function Codes4
DescriptionRead value
Value Scalex100
PointRegister
UI1301
UI2302
UI3303
UI4304
UI5305
UI6306
UI7307
UI8308

3.2.2.2. Pulse Counter

The Rubix iO 16 supports pulse counting on the first 3 UI’s only. To configure this mode, special configuration registers must be set to configure the system. See section 3.2.2.3. Universal Input Configurations

Register TypeInput Registers
Data TypeUINT36
Function Codes4
DescriptionRead value
PointRegister
UI1401
UI2403
UI3405
UI4407
UI5409
UI6411
UI7413
UI8415

Raw (0.0-1.0)
Register TypeInput Registers
Data TypeFLOAT32
Function Codes4
DescriptionRead value 0.0-1.0
PointRegister
UI1901
UI2903
UI3905
UI4907
UI5909
UI6911
UI7913
UI8915

3.2.2.3. Universal Input Configurations

The following registers are used to set the UI’s to special modes

Register TypeHolding Registers
Data TypeUINT16
Function Codes3,6,16
DescriptionUI mode
PointRegister
UI15201
UI25202
UI35203
UI45204
UI55205
UI65206
UI75207

Accepted Values:
ValueDescription
0Default
6Digital input HOLD on RISING edge
7Digital input HOLD on FALLING edge
8Pulse Counter on RISING edge
9Pulse Counter on FALLING edge
Global Configurations
Register TypeHolding Registers
Function Codes3,6,16
DescriptionGeneral system configuration

NameRegisterData TypeRead/WriteNotes
Version Major10001UINT16R
Version Minor10002UINT16R
Version Patch10003UINT16R
Development Build ID10004UINT16R
Production Build Flag10005DIGITALR
I/O Persistence Enable10006DIGITALRPrevent I/O values/settings persisting on reset
I/O Persistence Wipe10007DIGITALWWipes all I/O values/settings
RTC Time10008UINT32R/WUTC time in seconds
RTC Timezone10010UINT32R/WUTC offset in seconds
Pulse Debounce ms10012UINT16R/WMilliseconds
Modbus Watchdog Enable10013DIGITALR/W
Modbus Watchdog Timeout10014UINT16R/WMinutes
LoRa® RSSI10015INT16RLast received packet
LoRa® SNR10016INT16RLast received packet
LoRa® Publish Enable10017DIGITALR/W
LoRa® Publish Interval10018UINT16R/WSeconds
-----
Soft Reset10501DIGITALWPerform MCU soft reset
Factory Reset10502DIGITALWReset to factory settings