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.