ABB AO2000 gas analyzers
Transferred data Read Write Example
Measurement values x – CO, NO, H2, etc.
Analog inputs x – Indication of mA-values of external analyzers
Analog outputs x – Indication of mA-values of measurement values or calculated
values (function block application)
Digital inputs x – Indication of external status signals
Digital outputs x – Measurement range feedback, indication of solenoid or pump controls
Bus analog inputs x x Entering analog values into the function block application
Bus analog outputs x – Outputting analog values from the function block application
Bus digital inputs x x Control of functions such as auto calibration, measuring range
control, etc. after function block configuration
Bus digital outputs x – Indication of all functions integrated by function block configura tion such as alarm signaling etc.
Modbus configuration x – Indication how many components, AOs, DOs, etc. have been
configured or are in the gas analyzer
Status signals x – Indication of failure, maintenance mode, maintenance request
Measurement range feedback
x – Index of the active measurement range
Measurement range configuration
x – Measurement range limits (start and end value)
Measurement range drift values
x – Offset drift, amplification drift, delta offset drift, delta amplification drift
QAL3 calibration data x – Setpoints and actual values, measuring range and date of last
calibration (not available in analyzer modules Limas11, Uras14,
Magnos16, Magnos106, Caldos15, Caldos17, and MultiFID14)

Data transfer For data transfer a combination of frames is used, that consists of 1/0 information,
united to one or more telegrams.
Frame The transfer values are decomposed in bytes (= 8 bit). Each of these bytes is
completed by one start-bit, possibly one parity-bit (even number of “1”) and one
stop-bit. In the following description the term “byte” will be used, even if ten or
eleven bits will be transferred including the start-, stop- and parity-bits.
Telegrams The Modbus telegrams consist of the following frames:
address (1 byte), function (1 byte), data (n bytes) and check sum (2 bytes).
The telegrams also take on the “shake-hands-function”: each telegram from
master to slave must be responded, before a new telegram is allowed to be
transmitted. The computer has to have in a adequate supervision, for excluding
non answering bus participants (time-out-supervision).
Admissible addresses As addresses for the participants of the bus the numbers 1 to 255 are admitted.
The address 0 is the global address (broadcast-address). When this address will
be used in a telegram, all participants accept this telegram without an acknowledg ment to the master.
Functions Code Term Function
01 Read coil status Reading of binary values of type coil
02 Read input status Reading of binary values of type status
03 Read holding registers Reading of 16 bit holding-registers
04 Read input registers Reading of 16 bit input-registers
05 Force single coil Setting of a single binary value
06 Preset single register Set of a single 16 bit-register; for DINT or
REAL two telegrams are necessary
08 Loopback diagnostic test Testing telegram for diagnostics of the
communication capability of slave
15 Force multiple coils Set of several successive binary values
16 Preset multiple registers Set of several successive 16 bit-registers
Check sum The check sum is calculated over all bytes of one telegram without the start-,
stop- and parity-bits.
Transfer rules The neutral position of the data line corresponds with the logical “1”.
A distance of more than 3.5 bytes, however at least 10 ms is defined as separation
between two telegrams. For the beginning of the data transfer the neutral position
of the data line must be observed.
Integration The AO2000 Modbus/TCP server expects requests from the current IP addresses
via the communication port. A maximum of 4 clients can be connected to the
Modbus/TCP server of an AO2000 at the same time. If the connection to a client
breaks down, the connection status in the Modbus/TCP server is enabled again
after a max. 60 seconds. Reading out data
from the AO2000 Modbus/TCP server
The following procedure must be executed on the Modbus client, in order to
receive data from the AO2000 Modbus/TCP server:
1. Establish a TCP connection to port 502 on the server.
2. Create a Modbus request.
3. Send the Modbus request incl. the Modbus/TCP MBAP Header.
4. Wait for a response to the same TCP connection.
5. Read the first 6 bytes of the response; these state the length of the response.
6. Read the remaining bytes of the response.
Functions, addressesand registers
The supported functions and the addresses and registers of Modbus over TCP/IP
are equivalent to those of Modbus over RS232/RS485.