ASDA-B2
Chapter 8 MODBUS Communications
Revision September 2013
8-13
End 1
(0DH)(CR)
End 0
(0AH)(LF)
7FH + 03H + 05H + C4H + 00H + 01H = 14CH, the 2’s complement negation of 4CH is
B4H.
Hence, we can know that LRC CHK is ’B’,’4’.
CRC (RTU Mode):
CRC (Cyclical Redundancy Check) is calculated by the following steps:
Step 1: Load a 16-bit register (called CRC register) with FFFFH.
Step 2: Exclusive OR the first 8-bit byte of the command message with the low order byte
of the 16-bit CRC register, putting the result in the CRC register.
Step 3: Extract and examine the LSB. If the LSB of CRC register is 0, shift the CRC
register one bit to the right. If the LSB of CRC register is 1, shift the CRC register
one bit to the right, then Exclusive OR the CRC register with the polynomial value
A001H.
Step 4: Repeat step 3 until eight shifts have been performed. When this is done, a
complete 8-bit byte will have been processed, then perform step 5.
Step 5: Repeat step 2 to step 4 for the next 8-bit byte of the command message.
Continue doing this until all bytes have been processed. The final contents of the
CRC register are the CRC value.
NOTE
1) When transmitting the CRC value in the message, the upper and lower bytes of the CRC value
must be swapped, i.e. the lower order byte will be transmitted first.
2) For example, reading 2 words from address 0101H of the AC servo drive with address 01H.
The final content of the CRC register from ADR to last data character is 3794H, then the
command message is shown as follows. What should be noticed is that 94H have to be
transmitted before 37H.
Command Message
ADR 01H
CMD 03H
Starting data
address
01H (Upper byte)
01H (Lower bytes)
Number of data
(In Word)
00H (Upper bytes)
02H (Lower bytes)
CRC Check Low
94H (Lower bytes)
CRC Check High
37H (Upper bytes)
VARITEL INGENIERIA ELECTRONICA S.A.
[email protected] - www.varitel.com - Tel. (54) 11-4243-1171 / Fax: (54) 11-4292-7545
Manuel Baliña 456, Lomas de Zamora (B1832CCJ) Buenos Aires, Argentina.