DVP15MC11T Operation Manual
A
Response message:
Field name
Character
Start
No input data for more than 10ms
Communication address
01
Function code
03
Read data number
(
Counted by bytes
)
04
Read high byte of data content
00
Read low byte of data content
01
Read high byte of data content
00
Read low byte of data content
02
Low byte of CRC check sum
2A
High byte of CRC check sum
32
End
No input data for more than 10ms
CRC check (check sum)
CRC check starts from “Communication address” to the last “Data content”. The calculation
method is shown below.
Step 1:
Download a 16-bit hex register (CRC register) with the content value FFFF.
Step 2:
Make the XOR operation between the 8-bit data of the first byte in the command and
the 8-bit data of the low byte in CRC register and then store the operation result in CRC
register.
Step 3:
Move the content value of CRC register by one bit towards the right and fill 0 in the
highest bit.
Step 4:
Check the value of the lowest bit in CRC register. If the value is 0, repeat the action of
step 3; if 1, make XOR operation between the content in CRC register and hex. A001 and then
store the result in CRC register.
Step 5:
Repeat step 3 and step 4 till the content in CRC register is moved by 8 bits towards the
right. At this moment, the processing of the first byte of the command message is finished.
Step 6:
Repeat the action of step 2 to step 5 for the next byte in the command message till the
processing of all bytes is finished. The last content in CRC register is CRC check value. When
CRC check value in command message is transmitted, the high and low bytes in calculated
CRC check value must exchange with each other, i.e. the low byte is transmitted first.
Example on calculation of CRC check value with C language
unsigned char* data
// Pointer of command message content
unsigned char length
// Length of command message content
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
)
reg_crc=
(
reg_crc>>1
)
^ 0Xa001; /* LSB
(
b0
)
=1 */
else reg_crc=reg_crc >>1;
A-6
Содержание DVP15MC11T
Страница 9: ...Memo viii...
Страница 15: ...DVP15MC11T Operation Manual _2 MEMO 2 4...
Страница 71: ...DVP15MC11T Operation Manual _7 Memo 7 10...
Страница 81: ...DVP15MC11T Operation Manual _8 Timing Chart F_TRG_CLK F_TRG_Q 8 10...
Страница 158: ...Chapter 8 Logic Instructions 8_ The program 1 ASIN EN ENO In Out ASIN_EN ASIN_In Out1 8 87...
Страница 213: ...DVP15MC11T Operation Manual _8 The program 1 LIMIT EN ENO MN Out MX In LIMIT_EN LIMIT_MN LIMIT_MX LIMIT_In Out1 8 142...
Страница 216: ...Chapter 8 Logic Instructions 8_ The program 1 BAND EN ENO MN Out MX In BAND_EN BAND_MN BAND_MX BAND_In Out1 8 145...
Страница 249: ...DVP15MC11T Operation Manual _8 8 178...
Страница 285: ...DVP15MC11T Operation Manual _8 Memo 8 214...
Страница 286: ...9 Chapter 9 Introductions of Axis Parameters Table of Contents 9 1 Description of Axis Parameters 9 2 9 1...
Страница 323: ...DVP15MC11T Operation Manual 10 MEMO 10 34...
Страница 549: ...DVP15MC11T Operation Manual A MEMO A 16...
Страница 571: ...DVP15MC11T Operation Manual C Memo C 10...
Страница 572: ...D Appendix D Explanation of Homing Modes Table of Contents D 1 Explanation of Homing Modes D 2 D 1...