Wiki source code of 16 Circular interpolation instruction
Last modified by Stone Wu on 2022/09/02 02:04
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | = **6.16.1 G90G01 instruction** = | ||
2 | |||
3 | **Instruction description** | ||
4 | |||
5 | (% class="table-bordered" %) | ||
6 | |**Name**|**Function**|**Bits(bits)**|**Pulse type**|**Instruction format**|**Step** | ||
7 | |G90G01|Absolute position line interpolation|16|No|G90G01 S,,1,, S,,2,, D,,1,, D,,2,,|21 | ||
8 | |||
9 | * S,,1,,: Target position, will occupy 6 continue address. The range is -2147483648 ~~ 2417482647. Target position could be specified by a absolute address; S,,1,,: Target position of X axis, S,,1,,+2: Target position of Y axis, S,,1,, +4:Target position of Z axis. | ||
10 | * S,,2,,: The output frequency of the synthesis; | ||
11 | * D,,1,,: High speed pulse output port, only Y0 could be specified, occupy 3 continue address (Y0, Y1, and Y2); | ||
12 | * D,,2,,: The operating direction output port, occupy 3 continue address; | ||
13 | |||
14 | (% class="table-bordered" %) | ||
15 | |(% rowspan="2" %)**Operand**|(% colspan="4" %)**Bit device**|(% colspan="12" %)**Word device** | ||
16 | |X|Y|M|S|K|H|E|KnX|KnY|KnM|KnS|T|C|D|V|Z | ||
17 | |S,,1,,| | | | | | | | | | | | | |√| | | ||
18 | |S,,2,,| | | | |√|√| | | | | | | |√| | | ||
19 | |D,,1,,| |√| | | | | | | | | | | | | | | ||
20 | |D,,2,,| |√|√| | | | | | | | | | | | | | ||
21 | |||
22 | **Program example** | ||
23 | |||
24 | The system variables when execution of instruction: | ||
25 | |||
26 | (% class="table-bordered" %) | ||
27 | |**Instruction**|(% colspan="3" %)G90G01 | ||
28 | |**Function**|(% colspan="3" %)Absolute position line interpolation | ||
29 | |**Axis**|(% colspan="3" %)3 | ||
30 | |**Output port**|Y0|Y1|Y2 | ||
31 | |**Present position (double byte)**|D8140|D8142|D8150 | ||
32 | |(% rowspan="2" %)**Time of ACC/DEC (byte)**|(% colspan="3" %)D8148 | ||
33 | |D8104|D8105|D8106 | ||
34 | |**Basic velocity (double)**|(% colspan="3" %)D8145 | ||
35 | |**Maximum velocity (double byte)**|(% colspan="3" %)D8146 | ||
36 | |**Pulse output interrupt**|M8145|M8146|M8152 | ||
37 | |**BUSY/ READY**|M8147|M8148|M8149 | ||
38 | |**ACC/ DEC**|(% colspan="3" %)Trapezium AC/DE | ||
39 | |||
40 | (% style="text-align:center" %) | ||
41 | [[image:7-15 Circular interpolation instruction_html_cb14fc071f12cd06.jpg||class="img-thumbnail" height="552" width="700"]] | ||
42 | |||
43 | **Note for use** | ||
44 | |||
45 | * When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0); | ||
46 | * Only support trapezoidal acceleration and deceleration; | ||
47 | * The actuality output synthesized frequency (lowest frequency),the computation formula is as follows: | ||
48 | * ((( | ||
49 | (% style="text-align:center" %) | ||
50 | [[image:7-15 Circular interpolation instruction_html_be886ee3c8a68fd0.jpg||class="img-thumbnail" height="51" width="400"]] | ||
51 | ))) | ||
52 | * The output frequency range of interpolation (not synthesized frequency):10~~100 KHz; | ||
53 | * Frequency calculation: | ||
54 | |||
55 | (% style="text-align:center" %) | ||
56 | [[image:7-15 Circular interpolation instruction_html_4cc6fc48991f18fd.jpg||class="img-thumbnail" height="337" width="800"]] | ||
57 | |||
58 | = **6.16.2 G91G01 instruction** = | ||
59 | |||
60 | **Instruction description** | ||
61 | |||
62 | (% class="table-bordered" %) | ||
63 | |**Name**|**Function**|**Bits(bits)**|**Pulse type**|**Instruction format**|**Step** | ||
64 | |G91G01|Relative position line interpolation|16|No|G91G01 S,,1,, S,,2,, D,,1,, D,,2,,|21 | ||
65 | |||
66 | * S,,1,,: Target position, will occupy 6 continue address. The range is -2147483648 ~~ 2417482647. Target position could be specified by a relative address; S,,1,,: Target position of X axis, S,,1,,+2: Target position of Y axis, S,,1,, +4: Target position of Z axis. | ||
67 | * S,,2,,: The output frequency of the synthesis; | ||
68 | * D,,1,,: High speed pulse output port, only Y0 could be specified, occupy 3 continue address (Y0, Y1, and Y2); | ||
69 | * D,,2,,: The operating direction output port, occupy 3 continue address; | ||
70 | |||
71 | (% class="table-bordered" %) | ||
72 | |(% rowspan="2" %)**Operand**|(% colspan="4" %)**Bit device**|(% colspan="12" %)**Word device** | ||
73 | |X|Y|M|S|K|H|E|KnX|KnY|KnM|KnS|T|C|D|V|Z | ||
74 | |S,,1,,| | | | | | | | | | | | | |√| | | ||
75 | |S,,2,,| | | | |√|√| | | | | | | |√| | | ||
76 | |D,,1,,| |√| | | | | | | | | | | | | | | ||
77 | |D,,2,,| |√|√| | | | | | | | | | | | | | ||
78 | |||
79 | **Program example** | ||
80 | |||
81 | The system variables when execution of instruction: | ||
82 | |||
83 | (% class="table-bordered" %) | ||
84 | |**Instruction**|(% colspan="3" %)G91G01 | ||
85 | |**Function**|(% colspan="3" %)Relative position line interpolation | ||
86 | |**Axis**|(% colspan="3" %)3 | ||
87 | |**Output port**|Y0|Y1|Y2 | ||
88 | |**Present position (double byte)**|D8140|D8142|D8150 | ||
89 | |(% rowspan="2" %)**Time of ACC/DEC (byte)**|(% colspan="3" %)D8148 | ||
90 | |D8104|D8105|D8106 | ||
91 | |**Basic velocity (double)**|(% colspan="3" %)D8145 | ||
92 | |**Maximum velocity (double byte)**|(% colspan="3" %)D8146 | ||
93 | |**Pulse output interrupt**|M8145|M8146|M8152 | ||
94 | |**BUSY/ READY**|M8147|M8148|M8149 | ||
95 | |**ACC/ DEC**|(% colspan="3" %)Trapezium AC/DE | ||
96 | |||
97 | (% style="text-align:center" %) | ||
98 | [[image:7-15 Circular interpolation instruction_html_b76fcfc0da67f07e.jpg||class="img-thumbnail" height="548" width="700"]] | ||
99 | |||
100 | **Note for use** | ||
101 | |||
102 | * When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0); | ||
103 | * Only support trapezoidal acceleration and deceleration; | ||
104 | * The actuality output synthesized frequency (lowest frequency),the computation formula is as follows: | ||
105 | * ((( | ||
106 | (% style="text-align:center" %) | ||
107 | [[image:7-15 Circular interpolation instruction_html_be886ee3c8a68fd0.jpg||class="img-thumbnail" height="51" width="400"]] | ||
108 | ))) | ||
109 | * The output frequency range of interpolation (not synthesized frequency):10~~100 KHz; | ||
110 | * Frequency calculation: | ||
111 | |||
112 | (% style="text-align:center" %) | ||
113 | [[image:7-15 Circular interpolation instruction_html_47c39c4dafe6d9e.jpg||class="img-thumbnail" height="338" width="800"]] | ||
114 | |||
115 | = **6.16.3 G90G02 instruction** = | ||
116 | |||
117 | **Instruction description** | ||
118 | |||
119 | (% class="table-bordered" %) | ||
120 | |**Name**|**Function**|**Bits (bits)**|**Pulse type**|**Instruction format**|**Step** | ||
121 | |G90G02|Absolute position clockwise circular interpolation|16|No|G91G02 S,,1,, S,,2,, S,,3,, D,,1,, D,,2,,|21 | ||
122 | |||
123 | * S,,1,,: Target position, will occupy 6 continue address. The range is -2147483648 ~~ 2417482647. Target position could be specified by a absolution address; S,,1,,: Target position of X axis, S,,1,,+2: Target position of Y axis. | ||
124 | * S,,2,,: Radius/r, occupy 4 bit variable in the continue address .The radius will always treated as relative address; S,,2,,+0:The pulse output D-value between center coordinate and present position ,or the pulse amount of radius “R"; S,,2,,+2:The pulse output D-value between center coordinate and present position .When we use radius mode ,the value must be 0x7FFFFFFF.The range is -2,147,483,648 ~ 2,147,483,647. | ||
125 | * S,,3,,: The output frequency of the synthesis; | ||
126 | * D,,1,,: High speed pulse output port, only Y0 could be specified, occupy 3 continue address (Y0, Y1, and Y2); | ||
127 | * D,,2,,: The operating direction output port, occupy 2 continue address; | ||
128 | |||
129 | (% class="table-bordered" %) | ||
130 | |(% rowspan="2" %)**Operand**|(% colspan="4" %)**Bit device**|(% colspan="12" %)**Word device** | ||
131 | |X|Y|M|S|K|H|E|KnX|KnY|KnM|KnS|T|C|D|V|Z | ||
132 | |S,,1,,| | | | | | | | | | | | | |√| | | ||
133 | |S,,2,,| | | | | | | | | | | | | |√| | | ||
134 | |S,,3,,| | | | |√|√| | | | | | | |√| | | ||
135 | |D,,1,,| |√| | | | | | | | | | | | | | | ||
136 | |D,,2,,| |√|√| | | | | | | | | | | | | | ||
137 | |||
138 | **Program example** | ||
139 | |||
140 | The system variables when execution of instruction: | ||
141 | |||
142 | (% class="table-bordered" %) | ||
143 | |**Instruction**|(% colspan="2" %)G91G02 | ||
144 | |**Function**|(% colspan="2" %)Absolute position clockwise circular interpolation | ||
145 | |**Axis**|(% colspan="2" %)2 | ||
146 | |**Output port**|Y0|Y1 | ||
147 | |**Present position (double byte)**|D8140|D8142 | ||
148 | |(% rowspan="2" %)**Time of ACC/DEC (byte)**|(% colspan="2" %)D8148 | ||
149 | |D8104|D8105 | ||
150 | |**Basic velocity (double)**|(% colspan="2" %)D8145 | ||
151 | |**Maximum velocity (double byte)**|(% colspan="2" %)D8146 | ||
152 | |**Pulse output interrupt**|M8145|M8146 | ||
153 | |**BUSY/ READY**|M8147|M8148 | ||
154 | |**ACC/ DEC**|(% colspan="2" %)Trapezium AC/DE | ||
155 | |||
156 | (% style="text-align:center" %) | ||
157 | [[image:7-15 Circular interpolation instruction_html_5a9a285b99194686.jpg||height="736" width="700" class="img-thumbnail"]] | ||
158 | |||
159 | **Note for use** | ||
160 | |||
161 | * The arc should be more than 20 pulses in circular interpolation, otherwise there will be error; | ||
162 | * The maximum radius of circular interpolation support is 8000000 pulse; | ||
163 | * The selection of S,,2,, have two modes: IJ mode (center coordinates) and R mode (radius mode). When set the value of S,,2,,+2 as 0x7FFFFFFF,it is R mode (radius mode), otherwise it is IJ mode (center coordinates) mode . | ||
164 | * IJ mode: S,,1,, only express the relative position between present position and center coordinates regardless absolute or relative interpolation mode. It should be calculated with pulse deviation value. | ||
165 | * R mode (radius mode), when the value of R is positive, it is express a circular arc less than 180 degrees; inversely, it is express a circular arc greater than 180 degrees .In R mode , you couldn’t generate the full circle ,because it has infinitely solution. | ||
166 | * When S,,1,, express the relative address of target position, the target position should be logical to insure create a correct path of target of arc. When both S,,1,,+0 and S,,1,,+2 equal 0, it will generate a full circle. | ||
167 | * When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0); | ||
168 | * The actuality output synthesized frequency (lowest frequency), the computation formula is as follows: | ||
169 | * ((( | ||
170 | (% style="text-align:center" %) | ||
171 | [[image:7-15 Circular interpolation instruction_html_be886ee3c8a68fd0.jpg||height="51" width="400" class="img-thumbnail"]] | ||
172 | ))) | ||
173 | * The output frequency range of interpolation (not synthesized frequency):10~~100 KHz; | ||
174 | * Frequency calculation: | ||
175 | |||
176 | (% style="text-align:center" %) | ||
177 | [[image:7-15 Circular interpolation instruction_html_f3da1facc6d4a79e.jpg||height="337" width="800" class="img-thumbnail"]] | ||
178 | |||
179 | = **6.16.4 G91G02 instruction** = | ||
180 | |||
181 | **Instruction description** | ||
182 | |||
183 | (% class="table-bordered" %) | ||
184 | |**Name**|**Function**|**Bits(bits)**|**Pulse type**|**Instruction format**|**Step** | ||
185 | |G91G02|Relative position clockwise circular interpolation|16|No|G91G02 S,,1,, S,,2,, S,,3,, D,,1,, D,,2,,|21 | ||
186 | |||
187 | * S,,1,,: Target position, will occupy 6 continue address. The range is -2147483648 ~~ 2417482647. Target position could be specified by a absolution address; S,,1,,: Target position of X axis, S,,1,,+2: Target position of Y axis. | ||
188 | * S,,2,,: Radius/r, occupy 4-bit variable in the continue address. The radius will always treated as relative address; S,,2,,+0: The pulse output D-value between center coordinate and present position ,or the pulse amount of radius “R"; S,,2,,+2:The pulse output D-value between center coordinate and present position .When we use radius mode ,the value must be 0x7FFFFFFF.The range is -2,147,483,648 ~~ 2,147,483,647. | ||
189 | * S,,3,,: The output frequency of the synthesis; | ||
190 | * D,,1,,: High speed pulse output port, only Y0 could be specified, occupy 3 continue address (Y0, Y1, and Y2); | ||
191 | * D,,2,,: The operating direction output port, occupy 2 continue address; | ||
192 | |||
193 | (% class="table-bordered" %) | ||
194 | |(% rowspan="2" %)**Operand**|(% colspan="4" %)**Bit device**|(% colspan="12" %)**Word device** | ||
195 | |X|Y|M|S|K|H|E|KnX|KnY|KnM|KnS|T|C|D|V|Z | ||
196 | |S,,1,,| | | | | | | | | | | | | |√| | | ||
197 | |S,,2,,| | | | | | | | | | | | | |√| | | ||
198 | |S,,3,,| | | | |√|√| | | | | | | |√| | | ||
199 | |D,,1,,| |√| | | | | | | | | | | | | | | ||
200 | |D,,2,,| |√|√| | | | | | | | | | | | | | ||
201 | |||
202 | **Program example** | ||
203 | |||
204 | The system variables when execution of instruction: | ||
205 | |||
206 | (% class="table-bordered" %) | ||
207 | |**Instruction**|(% colspan="2" %)G91G02 | ||
208 | |**Function**|(% colspan="2" %)Absolute position clockwise circular interpolation | ||
209 | |**Axis**|(% colspan="2" %)2 | ||
210 | |**Output port**|Y0|Y1 | ||
211 | |**Present position (double byte)**|D8140|D8142 | ||
212 | |(% rowspan="2" %)**Time of ACC/DEC (byte)**|(% colspan="2" %)D8148 | ||
213 | |D8104|D8105 | ||
214 | |**Basic velocity (double)**|(% colspan="2" %)D8145 | ||
215 | |**Maximum velocity (double byte)**|(% colspan="2" %)D8146 | ||
216 | |**Pulse output interrupt**|M8145|M8146 | ||
217 | |**BUSY/ READY**|M8147|M8148 | ||
218 | |**ACC/ DEC**|(% colspan="2" %)Trapezium AC/DE | ||
219 | |||
220 | (% style="text-align:center" %) | ||
221 | [[image:7-15 Circular interpolation instruction_html_993c8883284b79d8.jpg||class="img-thumbnail" height="698" width="700"]] | ||
222 | |||
223 | **Note for use** | ||
224 | |||
225 | * The arc should be more than 20 pulses in circular interpolation, otherwise there will be error; | ||
226 | * The maximum radius of circular interpolation support is 8000000 pulse; | ||
227 | * The selection of S,,2,, have two modes: IJ mode (center coordinates) and R mode (radius mode). When set the value of S,,2,,+2 as 0x7FFFFFFF, it is R mode (radius mode), otherwise it is IJ mode (center coordinates) mode. | ||
228 | * IJ mode: S,,1,, only express the relative position between present position and center coordinates regardless absolute or relative interpolation mode. It should be calculated with pulse deviation value. | ||
229 | * R mode (radius mode), when the value of R is positive, it is express a circular arc less than 180 degrees; inversely, it is express a circular arc greater than 180 degrees. In R mode , you couldn’t generate the full circle ,because it has infinitely solution. | ||
230 | * When S,,1,, express the relative address of target position, the target position should be logical to insure create a correct path of target of arc. When both S,,1,,+0 and S,,1,,+2 equal 0, it will generate a full circle. | ||
231 | * When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0); | ||
232 | * The actuality output synthesized frequency (lowest frequency), the computation formula is as follows: | ||
233 | * ((( | ||
234 | (% style="text-align:center" %) | ||
235 | [[image:7-15 Circular interpolation instruction_html_be886ee3c8a68fd0.jpg||class="img-thumbnail" height="51" width="400"]] | ||
236 | ))) | ||
237 | * The output frequency range of interpolation (not synthesized frequency):10~~100 KHz; | ||
238 | * Frequency calculation: | ||
239 | |||
240 | (% style="text-align:center" %) | ||
241 | [[image:7-15 Circular interpolation instruction_html_d5f8cae2769d33f5.jpg||class="img-thumbnail" height="337" width="800"]] | ||
242 | |||
243 | = **6.16.5 G90G03 instruction** = | ||
244 | |||
245 | **Instruction description** | ||
246 | |||
247 | (% class="table-bordered" %) | ||
248 | |**Name**|**Function**|**Bits (bits)**|**Pulse type**|**Instruction format**|**Step** | ||
249 | |G90G03|Absolute position anticlockwise circular interpolation|16|No|G90G03 S,,1,, S,,2,, S,,3,, D,,1,, D,,2,,|21 | ||
250 | |||
251 | * S,,1,,: Target position, will occupy 6 continue address. The range is -2147483648 ~~ 2417482647. Target position could be specified by a absolution address; S,,1,,: Target position of X axis, S,,1,,+2: Target position of Y axis. | ||
252 | * S,,2,,: Radius/r, occupy 4 bit variable in the continue address .The radius will always treated as relative address; S,,2,,+0:The pulse output D-value between center coordinate and present position ,or the pulse amount of radius “R"; S,,2,,+2:The pulse output D-value between center coordinate and present position .When we use radius mode ,the value must be 0x7FFFFFFF.The range is -2,147,483,648 ~ 2,147,483,647. | ||
253 | * S,,3,,: The output frequency of the synthesis; | ||
254 | * D,,1,,: High speed pulse output port, only Y0 could be specified, occupy 3 continue address (Y0, Y1, and Y2); | ||
255 | * D,,2,,: The operating direction output port, occupy 2 continue address; | ||
256 | |||
257 | (% class="table-bordered" %) | ||
258 | |(% rowspan="2" %)**Operand**|(% colspan="4" %)**Bit device**|(% colspan="12" %)**Word device** | ||
259 | |X|Y|M|S|K|H|E|KnX|KnY|KnM|KnS|T|C|D|V|Z | ||
260 | |S,,1,,| | | | | | | | | | | | | |√| | | ||
261 | |S,,2,,| | | | | | | | | | | | | |√| | | ||
262 | |S,,3,,| | | | |√|√| | | | | | | |√| | | ||
263 | |D,,1,,| |√| | | | | | | | | | | | | | | ||
264 | |D,,2,,| |√|√| | | | | | | | | | | | | | ||
265 | |||
266 | **Program example** | ||
267 | |||
268 | The system variables when execution of instruction: | ||
269 | |||
270 | (% class="table-bordered" %) | ||
271 | |**Instruction**|(% colspan="2" %)G90G03 | ||
272 | |**Function**|(% colspan="2" %)Absolute position anticlockwise circular interpolation | ||
273 | |**Axis**|(% colspan="2" %)2 | ||
274 | |**Output port**|Y0|Y1 | ||
275 | |**Present position (double byte)**|D8140|D8142 | ||
276 | |(% rowspan="2" %)**Time of ACC/DEC (byte)**|(% colspan="2" %)D8148 | ||
277 | |D8104|D8105 | ||
278 | |**Basic velocity (double)**|(% colspan="2" %)D8145 | ||
279 | |**Maximum velocity (double byte)**|(% colspan="2" %)D8146 | ||
280 | |**Pulse output interrupt**|M8145|M8146 | ||
281 | |**BUSY/ READY**|M8147|M8148 | ||
282 | |**ACC/ DEC**|(% colspan="2" %)Trapezium AC/DE | ||
283 | |||
284 | (% style="text-align:center" %) | ||
285 | [[image:7-15 Circular interpolation instruction_html_739d6295cd8cb362.jpg||height="702" width="700" class="img-thumbnail"]] | ||
286 | |||
287 | **Note for use** | ||
288 | |||
289 | * The arc should be more than 20 pulses in circular interpolation, otherwise there will be error; | ||
290 | * The maximum radius of circular interpolation support is 8000000 pulse; | ||
291 | * The selection of S,,2,, have two modes: IJ mode (center coordinates) and R mode (radius mode). When set the value of S,,2,,+2 as 0x7FFFFFFF, it is R mode (radius mode), otherwise it is IJ mode (center coordinates) mode . | ||
292 | * IJ mode: S,,1,, only express the relative position between present position and center coordinates regardless absolute or relative interpolation mode. It should be calculated with pulse deviation value. | ||
293 | * R mode (radius mode), when the value of R is positive, it is express a circular arc less than 180 degrees; inversely, it is express a circular arc greater than 180 degrees .In R mode , you couldn’t generate the full circle ,because it has infinitely solution. | ||
294 | * When S,,1,, express the relative address of target position, the target position should be logical to insure create a correct path of target of arc. When both S,,1,,+0 and S,,1,,+2 equal 0, it will generate a full circle. | ||
295 | * When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0); | ||
296 | * The actuality output synthesized frequency (lowest frequency), the computation formula is as follows: | ||
297 | * ((( | ||
298 | (% style="text-align:center" %) | ||
299 | [[image:7-15 Circular interpolation instruction_html_be886ee3c8a68fd0.jpg||height="51" width="400" class="img-thumbnail"]] | ||
300 | ))) | ||
301 | * The output frequency range of interpolation (not synthesized frequency):10~~100 KHz; | ||
302 | * Frequency calculation: | ||
303 | |||
304 | (% style="text-align:center" %) | ||
305 | [[image:7-15 Circular interpolation instruction_html_9d9e5e58c23611d3.jpg||height="338" width="800" class="img-thumbnail"]] | ||
306 | |||
307 | = **6.16.6 G91G03 instruction** = | ||
308 | |||
309 | **Instruction description** | ||
310 | |||
311 | (% class="table-bordered" %) | ||
312 | |**Name**|**Function**|**Bits (bits)**|**Pulse type**|**Instruction format**|**Step** | ||
313 | |G91G03|Relative position anticlockwise circular interpolation|16|No|G91G03 S,,1,, S,,2,, S,,3,, D,,1,, D,,2,,|21 | ||
314 | |||
315 | * S,,1,,: Target position, will occupy 6 continue address. The range is -2147483648 ~~ 2417482647. Target position could be specified by a absolution address; S,,1,,: Target position of X axis, S,,1,,+2: Target position of Y axis. | ||
316 | * S,,2,,: Radius/r, occupy 4 bit variable in the continue address .The radius will always treated as relative address; S,,2,,+0:The pulse output D-value between center coordinate and present position ,or the pulse amount of radius “R"; S,,2,,+2:The pulse output D-value between center coordinate and present position .When we use radius mode ,the value must be 0x7FFFFFFF.The range is -2,147,483,648 ~ 2,147,483,647. | ||
317 | * S,,3,,: The output frequency of the synthesis; | ||
318 | * D,,1,,: High speed pulse output port, only Y0 could be specified, occupy 3 continue address (Y0, Y1, and Y2); | ||
319 | * D,,2,,: The operating direction output port, occupy 2 continue address; | ||
320 | |||
321 | (% class="table-bordered" %) | ||
322 | |(% rowspan="2" %)**Operand**|(% colspan="4" %)**Bit device**|(% colspan="12" %)**Word device** | ||
323 | |X|Y|M|S|K|H|E|KnX|KnY|KnM|KnS|T|C|D|V|Z | ||
324 | |S,,1,,| | | | | | | | | | | | | |√| | | ||
325 | |S,,2,,| | | | | | | | | | | | | |√| | | ||
326 | |S,,3,,| | | | |√|√| | | | | | | |√| | | ||
327 | |D,,1,,| |√| | | | | | | | | | | | | | | ||
328 | |D,,2,,| |√|√| | | | | | | | | | | | | | ||
329 | |||
330 | **Program example** | ||
331 | |||
332 | The system variables when execution of instruction: | ||
333 | |||
334 | (% class="table-bordered" %) | ||
335 | |**Instruction**|(% colspan="2" %)G91G03 | ||
336 | |**Function**|(% colspan="2" %)Absolute position clockwise circular interpolation | ||
337 | |**Axis**|(% colspan="2" %)2 | ||
338 | |**Output port**|Y0|Y1 | ||
339 | |**Present position (double byte)**|D8140|D8142 | ||
340 | |(% rowspan="2" %)**Time of ACC/DEC (byte)**|(% colspan="2" %)D8148 | ||
341 | |D8104|D8105 | ||
342 | |**Basic velocity (double)**|(% colspan="2" %)D8145 | ||
343 | |**Maximum velocity (double byte)**|(% colspan="2" %)D8146 | ||
344 | |**Pulse output interrupt**|M8145|M8146 | ||
345 | |**BUSY/ READY**|M8147|M8148 | ||
346 | |**ACC/ DEC**|(% colspan="2" %)Trapezium AC/DE | ||
347 | |||
348 | (% style="text-align:center" %) | ||
349 | [[image:7-15 Circular interpolation instruction_html_ae5c0fbd4932001c.jpg||class="img-thumbnail" height="702" width="700"]] | ||
350 | |||
351 | **Note for use** | ||
352 | |||
353 | * The arc should be more than 20 pulses in circular interpolation, otherwise there will be error; | ||
354 | * The maximum radius of circular interpolation support is 8000000 pulse; | ||
355 | * The selection of S,,2,, have two modes: IJ mode (center coordinates) and R mode (radius mode). When set the value of S,,2,,+2 as 0x7FFFFFFF, it is R mode (radius mode), otherwise it is IJ mode (center coordinates) mode. | ||
356 | * IJ mode: S,,1,, only express the relative position between present position and center coordinates regardless absolute or relative interpolation mode. It should be calculated with pulse deviation value. | ||
357 | * R mode (radius mode), when the value of R is positive, it is express a circular arc less than 180 degrees; inversely, it is express a circular arc greater than 180 degrees. In R mode, you couldn’t generate the full circle, because it has infinitely solution. | ||
358 | * When S,,1,, express the relative address of target position, the target position should be logical to insure create a correct path of target of arc. When both S,,1,,+0 and S,,1,,+2 equal 0, it will generate a full circle. | ||
359 | * When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0); | ||
360 | * The actuality output synthesized frequency (lowest frequency), the computation formula is as follows: | ||
361 | * ((( | ||
362 | (% style="text-align:center" %) | ||
363 | [[image:7-15 Circular interpolation instruction_html_be886ee3c8a68fd0.jpg||class="img-thumbnail" height="51" width="400"]] | ||
364 | ))) | ||
365 | * The output frequency range of interpolation (not synthesized frequency):10~~100 KHz; | ||
366 | * Frequency calculation:((( | ||
367 | (% style="text-align:center" %) | ||
368 | [[image:7-15 Circular interpolation instruction_html_5728a3044584d2ee.jpg||class="img-thumbnail" height="338" width="800"]] | ||
369 | ))) |