Honeywell VFD CORE Installation Instructions Manual page 217

User and application manual
Hide thumbs Also See for VFD CORE:
Table of Contents

Advertisement

The second data content
LRC Check
END
RTU Mode
ADR
CMD
Starting data address
Number of data
(count by word)
Number of data
(count by byte)
The first data content
The second data content
CRC Check Low
CRC Check High
Check sum
ASCII mode:
LRC (Longitudinal Redundancy Check) is calculated by summing up, module 256, and the values of the bytes from ADR1 to last
data character then calculating the hexadecimal representation of the 2's-complement negation of the sum.
For example,
01H+03H+21H+02H+00H+02H=29H, the 2's-complement negation +1 of 29H is D7H.
RTU mode:
CRC (Cyclical Redundancy Check) is calculated by the following steps:
1. Load a 16-bit register (called CRC register) with FFFFH.
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.
3. Examine the LSB of CRC register.
4. If the LSB of CRC register is 0, shift the CRC register one bit to the right with MSB zero filling, then repeat step 3. If the LSB
of CRC register is 1, shift the CRC register one bit to the right with MSB zero filling, Exclusive OR the CRC register with the
polynomial value A001H, then repeat step 3.
5. Repeat step 3 and 4 until eight shifts have been performed. When this is done, a complete 8-bit byte will have been pro-
cessed.
6. Repeat step 2 to 5 for the next 8-bit byte of the command message. Continue doing this until all bytes have been pro-
cessed. The final contents of the CRC register are the CRC value. 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.
The following is an example of CRC generation using C language. The function takes two arguments:
Unsigned char* data ß a pointer to the message buffer
Unsigned char length ß the quantity of bytes in the message buffer
The function returns the CRC value as a type of unsigned integer.
Unsigned int crc_chk (unsigned char* data, unsigned char length)
{
'0'
'F'
'A'
'0'
'9'
'A'
CR
LF
Command Message:
01H
10H
05H
00H
00H
02H
04
13H
88H
0FH
A0H
'9'
'A'
CHAPTER 12: DESCRIPTION OF PARAMETER SETTINGS
Response Message
ADR
CMD 1
Starting data address
Number of data
(count by word)
CRC Check Low
CRC Check High
217
01H
10H
05H
00H
00H
02H
41H
04H
63-4528—04

Advertisement

Table of Contents
loading

Table of Contents