Wiki source code of 08 High-speed pulse output

Last modified by Mora Zhou on 2024/08/08 14:35

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