Wiki source code of 08 High-speed pulse output

Version 1.1 by Leo Wei on 2022/06/08 12:57

Hide last authors
Leo Wei 1.1 1 = **High-speed pulse output instruction** =
2
3 == {{id name="_Toc23711"/}}**ZRN/DZRN/Origin return** ==
4
5 **ZRN/DZRN**
6
7 This instruction is to use the specified pulse speed and pulse output port to make the actuator move to the origin of action (DOG) when the PLC and the servo drive work together, until the origin signal meets the conditions.
8
9 -[ZRN/DZRN (s1) (s2) (s3) (d)]
10
11 **{{id name="OLE_LINK392"/}}Content, range and data type**
12
13 (% class="table-bordered" %)
14 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
15 |(s1)|The speed when the origin return starts|(((
16 1 to 32767
17
18 1 to 200000
19 )))|Signed BIN16/Signed BIN32|ANY16_S/ANY32_S
20 |(s2)|Crawl speed|(((
21 1 to 32767
22
23 1 to 200000
24 )))|Signed BIN16/Signed BIN32|ANY16_S/ANY32_S
25 |(s3)|The device number of the input number of the near-point signal (DOG) to be input.|-|Bit|ANY_BOOL
26 |(d)|The device number (Y) that outputs pulse|-|Bit|ANY_BOOL
27
28 **Device used**
29
30 (% class="table-bordered" %)
31 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="14" %)**Devices**|**Offset modification**|(((
32 **Pulse**
33
34 **extension**
35 )))
36 |**X**|**Y**|**M**|**S**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
37 |(% rowspan="4" %)ZRN|Parameter 1| | | | |●|●|●|●|●|●|●|●|●|●|●|
38 |Parameter 2| | | | |●|●|●|●|●|●|●|●|●|●|●|
39 |Parameter 3|●|●|●|●| | | | | | | | | | | |
40 |Parameter 4| |●| | | | | | | | | | | | | |
41
42 **Features**
43
44 This instruction is to use the specified pulse speed and pulse output port to make the actuator move to the origin of action (DOG) when the PLC and the servo drive work together, until the origin signal meets the conditions.
45
46 .
47
48 (% style="text-align:center" %)
49 [[image:08_html_abde218848583ae7.gif||class="img-thumbnail" height="352" width="700"]]
50
51 • Specify the speed at the start of origin return in (s1). (It should be in the range of 1 to 200,000)
52
53 • Specify the crawling speed in (s2). (It should be in the range of 1 to 200,000)
54
55 • Specify the device number of the input number of the near-point signal (DOG) to be input in (s3).
56
57 • Specify the device that outputs pulses in (d). Only Y devices with positioning parameters could be specified.
58
59 • After the DOG contact signal of this instruction disappears, the pulse stops immediately.
60
61 • The pulse frequency could be modified during operation.
62
63 (% style="text-align:center" %)
64 [[image:1652679761818-564.png||class="img-thumbnail" height="409" width="800"]]
65
66 **{{id name="OLE_LINK84"/}}✎Note:**
67
68 {{id name="OLE_LINK85"/}}Please do not duplicate soft components used for other controls.
69
70 When designing the near-point DOG, please consider that there is enough time to be ON to fully decelerate to the crawl speed.
71
72 Please set the near-point DOG between the reverse limit 1 (LSR) and the forward limit 1 (LSF). When near-point DOG, reverse limit 1 (LSR), forward limit 1 (LSF) do not form the relationship shown in the figure below, the action may not be performed.
73
74 (% style="text-align:center" %)
75 [[image:08_html_e424715fa5809765.png||class="img-thumbnail" height="129" width="800"]]
76
77 Please make the crawling speed slow enough. Since it does not decelerate to stop, if the crawling speed is too fast, the stop position will shift due to inertia.
78
79 **Error code**
80
81 (% class="table-bordered" %)
82 |**Error code**|**Content**
83 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range
84 |4085H|The result output in the read application instruction (s1), (s2), (s3) and (d) exceed the device range
85 |4088H|The same pulse output axis (d) is used and has been started.
86
87 **Example**
88
89 (% style="text-align:center" %)
90 [[image:08_html_5398e9b5857a7283.png||class="img-thumbnail" height="366" width="700"]]
91
92 {{id name="OLE_LINK86"/}}Set Y1 as the output axis at a maximum speed of 200K, a offset speed of 500, and a acceleration/deceleration time of 100ms. Origin return is performed at the frequency of 200Khz, and it runs at a crawling speed after receiving the origin signal X0, and it stops after the X0 signal is reset.
93
94 == {{id name="_Toc17090"/}}**{{id name="_Toc4613"/}}{{id name="_Toc28244"/}}DSZR/DDSZR/Origin return** ==
95
96 **{{id name="OLE_LINK390"/}}DSZR/DDSZR**
97
98 {{id name="OLE_LINK396"/}}The instruction is that when the PLC works with the servo drive, it uses the specified pulse speed and pulse output port and the specified direction axis to move the actuator to the origin of the action (DOG) until the origin signal meets the conditions.
99
100 -[DSZR/DDSZR (s1) (s2) (s3) (d)]
101
102 **Content, range and data type**
103
104 (% class="table-bordered" %)
105 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
106 |(s1)|The speed when the origin return starts|(((
107 1 to 32767
108
109 1 to 200000
110 )))|Signed BIN16/Signed BIN32|ANY16_S/ANY32_S
111 |(s2)|Crawling speed|(((
112 1 to 32767
113
114 1 to 200000
115 )))|Signed BIN16/Signed BIN32|ANY16_S/ANY32_S
116 |(s3)|The device number of the input number of the near-point signal (DOG) to be input.|-|Bit|ANY_BOOL
117 |(d1)|The device number (Y) that outputs pulse|-|Bit|ANY_BOOL
118 |(d2)|{{id name="OLE_LINK393"/}}Operation direction output port or bit variable| | |
119
120 **Device used**
121
122 (% class="table-bordered" %)
123 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="15" %)**Devices**|**Offset modification**|(((
124 **Pulse**
125
126 **extension**
127 )))
128 |**X**|**Y**|**M**|**S**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
129 |(% rowspan="5" %)DSZR|Parameter 1| | | | | |●|●|●|●|●|●|●|●|●|●|●|
130 |Parameter 2| | | | | |●|●|●|●|●|●|●|●|●|●|●|
131 |Parameter 3|●|●|●|●| | | | | | | | | | | | |
132 |Parameter 4| |●| | | | | | | | | | | | | | |
133 |Parameter 5| |●|●|●|●| | | | | | | | | | | |
134
135 **Features**
136
137 The instruction is that when the PLC works with the servo drive, it uses the specified pulse speed and pulse output port and the specified direction axis to move the actuator to the origin of the action (DOG) until the origin signal meets the conditions.
138
139 (% style="text-align:center" %)
140 [[image:08_html_abde218848583ae7.gif||class="img-thumbnail" height="403" width="800"]]
141
142 • Specify the speed at the start of origin return in (s1). (It should be in the range of 1 to 200000)
143
144 • Specify the crawling speed in (s2). (It should be in the range of 1 to 200000)
145
146 • Specify the device number of the input number of the near-point signal (DOG) to be input in (s3).
147
148 {{id name="OLE_LINK397"/}}• Specify the device that outputs pulses in (d1). Only Y devices with positioning parameters could be specified.
149
150 • Specify the bit device that specify the pulse output direction signal in (d2). Only the device specified in parameters and universal output could be specified.
151
152 • After the DOG contact signal of this instruction disappears, the pulse stops immediately.
153
154 • The pulse frequency could be modified during operation.{{id name="OLE_LINK398"/}}
155
156 (% style="text-align:center" %)
157 [[image:1652679890567-504.png||class="img-thumbnail" height="406" width="800"]]
158
159 **✎Note:**
160
161 Please do not duplicate soft components used for other controls.
162
163 When designing the near-point DOG, please consider that there is enough time to be ON to fully decelerate to the crawl speed.
164
165 Please set the near-point DOG between the reverse limit 1 (LSR) and the forward limit 1 (LSF). When near-point DOG, reverse limit 1 (LSR), forward limit 1 (LSF) do not form the relationship shown in the figure below, the action may not be performed.
166
167 {{id name="OLE_LINK399"/}}
168
169 (% style="text-align:center" %)
170 [[image:08_html_3152d1fc65e8de15.gif||class="img-thumbnail" height="128" width="900"]]
171
172 Please make the crawling speed slow enough. Since it does not decelerate to stop, if the crawling speed is too fast, the stop position will shift due to inertia.
173
174 **Error code**
175
176 (% class="table-bordered" %)
177 |**Error code**|**Content**
178 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range
179 |4085H|The result output in the read application instruction (s1), (s2), (s3), (d1) and (d2) exceed the device range
180 |4088H|The same pulse output axis (d1) is used and has been started.
181
182 **Example**
183
184 (% style="text-align:center" %)
185 [[image:08_html_dd08d39552c03bd6.png||class="img-thumbnail"]]
186
187 Set Y1 as the output axis and Y10 as the direction axis at a maximum speed of 200K, a offset speed of 500, and a acceleration/deceleration time of 100ms. Origin return is performed at the frequency of 200Khz, and it runs at a crawling speed after receiving the origin signal X0, and it stops after the X0 signal is reset.
188
189 == **{{id name="_Toc4674"/}}DVIT/DDVIT/16-bit data relative positioning** ==
190
191 **DVIT/DDVIT**
192
193 This instruction outputs the specified number of pulses according to the specified port, frequency and running direction. When an interrupt signal is received, it will stop after sending the specified number of pulses.
194
195 -[DVIT/DDVIT (s1) (s2) (d1) (d2) (d3)]
196
197 **{{id name="OLE_LINK391"/}}Content, range and data type**
198
199 (% class="table-bordered" %)
200 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
201 |(s1)|Specify the number of output pulses|(((
202 -32768 to +32767
203
204 -2147483648 to 2147483647
205 )))|(((
206 Signed BIN16/
207
208 Signed BIN32
209 )))|ANY16_S/ANY32_S
210 |(s2)|Specify the frequency of output pulse|(((
211 1 to 32767
212
213 1 to 200000
214 )))|(((
215 Signed BIN16/
216
217 Signed BIN32
218 )))|ANY16_S/ANY32_S
219 |(d1)|Specify output pulse port|-|Bit|ANY_BOOL
220 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
221 |(d3)|Interrupt signal|-|Bit|ANY_BOOL
222
223 **Device used**
224
225 (% class="table-bordered" %)
226 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="15" %)**Devices**|**Offset modification**|(((
227 **Pulse**
228
229 **extension**
230 )))
231 |**X**|**Y**|**M**|**S**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
232 |(% rowspan="5" %)DVIT|Parameter 1| | | | | |●|●|●|●|●|●|●|●|●|●|●|
233 |Parameter 2| | | | | |●|●|●|●|●|●|●|●|●|●|●|
234 |Parameter 3| |●| | | | | | | | | | | | | | |
235 |Parameter 4| |●|●|●|●| | | | | | | | | | | |
236 |Parameter 5|●| |●|●| | | | | | | | | | | | |
237
238 **Features**
239
240 This instruction uses relative drive to perform 1st gear positioning. The specified positioning address adopts incremental mode, and positioning is performed by specifying the moving direction and the moving amount (relative address) from the current position.
241
242 {{id name="OLE_LINK87"/}}• Specify the number of output pulses in (s1). (It should be in the range of -2,147,483,647 to +2,147,483,647)
243
244 • Specify the instruction speed of user units in (s2). (It should be in the range of 1 to 200,000)
245
246 • Specify the device that outputs pulses in (d1). Only Y devices with positioning parameters can be specified.
247
248 • Specify the bit device of the pulse output direction signal in (d2). Only the devices and general outputs specified in the parameters could be specified.
249
250 • Specify the bit device of the interrupt signal in (d3). Only the devices and general outputs specified in the parameters could be specified.
251
252 (% style="text-align:center" %)
253 [[image:08_html_5f96163eb153efdb.gif||class="img-thumbnail" height="428" width="800"]]
254
255 **✎Note:**
256
257 {{id name="OLE_LINK88"/}}Please do not duplicate device used for other controls.
258
259 If the positioning address (s1) is 0 when the instruction is started, it will end abnormally and report 4084H error.
260
261 Before the interrupt input signal 1 is detected, if the positioning address (s1) is changed to 0, the positioning operation will continue, and the pulse output will stop after the input interruption, and it will end normally.
262
263 After the interrupt input signal 1 is detected, when the positioning address (s1) is changed to 0, it will decelerate to a stop, reverse the output direction, and continue to operate until the positioning address of the interrupt is input, and end normally.
264
265 When the number of pulses is less than the number required for deceleration and stop, it stops immediately when the positioning address is reached.
266
267 **Error code**
268
269 (% class="table-bordered" %)
270 |**Error code**|**Content**
271 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range
272 |4085H|The result output in the read application instruction (s1), (s2), (d1), (d2) and (d3) exceed the device range
273 |4088H|The same pulse output axis (d1) is used and has been started.
274
275 **Example**
276
277 (% style="text-align:center" %)
278 [[image:08_html_5010ae7be265bf62.png||class="img-thumbnail"]]
279
280 Set Y0 as the output axis and Y1 as the direction axis with the maximum speed of 200K, the offset speed of 500, and the acceleration/deceleration time of 100ms, and run at a frequency of 200,000, and send 200,000 pulses after receiving the X0 signal.
281
282 (% style="text-align:center" %)
283 [[image:08_html_cbfdbddb08628e8c.gif||class="img-thumbnail" height="419" width="800"]]
284
285 == {{id name="_Toc22468"/}}**DRVI/DDRVI/Relative positioning** ==
286
287 **DRVI/DDRVI**
288
289 Execute single-speed positioning instructions in relative drive mode. The method of specifying the movement distance from the current position with positive/negative signs is also called incremental (relative) drive mode.
290
291 -[DRVI/DDRVI (s1) (s2) (d1) (d2)]
292
293 **Content, range and data type**
294
295 (% class="table-bordered" %)
296 |**Parameter**|**Content**|**Range**|**Data type**|(((
297 **Data type**
298
299 **(label)**
300 )))
301 |(s1)|(((
302 Specify the number of output pulses
303
304 (relative address)
305 )))|(((
306 -32768 to 32767
307
308 -2147483648 to +2147483647
309 )))|(((
310 Signed BIN16/
311
312 Signed BIN32
313 )))|(((
314 ANY16_S/
315
316 ANY32_S
317 )))
318 |(s2)|Specify the frequency of output pulse|(((
319 1 to 32,767
320
321 1 to 200,000
322 )))|(((
323 Signed BIN16/
324
325 Signed BIN32
326 )))|(((
327 ANY16_S/
328
329 ANY32_S
330 )))
331 |(d1)|Specify the device number of output pulse|-|Bit|ANY_BOOL
332 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
333
334 **Device used**
335
336 (% class="table-bordered" %)
337 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="14" %)**Devices**|**Offset modification**|(((
338 **Pulse**
339
340 **extension**
341 )))
342 |**Y**|**M**|**S**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
343 |(% rowspan="4" %)DRVI|Parameter 1| | | | |●|●|●|●|●|●|●|●|●|●|●|
344 |Parameter 2| | | | |●|●|●|●|●|●|●|●|●|●|●|
345 |Parameter 3|●| | | | | | | | | | | | | | |
346 |Parameter 4|●|●|●|●| | | | | | | | | | | |
347
348 **Features**
349
350 This instruction uses incremental mode (specified by position of relative address) to perform single-speed positioning.
351
352 With the current stop position as the starting point, specify the movement direction and movement amount (relative address) for positioning.
353
354 (% style="text-align:center" %)
355 [[image:08_html_9e2927d44c64e0be.gif||class="img-thumbnail" height="323" width="800"]]
356
357 • Specify the positioning address of the user unit with a relative address in (s1). (It should be in the range of -2147483647 to +2147483647)
358
359 • Specify the instruction speed of user unit in (s2). (It should be in the range of 1 to 200,000)
360
361 • Specify the device that outputs pulses in (d1). Only Y devices with positioning parameters could be specified.
362
363 • Specify the bit device of the output direction signal in (d2). Only the devices and general outputs specified in the parameters could be specified.
364
365 • The pulse frequency and pulse position could be modified during the operation of this instruction.
366
367 (% style="text-align:center" %)
368 [[image:08_html_50efa4160b140701.gif||class="img-thumbnail" height="418" width="800"]]
369
370 **✎Note:**
371
372 Please do not duplicate device used for other controls.
373
374 **Error code**
375
376 (% class="table-bordered" %)
377 |**Error code**|**Content**
378 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range
379 |4085H|The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
380 |4088H|The same pulse output axis (d1) is used and has been started.
381
382 **Example**
383
384 (% style="text-align:center" %)
385 [[image:08_html_df6686d0dd0322d.png||class="img-thumbnail"]]
386
387 {{id name="OLE_LINK91"/}}{{id name="OLE_LINK92"/}}Set Y0 as the output axis, and Y1 as the direction axis with the maximum speed in 200K, and the offset speed in 500, and the acceleration/deceleration time in 100ms. Send a high-speed pulse with acceleration and deceleration at a frequency of 200KHZ, and a pulse number of 200K.
388
389 == {{id name="_Toc23478"/}}**{{id name="_Toc19438"/}}{{id name="_Toc5660"/}}DRVA/DDRVA/Absolute positioning** ==
390
391 **DRVA/DDRVA**
392
393 Execute single-speed positioning instructions in absolute drive mode. The method of specifying the movement distance from the origin (zero) is also called the absolute drive method.
394
395 -[DRVA/DDRVA (s1) (s2) (d1) (d2)]
396
397 **Content, range and data type**
398
399 (% class="table-bordered" %)
400 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
401 |(s1)|(((
402 Specify the number of output pulses
403
404 (absolute address)
405 )))|(((
406 -32768 to 32767
407
408 -2147483648 to 2147483647
409 )))|(((
410 Signed BIN16
411
412 Signed BIN32
413 )))|(((
414 ANY16_S
415
416 ANY32_S
417 )))
418 |(s2)|Specify the frequency of output pulse|(((
419 1 to 32767
420
421 1 to 200000
422 )))|(((
423 Signed BIN16
424
425 Signed BIN32
426 )))|(((
427 ANY16_S
428
429 ANY32_S
430 )))
431 |(d1)|Specify the device number of output pulse|-|Bit|ANY_BOOL
432 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
433
434 **Device used**
435
436 (% class="table-bordered" %)
437 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="14" %)**Devices**|**Offset modification**|(((
438 **Pulse**
439
440 **extension**
441 )))
442 |**Y**|**M**|**S**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
443 |(% rowspan="4" %)DRVA|Parameter 1| | | | |●|●|●|●|●|●|●|●|●|●|●|
444 |Parameter 2| | | | |●|●|●|●|●|●|●|●|●|●|●|
445 |Parameter 3|●| | | | | | | | | | | | | | |
446 |Parameter 4|●|●|●|●| | | | | | | | | | | |
447
448 **Features**
449
450 This instruction uses absolute drive to perform single-speed positioning. The specified positioning address adopts the absolute method, and the specified position (absolute address) is used for positioning based on the origin.
451
452 {{id name="OLE_LINK365"/}}
453
454 (% style="text-align:center" %)
455 [[image:08_html_7a3c30baa77024fb.gif||class="img-thumbnail" height="311" width="800"]]
456
457 • Specify the positioning address of user unit with a absolute address in (s1). (It should be in the range of -2,147,483,647 to +2,147,483,647)
458
459 • Specify the instruction speed of user unit in (s2). (It should be in the range of 1 to 200,000)
460
461 • Specify the device that outputs pulses in (d1). Only Y devices with positioning parameters could be specified.
462
463 • Specify the bit device of the output direction signal in (d2). Only the devices and general outputs specified in the parameters could be specified.
464
465 • The pulse frequency and pulse position could be modified during the operation of this instruction.
466
467 (% style="text-align:center" %)
468 [[image:08_html_620f348d2565adf2.gif||class="img-thumbnail" height="411" width="800"]]
469
470 **✎Note:**
471
472 Please do not duplicate device used for other controls.
473
474 **Error code**
475
476 (% class="table-bordered" %)
477 |**Error code**|**Content**
478 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range
479 |4085H|The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
480 |4088H|The same pulse output axis (d1) is used and has been started.
481
482 **Example**
483
484 (% style="text-align:center" %)
485 [[image:08_html_ded99163cc1edb.png||class="img-thumbnail"]]
486
487 Set Y0 as the output axis, and Y1 as the direction axis with the maximum speed in 200K, and the offset speed in 500, and the acceleration/deceleration time in 100ms. Send a high-speed pulse with acceleration and deceleration at a frequency of 200KHZ, starting at the origin position and ending at 200,000
488
489 == {{id name="_Toc21291"/}}**{{id name="_Toc21950"/}}{{id name="_Toc10018"/}}PLSR/DPLSR/Pulse output with acceleration and deceleration** ==
490
491 **PLSR/DPLSR**
492
493 Pulse output instruction with acceleration and deceleration function.
494
495 -[PLSR/DPLSR (s1) (s2) (s3) (d)]
496
497 **Content, range and data type**
498
499 (% class="table-bordered" %)
500 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
501 |(s1)|Specify the frequency of output pulse|(((
502 (1 to 32767)
503
504 (1 to +200000)
505 )))|(((
506 Signed BIN16/
507
508 Signed BIN32
509 )))|(((
510 ANY16_S/
511
512 ANY32_S
513 )))
514 |(s2)|Specify the number of output pulse|(((
515 (0 to 32767)
516
517 (0 to +2147483647)
518 )))|(((
519 Signed BIN16/
520
521 Signed BIN32
522 )))|(((
523 ANY16_S/
524
525 ANY32_S
526 )))
527 |(s3)|Save acceleration and deceleration time (ms) data|(((
528 (50 to 32000)
529
530 (0: No acceleration or deceleration)
531 )))|(((
532 Signed BIN16/
533
534 Signed BIN32
535 )))|(((
536 ANY16_S/
537
538 ANY32_S
539 )))
540 |(d)|The device number of output pulse|-|Bit|ANY_BOOL
541
542 **Device used**
543
544 (% class="table-bordered" %)
545 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="11" %)**Devices**|**Offset modification**|(((
546 **Pulse**
547
548 **extension**
549 )))
550 |**Y**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|(% style="width:24px" %)**H**|**[D]**|**XXP**
551 |(% rowspan="4" %)PLSR|Parameter 1| |●|●|●|●|●|●|●|●|●|(% style="width:24px" %)●|●|
552 |Parameter 2| |●|●|●|●|●|●|●|●|●|(% style="width:24px" %)●|●|
553 |Parameter 3| |●|●|●|●|●|●|●|●|●|(% style="width:24px" %)●|●|
554 |Parameter 4|●| | | | | | | | | |(% style="width:24px" %) | |
555
556 **Features**
557
558 Pulse output instruction with acceleration and deceleration function.
559
560 • Specify the output instruction speed in (s1). (It should be in the range of 1 to 200,000)
561
562 • Specify the number of output pulses in (s2). (It should be in the range of 0 to +2,147,483,647)
563
564 • Specify the acceleration/deceleration time (ms) in (s3). (It should be in the range of 50 to 32,000. If set to 0, no acceleration or deceleration will be performed)
565
566 • Specify the device that outputs pulses in (d). Only output devices (Y) with positioning parameters could be specified.
567
568 (% style="text-align:center" %)
569 [[image:08_html_1b0fa8d702052193.gif||class="img-thumbnail" height="382" width="700"]]
570
571 **✎Note:**
572
573 {{id name="OLE_LINK99"/}}Please do not duplicate device used for other controls.
574
575 **Error code**
576
577 (% class="table-bordered" %)
578 |**Error code**|**Content**
579 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range
580 |4085H|The result output in the read application instruction (s1), (s2), (s3) and (d) exceed the device range
581 |4088H|The same pulse output axis (d) is used and has been started.
582
583 **Example**
584
585 (% style="text-align:center" %)
586 [[image:08_html_8ef5d10712e2f0f5.png||class="img-thumbnail"]]
587
588 Set Y0 as the output axis at a maximum speed of 200K, and a offset speed of 500, and a acceleration/deceleration time of 100ms. Send a high-speed pulse with acceleration and deceleration at a frequency of 200KHZ, a pulse number of 200K.
589
590 == {{id name="_Toc10313"/}}**{{id name="_Toc31417"/}}{{id name="_Toc9007"/}}PLSR2/Multi-speed positioning** ==
591
592 **PLSR2**
593
594 The PLSR2 instruction sets parameters in the form of a table, and generates relative and absolute position pulse instructions according to the specified port, frequency, running direction and acceleration/deceleration time in segments, so that the servo actuator could make a given offset based on the current position.
595
596 -[PLSR2 (s) (d1) (d2)]
597
598 **Content, range and data type**
599
600 (% class="table-bordered" %)
601 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
602 |(s)|The parameter address is an area with Dn as the starting address|-|(((
603 Signed BIN16/
604
605 Signed BIN32
606 )))|(((
607 ANY16_S/
608
609 ANY32_S
610 )))
611 |(d1)|The device (Y) number of output pulse|-|Bit|ANY_BOOL
612 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
613
614 **Device used**
615
616 (% class="table-bordered" %)
617 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="6" %)**Devices**|**Offset modification**|(((
618 **Pulse**
619
620 **extension**
621 )))
622 |**Y**|**M**|**S**|**D.b**|**D**|**R**|**[D]**|**XXP**
623 |(% rowspan="3" %)PLSR2|Parameter 1| | | | |●|●|●|
624 |Parameter 2|●| | | | | | |
625 |Parameter 3|●|●|●|●| | | |
626
627 **Features**
628
629 The PLSR2 instruction sets parameters in the form of a table, and generates relative and absolute position pulse instructions according to the specified port, frequency, running direction and acceleration/deceleration time in segments, so that the servo actuator could make a given offset based on the current position.
630
631 • Specify the parameter address in (s), which is an area with Dn as the starting address.
632
633 • Specify the device that outputs pulses in (d1). Only Y devices with positioning parameters could be specified.
634
635 • Specify the bit device of the output direction signal in (d2). Only the devices and general outputs specified in the parameters could be specified.
636
637 • During the operation of this instruction, only the pulse frequency and pulse position of the last segment could be modified. If the value exceeds the parameter range, it will stop with an error.
638
639 {{id name="OLE_LINK93"/}}• The number of pulse segments could not be modified while the instruction is running. If the number of segments is modified, the error will stop.
640
641 • When the instruction has a waiting condition or the reverse operation need to stop to restart, use the same start frequency and end frequency as the first segment.
642
643 Instruction parameter configuration table:
644
645 (% class="table-bordered" %)
646 |**Address offset (s)**|**Content**|**Instruction**
647 |(S) + 0|The number of pulse segments|(1-n)
648 |(S) + 1|Form identification|Reserved
649 |(S) + 2|(% rowspan="2" %){{id name="OLE_LINK95"/}}The first segment pulse frequency|(% rowspan="2" %)1HZ to 200,000HZ
650 |(S) + 3
651 |(S) + 4|(% rowspan="2" %)The number of pulses in the first segment|(% rowspan="2" %)None
652 |(S) + 5
653 |(S) + 6|The first segment waiting condition|(((
654 0: Pulse sending completed
655
656 1: Waiting time
657
658 2: Waiting signal (ON valid)
659
660 3: Waiting signal (OFF is effective)
661
662 4: Trigger signal (rising edge)
663
664 5: Trigger signal (falling edge)
665
666 (Use with [Waiting Condition] and [Waiting Register])
667 )))
668 |(S) + 7|The first segment waiting register type|(((
669 Correspondence between waiting conditions and waiting register types:
670
671 Pulse sending completed: none
672
673 Waiting time: =0: D register;
674
675 ~=1: constant;
676
677 Waiting signal: =0: X-bit register;
678
679 ~=1: M-bit register;
680
681 ~=2: S-bit register;
682
683 ~=3: Y-bit register;
684
685 Trigger signal: =0: X-bit register;
686
687 ~=1: M-bit register;
688
689 ~=2: S-bit register;
690
691 ~=3: Y-bit register
692 )))
693 |(S) + 8|(% rowspan="2" %)The first segment constant value/waiting register number|(% rowspan="2" %)None
694 |(S) + 9
695 |(S) + 10|The first segment operation mode|0: Relative mode; 1: Absolute mode
696 |(S) + 11|Reserved|Reserved
697 |...|...|...
698 |(S)+2+(n-1)*10|(% rowspan="2" %)The Nth segment pulse frequency|(% rowspan="2" %)1HZ to 200,000HZ
699 |(S)+3+(n-1)*10
700
701 **Parameter Description**
702
703 **(1) Number of pulse segments:**
704
705 (s) + 0 is used to set the number of pulse segments (single word), and the number of segments needs to be greater than 0 segment, Pay attention to whether the table range exceeds the maximum usable device value.
706
707 **(2) Form ID:**
708
709 (s) +1: reserved.
710
711 **(3) Pulse mode:**
712
713 {{id name="OLE_LINK96"/}}(s) +(n-1)*10+10 (single word) is the pulse mode of the nth segment. When it is set to 0, it is relative mode, that is, the number of pulses and the current position register are relative positions. When it is set to 1, it is absolute mode, that is, the pulse number and current position register are absolute positions.
714
715 **(4) Waiting conditions:**
716
717 (s) +(n-1)*10+6 (single word) is the waiting condition of the nth segment, (s) +(n-1)*10+7 (single word) is the waiting register type, (s) + (n-1)*10+8 (double word) is the waiting register number or constant value.
718
719 Waiting condition = 0 means no waiting condition, = 1 means waiting time, = 2 means waiting signal (high level), = 3 means waiting signal (low level), = 4 means trigger signal (rising edge)), = 5means trigger signal (falling edge).
720
721 The waiting condition is used in conjunction with the waiting register and the waiting register number/constant value.
722
723 1) No waiting conditions
724
725 When (s) +(n-1)*10+6=0, it is no waiting condition, that is, after the number of pulses set in this segment is executed, it will immediately jump to the pulse segment specified later.
726
727 {{id name="OLE_LINK97"/}}Example one: Three pulses are needed now. The pulse frequency of the first segment is 2,000Hz, and the number of pulses is 2,000; The pulse frequency of the second segment is 4,000Hz, and the number of pulses is 4,000; The pulse frequency of the third segment is 6,000 with no waiting conditions.
728
729 (% class="table-bordered" %)
730 |**The number of segments**|**Pulse frequency**|**The number of pulses**|**Waiting mode**|**Condition**
731 |1|20,000|20,000|No waiting conditions|K0
732 |2|40,000|40,000|No waiting conditions|K0
733 |3|60,000|60,000|No waiting conditions|K0
734
735 The ladder program parameter settings are as follows:
736
737 (% style="text-align:center" %)
738 [[image:08_html_ee55f00006990bc0.png||class="img-thumbnail"]]
739
740 The waveform diagram is as follows:
741
742 (% style="text-align:center" %)
743 [[image:08_html_3117922fe2a20cac.gif||class="img-thumbnail" height="387" width="700"]]
744
745 2) Waiting time
746
747 When (s) +(n-1)*10+6 =1, it is the waiting time. When (s) +(n-1)*10+7 =0, it is waiting D register, when =1, it is waiting constant.
748
749 After the pulse output of the current segment is completed, start timing. When the timing time is up, it will immediately jump to he specified pulse segment; the timing time could be constant or specified by register D, unit: ms (range: 1-65,535ms).
750
751 Example 2: Three pulses are needed now. The pulse frequency of the first segment is 20,000Hz, and the number of pulses is 20,000, and the waiting time is K100ms. The pulse frequency of the second segment is 40,000Hz, and the number of pulses is 40,000; and the waiting time is K100ms. The pulse frequency of the third segment is 60,000,and the number of pulses is 60,000 with no waiting conditions.
752
753 (% class="table-bordered" %)
754 |**The number of segments**|**Pulse frequency**|**The number of pulses**|**Waiting mode**|**Condition**
755 |1|20,000|20,000|waiting time|K100
756 |2|40,000|40,000|waiting time|D100
757 |3|60,000|60,000|No waiting conditions|K0
758
759 The ladder program parameter settings are as follows:
760
761 (% style="text-align:center" %)
762 [[image:08_html_b92ad02f284c9758.png||class="img-thumbnail"]]
763
764 The waveform diagram is as follows:
765
766 (% style="text-align:center" %)
767 [[image:08_html_6bc1d175fa4748a6.gif||class="img-thumbnail" height="372" width="700"]]
768
769 3) Waiting signal
770
771 When (s) +(n-1)*10+6=2, it is waiting signal high level (ON status). When (s) +(n-1)*10+6 =3, it is waiting signal low level ( OFF status). When (s) +(n-1)*10+7 =0, it means waiting for X signal, and =1 means waiting for M signal, =2 means waiting for S signal, =3 means waiting for Y signal.
772
773 Example 3: Three pulses are needed now. The pulse frequency of the first segment is 20,000Hz, and the number of pulses is 20,000, and the waiting signal is M2. The pulse frequency of the second segment is 40,000Hz, and the number of pulses is 40,000; and the waiting signal is X2. The pulse frequency of the third segment is 60,000,and the number of pulses is 60,000 with no waiting conditions.
774
775 (% class="table-bordered" %)
776 |**The number of segments**|**Pulse frequency**|**The number of pulses**|**Waiting mode**|**Condition**
777 |1|20,000|20,000|Waiting signal high level|M2
778 |2|40,000|40,000|Waiting signal low level|X2
779 |3|60,000|60,000|No waiting conditions|K0
780
781 The ladder program parameter settings are as follows:
782
783 (% style="text-align:center" %)
784 [[image:08_html_40a3785e48620a2d.png||class="img-thumbnail"]]
785
786 The waveform diagram is as follows:
787
788 If the signal is received in advance, it will not decelerate to stop, but directly accelerate/decelerate to the specified speed of the next segment. (X2 low level is received during operation)
789
790 (% style="text-align:center" %)
791 [[image:08_html_5599da81e80c2958.gif||class="img-thumbnail" height="413" width="700"]]
792
793 4)** **Trigger signal
794
795 When (s) +(n-1)*10+6 =4, it is the rising edge of trigger signal. When (s) +(n-1)*10+6 = 5, it is the falling edge of trigger signal.
796
797 (s) +(n-1)*10+7 =0 means waiting for X signal, =1 means waiting for M signal, =2 means waiting for S signal, =3 means waiting for Y signal.
798
799 After the current pulse segment starts to send pulses, if the external bit signal triggers operates (ON state) before the current number of pulses are sent, the next pulse is sent immediately. At the end of the pulse transmission of the current segment, if the signal is not triggered (OFF state), the next pulse will continue to be sent (that is, the configured pulse segment will be pulsed in a mode without waiting conditions. But if the current pulse is receiving a trigger signal during the process, it will directly accelerate and decelerate to the next pulse).
800
801 Example 4: Three pulses are needed now. The pulse frequency of the first segment is 20,000Hz, and the number of pulses is 20,000, and the waiting signal is M2. The pulse frequency of the second segment is 40,000Hz, and the number of pulses is 40,000; and the waiting signal is X2. The pulse frequency of the third segment is 60,000,and the number of pulses is 60,000 with no waiting conditions.
802
803 (% class="table-bordered" %)
804 |**The number of segments**|**Pulse frequency**|**The number of pulses**|**Waiting mode**|**Condition**
805 |1|20,000|20,000|Trigger signal rising edge|M2
806 |2|40,000|40,000|Trigger signal falling edge|X2
807 |3|60,000|60,000|No waiting conditions|K0
808
809 The ladder program parameter settings are as follows:
810
811 (% style="text-align:center" %)
812 [[image:08_html_333d8cff6d336d70.png||class="img-thumbnail"]]
813
814 The pulse waveform diagram is as follows:
815
816 (% style="text-align:center" %)
817 [[image:08_html_a84e97c5590c3f71.gif||class="img-thumbnail" height="371" width="700"]]
818
819 If a signal is received in the acceleration section (deceleration section), it will directly accelerate (decelerate) in the current section to the next pulse frequency.
820
821 **✎Note: **Please do not duplicate device used for other controls.
822
823 **Error code**
824
825 (% class="table-bordered" %)
826 |(% style="width:127px" %)**Error code**|(% style="width:954px" %)**Content**
827 |(% style="width:127px" %)4084H|(% style="width:954px" %)The table parameter input data that exceeds the specified range
828 |(% style="width:127px" %)4085H|(% style="width:954px" %)The table parameter with the first address in the read application instruction (s) exceeds the device range, and the output result of the read parameter (s), (d1) and (d2) exceeds the device range
829 |(% style="width:127px" %)4088H|(% style="width:954px" %)The same pulse output axis (d1) is used and has been started.
830
831 == {{id name="_Toc3904"/}}**{{id name="_Toc11943"/}}{{id name="_Toc18707"/}}PLSV/DPLSV/Variable speed operation** ==
832
833 **PLSV/DPLSV**
834
835 {{id name="OLE_LINK100"/}}Output variable speed pulse instruction with rotation direction. This instruction could change the speed with acceleration and deceleration.
836
837 -[PLSV (s) (d1) (d2)]
838
839 **Content, range and data type**
840
841 (% class="table-bordered" %)
842 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
843 |(s)|Specify output pulse frequency|-|Signed BIN16/Signed BIN32|ANY16_S/ANY32_S
844 |(d1)|Specify the number of output pulse|-|Bit|ANY_BOOL
845 |(d2)|The device (Y) number of output pulse|-|Bit|ANY_BOOL
846
847 **Device used**
848
849 (% class="table-bordered" %)
850 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="14" %)**Devices**|**Offset modification**|(((
851 **Pulse**
852
853 **extension**
854 )))
855 |**Y**|**M**|**S**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
856 |(% rowspan="3" %)PLSV|Parameter 1| | | | |●|●|●|●|●|●|●|●|●|●|●|
857 |Parameter 2|●| | | | | | | | | | | | | | |
858 |Parameter 3|●|●|●|●| | | | | | | | | | | |
859
860 **Features**
861
862 This instruction is used to output variable speed pulse with rotation direction output.
863
864 • Specify the instruction speed of user units in (s). (It should be in the range of -200,000 to 200,000. When it is 0, stop sending pulse)
865
866 • Specify the device that outputs pulses in (d1). Only Y devices with positioning parameters could be specified.
867
868 • Specify the bit device of the output direction signal in (d2). Only the devices and general outputs specified in the parameters could be specified.
869
870 • The pulse frequency could be modified while the instruction is running.
871
872 (% style="text-align:center" %)
873 [[image:08_html_2521cc1e50e799ab.gif||class="img-thumbnail" height="394" width="700"]]
874
875 **✎Note:**
876
877 {{id name="OLE_LINK101"/}}Please do not duplicate device used for other controls.
878
879 If the acceleration time is 0, no acceleration action will be performed, and the speed is changed to the instruction speed immediately.
880
881 If the deceleration time is 0, no deceleration action will be performed, and it will stop immediately when the drive contact is OFF.
882
883 **Error code**
884
885 (% class="table-bordered" %)
886 |**Error code**|**Content**
887 |4084H|The data input in the application instruction (s1) exceeds the specified range
888 |4085H|The result output in the read application instruction (s1), (d1) and (d2) exceed the device range
889 |4088H|The same pulse output axis (d1) is used and has been started.
890
891 **Example**
892
893 Set the highest frequency to 200,000K, the offset speed to 500, and the acceleration/deceleration time to 100ms.
894
895 (% style="text-align:center" %)
896 [[image:08_html_b4702eafb893fc63.png||class="img-thumbnail"]]
897
898 The sending pulse is as follows:
899
900 (% style="text-align:center" %)
901 [[image:08_html_ac71a602fee1445e.gif||class="img-thumbnail" height="387" width="700"]]
902
903 == {{id name="_Toc8609"/}}**{{id name="_Toc662"/}}{{id name="_Toc30652"/}}PLSY/DPLSY/Pulse output** ==
904
905 **PLSY/DPLSY**
906
907 {{id name="OLE_LINK364"/}}The pulse specified in the instruction speed (s) is output from the device specified in the output (d) to the pulse specified pulse in the positioning address (n).
908
909 -[PLSY/DPLSY (s) (n) (d)]
910
911 **Content, range and data type**
912
913 (% class="table-bordered" %)
914 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
915 |(s)|Specify output pulse frequency|-|Signed BIN16/Signed BIN32|ANY16_S/ANY32_S
916 |(n)|Specify the number of output pulse|-|Bit|ANY_BOOL
917 |(d)|The device (Y) number of output pulse|-|Bit|ANY_BOOL
918
919 **Device used**
920
921 (% class="table-bordered" %)
922 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="11" %)**Devices**|**Offset modification**|(((
923 **Pulse**
924
925 **extension**
926 )))
927 |**Y**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
928 |(% rowspan="3" %)PLSY|Parameter 1| |●|●|●|●|●|●|●|●|●|●|●|
929 |Parameter 2| |●|●|●|●|●|●|●|●|●|●|●|
930 |Parameter 3|●| | | | | | | | | | | |
931
932 **Features**
933
934 • The pulse specified in the instruction speed (s) is output from the device specified in the output (d) to the pulse specified pulse in the positioning address (n).
935
936 • Specify the instruction speed of user unit in (s). (It should be in the range of 1 to 200,000)
937
938 • Specify the positioning address of user unit with a relative address in (n). (It should be in the range of 0 to 2,147,483,647)
939
940 • Specify the device that outputs pulses in (d). Only Y devices with positioning parameters could be specified.
941
942 • The instruction pulse output has no acceleration/deceleration process.
943
944 (% style="text-align:center" %)
945 [[image:08_html_2c248b954bdddae3.gif||class="img-thumbnail" height="356" width="700"]]
946
947 **✎Note:**
948
949 Please do not duplicate device used for other controls. Since this instruction has no direction, the direction polarity is invalid, and it always increases with the current address.
950
951 When the reverse limit is used, it will act as the forward limit.
952
953 **Error code**
954
955 (% class="table-bordered" %)
956 |**Error code**|**Content**
957 |4084H|The data input in the application instruction (s) and (n) exceed the specified range
958 |4085H|The result output in the read application instruction (s), (n) and (d) exceed the device range
959 |4088H|The same pulse output axis (d) is used and has been started.
960
961 **Example**
962
963 **(1) Unlimited pulse output: positioning address (operand (n)) = 0**
964
965 (% style="text-align:center" %)
966 [[image:08_html_ba12be0aaf3caf40.png||class="img-thumbnail"]]
967
968 (% style="text-align:center" %)
969 [[image:08_html_97583e8621e6ae69.png||class="img-thumbnail" height="143" width="600"]]
970
971 **(2) Pulse output: positioning address (operand (n))> 0**
972
973
974 (% style="text-align:center" %)
975 [[image:08_html_87bd5854f06006b0.png]]
976
977 (% style="text-align:center" %)
978 [[image:08_html_97583e8621e6ae69.png||class="img-thumbnail" height="143" width="600"]]
979
980 == {{id name="_Toc10375"/}}**{{id name="_Toc17757"/}}PWM/BIN 16-bit pulse output** ==
981
982 **PWM**
983
984 Output the ON time (16-bit data unit) specified in (s1) and the cycle pulse (16-bit data unit) specified in (s2) to the output destination specified in (d).
985
986 -[PWM (s1) (s2) (d)]
987
988 **Content, range and data type**
989
990 (% class="table-bordered" %)
991 |**Parameter**|(% style="width:702px" %)**Content**|(% style="width:183px" %)**Range**|**Data type**|**Data type (label)**
992 |(s1)|(% style="width:702px" %)The ON time or the device number storing the ON time|(% style="width:183px" %)0 to 32,767|Signed BIN16|ANY16_S
993 |(s2)|(% style="width:702px" %)Cycle or the device number storing the cycle|(% style="width:183px" %)1 to 32,767|Signed BIN16|ANY16_S
994 |(d)|(% style="width:702px" %)The channel number and device number that pulse outputs|(% style="width:183px" %)-|Bit|ANY_BOOL
995
996 **Device used**
997
998 (% class="table-bordered" %)
999 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="11" %)**Devices**|**Offset modification**|(((
1000 **Pulse**
1001
1002 **extension**
1003 )))
1004 |**Y**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
1005 |(% rowspan="3" %)PWM|Parameter 1| |●|●|●|●|●|●|●|●|●|●|●|
1006 |Parameter 2| |●|●|●|●|●|●|●|●|●|●|●|
1007 |Parameter 3|●| | | | | | | | | | | |
1008
1009 **Features**
1010
1011 Normal mode
1012
1013 • Output the ON time specified in (s1) and the cycle pulse specified in (s2) to the output destination specified in (d).
1014
1015 (((
1016 • Specify the output pulse width in (s1). (The setting range is 0 to 32,767ms)
1017
1018 • Specify the output pulse period in (s2). (The setting range is 1 to 32,767ms)
1019
1020 • Specify the device that outputs pulses in (d). Only Y devices with positioning parameters can be specified.
1021
1022 • The pulse width and pulse period can be modified during pulse sending.
1023
1024 (% style="text-align:center" %)
1025 [[image:08_html_b54cf8e0b0b86ddb.png||class="img-thumbnail" height="195" width="600"]]
1026 )))
1027
1028 **✎Note:**
1029
1030 1. Please do not duplicate device used for other controls.
1031 1. Set pulse width and cycle time. Please set the value of pulse width (s1) and period (s2) as (s1)≤(s2).
1032 1. About pulse output: This instruction is executed in interrupt mode. When the instruction power flow is OFF, the output stops, and (s1) and (s2) could be modified when the PWM instruction is executed. If it is modified to an incorrect parameter, the sending of PWM pulse will be stopped.
1033
1034 **Related device**
1035
1036 (% class="table-bordered" %)
1037 |**Output shaft**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
1038 |Percentage mode sign|SM897|SM957|SM1017|SM1077|SM1137|SM1197|SM1257|SM1317
1039
1040 **Error code**
1041
1042 (% class="table-bordered" %)
1043 |**Error code**|**Content**
1044 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range or (s1)>(s2)
1045 |4085H|The result output in the read application instruction (s1), (s2) and (d) exceed the device range
1046 |4088H|The same pulse output axis (d) is used and has been started.
1047
1048 **Example**
1049
1050 (% style="text-align:center" %)
1051 [[image:08_html_3ed5f1836c38d129.png||class="img-thumbnail"]]
1052
1053 The waveform diagram is shown as right.
1054
1055 (% style="text-align:center" %)
1056 [[image:08_html_f38f59f98fdc96c0.png||class="img-thumbnail" height="213" width="600"]]
1057
1058 == **PWM/PWM perimeter mode** ==
1059
1060 **PWM**
1061
1062 The period parameter (s2), the average equal division is 1000 equal divisions, (s1) is the pulse duty ratio, and the setting of the millimetric ratio mode is used to output to the output target specified in (d).
1063
1064 -[PWM (s1) (s2) (d)]
1065
1066 **Content, range and data type**
1067
1068 (% class="table-bordered" %)
1069 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
1070 |(s1)|Set output pulse duty cycle|0 to 1000|Signed BIN16|ANY16_S
1071 |(s2)|Set pulse output cycle|1 to 32767|Signed BIN16|ANY16_S
1072 |(d)|Pulse output channel number, device number|-|Bit|ANY_BOOL
1073
1074 **Device used**
1075
1076 (% class="table-bordered" %)
1077 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="11" %)**Devices**|**Offset modification**|(((
1078 **Pulse**
1079
1080 **extension**
1081 )))
1082 |**Y**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
1083 |(% rowspan="3" %)PWM|Parameter 1| |●|●|●|●|●|●|●|●|●|●|●|
1084 |Parameter 2| |●|●|●|●|●|●|●|●|●|●|●|
1085 |Parameter 3|●| | | | | | | | | | | |
1086
1087 **Features**
1088
1089 The period parameter (s2), the average equal division is 1000 equal divisions, (s1) is the pulse duty ratio, and the setting of the millimetric ratio mode is used to output to the output target specified in (d).
1090
1091 It is necessary to turn on the millimetric ratio mode of the PWM instruction, and the corresponding related device:
1092
1093 (% class="table-bordered" %)
1094 |**Output shaft**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
1095 |Percentage Mode Sign|SM897|SM957|SM1017|SM1077|SM1137|SM1197|SM1257|SM1317
1096
1097 Specify the output pulse duty ratio in (s1). (The setting range is 0 to 1000)
1098
1099 Specify the output pulse period in (s2). (The setting range is 1 to 32,767ms)
1100
1101 Specify the device that outputs the pulse in (d). Only Y devices with positioning parameters can be specified.
1102
1103 The calculation formula is: t (ms) = T0 (ms) * K / 1000
1104
1105 High level time (ms) = set cycle time (ms) x duty cycle / 1000
1106
1107 Low level time (ms) = period (ms)-high level time (ms)
1108
1109 That is, the period is set to 100ms, if the duty cycle is set to 500, the output is high for 50ms and low for 50ms; if the duty cycle is set to 100, the output is high for 10ms and low for 90ms; If it is set to 900, the output will be high for 90ms and low for 10ms. The fractional part of the calculated pulse output time is output by rounding.
1110
1111 The period and duty cycle can be modified during pulse sending.
1112
1113 **✎Note:**
1114
1115 1. Please be careful not to overlap with other control devices.
1116 1. About pulse output
1117
1118 This instruction is executed in interrupt mode. When the instruction power flow is OFF, the output stops. (s1) and (s2) can be changed when the PWM instruction is executed. If it is modified to an incorrect parameter, the sending of PWM pulse will be stopped.
1119
1120 **Related device**
1121
1122 • Percentage mode flag
1123
1124 (% class="table-bordered" %)
1125 |**Output shaft**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
1126 |Percentage Mode Sign|SM897|SM957|SM1017|SM1077|SM1137|SM1197|SM1257|SM1317
1127
1128 **Error code**
1129
1130 (% class="table-bordered" %)
1131 |**Error code**|**Content**
1132 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range
1133 |4085H|The result output in the read application instruction (s1), (s2) and (d) exceed the device range
1134 |4088H|The same pulse output axis (d) is used and has been started.
1135
1136 **Example**
1137
1138 The period is set to 100ms, if the duty cycle is set to 500, the output is high for 50ms and low for 50ms; if the duty cycle is set to 100, the output is high for 10ms and low for 90ms; duty cycle If it is set to 900, then the output is high for 90ms and low for 10ms;
1139
1140 (% style="text-align:center" %)
1141 [[image:08_html_ace0b444319fb8c4.png||class="img-thumbnail"]]
1142
1143 The waveform diagram is as follows, the period is 300ms, the duty cycle is 100, and the output is 30ms high level and 270ms low level:
1144
1145 (% style="text-align:center" %)
1146 [[image:08_html_13acf8747e8703ff.png||class="img-thumbnail"]]
1147
1148 == {{id name="_Toc26527"/}}**{{id name="_Toc9670"/}}{{id name="_Toc32423"/}}{{id name="_Toc27238"/}}G90G01 Absolute position line interpolation instruction** ==
1149
1150 **G90G01**
1151
1152 Execute 2 axis/3 axis line interpolation instruction in absolute drive mode. The method of specifying the movement distance from the origin point(zero point) is also called absolute drive mode.
1153
1154 -[G90G01 (s1) (s2) (d1) (d2) ]
1155
1156 **{{id name="_Toc28329"/}}Content, range and data type**
1157
1158 (% class="table-bordered" %)
1159 |**Parameters**|**Content**|**Range**|**Data type**|**Data type tag**
1160 |(s1)|Specify the target position (absolute address)|-2147483648 to +2147483647|Signed BIN32|ANY32_S
1161 |(s2)|Specify the synthetic output frequency|1 to 141421|Signed BIN32|ANY32_S
1162 |(d1)|Device (Y) number of output pulse|Y0/Y2|Bit|ANY_BOOL
1163 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
1164
1165 **{{id name="_Toc26897"/}}Device used**
1166
1167 (% class="table-bordered" %)
1168 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|(((
1169 **Offset**
1170
1171 **modification**
1172 )))|(((
1173 **Pulse**
1174
1175 **extension**
1176 )))
1177 |**Y**|**M**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
1178 |(% rowspan="4" %)G90G01|Parameter 1| | |●|●| | | |
1179 |Parameter 2| | |●|●|●|●| |
1180 |Parameter 3|●| | | | | | |
1181 |Parameter 4|●|●| | | | | |
1182
1183 **{{id name="_Toc19729"/}}Features**
1184
1185 This instruction outputs pulses according to the specified port, frequency and running direction, and performs 2-axis/3-axis line interpolation, and servo actuator runs to the target position according to the line interpolation.
1186
1187 (% style="text-align:center" %)
1188 [[image:08_html_af156a7b9cc09d34.jpg||class="img-thumbnail" height="324" width="700"]]
1189
1190 * (s1) is the starting address, and occupies 6 consecutive addresses. s1 is the target position (absolute positioning) of X axis , s1+2 is the target position (absolute positioning) of Y axis, and s1+4 is the target position (absolute positioning) of Z axis. The range is -2147483648 to +2147483647.
1191
1192 * Specify the synthetic output frequency in (s2) . The range is 1 to 141421.
1193 * Specify the device of output pulse in (s2) ,only Y0/Y2 could be specified, and consecutive addresses (Y0, Y1, Y2, Y3) are occupied .
1194
1195 SM345: Set the mode of switching line interpolation. When SM345=0, it is two-axis line interpolation mode. When SM345=1, it is three-axis line interpolation mode.
1196
1197 If d1 specifies Y0 and SM345=0, Y0 and Y1 are occupied. If SM345=1, Y0, Y1 and Y2 are occupied;
1198
1199 If d1 specifies Y2 and SM345=0, Y2 and Y3 are occupied. If SM345=1, the software reports an error.
1200
1201 * {{id name="OLE_LINK6"/}}Specify the bit device of output direction signal in d2 and occupy 3 consecutive addresses, which indicate the directions of the X, Y, and Z axes in turn.
1202
1203 {{id name="_Toc28690"/}}
1204
1205 **✎Note: **
1206
1207 1. Please do not duplicate devices that used for other controls.
1208 1. When using interpolation instructions, the parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
1209 1. Only trapezoidal acceleration and deceleration are supported.
1210 1. The actual synthetic frequency S (the minimum frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
1211
1212 (% style="text-align:center" %)
1213 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
1214
1215 (% style="text-align:center" %)
1216 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
1217
1218 **{{id name="_Toc32765"/}}Error Codes**
1219
1220 (% class="table-bordered" %)
1221 |**Error Codes**|**Contents**
1222 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range
1223 |4085H|The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
1224 |4088H|The same pulse output axis (d1) is used and has been started.
1225
1226 **{{id name="_Toc29603"/}}Example**
1227
1228 (% style="text-align:center" %)
1229 [[image:08_html_c30d92ae8a2303e1.png||class="img-thumbnail"]]
1230
1231 Set Y0 as the interpolation starting axis, Y5 as the direction starting axis, and the maximum speed is 2000, the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a absolute position line interpolation output based on the original position which is with acceleration and deceleration, and the end position is X (Y0) axis 100, Y (Y1) axis 100, and the pulse synthesis frequency is 1000.
1232
1233 == {{id name="_Ref31771"/}}**{{id name="_Toc17391"/}}{{id name="_Toc10640"/}}{{id name="_Toc32642"/}}G91G01 Relative position line interpolation instruction** ==
1234
1235 {{id name="OLE_LINK10"/}}{{id name="_Toc20742"/}}**G91G01**
1236
1237 Execute 2 axis/3 axis line interpolation instruction in relative drive mode. The method of specifying the movement distance from the current position is also called incremental(relative) drive mode.
1238
1239 -[G91G01 (s1) (s2) (d1) (d2) ]
1240
1241 **{{id name="_Toc28861"/}}Content, range and data type**
1242
1243 (% class="table-bordered" %)
1244 |**Parameters**|**Content**|**Range**|**Data type**|**Data type tag**
1245 |(s1)|{{id name="OLE_LINK8"/}}Specify the target position (relative address)|-2147483648 to 2147483647|Signed BIN32|ANY32_S
1246 |(s2)|Specify the synthetic output frequency|1 to 141421|Signed BIN32|ANY32_S
1247 |(d1)|Device (Y) number of output pulse|Y0/Y2|Bit|ANY_BOOL
1248 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
1249
1250 **{{id name="_Toc14801"/}}Device used**
1251
1252 (% class="table-bordered" %)
1253 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|(((
1254 **Offset**
1255
1256 **modification**
1257 )))|(((
1258 **Pulse**
1259
1260 **extension**
1261 )))
1262 |**Y**|**M**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
1263 |(% rowspan="4" %)G91G01|Parameter 1| | |●|●| | | |
1264 |Parameter 2| | |●|●|●|●| |
1265 |Parameter 3|●| | | | | | |
1266 |Parameter 4|●|●| | | | | |
1267
1268 **{{id name="_Toc11871"/}}Features**
1269
1270 This instruction outputs pulses according to the specified port, frequency and running direction, and performs 2-axis line interpolation, and servo actuator performs 2-axis line interpolation with a given offset based on the current position.
1271
1272 (% style="text-align:center" %)
1273 [[image:08_html_b587806f5f71987d.jpg||class="img-thumbnail" height="371" width="800"]]
1274
1275 * (s1) is the starting address, and occupies 6 consecutive addresses. s1 is the target position (relative positioning) of X axis , s1+2 is the target position (relative positioning) of Y axis, and s1+4 is the target position (relative positioning) of Z axis. The range is -2147483648 to +2147483647.
1276
1277 * Specify the synthetic output frequency in (s2) . The range is 1 to 141421.
1278 * Specify the device of output pulse in (s2), only Y0/Y2 could be specified, and consecutive addresses (Y0, Y1, Y2, Y3) are occupied .
1279
1280 SM345: Set the mode of switching line interpolation. When SM345=0, it is two-axis line interpolation mode. When SM345=1, it is three-axis line interpolation mode.
1281
1282 If d1 specifies Y0 and SM345=0, Y0 and Y1 are occupied. If SM345=1, Y0, Y1 and Y2 are occupied;
1283
1284 If d1 specifies Y2 and SM345=0, Y2 and Y3 are occupied. If SM345=1, the software reports an error.
1285
1286 * Specify the bit device of output direction signal in d2 and occupy 3 consecutive addresses, which indicate the directions of the X, Y, and Z axes in turn.
1287
1288 **{{id name="_Toc18437"/}}✎Note: **
1289
1290 1. Please do not duplicate device that used for other controls.
1291 1. When using interpolation instructions, the parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
1292 1. Only trapezoidal acceleration and deceleration are supported.
1293 1. The actual synthetic frequency S (the minimum frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
1294
1295 (% style="text-align:center" %)
1296 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
1297
1298 (% style="text-align:center" %)
1299 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
1300
1301 **{{id name="_Toc8461"/}}Error Codes**
1302
1303 (% class="table-bordered" %)
1304 |**Error Codes**|**Contents**
1305 |4084H|The data input in the application instruction (s1) and (s2) exceed the specified range
1306 |4085H|The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
1307 |4088H|The same pulse output axis (d1) is used and has been started.
1308
1309 **{{id name="_Toc16441"/}}Example**
1310
1311 (% style="text-align:center" %)
1312 [[image:08_html_c30d92ae8a2303e1.png||class="img-thumbnail"]]
1313
1314 {{id name="_Toc26903"/}}Set Y0 as the interpolation starting axis, Y5 as the direction starting axis, and the maximum speed is 2000, and the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a relative position line interpolation output based on the relative position which is with acceleration and deceleration , and the incremental position is X (Y0) axis 100, Y (Y1) axis 100, and the pulse synthesis frequency is 1000.
1315
1316 == {{id name="_Ref31781"/}}**{{id name="_Toc27199"/}}{{id name="_Toc11517"/}}{{id name="_Toc20314"/}}{{id name="OLE_LINK11"/}}G90G02 Absolute position clockwise circular interpolation instruction** ==
1317
1318 **G90G02**
1319
1320 Execute 2 axis clockwise circular interpolation instruction in absolute drive mode. The method of specifying the movement distance from the origin point(zero point) is also called absolute drive mode.
1321
1322 -[G90G02 (s1) (s2) (s3) (d1) (d2) ]
1323
1324 **{{id name="_Toc22972"/}}Content, range and data type**
1325
1326 (% class="table-bordered" %)
1327 |**Parameters**|**Content**|**Range**|**Data type**|**Data type tag**
1328 |(s1)|Specify the target position (absolute address)|-2147483648 to 2147483647|Signed BIN32|ANY32_S
1329 |(s2)|Radius/Center mode|-|Signed BIN32|ANY32_S
1330 |(s3)|Specify the synthetic output frequency|1 to 100000|Signed BIN32|ANY32_S
1331 |(d1)|Device(Y) number for output pulse|Y0|Bit|ANY_BOOL
1332 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
1333
1334 **{{id name="_Toc23094"/}}Soft components**
1335
1336 (% class="table-bordered" %)
1337 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|**Offset modification**|(((
1338 **Pulse**
1339
1340 **extension**
1341 )))
1342 |**Y**|**M**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
1343 |(% rowspan="5" %)G90G02|Parameter 1| | |●|●| | | |
1344 |Parameter 2| | |●|●| | | |
1345 |Parameter 3| | |●|●|●|●| |
1346 |Parameter 4|●| | | | | | |
1347 |Parameter 5|●|●| | | | | |
1348
1349 **{{id name="_Toc25878"/}}Features**
1350
1351 {{id name="OLE_LINK12"/}}This instruction outputs pulses according to the specified port, frequency and running direction, and performs 2-axis clockwise circular interpolation, and servo actuator performs clockwise circular interpolation to run to the target position point.
1352
1353 (% style="text-align:center" %)
1354 [[image:08_html_ca40f9fe262dab7.jpg||class="img-thumbnail" height="482" width="800"]]
1355
1356 * (s1) is the starting address, and occupies 6 consecutive addresses. s1 is the target position (absolute positioning) of X axis , s1+2 is the target position (absolute positioning) of Y axis, and s1+4 is the target position (absolute positioning) of Z axis. The range is -2147483648 to +2147483647.
1357 * Specify radius or center mode in (s2), and occupy 4 consecutive addresses. The center coordinate of s2+0 is in the difference value of the number of pulse output of X axis relative to the current position, or the number of the pulse of radius R. The center coordinate of s2+2 is in the difference value of the number of pulse output of Y axis relative to the current position. When using radius, the value must be 0X7FFF FFFF. The range is 1 to 141421.
1358
1359 * Specify the synthetic output frequency in (s3) . The range is 1 to 100000.
1360 * Specify the device of output pulse in (d1), only Y0 could be specified, and consecutive addresses (Y0, Y1) are occupied .
1361
1362 * Specify the bit device of output direction signal in (d2), and occupy 2 consecutive addresses, which indicate the directions of the X and Y axes in turn.
1363
1364 **{{id name="_Toc7679"/}}✎Note**
1365
1366 1. {{id name="OLE_LINK16"/}}Please do not duplicate device that used for other controls.
1367 1. When using interpolation instruction, the parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
1368 1. The maximum radius supported by circular interpolation is plus or minus 800,000 pulses, and the radius cannot be zero.
1369 1. {{id name="OLE_LINK19"/}}There are two modes for setting s2: IJ mode (circle center coordinate mode) and R mode (radius mode). When the value of s2+2 is set to 0x7FFF FFFF, it is R mode (radius mode), otherwise it is IJ mode (circle center coordinate mode).
1370 1. IJ mode: Regardless of absolute position interpolation or relative position interpolation, s2 is only expressed as the difference of the pulse output number between the coordinates of the center of the circle on the XY axis (Y0/Y1) relative to the current position, and both are in the offset value.
1371 1. R mode (radius mode): When the value of R is greater than 0, it indicates that it is an arc less than or equal to 180 degrees. When the value of R is less than 0, it indicates that it is an arc greater than or equal to 180 degrees. A full circle cannot be generated In R mode because there are infinite solutions.
1372 1. When s1 indicates the relative position of the target position, a reasonable target position needs to be set to ensure that the target arc path can be generated correctly. When s1+0=0 and s1+2=0, it means that a full circle is generated.
1373 1. When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0);
1374 1. The actual synthetic frequency S (the lowest frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
1375
1376 (% style="text-align:center" %)
1377 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
1378
1379 (% style="text-align:center" %)
1380 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
1381
1382 **Error Codes**
1383
1384 (% class="table-bordered" %)
1385 |(% style="width:134px" %)**Error Codes**|(% style="width:947px" %)**Contents**
1386 |(% style="width:134px" %)4084H|(% style="width:947px" %)The data input in the application instruction (s1) and (s2) exceed the specified range
1387 |(% style="width:134px" %)4085H|(% style="width:947px" %)The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
1388 |(% style="width:134px" %)4088H|(% style="width:947px" %)The same pulse output axis (d1) is used and has been started.
1389 |(% style="width:134px" %)4F90H|(% style="width:947px" %)In radius mode, the radius is not in the range.
1390 |(% style="width:134px" %)4F92H|(% style="width:947px" %)In center/radius mode, the error of quadrant calculation is caused by the large deviation between the set coordinate of the end point and the theoretical end point of circle.
1391 |(% style="width:134px" %)4F93H|(% style="width:947px" %)In radius mode, the chord length is greater than the diameter.
1392 |(% style="width:134px" %)4F95H|(% style="width:947px" %)In center mode, the distance between the circle center and the starting point, and the distance between the circle center and the end point are not in the range of -10 to 10.
1393 |(% style="width:134px" %)4F96H|(% style="width:947px" %)In radius mode, when the absolute/relative mode calculates that the starting point is the same as the target position, a full circle cannot be generated.
1394 |(% style="width:134px" %)4F97H|(% style="width:947px" %)In center mode, the calculated radius distance is greater than the maximum radius range, which is positive or negative 800000 pulse.
1395
1396 **{{id name="OLE_LINK268"/}}Example**
1397
1398 (% style="text-align:center" %)
1399 [[image:08_html_c30d92ae8a2303e1.png||class="img-thumbnail"]]
1400
1401 Set Y0 as the interpolation starting axis, Y5 as the direction starting axis, and the maximum speed is 2000, and the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a absolute position clockwise circular interpolation output based on the absolute position with acceleration and deceleration, and the target position is X (Y0) axis 100, Y (Y1) axis 100, and the the radius is 1000 pulse in radius mode, and the pulse synthesis frequency is 1000.
1402
1403 == **G91G02 Relative position clockwise circular interpolation instruction** ==
1404
1405 **G91G02**
1406
1407 Execute 2 axis clockwise circular interpolation instruction in relative drive mode. The method of specifying the movement distance from the current position is also called incremental(relative) drive mode.
1408
1409 -[G91G02 (s1) (s2) (s3) (d1) (d2) ]
1410
1411 **{{id name="_Toc22304"/}}Content, range and data type**
1412
1413 (% class="table-bordered" %)
1414 |**Parameters**|**Content**|**Range**|**Data type**|**Data type tag**
1415 |(s1)|Specify the target position (relative address)|-2147483648 to 2147483647|Signed BIN32|ANY32_S
1416 |(s2)|Radius/center mode|-|Signed BIN32|ANY32_S
1417 |(s3)|Specify the synthetic output frequency|1 to 100000|Signed BIN32|ANY32_S
1418 |(d1)|Device (Y) number for output pulse|Y0|Bit|ANY_BOOL
1419 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
1420
1421 **{{id name="_Toc20331"/}}Device used**
1422
1423 (% class="table-bordered" %)
1424 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|(((
1425 **Offset**
1426
1427 **modification**
1428 )))|(((
1429 **Pulse**
1430
1431 **extension**
1432 )))
1433 |**Y**|**M**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
1434 |(% rowspan="5" %)G91G02|Parameter 1| | |●|●| | | |
1435 |Parameter 2| | |●|●| | | |
1436 |Parameter 3| | |●|●|●|●| |
1437 |Parameter 4|●| | | | | | |
1438 |Parameter 5|●|●| | | | | |
1439
1440 **Features**
1441
1442 This instruction outputs pulses according to the specified port, frequency and running direction, performs 2-axis clockwise circular interpolation, and servo actuator performs 2-axis clockwise circular interpolation with a given offset based in current position.
1443
1444 (% style="text-align:center" %)
1445 [[image:08_html_af9751b2294f613b.jpg||class="img-thumbnail" height="482" width="800"]]
1446
1447 * {{id name="OLE_LINK18"/}}s1 is the starting address, and occupies 4 consecutive addresses. s1 is the target position of X axis (relative positioning), s1+2 is the target position of Y axis (relative positioning). The range is -2147483648 to +2147483647.
1448 * {{id name="OLE_LINK20"/}}Specify radius or center mode in (s2), and occupy 4 consecutive addresses. The center coordinate of s2+0 is in the difference value of the number of pulse output of X axis relative to the current position, or the number of the pulse of radius R. The center coordinate of s2+2 is in the difference value of the number of pulse output of Y axis relative to the current position. When using radius, the value must be 0X7FFF FFFF. The range is 1 to 141421.
1449
1450 * Specify the synthetic output frequency in (s3) . The range is 1 to 100000.
1451 * Specify the device of output pulse in (d1), only Y0 could be specified, and consecutive addresses (Y0, Y1) are occupied .
1452
1453 * Specify the bit device of output direction signal in (d2), and occupy 2 consecutive addresses, which indicate the directions of the X and Y axes in turn.
1454
1455 {{id name="_Toc604"/}}✎**Note: **
1456
1457 1. Please do not duplicate device that used for other controls.
1458 1. When using interpolation instruction, the parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
1459 1. The maximum radius supported by circular interpolation is plus or minus 800,000 pulses, and the radius cannot be zero.
1460 1. There are two modes for setting s2: IJ mode (circle center coordinate mode) and R mode (radius mode). When the value of s2+2 is set to 0x7FFF FFFF, it is R mode (radius mode), otherwise it is IJ mode (circle center coordinate mode).
1461 1. IJ mode: Regardless of absolute position interpolation or relative position interpolation, s2 is only expressed as the difference of the pulse output number between the coordinates of the center of the circle on the XY axis (Y0/Y1) relative to the current position, and both are in the offset value.
1462 1. R mode (radius mode): When the value of R is greater than 0, it indicates that it is an arc less than or equal to 180 degrees. When the value of R is less than 0, it indicates that it is an arc greater than or equal to 180 degrees. A full circle cannot be generated In R mode because there are infinite solutions.
1463 1. When s1 indicates the relative position of target position, a reasonable target position needs to be set to ensure that the target arc path can be generated correctly. When s1+0=0 and s1+2=0, it means that a full circle is generated.
1464 1. When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0);
1465 1. The actual synthetic frequency S (the lowest frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
1466
1467 (% style="text-align:center" %)
1468 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
1469
1470 (% style="text-align:center" %)
1471 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
1472
1473 **Error Codes**
1474
1475 (% class="table-bordered" %)
1476 |(% style="width:135px" %)**Error Codes**|(% style="width:946px" %)**Contents**
1477 |(% style="width:135px" %)4084H|(% style="width:946px" %)The data input in the application instruction (s1) and (s2) exceed the specified range
1478 |(% style="width:135px" %)4085H|(% style="width:946px" %)The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
1479 |(% style="width:135px" %)4088H|(% style="width:946px" %)The same pulse output axis (d1) is used and has been started.
1480 |(% style="width:135px" %)4F90H|(% style="width:946px" %)In radius mode, the radius is not in the range.
1481 |(% style="width:135px" %)4F92H|(% style="width:946px" %)In center/radius mode, the error of quadrant calculation is caused by the large deviation between the set coordinate of the end point and the theoretical end point of circle.
1482 |(% style="width:135px" %)4F93H|(% style="width:946px" %)In radius mode, the chord length is greater than the diameter.
1483 |(% style="width:135px" %)4F95H|(% style="width:946px" %)In center mode, the distance between the circle center and the starting point, and the distance between the circle center and the end point are not in the range of [-10-10].
1484 |(% style="width:135px" %)4F96H|(% style="width:946px" %)In radius mode, when the absolute/relative mode calculates that the starting point is the same as the target position, a full circle cannot be generated.
1485 |(% style="width:135px" %)4F97H|(% style="width:946px" %)In center mode, the calculated radius distance is greater than the maximum radius range, which is plus or minus 800,000 pulses.
1486
1487 **Example**{{id name="OLE_LINK22"/}}
1488
1489 (% style="text-align:center" %)
1490 [[image:08_html_c30d92ae8a2303e1.png||class="img-thumbnail"]]
1491
1492 {{id name="OLE_LINK21"/}}Set Y0 as the interpolation starting axis, Y5 as the direction starting axis, and the maximum speed is 2000, and the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a relative position clockwise circular interpolation output based on relative position with acceleration and deceleration, and the incremental position is X (Y0) axis 100, Y (Y1) axis 100, and the the radius is 1000 pulse in radius mode, and the pulse synthesis frequency is 1000.
1493
1494 == **G90G03 Absolute position counterclockwise circular interpolation instruction** ==
1495
1496 G90G03
1497
1498 Execute 2 axis counterclockwise circular interpolation instruction in absolute drive mode. The method of specifying the movement distance from the origin (zero point) is also called absolute drive method.
1499
1500 -[G90G03 (s1) (s2) (s3) (d1) (d2) ]
1501
1502 **{{id name="_Toc13915"/}}Content, range and data type**
1503
1504 (% class="table-bordered" %)
1505 |**Parameters**|**Content**|**Range**|**Data type**|**Data type tag**
1506 |(s1)|Specify the target position (absolute address)|-2147483648 to 2147483647|Signed BIN32|ANY32_S
1507 |(S2)|Radius/center mode|-|Signed BIN32|ANY32_S
1508 |(s3)|Specify the synthetic output frequency|1 to 100000|Signed BIN32|ANY32_S
1509 |(d1)|Device (Y) number for output pulse|Y0|Bit|ANY_BOOL
1510 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
1511
1512 **{{id name="_Toc7394"/}}Device used**
1513
1514 (% class="table-bordered" %)
1515 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|(((
1516 **Offset**
1517
1518 **modification**
1519 )))|(((
1520 **Pulse**
1521
1522 **extension**
1523 )))
1524 |**Y**|**M**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
1525 |(% rowspan="5" %)G90G03|Parameter 1| | |●|●| | | |
1526 |Parameter 2| | |●|●| | | |
1527 |Parameter 3| | |●|●|●|●| |
1528 |Parameter 4|●| | | | | | |
1529 |Parameter 5|●|●| | | | | |
1530
1531 **{{id name="_Toc8518"/}}Features**
1532
1533 This instruction outputs pulses according to the specified port, frequency and running direction, performs 2-axis counterclockwise circular interpolation, and the servo actuator performs counterclockwise circular interpolation to run to the target position point.
1534
1535 (% style="text-align:center" %)
1536 [[image:08_html_7ad9ac91f5066720.jpg||class="img-thumbnail" height="491" width="800"]]
1537
1538 * s1 is the starting address, and occupies 4 consecutive addresses. s1 is the target position of X axis (absolute positioning), s1+2 is the target position of Y axis (absolute positioning). The range is -2147483648 to +2147483647.
1539 * Specify radius or center mode in (s2), and occupy 4 consecutive addresses. The center coordinate of s2+0 is in the difference value of the number of pulse output of X axis relative to the current position, or the number of the pulse of radius R. The center coordinate of s2+2 is in the difference value of the number of pulse output of Y axis relative to the current position. When using radius, the value must be 0X7FFF FFFF. The range is 1 to 141421.
1540
1541 * Specify the synthetic output frequency in (s3) . The range is 1 to 100000.
1542 * Specify the device of output pulse in (d1), only Y0 could be specified, and consecutive addresses (Y0, Y1) are occupied .
1543
1544 * Specify the bit device of output direction signal in (d2), and occupy 2 consecutive addresses, which indicate the directions of the X and Y axes in turn.
1545
1546 **{{id name="_Toc29538"/}}✎Note: **
1547
1548 1. Please do not duplicate device that used for other controls.
1549 1. When using interpolation instruction, the parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
1550 1. The maximum radius supported by circular interpolation is plus or minus 800,000 pulses, and the radius cannot be zero.
1551 1. There are two modes for setting s2: IJ mode (circle center coordinate mode) and R mode (radius mode). When the value of s2+2 is set to 0x7FFF FFFF, it is R mode (radius mode), otherwise it is IJ mode (circle center coordinate mode).
1552 1. IJ mode: Regardless of absolute position interpolation or relative position interpolation, s2 is only as the difference of the pulse output number between the coordinates of the center of the circle on the XY axis (Y0/Y1) relative to the current position, and both are in the offset value.
1553 1. R mode (radius mode): When the value of R is greater than 0, it indicates that it is an arc less than or equal to 180 degrees. When the value of R is less than 0, it indicates that it is an arc greater than or equal to 180 degrees. A full circle cannot be generated In R mode because there are infinite solutions.
1554 1. When s1 indicates the relative position of target position, a reasonable target position needs to be set to ensure that the target arc path can be generated correctly. When s1+0=0 and s1+2=0, it means that a full circle is generated.
1555 1. When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0);
1556 1. The actual synthetic frequency S (the lowest frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
1557
1558 (% style="text-align:center" %)
1559 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
1560
1561 (% style="text-align:center" %)
1562 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
1563
1564 **Error Codes**
1565
1566 (% class="table-bordered" %)
1567 |(% style="width:116px" %)**Error Codes**|(% style="width:965px" %)**Contents**
1568 |(% style="width:116px" %)4084H|(% style="width:965px" %)The data input in the application instruction (s1) and (s2) exceed the specified range
1569 |(% style="width:116px" %)4085H|(% style="width:965px" %)The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
1570 |(% style="width:116px" %)4088H|(% style="width:965px" %)The same pulse output axis (d1) is used and has been started.
1571 |(% style="width:116px" %)4F90H|(% style="width:965px" %)In radius mode, the radius is not in the range.
1572 |(% style="width:116px" %)4F92H|(% style="width:965px" %)In center/radius mode, the error of quadrant calculation is caused by the large deviation between the set coordinate of the end point and the theoretical end point of circle.
1573 |(% style="width:116px" %)4F93H|(% style="width:965px" %)In radius mode, the chord length is greater than the diameter.
1574 |(% style="width:116px" %)4F95H|(% style="width:965px" %)In center mode, the distance between the circle center and the starting point, and the distance between the circle center and the end point are not in the range of [-10-10].
1575 |(% style="width:116px" %)4F96H|(% style="width:965px" %)In radius mode, when the absolute/relative mode calculates that the starting point is the same as the target position, a full circle cannot be generated.
1576 |(% style="width:116px" %)4F97H|(% style="width:965px" %)In center mode, the calculated radius distance is greater than the maximum radius range, which is plus or minus 800,000 pulses.
1577
1578 **Example**
1579
1580 (% style="text-align:center" %)
1581 [[image:08_html_c30d92ae8a2303e1.png||class="img-thumbnail"]]
1582
1583 Set Y0 as the interpolation starting axis, Y5 as the direction starting axis, the maximum speed is 2000, the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a absolute position counterclockwise circular interpolation output based on relative position with acceleration and deceleration, and the target position is X (Y0) axis 100, Y (Y1) axis 100, and the the radius is 1000 pulse in radius mode, and the pulse synthesis frequency is 1000.
1584
1585 == {{id name="_Ref31892"/}}**{{id name="_Toc1720"/}}{{id name="_Toc12908"/}}{{id name="_Toc10325"/}}G91G03 Relative position counterclockwise circular interpolation instruction** ==
1586
1587 **G91G03**
1588
1589 Execute 2 axis reverse circular interpolation instruction in relative drive mode. The method of specifying the movement distance from the current position is also called relative (incremental)drive method.
1590
1591 -[G91G03 (s1) (s2) (s3) (d1) (d2) ]
1592
1593 **{{id name="_Toc22084"/}}Content, range and data type**
1594
1595 (% class="table-bordered" %)
1596 |**Parameters**|**Content**|**Range**|**Data type**|**Data type**
1597 |(s1)|Specify the target position (relative address)|-2147483648 to 2147483647|Signed BIN32|ANY32_S
1598 |(s2)|Radius/center mode|-|Signed BIN32|ANY32_S
1599 |(s3)|Specify the synthetic output frequency|1 to 100000|Signed BIN32|ANY32_S
1600 |(d1)|Soft component (Y) number for output pulse|Y0|Bit|ANY_BOOL
1601 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
1602
1603 **{{id name="_Toc6554"/}}Device used**
1604
1605 (% class="table-bordered" %)
1606 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|(((
1607 **Offset**
1608
1609 **modification**
1610 )))|(((
1611 **Pulse**
1612
1613 **extension**
1614 )))
1615 |**Y**|**M**|**D**|**R**|**K**|(% style="width:51px" %)**H**|**[D]**|**XXP**
1616 |(% rowspan="5" %)G91G03|Parameter 1| | |●|●| |(% style="width:51px" %) | |
1617 |Parameter 2| | |●|●| |(% style="width:51px" %) | |
1618 |Parameter 3| | |●|●|●|(% style="width:51px" %)●| |
1619 |Parameter 4|●| | | | |(% style="width:51px" %) | |
1620 |Parameter 5|●|●| | | |(% style="width:51px" %) | |
1621
1622 **{{id name="_Toc12633"/}}Features**
1623
1624 This instruction outputs pulses according to the specified port, frequency and running direction, performs 2-axis counterclockwise circular interpolation, and servo actuator performs a 2-axis counterclockwise circular interpolation with a given offset based in current position.
1625
1626 (% style="text-align:center" %)
1627 [[image:08_html_445649f805e910a5.jpg||class="img-thumbnail" height="491" width="800"]]
1628
1629 * s1 is the starting address, and occupies 4 consecutive addresses. s1 is the target position of X axis (absolute positioning), s1+2 is the target position of Y axis (absolute positioning). The range is -2147483648 to +2147483647.
1630 * Specify radius or center mode in (s2), and occupy 4 consecutive addresses. The center coordinate of s2+0 is in the difference value of the number of pulse output of X axis relative to the current position, or the number of the pulse of radius R. The center coordinate of s2+2 is in the difference value of the number of pulse output of Y axis relative to the current position. When using radius, the value must be 0X7FFF FFFF. The range is 1 to 141421.
1631
1632 * Specify the synthetic output frequency in (s3) . The range is 1 to 100000.
1633 * Specify the device of output pulse in (d1), only Y0 could be specified, and consecutive addresses (Y0, Y1) are occupied .
1634
1635 * Specify the bit device of output direction signal in (d2), and occupy 2 consecutive addresses, which indicate the directions of the X and Y axes in turn.
1636
1637 **{{id name="_Toc7624"/}}✎Note: **
1638
1639 1. Please do not duplicate device that used for other controls.
1640 1. When using interpolation instruction, the parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
1641 1. The maximum radius supported by circular interpolation is plus or minus 800,000 pulses, and the radius cannot be zero.
1642 1. There are two modes for setting s2: IJ mode (circle center coordinate mode) and R mode (radius mode). When the value of s2+2 is set to 0x7FFF FFFF, it is R mode (radius mode), otherwise it is IJ mode (circle center coordinate mode).
1643 1. IJ mode: Regardless of absolute position interpolation or relative position interpolation, s2 is only as the difference of the pulse output number between the coordinates of the center of the circle on the XY axis (Y0/Y1) relative to the current position, and both are in the offset value.
1644 1. R mode (radius mode): When the value of R is greater than 0, it indicates that it is an arc less than or equal to 180 degrees. When the value of R is less than 0, it indicates that it is an arc greater than or equal to 180 degrees. A full circle cannot be generated In R mode because there are infinite solutions.
1645 1. When s1 indicates the relative position of target position, a reasonable target position needs to be set to ensure that the target arc path can be generated correctly. When s1+0=0 and s1+2=0, it means that a full circle is generated.
1646 1. When using the interpolation instruction, parameter settings (such as celebration/deceleration time and so on) are subject to the X axis (Y0);
1647 1. The actual synthetic frequency S (the lowest frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
1648
1649 (% style="text-align:center" %)
1650 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
1651
1652 (% style="text-align:center" %)
1653 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
1654
1655 **Error Codes**
1656
1657 (% class="table-bordered" %)
1658 |(% style="width:132px" %)**Error Codes**|(% style="width:949px" %)**Contents**
1659 |(% style="width:132px" %)4084H|(% style="width:949px" %)The data input in the application instruction (s1) and (s2) exceed the specified range
1660 |(% style="width:132px" %)4085H|(% style="width:949px" %)The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
1661 |(% style="width:132px" %)4088H|(% style="width:949px" %)The same pulse output axis (d1) is used and has been started.
1662 |(% style="width:132px" %)4F90H|(% style="width:949px" %)In radius mode, the radius is not in the range.
1663 |(% style="width:132px" %)4F92H|(% style="width:949px" %)In center/radius mode, the error of quadrant calculation is caused by the large deviation between the set coordinate of the end point and the theoretical end point of circle.
1664 |(% style="width:132px" %)4F93H|(% style="width:949px" %)In radius mode, the chord length is greater than the diameter.
1665 |(% style="width:132px" %)4F95H|(% style="width:949px" %)In center mode, the distance between the circle center and the starting point, and the distance between the circle center and the end point are not in the range of [-10-10].
1666 |(% style="width:132px" %)4F96H|(% style="width:949px" %)In radius mode, when the absolute/relative mode calculates that the starting point is the same as the target position, a full circle cannot be generated.
1667 |(% style="width:132px" %)4F97H|(% style="width:949px" %)In center mode, the calculated radius distance is greater than the maximum radius range, which is plus or minus 800,000 pulses.
1668
1669 **Example**
1670
1671 (% style="text-align:center" %)
1672 [[image:08_html_c30d92ae8a2303e1.png||class="img-thumbnail"]]
1673
1674 Set Y0 as the interpolation starting axis, Y5 as the direction starting axis, the maximum speed is 2000, the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a relative position reverse circular interpolation output based on relative position with acceleration and deceleration, and the incremental position is X (Y0) axis 100, Y (Y1) axis 100, and the the radius is 1000 pulse in radius mode, and the pulse synthesis frequency is 1000.
1675
1676 == {{id name="_Ref31901"/}}**{{id name="_Toc7584"/}}{{id name="_Toc8429"/}}{{id name="_Toc13595"/}}{{id name="_Toc10219"/}}G90G02H Absolute position clockwise circular helical interpolation instruction** ==
1677
1678 **G90G02H**
1679
1680 Execute 3 axis clockwise circular interpolation instruction in absolute drive mode. The method of specifying the movement distance from the origin point(zero point) is also called absolute drive mode.
1681
1682 -[G90G02H (s1) (s2) (s3) (d1) (d2) ]
1683
1684 **{{id name="_Toc20629"/}}Content, range and data type**
1685
1686 (% class="table-bordered" %)
1687 |**Parameters**|**Content**|**Range**|**Data type**|**Data type**
1688 |(s1)|Specify the target position (absolute address)|-2147483648 to +2147483647|Signed BIN32|ANY32_S
1689 |(s2)|Radius/Center mode|-|Signed BIN32|ANY32_S
1690 |(s3)|Specify synthetic output frequency|1 to 100000|Signed BIN32|ANY32_S
1691 |(d1)|Device(Y) number for output pulse|Y0|Bit|ANY_BOOL
1692 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
1693
1694 **{{id name="_Toc5954"/}}Device used**
1695
1696 (% class="table-bordered" %)
1697 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|(((
1698 **Offset**
1699
1700 **modification**
1701 )))|(((
1702 **Pulse**
1703
1704 **extension**
1705 )))
1706 |**Y**|**M**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
1707 |(% rowspan="5" %)G90G02H|Parameter 1| | |●|●| | | |
1708 |Parameter 2| | |●|●| | | |
1709 |Parameter 3| | |●|●|●|●| |
1710 |Parameter 4|●| | | | | | |
1711 |Parameter 5|●|●| | | | | |
1712
1713 **{{id name="_Toc15198"/}}Features**
1714
1715 This instruction outputs pulses according to the specified port, frequency and running direction, and performs 3-axis clockwise circular helical interpolation, and servo actuator performs clockwise helical interpolation to run to the target position point.
1716
1717 (% style="text-align:center" %)
1718 [[image:08_html_769e3269fb4c782e.png||class="img-thumbnail"]]
1719
1720 * (s1) is the starting address, and occupies 8 consecutive addresses. s1 is the target position (absolute positioning) of X axis , s1+2 is the target position (absolute positioning) of Y axis, and s1+4 is the target position (absolute positioning) of Z axis, and s1+6 is the lead range of Z axis. The lead range is,,[[image:08_html_8d829d6ac7cb190d.gif]] ,,.(The range is -2147483648 to +2147483647.)
1721 * Specify radius or center mode in (s2), and occupy 4 consecutive addresses. The coordinate of circle center of s2+0 is in the difference value of the number of pulse output of X axis relative to the current position, or the number of the pulse of radius R. The coordinate of circle center of s2+2 is in the difference value of the number of pulse output of Y axis relative to the current position. When using radius, the value must be 0X7FFF FFFF. The range is 1 to 141421.
1722
1723 * Specify the synthetic output frequency in (s3) . The range is 1 to 100000. Helical interpolation can switch the synthetic frequency by setting SM901. 0 means default, and the synthetic frequency is the frequency of the linear velocity of helix. 1 means that the synthetic frequency is the frequency of the linear velocity of the arc of arc plane, that is, the actual synthetic frequency is greater than the setting synthetic frequency.
1724 * Specify the device of output pulse in (d1), only Y0 could be specified, and consecutive addresses (Y0, Y1,Y2) are occupied .
1725
1726 * Specify the bit device of output direction signal in (d2), and occupy 3 consecutive addresses, which indicates the directions of the X, Y and Z axes in turn. It is recommended to specify direction signal in (Y00-Y07).
1727
1728 **{{id name="_Toc23636"/}}✎Note: **
1729
1730 (1) Please do not duplicate device that used for other controls.
1731
1732 (2) When using interpolation instruction, parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
1733
1734 (3) The maximum radius supported by helical interpolation is plus or minus 800,000 pulses, and the radius cannot be zero.
1735
1736 (4) There are two modes for setting s2: IJ mode (circle center coordinate mode) and R mode (radius mode). When the value of s2+2 is set to 0x7FFF FFFF, it is R mode (radius mode), otherwise it is IJ mode (circle center coordinate mode).
1737
1738 (5) IJ mode: Regardless of absolute position interpolation or relative position interpolation, s2 is only expressed as the difference of the pulse output number between the coordinates of circle center on the XY axis (Y0/Y1) relative to the current position, and both are in the offset value.
1739
1740 (6) In helical interpolation R mode (radius mode): When the value of R is greater than 0, it indicates that from the starting point coordinate to the set end point coordinate in the circular plane of XY is an arc less than or equal to 180 degrees. When the value of R is less than 0, it indicates that from the starting point coordinate to the set end point coordinate in the circular plane of XY is an arc greater than or equal to 180 degrees, and the actual passing angle is determined by the endpoint of Z axis and the lead K. ( If Ze=75, lead K=50, and the actual radian ,,[[image:08_html_16dfa306a6cd6123.gif||class="img-thumbnail"]] ,,)
1741
1742 (7) When using the interpolation instruction, parameter settings (such as acceleration/deceleration time and so on) are subject to the X axis (Y0);
1743
1744 (8) The actual synthetic frequency S (the lowest frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
1745
1746 (% style="text-align:center" %)
1747 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
1748
1749 (% style="text-align:center" %)
1750 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
1751
1752 (9) Exact match pitch of screws (lead) K and ,,[[image:08_html_26235c6907b42965.gif||class="img-thumbnail"]] .,,
1753
1754 The starting point coordinate of helical interpolation is ,,[[image:08_html_5aecdb267e93e1ef.gif||class="img-thumbnail"]] ,,, set the end point coordinate to ,,[[image:08_html_62eafa46570f5bd9.gif||class="img-thumbnail"]] ,,,the number of turns of helical interpolation [[image:08_html_f1878c8190771c9b.gif||class="img-thumbnail"]] is determined by formula (1), and recalculate the end point coordinates of X axis and Y axis according to the number of turns of interpolation.
1755
1756 The final interpolation result is: make sure that lead is equal to K, and the end point of Z axis is equal to,,[[image:08_html_26235c6907b42965.gif||class="img-thumbnail"]] ,,.The actual end point position of X and Y axes ,,[[image:08_html_812f611042b80df0.gif||class="img-thumbnail"]] ,,may not be equal to the set ,,[[image:08_html_72a7340925bd2eea.gif||class="img-thumbnail"]] ,,, but it must pass through the set point ,,[[image:08_html_72a7340925bd2eea.gif||class="img-thumbnail"]] ,,in the whole circle.
1757
1758 ,,[[image:08_html_d3f40984948fb2f1.gif||class="img-thumbnail"]] ,,(1)
1759
1760 (10) In helical interpolation radius mode, the center distribution table of whole circle is as below. (For example: the starting point coordinate ,,[[image:08_html_3ed96de3414e2c4d.gif]] ,,,the end point coordinate,,[[image:08_html_a9e3b53d7dfa134a.gif||class="img-thumbnail"]] ,,).
1761
1762 (% class="table-bordered" %)
1763 |**Helical interpolation direction**|**Radius value R**|**Coordinate of circle center**|**Helical interpolation direction**|**Radius value R**|**Coordinate of circle center**
1764 |(% rowspan="2" %)Clockwise circular|R > 0|(0,R)|(% rowspan="2" %)Counterclockwise circular|R > 0|(0,-R)
1765 |-R < 0|(0,-R)|-R < 0|(0,R)
1766
1767 **Error Codes**
1768
1769 (% class="table-bordered" %)
1770 |(% style="width:139px" %)**Error Codes**|(% style="width:942px" %)**Contents**
1771 |(% style="width:139px" %)4084H|(% style="width:942px" %)The data input in the application instruction (s1) and (s2) exceed the specified range
1772 |(% style="width:139px" %)4085H|(% style="width:942px" %)The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
1773 |(% style="width:139px" %)4088H|(% style="width:942px" %)The same pulse output axis (d1) is used and has been started.
1774 |(% style="width:139px" %)4F90H|(% style="width:942px" %)In radius mode, the radius is not in the range.
1775 |(% style="width:139px" %)4F92H|(% style="width:942px" %)In center/radius mode, the error of quadrant calculation is caused by the large deviation between the set coordinate of the end point and the theoretical end point of circle.
1776 |(% style="width:139px" %)4F93H|(% style="width:942px" %)In radius mode, the chord length is greater than the diameter.
1777 |(% style="width:139px" %)4F95H|(% style="width:942px" %)In center mode, the distance between the circle center and the starting point, and the distance between the circle center and the end point are not in the range of [-10-10].
1778 |(% style="width:139px" %)4F97H|(% style="width:942px" %)In center mode, the calculated radius distance is greater than the maximum radius range, which is positive or negative 800,000 pulse.
1779 |(% style="width:139px" %)4F98H|(% style="width:942px" %)Helical interpolation error, Z axis is the main axis.(The coordinate of Z axis is greater than the number of of virtual main axis of circular plane)
1780 |(% style="width:139px" %)4F99H|(% style="width:942px" %)Helical interpolation error, Z axis is 0.
1781 |(% style="width:139px" %)4F9BH|(% style="width:942px" %)Lead setting exceeds the range.(Lead ,,[[image:08_html_63ad102f937fdad0.gif]] ,,)
1782
1783 **{{id name="_Toc12418"/}}Example**
1784
1785 (% style="text-align:center" %)
1786 [[image:08_html_61693f5f524ad69e.png||class="img-thumbnail"]]
1787
1788 Set Y0 as the interpolation starting axis, Y4 as the direction starting axis, and the maximum speed is 2000, and the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a absolute position clockwise circular helical interpolation output based on the absolute position with acceleration and deceleration, and the target position is X (Y0) axis 0, Y (Y1) axis 0 and Z (Y2) axis 5000, and the lead is 5000, and the radius is 5000 pulse in radius mode, and the synthesis frequency is 1000.
1789
1790 == {{id name="_Ref31918"/}}**{{id name="_Toc12793"/}}{{id name="_Toc9051"/}}{{id name="_Toc18572"/}}G91G02H Relative position clockwise circular helical interpolation instruction** ==
1791
1792 **G91G02H**
1793
1794 Execute 3 axis clockwise circular interpolation instruction in relative drive mode. The method of specifying the movement distance from current point is also called incremental (relative) drive mode.
1795
1796 -[G91G02H (s1) (s2) (s3) (d1) (d2) ]
1797
1798 **{{id name="_Toc2555"/}}Content, range and data type**
1799
1800 (% class="table-bordered" %)
1801 |**Parameters**|**Content**|**Range**|**Data type**|**Data type**
1802 |(s1)|Specify the target position (relative address)|-2147483648 to 2147483647|Signed BIN32|ANY32_S
1803 |(s2)|Radius/Center mode|-|Signed BIN32|ANY32_S
1804 |(s3)|Specify synthetic output frequency|1 to 100000|Signed BIN32|ANY32_S
1805 |(d1)|Device(Y) number for output pulse|Y0|Bit|ANY_BOOL
1806 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
1807
1808 **{{id name="_Toc10608"/}}Device used**
1809
1810 (% class="table-bordered" %)
1811 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|(((
1812 **Offset**
1813
1814 **modification**
1815 )))|(((
1816 **Pulse**
1817
1818 **extension**
1819 )))
1820 |**Y**|**M**|**D**|**R**|**K**|**H**|**[D]**|**XXP**
1821 |(% rowspan="5" %)G91G02H|Parameter 1| | |●|●| | | |
1822 |Parameter 2| | |●|●| | | |
1823 |Parameter 3| | |●|●|●|●| |
1824 |Parameter 4|●| | | | | | |
1825 |Parameter 5|●|●| | | | | |
1826
1827 **{{id name="_Toc24213"/}}Features**
1828
1829 This instruction outputs pulses according to the specified port, frequency and running direction, and performs 3-axis clockwise circular helical interpolation, and servo actuator performs clockwise helical interpolation to run to the target position point.
1830
1831 (% style="text-align:center" %)
1832 [[image:08_html_769e3269fb4c782e.png||class="img-thumbnail"]]
1833
1834 * (s1) is the starting address, and occupies 8 consecutive addresses. s1 is the target position (relative positioning) of X axis , s1+2 is the target position (relative positioning) of Y axis, and s1+4 is the target position (relative positioning) of Z axis, and s1+6 is the lead range of Z axis. The lead range is,,[[image:08_html_8d829d6ac7cb190d.gif]] ,,.(The range is -2147483648 to +2147483647.)
1835 * Specify radius or center mode in (s2), and occupy 4 consecutive addresses. The coordinate of circle center of s2+0 is in the difference value of the number of pulse output of X axis relative to the current position, or the number of the pulse of radius R. The coordinate of circle center of s2+2 is in the difference value of the number of pulse output of Y axis relative to the current position. When using radius, the value must be 0X7FFF FFFF. The range is 1 to 141421.
1836
1837 * Specify the synthetic output frequency in (s3). The range is 1 to 100000. Helical interpolation can switch the synthetic frequency by setting SM901. 0 means default, and the synthetic frequency is the frequency of the linear velocity of helix. 1 means that the synthetic frequency is the frequency of the linear velocity of the arc of arc plane, that is, the actual synthetic frequency is greater than the setting synthetic frequency.
1838 * Specify the device of output pulse in (d1), only Y0 could be specified, and consecutive addresses (Y0, Y1,Y2) are occupied .
1839
1840 * Specify the bit device of output direction signal in (d2), and occupy 3 consecutive addresses, which indicates the directions of the X, Y and Z axes in turn. It is recommended to specify direction signal in (Y00-Y07).
1841
1842 **{{id name="_Toc9933"/}}✎Note: **
1843
1844 (1) Please do not duplicate device that used for other controls.
1845
1846 (2) When using interpolation instruction, parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
1847
1848 (3) The maximum radius supported by helical interpolation is plus or minus 800,000 pulses, and the radius cannot be zero.
1849
1850 (4) There are two modes for setting s2: IJ mode (circle center coordinate mode) and R mode (radius mode). When the value of s2+2 is set to 0x7FFF FFFF, it is R mode (radius mode), otherwise it is IJ mode (circle center coordinate mode).
1851
1852 (5) IJ mode: Regardless of absolute position interpolation or relative position interpolation, s2 is only expressed as the difference of the pulse output number between the coordinates of the circle center on the XY axis (Y0/Y1) relative to the current position, and both are in the offset value.
1853
1854 (6) In helical interpolation R mode (radius mode) : When the value of R is greater than 0, it indicates that from starting point coordinate to the setting end point coordinate in the circular plane of XY is an arc less than or equal to 180 degrees. When the value of R is less than 0, it indicates that from starting point coordinate to the setting end point coordinate in the circular plane of XY is an arc greater than or equal to 180 degrees, and the actual passing angle is determined by the endpoint of Z axis and the lead K. ( If Ze=75, lead K=50, and the actual radian ,,[[image:08_html_16dfa306a6cd6123.gif||class="img-thumbnail"]] ,,)
1855
1856 (7) When using interpolation instruction, parameter settings (such as acceleration/deceleration time and so on) are subject to the X axis (Y0);
1857
1858 (8) The actual synthetic frequency S (the lowest frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
1859
1860 (% style="text-align:center" %)
1861 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
1862
1863 (% style="text-align:center" %)
1864 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
1865
1866 (9) Exact match pitch of screws (lead) K and ,,[[image:08_html_26235c6907b42965.gif||class="img-thumbnail"]] .,,
1867
1868 The starting point coordinate of helical interpolation is ,,[[image:08_html_5aecdb267e93e1ef.gif||class="img-thumbnail"]] ,,, set the end point coordinate to ,,[[image:08_html_62eafa46570f5bd9.gif||class="img-thumbnail"]] ,,,the number of turns of helical interpolation [[image:08_html_f1878c8190771c9b.gif]] is determined by formula (1), and recalculate the end point coordinates of X axis and Y axis according to the number of turns of interpolation.
1869
1870 The final interpolation result is: make sure that lead is equal to K, and the end point of Z axis is equal to,,[[image:08_html_26235c6907b42965.gif||class="img-thumbnail"]] ,,.The actual end point position of X and Y axes ,,[[image:08_html_812f611042b80df0.gif||class="img-thumbnail"]] ,,may not be equal to the set ,,[[image:08_html_72a7340925bd2eea.gif||class="img-thumbnail"]] ,,, but it must pass through the set point ,,[[image:08_html_72a7340925bd2eea.gif||class="img-thumbnail"]] ,,in the whole circle.
1871
1872 ,,[[image:08_html_d3f40984948fb2f1.gif||class="img-thumbnail"]] ,,(1)
1873
1874 (10) In helical interpolation radius mode, the center distribution table of whole circle is as below. (For example: the starting point coordinate ,,[[image:08_html_3ed96de3414e2c4d.gif]] ,,,the end point coordinate,,[[image:08_html_a9e3b53d7dfa134a.gif]] ,,).
1875
1876 (% class="table-bordered" %)
1877 |**Helical interpolation direction**|**Radius value R**|**Coordinate of circle center**|**Helical interpolation direction**|**Radius value R**|**Coordinate of circle center**
1878 |(% rowspan="2" %)Clockwise circular|R > 0|(0,R)|(% rowspan="2" %)Counterclockwise circular|R > 0|(0,-R)
1879 |-R < 0|(0,-R)|-R < 0|(0,R)
1880
1881 **Error Codes**
1882
1883 (% class="table-bordered" %)
1884 |(% style="width:129px" %)**Error Codes**|(% style="width:952px" %)**Contents**
1885 |(% style="width:129px" %)4084H|(% style="width:952px" %)The data input in the application instruction (s1) and (s2) exceed the specified range
1886 |(% style="width:129px" %)4085H|(% style="width:952px" %)The result output in the read application instruction (s1), (s2), (d1) and (d2) exceed the device range
1887 |(% style="width:129px" %)4088H|(% style="width:952px" %)The same pulse output axis (d1) is used and has been started.
1888 |(% style="width:129px" %)4F90H|(% style="width:952px" %)In radius mode, the radius is not in the range.
1889 |(% style="width:129px" %)4F92H|(% style="width:952px" %)In center/radius mode, the error of quadrant calculation is caused by the large deviation between the set coordinate of the end point and the theoretical end point of circle.
1890 |(% style="width:129px" %)4F93H|(% style="width:952px" %)In radius mode, the chord length is greater than the diameter.
1891 |(% style="width:129px" %)4F95H|(% style="width:952px" %)In center mode, the distance between the circle center and the starting point, and the distance between the circle center and the end point are not in the range of [-10-10].
1892 |(% style="width:129px" %)4F97H|(% style="width:952px" %)In center mode, the calculated radius distance is greater than the maximum radius range, which is positive or negative 800,000 pulse.
1893 |(% style="width:129px" %)4F98H|(% style="width:952px" %)Helical interpolation error, Z axis is the main axis.(The coordinate of Z axis is greater than the number of of virtual main axis of circular plane)
1894 |(% style="width:129px" %)4F99H|(% style="width:952px" %)Helical interpolation error, Z axis is 0.
1895 |(% style="width:129px" %)4F9BH|(% style="width:952px" %)Lead setting exceeds the range.(Lead ,,[[image:08_html_63ad102f937fdad0.gif]] ,,)
1896
1897 **{{id name="_Toc28830"/}}Example**
1898
1899 (% style="text-align:center" %)
1900 [[image:08_html_61693f5f524ad69e.png||class="img-thumbnail"]]
1901
1902 Set Y0 as the interpolation starting axis, Y4 as the direction start axis, and the maximum speed is 2000, and the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a relative position clockwise circular helical interpolation output based on the relative position with acceleration and deceleration, and the target position is X (Y0) axis 0, Y (Y1) axis 0 and Z (Y2) axis 5000, and the lead is 5000, and the radius is 5000 pulse in radius mode, and the synthesis frequency is 1000.
1903
1904 == {{id name="_Ref31924"/}}**{{id name="_Toc4668"/}}{{id name="_Toc28191"/}}{{id name="_Toc24432"/}}G90G03H Absolute position counterclockwise circular helical interpolation instruction** ==
1905
1906 **G90G03H**
1907
1908 Execute 3 axis counterclockwise circular interpolation instruction in absolute drive mode. The method of specifying the movement distance from the origin point(zero point) is also called absolute drive mode.
1909
1910 -[G90G03H (s1) (s2) (s3) (d1) (d2) ]
1911
1912 **{{id name="_Toc21277"/}}Content, range and data type**
1913
1914 (% class="table-bordered" %)
1915 |**Parameters**|**Content**|**Range**|**Data type**|**Data type**
1916 |(s1)|Specify the target position (absolute address)|-2147483648 to 2147483647|Signed BIN32|ANY32_S
1917 |(s2)|Radius/Center mode|-|Signed BIN32|ANY32_S
1918 |(s3)|Specify synthetic output frequency|1 to 100000|Signed BIN32|ANY32_S
1919 |(d1)|Device(Y) number for output pulse|Y0|Bit|ANY_BOOL
1920 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
1921
1922 **{{id name="_Toc2269"/}}Device used**
1923
1924 (% class="table-bordered" %)
1925 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|(((
1926 **Offset**
1927
1928 **modification**
1929 )))|(((
1930 **Pulse**
1931
1932 **extension**
1933 )))
1934 |**Y**|**M**|**D**|**R**|**K**|(% style="width:45px" %)**H**|**[D]**|**XXP**
1935 |(% rowspan="5" %)G90G03H|Parameter 1| | |●|●| |(% style="width:45px" %) | |
1936 |Parameter 2| | |●|●| |(% style="width:45px" %) | |
1937 |Parameter 3| | |●|●|●|(% style="width:45px" %)●| |
1938 |Parameter 4|●| | | | |(% style="width:45px" %) | |
1939 |Parameter 5|●|●| | | |(% style="width:45px" %) | |
1940
1941 **{{id name="_Toc436"/}}Features**
1942
1943 This instruction outputs pulses according to the specified port, frequency and running direction, and performs 3-axis counterclockwise circular helical interpolation, and servo actuator performs counterclockwise helical interpolation to run to the target position point.
1944
1945 (% style="text-align:center" %)
1946 [[image:08_html_769e3269fb4c782e.png||class="img-thumbnail"]]
1947
1948 * (s1) is the starting address, and occupies 8 consecutive addresses. s1 is the target position (absolute positioning) of X axis , s1+2 is the target position (absolute positioning) of Y axis, and s1+4 is the target position (absolute positioning) of Z axis, and s1+6 is the lead range of Z axis. The lead range is,,[[image:08_html_8d829d6ac7cb190d.gif]] ,,.(The range is -2147483648 to +2147483647.)
1949 * Specify radius or center mode in (s2), and occupy 4 consecutive addresses. The coordinate of circle center of s2+0 is in the difference value of the number of pulse output of X axis relative to the current position, or the number of the pulse of radius R. The coordinate of circle center of s2+2 is in the difference value of the number of pulse output of Y axis relative to the current position. When using radius, the value must be 0X7FFF FFFF. The range is 1 to 141421.
1950
1951 * Specify the synthetic output frequency in (s3). The range is 1 to 100000. Helical interpolation can switch the synthetic frequency by setting SM901. 0 means default, and the synthetic frequency is the frequency of the linear velocity of helix. 1 means that the synthetic frequency is the frequency of the linear velocity of the arc of arc plane, that is, the actual synthetic frequency is greater than the setting synthetic frequency.
1952 * Specify the device of output pulse in (d1), only Y0 could be specified, and consecutive addresses (Y0, Y1,Y2) are occupied .
1953
1954 * Specify the bit device of output direction signal in (d2), and occupy 3 consecutive addresses, which indicates the directions of the X, Y and Z axes in turn. It is recommended to specify direction signal in (Y00-Y07).
1955
1956 {{id name="_Toc9114"/}}✎**Note: **
1957
1958 (1) Please do not duplicate device that used for other controls.
1959
1960 (2) When using interpolation instruction, parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
1961
1962 (3) The maximum radius supported by helical interpolation is plus or minus 800,000 pulses, and the radius cannot be zero.
1963
1964 (4) There are two modes for setting s2: IJ mode (circle center coordinate mode) and R mode (radius mode). When the value of s2+2 is set to 0x7FFF FFFF, it is R mode (radius mode), otherwise it is IJ mode (circle center coordinate mode).
1965
1966 (5) IJ mode: Regardless of absolute position interpolation or relative position interpolation, s2 is only expressed as the difference of the pulse output number between the coordinates of the center of the circle on the XY axis (Y0/Y1) relative to the current position, and both are in the offset value.
1967
1968 (6) In helical interpolation R mode (radius mode): When the value of R is greater than 0, it indicates that from starting point coordinate to the setting end point coordinate in the circular plane of XY is an arc less than or equal to 180 degrees. When the value of R is less than 0, it indicates that from starting point coordinate to the setting end point coordinate in the circular plane of XY is an arc greater than or equal to 180 degrees, and the actual passing angle is determined by the endpoint of Z axis and the lead K. ( If Ze=75, lead K=50, and the actual radian ,,[[image:08_html_16dfa306a6cd6123.gif||class="img-thumbnail"]] ,,)
1969
1970 (7) When using the interpolation instruction, parameter settings (such as acceleration/deceleration time and so on) are subject to the X axis (Y0);
1971
1972 (8) The actual synthetic frequency S (the lowest frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
1973
1974 (% style="text-align:center" %)
1975 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
1976
1977 (% style="text-align:center" %)
1978 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
1979
1980 (9) Exact match pitch of screws (lead) K and ,,[[image:08_html_26235c6907b42965.gif||class="img-thumbnail"]] .,,
1981
1982 The starting point coordinate of helical interpolation is ,,[[image:08_html_5aecdb267e93e1ef.gif||class="img-thumbnail"]] ,,, set the end point coordinate to ,,[[image:08_html_62eafa46570f5bd9.gif||class="img-thumbnail"]] ,,,the number of turns of helical interpolation [[image:08_html_f1878c8190771c9b.gif]] is determined by formula (1), and recalculate the end point coordinates of X axis and Y axis according to the number of turns of interpolation.
1983
1984 The final interpolation result is: make sure that lead is equal to K, and the end point of Z axis is equal to,,[[image:08_html_26235c6907b42965.gif||class="img-thumbnail"]] ,,.The actual end point position of X and Y axes ,,[[image:08_html_812f611042b80df0.gif]] ,,may not be equal to the set ,,[[image:08_html_72a7340925bd2eea.gif||class="img-thumbnail"]] ,,, but it must pass through the set point ,,[[image:08_html_72a7340925bd2eea.gif||class="img-thumbnail"]] ,,in the whole circle.
1985
1986 ,,[[image:08_html_d3f40984948fb2f1.gif||class="img-thumbnail"]] ,,(1)
1987
1988 (10) In helical interpolation radius mode, the center distribution table of whole circle is as below. (For example: the starting point coordinate ,,[[image:08_html_3ed96de3414e2c4d.gif||class="img-thumbnail"]] ,,,the end point coordinate,,[[image:08_html_a9e3b53d7dfa134a.gif||class="img-thumbnail"]] ,,).
1989
1990 (% class="table-bordered" %)
1991 |**Helical interpolation direction**|**Radius value R**|**Coordinate of circle center**|**Helical interpolation direction**|**Radius value R**|**Coordinate of circle center**
1992 |(% rowspan="2" %)Clockwise circular|R > 0|(0,R)|(% rowspan="2" %)Counterclockwise circular|R > 0|(0,-R)
1993 |-R < 0|(0,-R)|-R < 0|(0,R)
1994
1995 **Error Codes**
1996
1997 (% class="table-bordered" %)
1998 |(% style="width:132px" %)**Error Codes**|(% style="width:949px" %)**Contents**
1999 |(% style="width:132px" %)4084H|(% style="width:949px" %)(S1) (s2) input data that exceeds the specified range in application instruction.
2000 |(% style="width:132px" %)4085H|(% style="width:949px" %)The output result of (s1)(s2)(d1)(d2) in the read application instruction exceeds the device range.
2001 |(% style="width:132px" %)4088H|(% style="width:949px" %)The same pulse output axis (d1) is used and has been started.
2002 |(% style="width:132px" %)4F90H|(% style="width:949px" %)In radius mode, the radius is not in the range.
2003 |(% style="width:132px" %)4F92H|(% style="width:949px" %)In center/radius mode, the error of quadrant calculation is caused by the large deviation between the set coordinate of the end point and the theoretical end point of circle.
2004 |(% style="width:132px" %)4F93H|(% style="width:949px" %)In radius mode, the chord length is greater than the diameter.
2005 |(% style="width:132px" %)4F95H|(% style="width:949px" %)In center mode, the distance between the circle center and the starting point, and the distance between the circle center and the end point are not in the range of [-10-10].
2006 |(% style="width:132px" %)4F97H|(% style="width:949px" %)In center mode, the calculated radius distance is greater than the maximum radius range, which is positive or negative 800,000 pulse.
2007 |(% style="width:132px" %)4F98H|(% style="width:949px" %)Helical interpolation error, Z axis is the main axis.(The coordinate of Z axis is greater than the number of of virtual main axis of circular plane)
2008 |(% style="width:132px" %)4F99H|(% style="width:949px" %)Helical interpolation error, Z axis is 0.
2009 |(% style="width:132px" %)4F9BH|(% style="width:949px" %)Lead setting exceeds the range. (Lead ,,[[image:08_html_63ad102f937fdad0.gif]] ,,)
2010
2011 **{{id name="_Toc18584"/}}Example**
2012
2013 (% style="text-align:center" %)
2014 [[image:08_html_61693f5f524ad69e.png||class="img-thumbnail"]]
2015
2016 Set Y0 as the interpolation starting axis, Y4 as the direction starting axis, and the maximum speed is 2000, and the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a absolute position counterclockwise circular helical interpolation output based on the absolute position with acceleration and deceleration, and the target position is X (Y0) axis 0, Y (Y1) axis 0 and Z (Y2) axis 5000, and the lead is 5000, and the radius is 5000 pulse in radius mode, and the synthesis frequency is 1000.
2017
2018 == {{id name="_Ref31947"/}}**{{id name="_Toc5018"/}}{{id name="_Toc1347"/}}{{id name="_Toc26018"/}}G91G03H Relative position counterclockwise circular helical interpolation instruction** ==
2019
2020 **G91G03H**
2021
2022 Execute 3 axis counterclockwise circular interpolation instruction in relative drive mode. The method of specifying the movement distance from current point is also called incremental (relative) drive mode.
2023
2024 -[G91G03H (s1) (s2) (s3) (d1) (d2) ]
2025
2026 **{{id name="_Toc26478"/}}Content, range and data type**
2027
2028 (% class="table-bordered" %)
2029 |**Parameters**|**Content**|**Range**|**Data type**|**Data type**
2030 |(s1)|Specify the target position (relative address)|-2147483648 to 2147483647|Signed BIN32|ANY32_S
2031 |(s2)|Radius/Center mode|-|Signed BIN32|ANY32_S
2032 |(s3)|Specify synthetic output frequency|1 to 100000|Signed BIN32|ANY32_S
2033 |(d1)|Device(Y) number for output pulse|Y0|Bit|ANY_BOOL
2034 |(d2)|Running direction output port or bit variable|-|Bit|ANY_BOOL
2035
2036 **{{id name="_Toc19923"/}}Device used**
2037
2038 (% class="table-bordered" %)
2039 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameters**|(% colspan="6" %)**Device**|(((
2040 **Offset**
2041
2042 **modification**
2043 )))|(((
2044 **Pulse**
2045
2046 **extension**
2047 )))
2048 |**Y**|**M**|**D**|**R**|**K**|(% style="width:50px" %)**H**|**[D]**|**XXP**
2049 |(% rowspan="5" %)G91G03H|Parameter 1| | |●|●| |(% style="width:50px" %) | |
2050 |Parameter 2| | |●|●| |(% style="width:50px" %) | |
2051 |Parameter 3| | |●|●|●|(% style="width:50px" %)●| |
2052 |Parameter 4|●| | | | |(% style="width:50px" %) | |
2053 |Parameter 5|●|●| | | |(% style="width:50px" %) | |
2054
2055 **{{id name="_Toc13090"/}}Features**
2056
2057 This instruction outputs pulses according to the specified port, frequency and running direction, and performs 3-axis counterclockwise circular helical interpolation, and servo actuator performs counterclockwise helical interpolation to run to the target position point.
2058
2059 (% style="text-align:center" %)
2060 [[image:08_html_769e3269fb4c782e.png||class="img-thumbnail"]]
2061
2062 * (s1) is the starting address, and occupies 8 consecutive addresses. s1 is the target position (relative positioning) of X axis , s1+2 is the target position (relative positioning) of Y axis, and s1+4 is the target position (relative positioning) of Z axis, and s1+6 is the lead range of Z axis. The lead range is[[image:08_html_8d829d6ac7cb190d.gif]] .(The range is -2147483648 to +2147483647.)
2063 * Specify radius or center mode in (s2), and occupy 4 consecutive addresses. The coordinate of circle center of s2+0 is in the difference value of the number of pulse output of X axis relative to the current position, or the number of the pulse of radius R. The coordinate of circle center of s2+2 is in the difference value of the number of pulse output of Y axis relative to the current position. When using radius, the value must be 0X7FFF FFFF. The range is 1 to 141421.
2064
2065 * Specify the synthetic output frequency in (s3). The range is 1 to 100000. Helical interpolation can switch the synthetic frequency by setting SM901. 0 means default, and the synthetic frequency is the frequency of the linear velocity of helix. 1 means that the synthetic frequency is the frequency of the linear velocity of the arc of arc plane, that is, the actual synthetic frequency is greater than the setting synthetic frequency.
2066 * Specify the device of output pulse in (d1), only Y0 could be specified, and consecutive addresses (Y0, Y1,Y2) are occupied .
2067
2068 * Specify the bit device of output direction signal in (d2), and occupy 3 consecutive addresses, which indicates the directions of the X, Y and Z axes in turn. It is recommended to specify direction signal in (Y00-Y07).
2069
2070 **{{id name="_Toc15404"/}}✎Note: **
2071
2072 (1) Please do not duplicate device that used for other controls.
2073
2074 (2) When using interpolation instruction, parameter settings (such as acceleration/deceleration time and other parameters) are subject to the starting axis specified by d1.
2075
2076 (3) The maximum radius supported by helical interpolation is plus or minus 800,000 pulses, and the radius cannot be zero.
2077
2078 (4) There are two modes for setting s2: IJ mode (circle center coordinate mode) and R mode (radius mode). When the value of s2+2 is set to 0x7FFF FFFF, it is R mode (radius mode), otherwise it is IJ mode (circle center coordinate mode).
2079
2080 (5) IJ mode: Regardless of absolute position interpolation or relative position interpolation, s2 is only expressed as the difference of the pulse output number between the coordinates of the circle center on the XY axis (Y0/Y1) relative to the current position, and both are in the offset value.
2081
2082 (6) In helical interpolation R mode (radius mode) : When the value of R is greater than 0, it indicates that from starting point coordinate to the setting end point coordinate in the circular plane of XY is an arc less than or equal to 180 degrees. When the value of R is less than 0, it indicates that from starting point coordinate to the setting end point coordinate in the circular plane of XY is an arc greater than or equal to 180 degrees, and the actual passing angle is determined by the endpoint of Z axis and the lead K. ( If Ze=75, lead K=50, and the actual radian ,,[[image:08_html_16dfa306a6cd6123.gif||class="img-thumbnail"]] ,,)
2083
2084 (7) When using interpolation instruction, parameter settings (such as acceleration/deceleration time and so on) are subject to the X axis (Y0);
2085
2086 (8) The actual synthetic frequency S (the lowest frequency value) is the lowest base frequency of the output synthetic frequency. The calculation modes are as follows:
2087
2088 (% style="text-align:center" %)
2089 [[image:08_html_6f6668df922f7274.gif||class="img-thumbnail"]]
2090
2091 (% style="text-align:center" %)
2092 [[image:08_html_6854958a7732277a.gif||class="img-thumbnail"]]
2093
2094 (9) Exact match pitch of screws (lead) K and ,,[[image:08_html_26235c6907b42965.gif||class="img-thumbnail"]] .,,
2095
2096 The start point coordinate of helical interpolation is ,,[[image:08_html_5aecdb267e93e1ef.gif||class="img-thumbnail"]] ,,, set the end point coordinate to ,,[[image:08_html_62eafa46570f5bd9.gif||class="img-thumbnail"]] ,,,the number of turns of helical interpolation [[image:08_html_f1878c8190771c9b.gif]] is determined by formula (1), and recalculate the end point coordinates of X axis and Y axis according to the number of turns of interpolation.
2097
2098 The final interpolation result is: make sure that lead is equal to K, and the end point of Z axis is equal to,,[[image:08_html_26235c6907b42965.gif||class="img-thumbnail"]] ,,.The actual end point position of X and Y axes ,,[[image:08_html_812f611042b80df0.gif||class="img-thumbnail"]] ,,may not be equal to the set ,,[[image:08_html_72a7340925bd2eea.gif]] ,,, but it must pass through the set point ,,[[image:08_html_72a7340925bd2eea.gif||class="img-thumbnail"]] ,,in the whole circle.
2099
2100 ,,[[image:08_html_d3f40984948fb2f1.gif||class="img-thumbnail"]] ,,(1)
2101
2102 (10) In helical interpolation radius mode, the center distribution table of whole circle is as below. (For example: the start point coordinate ,,[[image:08_html_3ed96de3414e2c4d.gif]] ,,,the end point coordinate,,[[image:08_html_a9e3b53d7dfa134a.gif]] ,,).
2103
2104 (% class="table-bordered" %)
2105 |**Helical interpolation direction**|**Radius value R**|**Coordinate of circle center**|**Helical interpolation direction**|**Radius value R**|**Coordinate of circle center**
2106 |(% rowspan="2" %)Clockwise circular|R > 0|(0,R)|(% rowspan="2" %)Counterclockwise circular|R > 0|(0,-R)
2107 |-R < 0|(0,-R)|-R < 0|(0,R)
2108
2109 **Error Codes**
2110
2111 (% class="table-bordered" %)
2112 |(% style="width:108px" %)**Error Codes**|(% style="width:973px" %)**Contents**
2113 |(% style="width:108px" %)4084H|(% style="width:973px" %)(S1) (s2) input data that exceeds the specified range in application instruction.
2114 |(% style="width:108px" %)4085H|(% style="width:973px" %)The output result of (s1)(s2)(d1)(d2) in the read application instruction exceeds the device range.
2115 |(% style="width:108px" %)4088H|(% style="width:973px" %)The same pulse output axis (d1) is used and has been started.
2116 |(% style="width:108px" %)4F90H|(% style="width:973px" %)In radius mode, the radius is not in the range.
2117 |(% style="width:108px" %)4F92H|(% style="width:973px" %)In center/radius mode, the error of quadrant calculation is caused by the large deviation between the set coordinate of the end point and the theoretical end point of circle.
2118 |(% style="width:108px" %)4F93H|(% style="width:973px" %)In radius mode, the chord length is greater than the diameter.
2119 |(% style="width:108px" %)4F95H|(% style="width:973px" %)In center mode, the distance between the circle center and the starting point, and the distance between the circle center and the end point are not in the range of [-10-10].
2120 |(% style="width:108px" %)4F97H|(% style="width:973px" %)In center mode, the calculated radius distance is greater than the maximum radius range, which is positive or negative 800,000 pulse.
2121 |(% style="width:108px" %)4F98H|(% style="width:973px" %)Helical interpolation error, Z axis is the main axis.(The coordinate of Z axis is greater than the number of of virtual main axis of circular plane)
2122 |(% style="width:108px" %)4F99H|(% style="width:973px" %)Helical interpolation error, Z axis is 0.
2123 |(% style="width:108px" %)4F9BH|(% style="width:973px" %)Lead setting exceeds the range.(Lead ,,[[image:08_html_63ad102f937fdad0.gif]] ,,)
2124
2125 **{{id name="_Toc11997"/}}Example**
2126
2127 (% style="text-align:center" %)
2128 [[image:08_html_61693f5f524ad69e.png||class="img-thumbnail"]]
2129
2130 Set Y0 as the interpolation starting axis, Y4 as the direction starting axis, and the maximum speed is 2000, and the offset speed is 500, and the acceleration/deceleration time is 500ms. Send a relative position counterclockwise circular helical interpolation output based on the relative position with acceleration and deceleration, and the target position is X (Y0) axis 0, Y (Y1) axis 0 and Z (Y2) axis 5000, and the lead is 5000, and the radius is 5000 pulse in radius mode, and the synthesis frequency is 1000.{{id name="_Toc24071"/}}{{id name="_Toc17235"/}}{{id name="_Toc1369"/}}{{id name="_Toc21558"/}}{{id name="_Toc23998"/}}{{id name="_Toc21982"/}}{{id name="_Toc6785"/}}{{id name="_Toc22083"/}}{{id name="_Toc31780"/}}{{id name="_Toc5703"/}}
2131
2132 = {{id name="_Toc126"/}}**General matters of high-speed pulse output instruction** =
2133
2134 == {{id name="_Toc16002"/}}**Related bit devices** ==
2135
2136 **(1) Pulse sending flag bit**
2137
2138 When high-speed pulse are being sending, the flag bit is ON. When pulse is not sent or after pulse is sent, the flag bit is OFF.
2139
2140 **Special device:**
2141
2142 (% class="table-bordered" %)
2143 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2144 |Pulse sending|SM880|SM940|SM1000|SM1060|SM1120|SM1180|SM1240|SM1300
2145
2146 **(2) Pulse sending completion flag bit**
2147
2148 When high-speed pulse is sent, the flag bit is ON.
2149
2150 **Special device:**
2151
2152 (% class="table-bordered" %)
2153 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2154 |Pulse sending|SM882|SM942|SM1002|SM1062|SM1122|SM1182|SM1242|SM1302
2155
2156 During process of pulse sending, if the forward rotation limit, the reverse rotation limit, and the output stop (SM34) signal are encountered, the flag bit will be ON after stopping the pulse.
2157
2158 If the contact is closed directly, this flag bit will not be set after deceleration stop.(Except for PLSV)
2159
2160 **(3) Forward limit and reverse limit**
2161
2162 When using a servo motor, you can set the forward rotation limit or reverse rotation limit on the servo amplifier.
2163
2164 (% style="text-align:center" %)
2165 [[image:08_html_e424715fa5809765.png||class="img-thumbnail"]]
2166
2167 When positioning instruction action, such as the limit switch of forward limit or reverse limit, acts, please set and connect forward limit 1 (LSF) and reverse limit 1(LSR) on the CPU module if you want to use CPU for retreat, and these two limits should act before the forward limit 2 or the reverse limit 2 of the servo amplifier.
2168
2169 (% style="text-align:center" %)
2170 [[image:08_html_959b60c422416a8e.png||class="img-thumbnail"]]
2171
2172 **Special device:**
2173
2174 (% class="table-bordered" %)
2175 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2176 |Forward limit|SM883|SM943|SM1003|SM1063|SM1123|SM1183|SM1243|SM1303
2177 |Reverse limit|SM884|SM944|SM1004|SM1064|SM1124|SM1184|SM1244|SM1304
2178
2179 If forward limit 1(LSF) and reverse limit 1(LSR) are not set, servo motor will stop automatically even if the forward limit 2 or the reverse limit 2 is in action. But the positioning instruction in action can’t identify this situation, it will output pulses until the instruction ends.
2180
2181 When forward limit or reverse limit acts, it will stop according the set stop method (deceleration stop, immediate stop).
2182
2183 If the instruction has no direction, then both the forward limit and the reverse limit are valid for the instruction.
2184
2185 **(4) Direction polarity**
2186
2187 When [0: increase current address by forward pulse output] is selected, the current address increases when the forward pulse is output, and decreases when the reverse pulse is output.
2188
2189 When [1: Increase current address by reverse pulse output] is selected, the current address is increased during reverse pulse output and decreased during forward pulse output.
2190
2191 The default is 0: increase the current address through forward pulse output。
2192
2193 **Special device:**
2194
2195 (% class="table-bordered" %)
2196 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2197 |Direction polarity|SM885|SM945|SM1005|SM1065|SM1125|SM1185|SM1245|SM1305
2198
2199 **(5) Origin return correlation (ZRN)**
2200
2201 {{id name="OLE_LINK3"/}}Origin return enable [default is 1: enable the origin return function]
2202
2203 Select [0: turn off origin return function], that is, the origin return instruction is disabled and cannot be used.
2204
2205 Select [1: turn on origin return function], that is, the origin return instruction is enabled and can be used normally.
2206
2207 Origin return direction [default is 0: the direction of origin return is negative]
2208
2209 Select [0: the direction of origin return is negative], that is, the pulse output count is negative.
2210
2211 Select [1: the direction of origin return is positive], that is, the pulse output count is positive.
2212
2213 **Special device:**
2214
2215 (% class="table-bordered" %)
2216 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2217 |Origin return enable|SM886|SM946|SM1006|SM1066|SM1126|SM1186|SM1246|SM1306
2218 |Origin return direction|SM887|SM947|SM1007|SM1067|SM1127|SM1187|SM1247|SM1307
2219
2220 **(6) External signal correlation**
2221
2222 External signal start [default is 0: turn off the external signal start function]
2223
2224 Select [0: turn off external signal start function], that is, the external signal start function is not used.
2225
2226 Select [1: turn on external signal start function], that is, when an external signal is received, the pulse will be sent.
2227
2228 External signal logic [default is 0: OFF signal]
2229
2230 Select [0:OFF signal], that is, when the signal is OFF, it means the signal is received.
2231
2232 Select [1: ON signal], that is, when the signal is ON, it means the signal is received.
2233
2234 For the specific external signal, refer to the external signal of the word Devices. The external signal is affected by the scan cycle and is judged in the instruction. If the X signal is used as an external signal, the signal is affected by the X point filtering.
2235
2236 **Special device:**
2237
2238 (% class="table-bordered" %)
2239 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2240 |External signal start|SM892|SM952|SM1012|SM1072|SM1132|SM1192|SM1252|SM1312
2241 |External signal logic|SM893|SM953|SM1013|SM1073|SM1133|SM1193|SM1253|SM1313
2242
2243 (% style="text-align:center" %)
2244 [[image:08_html_52ea5758044b6850.png||class="img-thumbnail"]]
2245
2246 **(7) Interrupt signal correlation (DVIT)**
2247
2248 Interrupt positioning enable [default is 1: enable interrupt positioning function]:
2249
2250 Select [0: Disable interrupt positioning function]: interrupt positioning instruction is disabled and cannot be used.
2251
2252 Select [1: enable interrupt positioning function]: interrupt positioning instruction is enabled and can be used normally. [The default is on]
2253
2254 Interrupt signal logic [default is 0: ON signal]:
2255
2256 Select [0: ON signal], that is, when the signal is ON, it means the signal is received.
2257
2258 Select [1: OFF signal], that is, when the signal is OFF, it means the signal is received.
2259
2260 **Special device:**
2261
2262 (% class="table-bordered" %)
2263 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2264 |Interrupt signal enable|SM894|SM954|SM1014|SM1074|SM1134|SM1194|SM1254|SM1314
2265 |Interrupt signal logic|SM895|SM955|SM1015|SM1075|SM1135|SM1195|SM1255|SM1315
2266
2267 **(8) Stop immediately flag bit**
2268
2269 **Special device:**
2270
2271 (% class="table-bordered" %)
2272 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2273 |Pulse stops immediately|SM898|SM958|SM1018|SM1078|SM1138|SM1198|SM1258|SM1318
2274
2275 When the flag bit is [1: pulse sending stop immediately], that is, pulse sending stops immediately without acceleration or deceleration. This flag is not affected by the scan cycle.
2276
2277 (% style="text-align:center" %)
2278 [[image:08_html_bb07ddcb0a440df2.gif||class="img-thumbnail" height="293" width="700"]]
2279
2280 **(9) Not scanned**
2281
2282 When the flag bit is [0: continue to send pulse], if the instruction is not scanned in the current scan cycle (such as called in the event interrupt subroutine), then continue to send pulse. At this time, it should be noted that if the instruction is scanned after the pulse sending is stopped, the pulse sending will continue.
2283
2284 When the flag bit is [1: stop sending pulse], if the instruction is not scanned in the current scan cycle (such as called in the event interrupt subroutine), then it will decelerate and stop.
2285
2286 (% class="table-bordered" %)
2287 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2288 |Not scanned|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
2289
2290 **(10) The description of start speed**
2291
2292 A.Start speed=(Maximum speed - bias speed )/acceleration time
2293
2294 But the starting speed will be the following value according to the relationship between the instruction speed and the base speed.
2295
2296 * Bias speed < start speed < instruction speed: start speed = start speed.(It will be the value of above calculation)
2297 * Bias speed <= instruction speed < start speed: start speed = instruction speed.
2298 * Start speed < bias speed, or instruction speed < bias speed: start speed = bias speed.
2299 * Maximum speed < bias speed: start speed = maximum speed.
2300
2301 == {{id name="_Toc29752"/}}**{{id name="_Toc14290"/}}{{id name="_Toc26797"/}}Related word devices** ==
2302
2303 **(1) Location address**
2304
2305 Store the current address operated positioning instruction. Store the absolute address in the current address and increase or decrease according to the pulse direction.This parameter is saved when power off.
2306
2307 **Special device:**
2308
2309 (% class="table-bordered" %)
2310 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2311 |Location address|(((
2312 [SD881,
2313
2314 SD880]
2315 )))|(((
2316 [SD941,
2317
2318 SD940]
2319 )))|(((
2320 [SD1001,
2321
2322 SD1000]
2323 )))|(((
2324 [SD1061,
2325
2326 SD1060]
2327 )))|(((
2328 [SD1121,
2329
2330 SD1120]
2331 )))|(((
2332 [SD1181,
2333
2334 SD1180]
2335 )))|(((
2336 [SD1241,
2337
2338 SD1240]
2339 )))|(((
2340 [SD1301,
2341
2342 SD1300]
2343 )))
2344
2345 **(2) Current frequency**
2346
2347 Store the real-time running frequency operated by the positioning instruction.
2348
2349 **Special device:**
2350
2351 (% class="table-bordered" %)
2352 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2353 |Current frequency|(((
2354 [SD885,
2355
2356 SD884]
2357 )))|(((
2358 [SD945,
2359
2360 SD944]
2361 )))|(((
2362 [SD1005,
2363
2364 SD1004]
2365 )))|(((
2366 [SD1065,
2367
2368 SD1064]
2369 )))|(((
2370 [SD1125,
2371
2372 SD1124]
2373 )))|(((
2374 [SD1185,
2375
2376 SD1184]
2377 )))|(((
2378 [SD1245,
2379
2380 SD1244]
2381 )))|(((
2382 [SD1305,
2383
2384 SD1304]
2385 )))
2386
2387 **(3) Maximum speed**
2388
2389 Set the upper limit (maximum speed) of instruction speed, origin return speed, and crawl speed. The range is: (1 to 200K), and calculate according to the boundary value if it exceeds the range.
2390
2391 Even if it is within the setting range, please set the relationship of bias speed <= instruction speed <= maximum speed.
2392
2393 If bias speed > maximum speed, then use the lower frequency to send, that is, the highest frequency.
2394
2395 **Special device:**
2396
2397 (% class="table-bordered" %)
2398 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2399 |Maximum speed|(((
2400 [SD899,
2401
2402 SD898]
2403 )))|(((
2404 [SD959,
2405
2406 SD958]
2407 )))|(((
2408 [SD1019,
2409
2410 SD1018]
2411 )))|(((
2412 [SD1079,
2413
2414 SD1078]
2415 )))|(((
2416 [SD1139,
2417
2418 SD1138]
2419 )))|(((
2420 [SD1199,
2421
2422 SD1198]
2423 )))|(((
2424 [SD1259,
2425
2426 SD1258]
2427 )))|(((
2428 [SD1319,
2429
2430 SD1318]
2431 )))
2432
2433 **(4) Bias speed**
2434
2435 Set the lower limit value (offset speed) of the instruction speed, home return speed, and crawl speed.
2436
2437 The setting range is: (1 to 200K), and the over range is calculated according to the boundary value.
2438
2439 Even if it is within the setting range, please set the relationship of bias speed <= instruction speed <= maximum speed.
2440
2441 If the bias speed>maximum speed, then use the lower frequency to send, that is, the highest frequency.
2442
2443 **Special device:**
2444
2445 (% class="table-bordered" %)
2446 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2447 |Bias speed|(((
2448 [SD901,
2449
2450 SD900]
2451 )))|(((
2452 [SD961,
2453
2454 SD960]
2455 )))|(((
2456 [SD1021,
2457
2458 SD1020]
2459 )))|(((
2460 [SD1081,
2461
2462 SD1080]
2463 )))|(((
2464 [SD1141,
2465
2466 SD1140]
2467 )))|(((
2468 [SD1201,
2469
2470 SD1200]
2471 )))|(((
2472 [SD1261,
2473
2474 SD1260]
2475 )))|(((
2476 [SD1321,
2477
2478 SD1320]
2479 )))
2480
2481 **(5) Acceleration time**
2482
2483 Set the acceleration time from the bias speed to the maximum speed.
2484
2485 The acceleration time can be set in the range of 15 to 32767ms. If it exceeds the range, it will be modified to the value closest to the range.
2486
2487 **Special device:**
2488
2489 (% class="table-bordered" %)
2490 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2491 |Accelerated Time|SD902|SD962|SD1022|SD1082|SD1142|SD1202|SD1262|SD1322
2492
2493 **✎Note: **When the acceleration time is set to 0, there is no acceleration process.
2494
2495 **(6) Deceleration time**
2496
2497 Set the deceleration time from the maximum speed to the bias speed.
2498
2499 The deceleration time can be set in the range of 15 to 32767ms. If it exceeds the range, it will be modified to the value closest to the range.
2500
2501 **Special device:**
2502
2503 (% class="table-bordered" %)
2504 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2505 |Deceleration time|SD903|SD963|SD1023|SD1083|SD1143|SD1203|SD1263|SD1323
2506
2507 **{{id name="OLE_LINK380"/}}✎Note: **When the acceleration time is set to 0, there is no deceleration process.
2508
2509 **(7) Stop method**
2510
2511 Set the stop mode of high-speed pulse: turn off the instruction halfway or the instruction encounters a limit situation [default is 0: decelerate to stop].
2512
2513 Set [0: Decelerate to stop]: When the pulse stops halfway, the pulse decelerates and stops.
2514
2515 Set [1: Stop immediately]: when the pulse stops halfway, the pulse stops immediately without deceleration.
2516
2517 (% class="table-bordered" %)
2518 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2519 |Stop method|SD904|SD964|SD1024|SD1084|SD1144|SD1204|SD1264|SD1324
2520
2521 [0: Decelerate to stop]: Decelerate to stop after receiving the stop signal.
2522
2523 (% style="text-align:center" %)
2524 [[image:08_html_9cc1e17abc2c66b3.gif||height="327" width="700"]]
2525
2526 [1: Stop immediately]: Stop immediately after receiving the stop signal without decelerating movement.
2527
2528 (% style="text-align:center" %)
2529 [[image:08_html_c616dcb4f3f0f698.gif||class="img-thumbnail" height="288" width="700"]]
2530
2531 **(8) Direction delay**
2532
2533 Set the delay time between the direction and the pulse, which is only applicable to instructions with direction, and the range is 0-32767ms.
2534
2535 **✎Note: **The error of direction delay is within one scan period.
2536
2537 (% class="table-bordered" %)
2538 |**Output shaft**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2539 |Direction delay|SD905|SD965|SD1025|SD1085|SD1145|SD1205|SD1265|SD1325
2540
2541 (% style="text-align:center" %)
2542 [[image:08_html_2e35a77cf58094fa.gif||class="img-thumbnail" height="466" width="700"]]
2543
2544 **(9) External start signal**
2545
2546 Set the device number (X device) of external start signal. If it is set to X0, the value is 0. It is necessary to set the existing external input point, otherwise the function will not take effect.
2547
2548 The external signal is affected by the scan cycle and is judged when executing instruction.
2549
2550 **Special device:**
2551
2552 (% class="table-bordered" %)
2553 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2554 |External start signal|SD906|SD966|SD1026|SD1086|SD1146|SD1206|SD1266|SD1326
2555
2556 **(10) The description of start speed**
2557
2558 Start speed = (maximum speed - bias speed) / acceleration time
2559
2560 But the starting speed will be the following value according to the relationship between the instruction speed and the base speed.
2561
2562 * Bias speed < start speed < instruction speed: start speed = start speed.(It will be the value of above calculation)
2563 * Bias speed <= instruction speed < start speed: start speed = instruction speed
2564 * Start speed < bias speed, or instruction speed < bias speed: start speed = bias speed
2565 * Maximum speed < bias speed: start speed = maximum speed
2566
2567 **(11) Pulse number and frequency modification**
2568
2569 **1) **Modify frequency
2570
2571 ①Reachable frequency
2572
2573 (% style="text-align:center" %)
2574 [[image:08_html_e260ba033ed851bb.gif||class="img-thumbnail" height="366" width="700"]]
2575
2576 ②Unreachable frequency
2577
2578 (% style="text-align:center" %)
2579 [[image:08_html_54e112fa5aeba863.gif||class="img-thumbnail" height="386" width="700"]]
2580
2581 2) Modify the number of pulses:
2582
2583 ①Modify to the number of reachable pulses
2584
2585 (% style="text-align:center" %)
2586 [[image:08_html_f7207d642325c29f.gif||class="img-thumbnail" height="282" width="700"]]
2587
2588 ②Modify to the number of unreachable pulses (only support instructions with direction. If there is no direction, stop pulse sending)
2589
2590 (% style="text-align:center" %)
2591 [[image:08_html_b73c1c8f2b27e562.gif||class="img-thumbnail" height="322" width="700"]]
2592
2593 **{{id name="OLE_LINK371"/}}(12) The number of sent pulses is out of range**
2594
2595 When the number of pulses to be sent exceeds the range represented by the number of pulses (32 bits) (-2147483648 to +2147483647), it will run to the target position in the opposite direction to the expected. For example:
2596
2597 The current position is 1, when you want to run to the target position -2147483648, you should send 2147483647 pulses in the forward direction instead of sending 2147483649 pulses in the reverse direction;
2598
2599 The current position is -1, when you want to run to the target position 2147483647, you should send 2147483648 pulses inthe reverse direction instead of sending 2147483648 pulses in the forward direction.
2600
2601 **(13) Acceleration and deceleration mode**
2602
2603 (% class="table-bordered" %)
2604 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2605 |Acceleration and deceleration mode|SD907|SD967|SD1027|SD1087|SD1147|SD1207|SD1267|SD1327
2606
2607 **{{id name="OLE_LINK372"/}}A.**When the parameter is 0, post acceleration and deceleration mode is adopted.
2608
2609 **B.**When the parameter is 1, forward acceleration and deceleration mode is adopted.(Accelerate to the next segment in advance)
2610
2611 For example, three pulses are needed. The pulse frequency of the 1st segment is 2000Hz, the number of pulse is 2000; the pulse frequency of the 2nd segment is 4000Hz, the number of pulse is 4000; the pulse frequency of the 3rd segment is 6000Hz, the number of pulse is 6000;
2612
2613 Forward acceleration and deceleration mode oscillogram Post acceleration and deceleration mode oscillogram
2614
2615 (% style="text-align:center" %)
2616 [[image:08_html_8ee518b903bd7021.gif||class="img-thumbnail"]]
2617
2618 (% style="text-align:center" %)
2619 [[image:08_html_cccf805151401d1e.gif||class="img-thumbnail"]]
2620
2621 **(14) High-speed pulse acceleration and deceleration mode selection**
2622
2623 Acceleration and deceleration mode selection
2624
2625 (% class="table-bordered" %)
2626 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2627 |Acceleration and deceleration mode|SD911|SD971|SD1031|SD1091|SD1151|SD1211|SD1271|SD1331
2628
2629 **C.**When the parameter is 0, Ladder acceleration and deceleration(calculate the pulse frequency one by one) mode is adopted.
2630
2631 {{id name="OLE_LINK373"/}}{{id name="OLE_LINK374"/}}**D.**When the parameter is 1, Time-minute ladder acceleration and deceleration is adopted.
2632
2633 **E.**When the parameter is 2, Time-minute s-type acceleration and deceleration is adopted.
2634
2635 **{{id name="OLE_LINK378"/}}(15) Time-minute acceleration and deceleration parameter**
2636
2637 (% class="table-bordered" %)
2638 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2639 |Time-minute intervals|SD912|SD972|SD1032|SD1092|SD1152|SD1212|SD1272|SD1332
2640
2641 Time-minute intervals:
2642
2643 {{id name="OLE_LINK377"/}}{{id name="OLE_LINK379"/}}This parameter is time interval of time-minute acceleration and deceleration. The unit is 100us. The value range is 10 to1000.When the value is less than 10, the value is 10. When the value is greater than 1000, the value is 1000.
2644
2645 Time-minute ladder acceleration and deceleration
2646
2647 (% style="text-align:center" %)
2648 [[image:08_html_4649b9d5dd0f0a90.gif||class="img-thumbnail" height="330" width="700"]]
2649
2650 Time-minute S-type acceleration and deceleration
2651
2652 (% style="text-align:center" %)
2653 [[image:08_html_27806ce2da3a3ef0.gif||class="img-thumbnail" height="319" width="700"]]
2654
2655 The following figure shows the changes of each parameter
2656
2657 (% style="text-align:center" %)
2658 [[image:08_html_7e62d35d88cbe966.gif||class="img-thumbnail" height="614" width="400"]]
2659
2660 **✎Note: **When the frequency is modified during the operation, acceleration would accelerate again from zero. There will be discontinuous acceleration.
2661
2662 **(16) Oringin return mode**
2663
2664 (% class="table-bordered" %)
2665 |**Output axis**|**Y0**|**Y1**|**Y2**|**Y3**|**Y4**|**Y5**|**Y6**|**Y7**
2666 |Origin return mode|SD914|SD974|SD1034|SD1094|SD1154|SD1214|SD1274|SD1334
2667 |Origin return distance|[SD919, SD918]|[SD979, SD978]|[SD1039, SD1038]|[SD1099, SD1098]|[SD1159, SD1158]|[SD1219, SD1218]|[SD1279, SD1278]|[SD1339, SD1338]
2668
2669 {{id name="OLE_LINK383"/}}Origin return mode 0:{{id name="OLE_LINK382"/}}
2670
2671 (% style="text-align:center" %)
2672 [[image:08_html_a45eea6d89d68033.gif||class="img-thumbnail"]]
2673
2674 {{id name="OLE_LINK384"/}}Origin return mode 1: When the signal is received, go backward to the specified origin return distance and then search for the origin at crawling speed.
2675
2676 (% style="text-align:center" %)
2677 [[image:08_html_2874d4c4a811d551.gif||class="img-thumbnail"]]
2678
2679 {{id name="OLE_LINK385"/}}Origin return mode 2: When the signal is received, go to the specified origin return distance and then search for the origin 0 at crawling speed.
2680
2681 (% style="text-align:center" %)
2682 [[image:08_html_1ec1b111e68e0e29.gif||class="img-thumbnail"]]
2683
2684 Origin return mode 2: Start running toward zero based on the current position, and search for the origin at crawling speed after reaching zero.
2685
2686 (% style="text-align:center" %)
2687 [[image:08_html_61ec39c1f986ad1b.gif||class="img-thumbnail"]]