Communication Guide, ©ComAp – March 2014 110
IGS-NT Communication Guide 03-2014.pdf
Modbus Communication
Hint:
It is possible to define your own Modbus register numbers for any value or setpoint in the BaseBox
controllers with standard FW v3.0 (IG-NT-BB, IS-NT-BB and IM-NT-BB firmware) and higher. For
more information about this function please refer to the chapter User Modbus.
Hint:
In the firs time, you have to correctly configure the controller connection.
Data reading
The function Read Multiple Registers has to be used for data reading. The terminal sends a query and
from the controller receives either the normal response containing the requested data or the
exceptional response indicating a read error.
It is possible to use function 3 for reading (Read Multiple Registers).
It is not possible to read from the middle. The register number must correspond with the beginning
of the data object. The only exception are the objects of „multipacket values“ (registers 46367 –
46491) and „data part of the history record“ (registers 46543 – 46667).
All read registers must be implemented. If an unimplemented register appears among the read
registers, the controller returns an error message.
Even unnamed values can be included among read registers (See Cfg image - column Name =
(N/A)). The read value must be treated as meaningless.
The length of a block is 127 registers.
Data writing
All data can be written by the function Write Multiple Registers. Data up to 2 bytes can be written by
the function Write Single Register, too. The terminal sends a query containing a written data and the
controller either confirms it (normal response) or refuses it (exceptional response).
For writing it is possible to use function 6 (Write Single Register) or function 16 (Write Multiple
Registers).
Using function 16 it is possible to write maximum 16 registers at once.
Data cannot be written from the middle. Register number must correspond with the beginning of
the data object. Written data must be complete to perform writing of all requested data objects.
Writing to EEPROM is executed using a queue. The queue is common for writing from all
terminals. The request for next writing is accepted in case that there is empty space in the queue.
Otherwise the controller returns an error message and the terminal must repeat the request.
All written registers must be implemented. If an unimplemented register appears among the read
registers, the controller returns an error message.
It is possible to include also unnamed registers in the written sequence
(See Cfg image - column Name = (N/A)). The controller confirms this writing but writing of
unnamed registers is not performed.