IMO iDrive2 XKL Instruction Manual page 74

General application inverter
Table of Contents

Advertisement

iDrive2 inverters
Communication protocol
END
T1-T2-T3-T4(transmission time of 3.5 bytes)
7.2.2.2
RTU communication frame error checkout
Various factors (such as electromagnetic interference) may cause error in the data transmission. For example, if
the sending message is a logic "1",A-B potential difference on RS485 should be 6V, but in reality, it may be -6V
because of electromagnetic interference, and then the other devices take the sent message as logic"0". If there
is no error checkout, the receiving devices will not find the message is wrong and they may give incorrect
response which cause serious result. So the checkout is essential to the message.
The theme of checkout is that: the sender calculate the sending data according to a fixed formula, and then send
the result with the message. When the receiver gets this message, they will calculate anther result according to
the same method and compare it with the sending one. If two results are the same, the message is correct. If not,
the message is incorrect.
The error checkout of the frame can be divided into two parts: the bit checkout of the byte and the whole data
checkout of the frame (CRC check).
Bit checkout of the byte
The user can select different bit checkouts or non-checkout, which impacts the check bit 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 valid to CRC, while the start bit, the end and the odd and
even check bit is invalid.
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--)
74

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents