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.