Supported Modbus Codes
Read Coils (code 1)
M55x, M560, M570 (revision 0.3.00.00 and later) M850 and M880 models.
Returns one byte of data.
Each bit represents the exception state of the corresponding condition (structure).
Read Holding (4X) Registers (code 3)
Returns a specified number of consecutive system registers (IEEE754 floating point).
Read Input (3X) Registers (code 4)
Returns a specified number of consecutive measurement registers (IEEE754 floating point).
N.B.
In some products, the order that the registers appear can be altered to suit a user’s needs.
In most products, the measurement registers are duplicated (mapped) into the 4X area.
Pre-set Multiple Holding (4X) Registers (code 16)
Writes data to a specified number of consecutive system registers.
Report Slave ID (code 17)
This function returns the status of an instrument, The returned packet consists of 10 or more, four byte floating point numbers.(IEEE754)
Special Codes (65-72 and 101-108 inc)
Replaces codes 30 to 39 incl. in older models.
These codes are specifically implemented to facilitate the programming of the instruments and transducers.
Send Modbus register order (65)
M55x, M560, M570 (revision 0.3.00.00 and later) M850 and M880 models.
Replaces code 30 in older models.
Send a string of data to set the order of the registers.
Retrieve relay channel’s parameters (code 66)
M55x, M560, M570 (revision 0.3.00.00 and later) M850 and M880 models.
Replaces code 31 in older models.
Request ALL register order data.
Send relay channel’s parameters (code 103)
M55x, M560, M570 (revision 0.3.00.00 and later) M850 and M880 models.
Replaces code 42 in older models.
Sends 8, 16 byte structures representing the parameters for the 8 conditions that can be attached to each relay installed.
Retrieve relay channel’s parameters (code 104)
M55x, M560, M570 (revision 0.3.00.00 and later) M850 and M880 models.
Replaces code 41 in older models.
Requests 8, 16 byte structures representing the parameters for the 8 conditions that can be attached to each relay installed.
Set Endian for floating point format (code 108)
M55x, M850 and M880 models dated after August 2011.
Sends 1 byte to set the format for floating point data.
Exception Codes
A normal response from a slave is the echoing of the function code and the supplying of the data that is requested.
Exceptions are reported in the response from a slave node by setting the msb of the function code and inserting the applicable error code in the data field. Only the last example below will result in an exception being reported to the master node.
• If the slave does not receive the query due to a communication error, no response is returned.The master node will eventually process a time-out condition for the query.
• If the slave receives the query, but detects a communication error (parity or CRC), no response is returned. The master program will eventually process a time-out condition for the query.
• If the slave receives the query without a communication error but cannot handle it (e.g. a request to read a non-existent register), the slave will return an exception response informing the master of the nature of the error.
The error codes that could be returned in the data field are:
01 – Illegal or Unknown Function
02 – Illegal Data Address
03 – Illegal Data value