![Delta Electronics AFE075A23A User Manual Download Page 93](http://html.mh-extra.com/html/delta-electronics/afe075a23a/afe075a23a_user-manual_2475447093.webp)
Chapter 11 Description of Parameter Settings
AFE2000 Series
11-91
LRC (Longitudinal Redundancy Check) is calculated by summing up, module 256, 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 of 29H is
D7
H.
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:
Examine the LSB of CRC register.
Step 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.
Step 5:
Repeat step 3 and 4 until eight shifts have been performed. When this is done, a complete
8-bit byte will have been processed.
Step 6:
Repeat step 2 to 5 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.
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)
{
int j;
unsigned int reg_crc=0Xffff;
while(length--){
reg_crc ^= *data++;
for(j=0;j<8;j++){
if(reg_crc & 0x01){ /* LSB(b0)=1 */
reg_crc=(reg_crc>>1) ^ 0Xa001;
}else{
reg_crc=reg_crc >>1;
}
}
}
return
reg_crc;
//
return
register
CRC
3. Address
list
Content Address
Function
AFE2000
Parameters
GGnnH
GG means parameter group, nn means parameter number, for
example, the address of Pr 4-01 is 0401H.
Summary of Contents for AFE075A23A
Page 1: ...5012604300 AFE0 2011 02 15 ...
Page 8: ...Chapter 1 Introduction AFE2000 Series 1 6 Digital Keypad KPC CE01 ...
Page 12: ...Chapter 2 Installation AFE2000 Series 2 10 This page is intentionally left blank ...
Page 22: ...Chapter 5 Control Terminals AFE2000 Series 5 20 This page is intentionally left blank ...
Page 31: ...Chapter 6 Optional Accessories AFE2000 Series 6 29 ...
Page 42: ...Chapter 6 Optional Accessories AFE2000 Series 6 40 This page is intentionally left blank ...
Page 60: ...8 58 This page is intentionally left blank ...
Page 64: ...Chapter 9 Digital Keypad AFE2000 Series 9 62 This page is intentionally left blank ...