209 
checkout is applied, the even check bit is “1”; if the odd checkout is applied; the odd check bit 
is “0”. The  even and odd check bit is calculated on the check bit position of the frame. And 
the receiving devices also carry out even and odd checkout. If the parity of the receiving data 
is different from the setting value, there is an error in the communication.     
CRC check   
The  checkout  uses  RTU  frame  format.  The  frame  includes  the  frame  error  detection  field 
which  is  based  on  the  CRC  calculation  method.  The  CRC  field  is  two  bytes,  including  16 
figure binary values. It is added into  the  frame  after calculated by transmitting device. The 
receiving  device  recalculates  the  CRC  of the  received frame  and compares them with the 
value in the received CRC field. If the two CRC values are different, there is an  error in the 
communication.   
During CRC, 0*FFFF will be stored. And then, deal with the continuous 6-above bytes in the 
frame and the value in the register. Only the 8Bit data in every character is effective to CRC, 
while the start bit, the end and the odd and even check bit is ineffective.   
The calculation  of  CRC  applies the international  standard CRC  checkout  principles. When 
the user is editing CRC calculation, he can refer to the relative standard CRC calculation to 
write the required CRC calculation program.   
 
Here  provided  a  simple  function  of  CRC calculation for the  reference  (programmed with C 
language):   
unsigned int crc_cal_value(unsigned char *data_value,unsigned char data_length) 
{ 
int i; 
unsigned int crc_value=0xffff;    
while(data_length--) 
{      crc_value^=*data_value++; 
    for(i=0;i<8;i++) 
    { 
if(crc_value&0x0001)crc_value=(crc_value>>1)^0xa001; 
    else crc_value=crc_value>>1; 
    }            } 
return(crc_value); 
} 
In ladder logic, CKSM calculated the CRC value according to the frame with the table inquiry.