Changes for page 08 Communication

Last modified by Iris on 2025/07/24 15:23

From version 4.10
edited by Stone Wu
on 2022/07/07 15:23
Change comment: There is no comment for this version
To version 4.2
edited by Joey
on 2022/06/18 21:53
Change comment: Update document after refactoring.

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -Servo.1 User Manual.02 VD2 SA Series.WebHome
1 +Servo.1 User Manual1.06 VD2 SA Series Servo Drives Manual (Full V1\.1).WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Stone
1 +XWiki.Joey
Content
... ... @@ -54,46 +54,58 @@
54 54  
55 55  (% class="table-bordered" %)
56 56  |(% style="text-align:center; vertical-align:middle" %)**Operate**|(% style="text-align:center; vertical-align:middle" %)**Command code**
57 -|(% style="text-align:center; vertical-align:middle" %)Read 16-bit/32-bit function code|(% style="text-align:center; vertical-align:middle" %)0x03
57 +|(% style="text-align:center; vertical-align:middle" %)Read 16-bit function code|(% style="text-align:center; vertical-align:middle" %)0x03
58 58  |(% style="text-align:center; vertical-align:middle" %)Write 16-bit function code|(% style="text-align:center; vertical-align:middle" %)0x06
59 -|(% style="text-align:center; vertical-align:middle" %)Write 32-bit function code|(% style="text-align:center; vertical-align:middle" %)0x10
60 60  
61 -**Read function code: 0x03**
60 +**(1) Read function code: 0x03**
62 62  
63 63  Request format:
64 64  
65 -|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% colspan="2" %)**Initial address**|(% colspan="2" %)**Number of reads**|(% rowspan="2" %)**CRC check code**
66 -|**high byte**|**low byte**|**high byte**|**low byte**
67 -|1 byte|03|1 byte|1 byte|1 byte|1 byte|2 bytes
64 +(% class="table-bordered" %)
65 +|(% style="text-align:center; vertical-align:middle; width:84px" %)**Address**|(% style="text-align:center; vertical-align:middle; width:104px" %)**Function code**|(% style="text-align:center; vertical-align:middle; width:179px" %)(((
66 +**Initial address high byte**
67 +)))|(% style="text-align:center; vertical-align:middle; width:162px" %)(((
68 +**Initial address low byte**
69 +)))|(% style="text-align:center; vertical-align:middle; width:194px" %)(((
70 +**Number of reads high byte**
71 +)))|(% style="text-align:center; vertical-align:middle; width:195px" %)(((
72 +**Number of reads low byte**
73 +)))|(% style="text-align:center; vertical-align:middle; width:158px" %)**CRC check code**
74 +|(% style="text-align:center; vertical-align:middle; width:84px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:104px" %)03|(% style="text-align:center; vertical-align:middle; width:179px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:162px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:194px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:195px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:158px" %)2 bytes
68 68  
69 69  Correct response format:
70 70  
71 -|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% rowspan="2" %)**Number of bytes of returned data**|(% colspan="2" %)**Register 1**|(% rowspan="2" %)**…**|(% rowspan="2" %)**CRC check code**
72 -|**high byte**|**low byte**
73 -|1 byte|03|1 byte|1 byte|1 byte|…|2 bytes
78 +(% class="table-bordered" %)
79 +|(% style="text-align:center; vertical-align:middle; width:85px" %)**Address**|(% style="text-align:center; vertical-align:middle; width:139px" %)**Function code**|(% style="text-align:center; vertical-align:middle; width:244px" %)(((
80 +**Return data number of bytes**
81 +)))|(% style="text-align:center; vertical-align:middle; width:203px" %)(((
82 +**Register 1 high byte**
83 +)))|(% style="text-align:center; vertical-align:middle; width:190px" %)(((
84 +**Register 1 low byte**
85 +)))|(% style="text-align:center; vertical-align:middle; width:72px" %)…|(% style="text-align:center; vertical-align:middle; width:143px" %)**CRC check code**
86 +|(% style="text-align:center; vertical-align:middle; width:85px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:139px" %)03|(% style="text-align:center; vertical-align:middle; width:244px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:203px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:190px" %)1 byte|(% style="text-align:center; vertical-align:middle; width:72px" %)…|(% style="text-align:center; vertical-align:middle; width:143px" %)2 bytes
74 74  
75 -**Write function code: 0x06**
88 +**(2) Write function code: 0x06**
76 76  
77 77  Request format:
78 78  
79 -|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% colspan="2" %)(((
80 -**Register address**
81 -)))|(% colspan="2" %)**Data**|(% rowspan="2" %)**CRC check code**
82 -|**high byte**|**low byte**|**high byte**|**low byte**
83 -|1 byte|06|1 byte|1 byte|1 byte|1 byte|2 bytes
92 +(% class="table-bordered" %)
93 +|(% style="text-align:center; vertical-align:middle" %)**Address**|(% style="text-align:center; vertical-align:middle" %)**Function code**|(% style="text-align:center; vertical-align:middle" %)**Register address high byte**|(% style="text-align:center; vertical-align:middle" %)**Register address low byte**|(% style="text-align:center; vertical-align:middle" %)**Data high byte**|(% style="text-align:center; vertical-align:middle" %)**Data low byte**|(% style="text-align:center; vertical-align:middle" %)**CRC check code**
94 +|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)06|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)2 bytes
84 84  
85 85  Response format:
86 86  
87 -|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% colspan="2" %)**Register address**|(% colspan="2" %)**Data**|(% rowspan="2" %)**CRC check code**
88 -|**high byte**|**low byte**|**high byte**|**low byte**
89 -|1 byte|06|1 byte|1 byte|1 byte|1 byte|2 bytes
98 +(% class="table-bordered" %)
99 +|(% style="text-align:center; vertical-align:middle" %)**Address**|(% style="text-align:center; vertical-align:middle" %)**Function code**|(% style="text-align:center; vertical-align:middle" %)**Register address high byte**|(% style="text-align:center; vertical-align:middle" %)**Register address low byte**|(% style="text-align:center; vertical-align:middle" %)**Data high byte**|(% style="text-align:center; vertical-align:middle" %)**Data low byte**|(% style="text-align:center; vertical-align:middle" %)**CRC check code**
100 +|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)06|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)2 bytes
90 90  
91 91  If the setting is successful, the original is returned
92 92  
93 -|(% rowspan="2" %)**There should be a message interval not less than 3.5 characters at the beginning**|**Address**|**Function code**|**Data**|**CRC check code**
94 -|1 byte|1 byte|N bytes|2 bytes
104 +(% class="table-bordered" %)
105 +|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**There should be a message interval not less than 3.5 characters at the beginning**|(% style="text-align:center; vertical-align:middle" %)**Address**|(% style="text-align:center; vertical-align:middle" %)**Function code**|(% style="text-align:center; vertical-align:middle" %)**Data**|(% style="text-align:center; vertical-align:middle" %)**CRC check code**
106 +|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)N bytes|(% style="text-align:center; vertical-align:middle" %)2 bytes
95 95  
96 -(% style="color:inherit; font-family:inherit; font-size:26px" %)**CRC check**
108 +== **CRC check** ==
97 97  
98 98  The servo uses a 16-bit CRC check, and the host computer must also use the same check rule, otherwise the CRC check will make mistake. When transmitting, the low bit is in the front and the high bit is at the back. The CRC code are as follows:
99 99  
... ... @@ -164,25 +164,23 @@
164 164  
165 165  == **Communication example** ==
166 166  
179 +**03 Function Code Read**
167 167  
168 -
169 -**03 Function code read**
170 -
171 171  Read the monitoring volume U0-31 bus voltage, the Modbus register address corresponding to this variable is 7716 (0x1E24)
172 172  
173 173  Request format:
174 174  
175 -|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% colspan="2" %)**Register address**|(% colspan="2" %)**Data**|(% rowspan="2" %)**CRC check code**
176 -|**high byte**|**low byte**|**high byte**|**low byte**
177 -|01|03|1E|24|00|01|C2 29
185 +(% class="table-bordered" %)
186 +|(% style="text-align:center; vertical-align:middle" %)**Address**|(% style="text-align:center; vertical-align:middle" %)**Function code**|(% style="text-align:center; vertical-align:middle" %)**Register address high byte**|(% style="text-align:center; vertical-align:middle" %)**Register address low byte**|(% style="text-align:center; vertical-align:middle" %)**Data high byte**|(% style="text-align:center; vertical-align:middle" %)**Data low byte**|(% style="text-align:center; vertical-align:middle" %)**CRC check code**
187 +|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)06|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)1 byte|(% style="text-align:center; vertical-align:middle" %)2 bytes
178 178  
179 179  The slave responds normally:
180 180  
181 -|(% rowspan="2" %)**Address**|(% rowspan="2" %)**Function code**|(% rowspan="2" %)**Number of bytes**|(% colspan="2" %)**Data**|(% rowspan="2" %)**CRC high byte**
182 -|**high byte**|**low byte**
183 -|01|03|02|0C|4F|FC B0
191 +(% class="table-bordered" %)
192 +|(% style="text-align:center; vertical-align:middle" %)**Address**|(% style="text-align:center; vertical-align:middle" %)**Function code**|(% style="text-align:center; vertical-align:middle" %)**Number of bytes**|(% style="text-align:center; vertical-align:middle" %)**Data high byte**|(% style="text-align:center; vertical-align:middle" %)**Data low byte**|(% style="text-align:center; vertical-align:middle" %)**CRC low byte**|(% style="text-align:center; vertical-align:middle" %)**CRC high byte**
193 +|(% style="text-align:center; vertical-align:middle" %)01|(% style="text-align:center; vertical-align:middle" %)03|(% style="text-align:center; vertical-align:middle" %)02|(% style="text-align:center; vertical-align:middle" %)0C|(% style="text-align:center; vertical-align:middle" %)26|(% style="text-align:center; vertical-align:middle" %)3C|(% style="text-align:center; vertical-align:middle" %)9E
184 184  
185 -For example: The value read is 0x0C4F, which means that the voltage is 315.1V.
195 +The value read is 0x0C26, which means that the voltage is 311.0V. 
186 186  
187 187  **06 Function Code Write**
188 188