![FMC Technologies Smith Meter microFlow.net Liquid Manual Download Page 25](http://html.mh-extra.com/html/fmc-technologies/smith-meter-microflow-net-liquid/smith-meter-microflow-net-liquid_manual_2312633025.webp)
Issue/Rev. 0.1 (9/13) ║ MNFL003 • Page 25
Assuming that no error in communication interferes, the data field of a response from a
slave to a master contains the requested data. If an error does occur, the field contains
an exception code that the application controlling the master can use to determine the
next action to be taken.
4.41
Beginning Register
This register identifies the beginning register from which the master is requesting infor-
mation. This two byte field lists the most significant digit first and the least significant
digit last.
4.42
Number of Requested Registers
This field identifies the number of consecutive registers from which the master is re-
questing information. This two byte field lists the most significant digit first and the least
significant digit last. The response is limited to 250 bytes of information.
4.43
Error Check (CRC16)
This field allows the microFlow.net Liquid and the supervisory system to check for errors in
the transmission of commands and responses. Electrical noise or other interference may
cause changes in transmitted data. The capacity to check for errors prevents the receiving
device from responding to a message that has changed.
Error checking in RTU mode is built on the Cyclical Redundancy Check (CRC) method. The
entire message is subject to scrutiny by the CRC field, and the CRC is applied regardless
of any other parity check method that might be in effect.
The CRC consists of a two byte field containing a 16-bit binary value. The transmitting device
calculates the CRC value and adds the CRC to the message. The receiving device then
recalculates the CRC when the message is received, and compares the first value with the
second. An error results when the two message values are unequal.
The CRC is initiated by pre-loading a 16-bit register to all 1’s. Successive 8-bit bytes
of the message are then applied to the current contents of the register. The CRC is
generated only by the eight bits of data in each character. Start and stop bits, and the
parity bit if one is used, are not taken into account.
When the CRC is generated, each 8-bit character is exclusive ORed with the register
contents. The result is then shifted toward the least significant bit (LSB), and a zero
added to the most significant bit (MSB) position. The LSB is extracted and examined.
Assuming the LSB was a 1, the register is then exclusive ORed with a preset, fixed
value. If the LSB was a 0, there will be no exclusive OR.
The process consists of eight shifts. After the eighth and final shift, the next 8-bit byte
is exclusive ORed with the register’s current value. The process is then repeated for an
additional eight shifts. The final content of the register, after all the bytes of the message
have been applied, is the CRC value.
4.5
Placing the CRC into the Message
When the 16-bit CRC (2 8-bit bytes) is transmitted in the message, the low-order byte
will be transmitted first, followed by the high-order byte. For example, if the CRC value
is 1241 hex (0001 0010 0100 0001):
Addr
Func
Data
Count
Data
Data
Data
Data
CRC
Lo
CRC
Hi
41
12
microFlow.net Liquid Modbus Communications Manual
Appendix