11
MODBUS INFORMATION
The remaining sections of this bulletin list IAMS Register Format information and MODBUS conformity.
MODBUS SUPPORTED FUNCTION CODES
FC01: Read Coils
1. Valid coil addresses are 1-16.
2. Only 16 coils can be requested at one time.
3. Block starting point can not exceed coil 14.
FC05: Force Single Coil
1. Valid write (force) coil addresses are 1-10.
2. <8001>HEX is echoed back that the coil did not change during the request to
write to a read only coil.
FC15: Force Multiple Coils
1. Valid write (force) coil addresses are 1-10.
2. Block starting point can not exceed coil 10.
3. If a multiple write includes read only coils, then only the write coils
will change.
FC03: Read Holding Registers
1. Valid addresses are 40001-40026, 41001-41010, 41101-41116.
2. Only 16 registers can be requested at one time.
3. Block starting point can not exceed the register boundaries.
4. <8000>HEX is returned in registers beyond the boundaries.
5. Holding registers are a mirror of Input registers.
FC06: Preset Single Register
1. Valid write (preset) addresses are 40007-40026, 41101-41116.
2. <8001>HEX is echoed back that the register did not change during the
request to write to a read only register.
3. If the write value exceeds the register limit (see Register Table), then that
register value changes to its exceeded high or low limit. It is also returned in
the response.
FC16: Preset Multiple Registers
1. Valid write (force) register addresses are 40007-40026, 41101-41116.
2. No response is given with an attempt to write to more than 16 registers at a time.
3. Block starting point can not exceed the read and write boundaries.
4. If a multiple write includes read only registers, then only the write registers
will change.
5. If the write value exceeds the register limit (see Register Table), then that
register value changes to its exceeded high or low limit.
FC04: Read Input Registers
1. Valid addresses are 30001-30026, 31001-31010, 31101-31116.
2. Only 16 registers can be requested at one time.
3. Block starting point can not exceed register boundaries.
4. <8000>HEX is returned in registers beyond the boundaries.
5. Input registers are a mirror of Holding registers.
FC08: Diagnostics
The following is sent upon FC08 request:
Unit Address, 08 (FC code), 04 (byte count), “Total Comms” count,
“Total Good Comms” count, checksum of the string.
“Total Comms” is the total number of messages received that were addressed to
the IAMS. “Total Good Comms” is the total messages received by the IAMS
with good address, parity and checksum. Both counters are reset to 0 upon
response to FC08.
FC17: Report Slave ID
The following is sent upon FC17 request:
Unit Address, 17 (FC code), RLC-IAMS3535, 0100 (for code version 1.00), 16
(number of read supported registers), 16 (number of writes supported
registers), 16 (number of registers available for GUID/ Scratch pad memory),
checksum of the string.
The following is the HEX of the above (with unit address of 247):
<F7><11><14><52><4C><43><2D><49><41><4D><53><33><35><33><3
5><01><00><00><10><00><10><00><10><A5><F7>
SUPPORTED EXCEPTION CODES
01: Illegal Function
Issued whenever the requested function is not implemented in the unit.
02: Illegal Data Address
Issued whenever an attempt is made to access a single register or coil that
does not exist (outside the implemented space) or to access a block of registers
or coils that falls completely outside the implemented space.
03: Illegal Data Value
Issued when an attempt is made to read or write more registers or coils than
the unit can handle in one request.
07: Negative Acknowledge
Issued when a write to coil or register is attempted with an invalid string length.
CHECKSUM ERRORS
1. Calibration checksum covers the E
2
PROM that contains calibration values
for all ranges. When a calibration checksum error occurs, coil 10 becomes a
1. (See Coils Table)
2. Parameter checksum covers the E
2
PROM that contains the stored Holding
register settings. When a parameter checksum error occurs, coil 9 becomes a
1. (See Coils Table)
3. All LEDs will flash as long as either error occurs.
4. The alarms are disabled as long as either error occurs.
5. Either error can be cleared or activated manually by writing to the appropriate
coil. (This does not correct the reason for the error. It may be necessary to
reconfigure or calibrate.)
6. Both checksums are verified at power up.
CALIBRATION
ADC (Internal)
1. Connect the signal source to proper IAMS terminals.
2. Apply 0 V or 0 mA to self calibrate.
3. To start calibration, enter <7777>HEX into Holding register 40026.
4. To start ADC calibration, enter <0001>HEX into Holding register 40026.
5. To end calibration, enter <0000>HEX if not continuing with voltage or
current calibration.
Voltage or Current
1. Connect the signal source to proper IAMS terminals.
2. Enter desired range to be calibrated into Holding register 40007.
3. To start calibration, enter <7777>HEX into Holding register 40026.
4. Apply 0 voltage or 0 current and enter <0002>HEX into Holding
register 40026.
5. Apply maximum limit of selected range and enter <0003>HEX into Holding
register 40026.
6. Repeat all of steps 2, 4, and 5 for each range to be calibrated, changing the
source connecting to the proper IAMS terminals as needed.
7. To end calibration, enter <0000>HEX into Holding register 40026.