Modbus
As one of the oldest communication protocols, the MODBUS protocol allows data exchange between various industrial and building automation devices. The great popularity of the protocol results primarily from its universality, openness, and simplicity of implementation. MODBUS manages a master-slave communication network in which one master device sends queries to slave devices. Within the protocol, four address spaces define the type of data transferred, i.e., input registers (16-bit registers), holding registers (16-bit registers), discrete inputs, and coils (both of single bits). During a connection session, data of any type can be read or written using specialised protocol functions. The MODBUS protocol allows you to connect e.g. PLC controllers, utility devices such as PV inverters or heat pumps, sensors, actuators, and other elements of the IoT network.
The MODBUS standard introduces the following types of communication, depending on the format and method of data transfer: MODBUS RTU, MODBUS ASCII, and MODBUS TCP. In the MODBUS ASCII standard, data is written in hexadecimal form using ASCII code characters. The MODBUS RTU standard works perfectly with the transmission medium of the RS232 and RS485 standards. MODBUS RTU data is binary encoded. MODBUS TCP, in turn, allows data transmission via the ETHERNET network. In this case, IP addresses are used directly for communication with Slave modules, and MODBUS message data is incorporated in frames of TCP/IP packets.
The NEXO platform has unique and flexible connection protocols (bindings), thanks to which it can establish communication with many devices from different manufacturers and external data sources available via the Internet, the so-called services. One of the bindings operating on the NEXO platform is MODBUS binding. It allows you to connect devices compatible with the Modbus protocol to the NEXO platform. Binding can be operated in both RTU and TCP modes. An example of Modbus binding and Nexo is ThermOS – a system for managing heat and cold storage in a building. Modbus binding is responsible for communication between the Nexo internal event bus and the PLC operating in the real-time control layer in this system. Communication takes place via the MODBUS TCP protocol. MODBUS TCP binding has channels that allow real-time data transfer between the PLC and the NEXO platform. The block diagram of the data flow between the PLC (Inventia) and the MODBUS TCP binding of the Nexo platform is presented in Fig. 1.