Goodrive200A
inverters Communication protocol
121
setting of each byte.
The definition of even checkout: add an even check bit before the data transmission to
illustrate the number of “1” in the data transmission is odd number or even number. When it is
even, the check byte is “0”, otherwise, the check byte is”1”. This method is used to stabilize
the parity of the data.
The definition of odd checkout: add an odd check bit before the data transmission to illustrate
the number of “1” in the data transmission is odd number or even number. When it is odd, the
check byte is “0”, otherwise, the check byte is”1”. This method is used to stabilize the parity
of the data.
For example, when transmitting “11001110”, there are five “1” in the data. If the even
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^=*dat+;
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.