Error check, Command data, Response data – Yaskawa L1000E AC Drive Technical Manual for CIMR-LE Models for Elevator Applications User Manual
Page 428: C.7 message format, Right shift the result, Table c.3 crc-16 checksum calculation example

C.7 Message Format
428
YASKAWA ELECTRIC SIEP YAIL1E 01A YASKAWA AC Drive L1000E Technical Manual
◆ Error Check
The drive uses a CRC-16 (cyclic redundancy check, checksum method) for checking data validity. Use the procedure
described below when calculating the CRC-16 checksum for command data or when verifying response data.
■
Command Data
When the drive receives data, it calculates the CRC-16 checksum from the data and compares it to the CRC-16 value
received within the message. Both must match before a command is processed.
An initial value of FFFFH (i.e., all 16 bits equal 1) must be used for CRC-16 calculations in the MEMOBUS/Modbus
protocol.
Calculate the CRC-16 checksum using the following steps:
1.
The starting value is FFFFH.
2.
Perform an XOR operation of this value and the slave address.
3.
Right shift the result.
4.
When the overflow bit of the shift operation becomes 1, perform an XOR operation of the result from step 3 above
and the fix value A001H.
5.
Repeat steps 3 and 4 until eight shift operations have been performed.
6.
After eight shift operations, perform an XOR operation with the result and the next data in the message (function
code, register address, data). Continue with steps 3 to 5 until the last data has been processed.
7.
The result of the last shift or XOR operation is the checksum.
The example in
shows the CRC-16 calculation of the slave address 02H and the function code 03H, yielding
the result 40D1H.
Note: This example does not show the calculation for a complete MEMOBUS/Modbus command. Normally data would follow in the
calculation.
Table C.3 CRC-16 Checksum Calculation Example
■
Response Data
Perform a CRC-16 calculation on the response message data as described above as a validation check. The result should
match the CRC-16 checksum received within the response message.
Description
Calculation
Overflow
Description
Calculation
Overflow
Initial Value (FFFFH)
1111 1111 1111 1111
Function Code 03H
0000 0000 0000 0011
Address 02H
0000 0000 0000 0010
XOR w result
1000 0001 0011 1101
XOR w initial value
1111 1111 1111 1101
Shift 1
0100 0000 1001 1110
1
Shift 1
0111 1111 1111 1110
1
XOR w A001H
1010 0000 0000 0001
XOR w A001H
1010 0000 0000 0001
XOR result
1110 0000 1001 1111
XOR result
1101 1111 1111 1111
Shift 2
0111 0000 0100 1111
1
Shift 2
0110 1111 1111 1111
1
XOR w A001H
1010 0000 0000 0001
XOR w A001H
1010 0000 0000 0001
XOR result
1101 0000 0100 1110
XOR result
1100 1111 1111 1110
Shift 3
0110 1000 0010 0111
0
Shift 3
0110 0111 1111 1111
0
Shift 4
0011 0100 0001 0011
1
Shift 4
0011 0011 1111 1111
1
XOR w A001H
1010 0000 0000 0001
XOR w A001H
1010 0000 0000 0001
XOR result
1001 0100 0001 0010
XOR result
1001 0011 1111 1110
Shift 5
0100 1010 0000 1001
0
Shift 5
0100 1001 1111 1111
0
Shift 6
0010 0101 0000 0100
1
Shift 6
0010 0100 1111 1111
1
XOR w A001H
1010 0000 0000 0001
XOR w A001H
1010 0000 0000 0001
XOR result
1000 0101 0000 0101
XOR result
1000 0100 1111 1110
Shift 7
0100 0010 1000 0010
1
Shift 7
0100 0010 0111 1111
0
XOR w A001H
1010 0000 0000 0001
Shift 8
0010 0001 0011 1111
1
XOR result
1110 0010 1000 0011
XOR w A001H
1010 0000 0000 0001
Shift 8
0111 0001 0100 0001
1
XOR result
1000 0001 0011 1110
XOR w A001H
1010 0000 0000 0001
Perform operations with next data (function code)
XOR result
1101 0001 0100 0000
CRC-16
1101 0001 0100 0000
D 1 4 0
(upper) (lower)
Continue from here with next data.