4.2 AquaVent MODBUS Data Types

Note:

The MODBUS master must be able to recognize floating point data types.

The following data types are used by the AquaVent:

Name Registers Comment
int16 1 16 bits, 2's compliment binary
uint16 1 16 bits, natural binary
bits16 1 16 bit field, typecast as uint16
int32 2 big endian, 32 bits, 2's compliment binary
uint32 2 big endian, 32 bits, natural binary
bits32 2 big endian, 32 bit field, typecast as uint32
single 2 big endian, 32 bits, IEEE-754 single precision floating point number
nString int(n+1)/2 Byte-packed (first byte in Msb) UTF-8 (variable length) Unicode; this string type has a fixed length (specified in the register map) that is expressed in units of bytes, not characters or registers. Beyond the end of the text, any unused bytes must be padded with null characters. Strings that are too long will generate a MODBUS exception code.
timeGMT (six uint16 values packed together) 6 Method of reading/writing current time. Universal time is presented in the familiar GMT format, which used ephemeris seconds and no leap seconds. This time format uses 24 hour time (no AM/PM), and assumes no DST, and no time zones. From Msb to Lsb, the registers (uint16) contain: Year, Month, Day, Hour, Minute, Seconds, and all must be accessed together.
Array   An array contains elements, all of the same data type, such that each element occupies the same number of MODBUS registers. Any number of elements may be accessed together, starting at any element.

 

Note:

See Appendix 6.1 for more information on Endian Order and Byte Packing.

Note:

A MODBUS exception response will be returned unless the MODBUS request matches the exact number of registers associated with that data type. See Section 4.5.3 for Exception Codes.