DRV-28 inverter
s Communication protocol
-262-
The following is a simple CRC calculation function for your reference (using the C programming
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 the ladder logic, CKSM uses the table look-up method to calculate the CRC value according to the
content in the frame. The program of this method is simple, and the calculation is fast, but the ROM
space occupied is large. Use this program with caution in scenarios where there are space
occupation limits on programs.
9.4 RTU command code and communication data
9.4.1 Command code: 03H, reading N words (continuously reading a maximum of 16 words)
The command code 03H is used by the master to read data from the inverter. The quantity of data to
be read depends on the "data quantity" in the command. A maximum of 16 pieces of data can be read.
The addresses of the read parameters must be contiguous. Each piece of data occupies 2 bytes, that
is, one word. The command format is presented using the hexadecimal system (a number followed by
"H" indicates a hexadecimal value). One hexadecimal value occupies one byte.
The 03H command is used to read information including the parameters and operation state of the
inverter.
For example, starting from the data address of 0004H, to read two contiguous pieces of data (that is,
to read content from the data addresses 0004H and 0005H), the structure of the frame is described in
the following table.