This manual contains information about Modbus protocol in the iSMA-B-AAC20 controller. The iSMA-B-AAC20 controller supports the following types of Modbus protocol:
- Modbus ASCII/RTU;
- Modbus TCP;
- Modbus TCP slave.
28 Aug 2015
20 Apr 2017
Added Modbus type of registers addressing in Modbus TCP Slave
Added information about accuracy increasing and Resistance Register multiply in PT1000 or NI1000 input working type
27 Jan 2020
Added RJ12 network description
Added Safety Rules, Technical Specification and Dimensions
Updated Modbus register table
Replaced environment of programming from Workplace to iSMA Tool
28 Feb 2022
Corrected license points information
The Modbus protocol defines a message structure and format used in communication transactions. The Modbus devices communicate using a master-slave method, in which only the master device can initiate a communications transaction. There can be only one master device on a Modbus network. All other devices must be Modbus slaves.
WARNING! Before programming the Modbus kits, please check if the latest kit version is used. The latest kits are available in the AAC20 Software Bundle on iSMA CONTROLLI support website: ismacontrolli.com
A Modbus device holds transient (real-time) data and persistent (configuration) data in the addressable registers. Here, the term “registers” implies all addressable data, but this is a loose interpretation. Using a Modbus nomenclature, all accessible data in a Modbus slave is contained in the following four available groups of data flags and registers (including the Modbus master access that is possible):
- coil status: (or simply “coils”): single-bit flags that represent the status of digital (Boolean) outputs of the slave, that is, On/Off output status; the Modbus master can both read from and write to coils;
- input status: (or simply “inputs”): single-bit flags that represent the status of digital (Boolean) inputs of the slave, that is, On/Off output status; the Modbus master can read (only) inputs;
- input register: 16-bit registers that store data collected from the field by the Modbus slave; the Modbus master can read (only) input registers;
- holding register: 16-bit registers that store general-purpose data in the Modbus slave the Modbus master can both read from and write to input registers.
Modbus Data Addresses
The Modbus device is not required to contain all four groups of data. For example, a metering device may contain only holding registers. However, for each data group implemented, a specific addressing scheme is used. The requests for data (made to a device) must specify a data address (and range) of interest.
Modbus data in a device is addressed as follows:
- coils: addressed at 00000, 0nnnn decimal, or “0x” addresses;
- inputs: addressed at 10000, 1nnnn decimal, or “1x” addresses;
- input register: addressed at 30000, 3nnnn decimal, or “3x” addresses;
- holding registers: addressed at 40000, 4nnnn decimal, or “4x” addresses.
Note: The data addressing (at least in decimal and hex formats) is zero-based, where the first instance of a data item, for example, coil 1, is addressed as item number 0. As another example, holding register 108 is addressed as 107 decimal or 006B hex.