# Modbus support

Since Modbus was designed in the late 1970s to communicate to programmable logic controllers, the number of data types is limited to those understood by PLCs at the time. Therefore, large binary objects are not supported.

No standard way exists for a master device to find the description of a data object, for example, to determine whether a register value represents a temperature between 25 and 98 degrees Celsius.

Therefore the mapping and structure of the data have to be established for successful interoperability, as a client may store values not only in a single register but in several adjacent holding registers.

## Limitations in the protocol support

As of this writing, the software used by NODA to achive communication with energy control equipment via Modbus over MQTT, is limited to the support implemented by Teltonika in their equipment.

This limits the available commands to send over Modbus to only Write Single Holding Register (6), Write Multiple Holding Registers (16) and Read Holding Registers (3). There is thus currently no support for reading and writing to coils and reading discrete inputs.

Single holding register data types

• 8 Bit Unsigned Integer (uint8)
• 8 Bit Signed Integer (int8)
• 16 Bit Unsigned Integer (uint16)
• 16 Bit Signed Integer (int16)
• 16 Bit Float (float16)

Multi (2) holding registers data types

• 32 Bit Unsigned Integer (uint32)
• 32 Bit Signed Integer (int32)
• 32 Bit Float (float32)

Both Word and Byte order can be Little- or Big Endian. But the order has to be consistent throughout.

NOTE: While NODA Modbus Gateway supports the above data types, your specific target slave device might not be able to handle them. Please refer to the manual for the slave device for details.

## RS-485 limitations

The RS-485 driver can drive a maximum of 32 receivers, provided that the receiver input impedance is 12 k$\Omega$. If receiver impedances are higher, the maximum number of receivers in the network increases. Any combination of receiver types can be connected, provided their parallel impedance does not exceed $Rload > 375 \Omega$.

## Solution for complete protocol support

To get around the current limitations in the Teltonika router, NODA implemented a separate solution with the capability of acting as an alternative to the Teltonika software in their router. This solution still requires Teltonika router to access the internet in a secure way. For more details about this solution take a look at the Modbus Gateway Addon