B.4
Starting/stopping autocalibration
Using the following block of coils, an autocalibration on a specific calibration group may be
started, or all calibrations may be stopped.
The action will be requested when a coil state is changed from a 0 to a 1. This request is treated
in the same way and subject to the same rules as a request initiated from the keypad. The
Modbus master is responsible for subsequently returning the state to 0.
Coil states may be written using function codes 05 or 15. If desired, their current state may be
read back with function code 01.
Diagnostic functions
Modbus function code 08 provides a diagnostic capability for checking communication between
the master and the analyser. Following the function code is a 2-byte sub function code that
specifies the test to be performed, followed by data.
This implementation only supports sub function code 00 which causes the data passed in the
query field to be looped back.
Exception codes
If a communications error (e.g. framing error, checksum error) is detected during the receipt of
a Modbus message, that message is ignored and no response is generated.
All correctly received Modbus messages are checked for a valid function code and data
address. If a problem is detected the following exception responses are returned.
Where a request to write a coil state is received, the data field is validated against the Modbus
standard. Invalid data is rejected and results in an exception response.
The exception codes are as follows:
Coil Description
00001 Start Calibration Group 1
00002 Start Calibration Group 2
00003 Start Calibration Group 3
00004 Start Calibration Group 4
00009 Stop all autocalibrations (however initiated)
Condition Exception Code
Requested function code is not supported 01
Register or coil address outside of supported range 02
Invalid data 03