Technical data

Appendix D
Modbus communications
D.1 Modbus communications
Introduction to Modbus Communication
This appendix describes the standard Gould Modbus communication protocol (ASCII mode
and RTU mode) implemented by the Daniel 3810 Series Liquid Ultrasonic Flow Meters for
communicating with an external flow computer and/or diagnostic computer. Refer to the
Daniel web site http://www.daniel.com/um2.htm to download the 3810 Series Modbus
Tables.
Daniel Liquid Ultrasonic Flow Meter data points are accessed via registers. The available
data formats are 16-bit integer, 32-bit long integer, and 32-bit IEEE-format floating point.
Each Modbus register is 16 bits in length; thus, two Modbus registers are required for each
long integer and each floating point value.
The meter supports only Modbus functions 3 (read multiple registers), 6 (write to a single
register), and 16 (write to multiple registers). When accessing multiple registers, all the
registers must be within the same data type. Attempts to write to a read-only register
generate an error.
The supported exception codes are as follows:
01 illegal function
02 illegal data address
03 illegal data value
06 busy (not used at this time)
Message Formats
The abbreviations used to describe the Modbus message formats are:
Modbus Message Format AbbreviationsTable D-1:
ADDR Modbus ADDRESS (Device Identification)
BYTE_CNT number of bytes in the frame
CR ASCII carriage return character (ASCII Modbus only)
CRC_LOW low byte of the 16-bit Cyclic Redundancy Check (RTU Modbus
only)
CRC_HI high byte of the 16-bit Cyclic Redundancy Check (RTU Modbus
only)
DATA the data to be transmitted
FC Modbus function code (3, 6, or 16)
Modbus communications
Operations 121