Page 36 • MNFL003 ║ Issue/Rev. 0.1 (9/13)
Accordingly, the application program controlling the master can quickly recognize the
exception response and derive the exception code from the data field.
Data Field:
A normal response consists of any data or statistics in the data field re-
quested by the query. An exception response consists of an exception code in the data
field. The code indicates the microFlow.net Liquid condition that caused the exception.
An example of a master query and microFlow.net Liquid exception response is shown
in the table below. The field examples are given in hexadecimal.
Query
Byte
Contents
Example
1
microFlow.net Liquid Address
0A
2
Function
01
3
Starting Address Hi
28
4
Starting Address Lo
0A
5
No. of Relays Hi
00
6
No. of Relays Lo
01
7
CRC
--
Exception Response
Byte
Contents
Example
1
microFlow.net Liquid Address
0A
2
Function
81
3
Exception Code
02
4
CRC
--
Here, the master addresses a query to microFlow.net Liquid 10. The function code (01)
is for a Read Relay Status operation that requests the status of the relay at address
10250 (0x280A hex). The number of relays field (0001) specifies that only one relay is
to be read.
5.6
How to access 64-bit information using Modbus when Modbus will only
read 32-bit information
64-bit information is referring to double precision data which is the data type of most
volumes as well as a lot of other data stored in the preset. 32-bit information is referring
to single precision data.
The answer to this problem is to save each double precision register to a user float
register using an equation. The preset device will handle the conversion, however, be
aware that some precision is lost when converted to single precision due to the fact that
there are less Mantissa Bits in a 32-bit value.
Here is an example of an equation written in microMate: USERFLOAT1 = ARM1 TRANS-
ACTION DATA INDICATED VOLUME(IV)
There are 100 userfloat registers that are 32-bit single precision registers (capable of
being read using Modbus). Registers #96-100 get archived with transaction data for use
after the transaction has ended. Userfloat registers #1-95 do NOT get archived and will
be lost when the transaction is ended.
Indicated volume, as we know, is a double precision (64-bit) value that cannot be read
directly using modbus. Using the equation above will enable the value to be read from
the Userfloat1 register.
microFlow.net Liquid Modbus Communications Manual
Appendix