Wiki source code of 08 High-speed pulse output

Version 25.2 by Stone Wu on 2022/09/26 10:21

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