Chapter 8 MODBUS CommunicationsRevision June 2010 8-13CRC (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 ofthe 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 onebit to the right. If the LSB of CRC register is 1, shift the CRC register one bit to theright, 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 CRCregister are the CRC value.NOTE1) When transmitting the CRC value in the message, the upper and lower bytes of the CRCvalue 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 thecommand message is shown as follows. What should be noticed is that 94H have to betransmitted before 37H.Command MessageADR 01HCMD 03H01H (Upper byte)Starting data address01H (Lower bytes)00H (Upper bytes)Number of data(Count by word) 02H (Lower bytes)CRC Check Low 94H (Lower bytes)CRC Check High 37H (Upper bytes)End1, End0 (Communication End)ASCII Mode:In ASCII mode, (0DH) stands for character ’\r’ (carriage return) and (0AH) stands forcharacter ’\n’ (new line), they indicate communication end.