Delta Electronics PCI-DMC-A01 manual

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528

Ir para a página of

Bom manual de uso

As regras impõem ao revendedor a obrigação de fornecer ao comprador o manual com o produto Delta Electronics PCI-DMC-A01. A falta de manual ou informações incorretas fornecidas ao consumidor são a base de uma queixa por não conformidade do produto com o contrato. De acordo com a lei, pode anexar o manual em uma outra forma de que em papel, o que é frequentemente utilizado, anexando uma forma gráfica ou manual electrónicoDelta Electronics PCI-DMC-A01 vídeos instrutivos para os usuários. A condição é uma forma legível e compreensível.

O que é a instrução?

A palavra vem do latim "Instructio" ou instruir. Portanto, no manual Delta Electronics PCI-DMC-A01 você pode encontrar uma descrição das fases do processo. O objetivo do manual é instruir, facilitar o arranque, a utilização do equipamento ou a execução de determinadas tarefas. O manual é uma coleção de informações sobre o objeto / serviço, um guia.

Infelizmente, pequenos usuários tomam o tempo para ler o manual Delta Electronics PCI-DMC-A01, e um bom manual não só permite conhecer uma série de funcionalidades adicionais do dispositivo, mas evita a formação da maioria das falhas.

Então, o que deve conter o manual perfeito?

Primeiro, o manual Delta Electronics PCI-DMC-A01 deve conte:
- dados técnicos do dispositivo Delta Electronics PCI-DMC-A01
- nome do fabricante e ano de fabricação do dispositivo Delta Electronics PCI-DMC-A01
- instruções de utilização, regulação e manutenção do dispositivo Delta Electronics PCI-DMC-A01
- sinais de segurança e certificados que comprovam a conformidade com as normas pertinentes

Por que você não ler manuais?

Normalmente, isso é devido à falta de tempo e à certeza quanto à funcionalidade específica do dispositivo adquirido. Infelizmente, a mesma ligação e o arranque Delta Electronics PCI-DMC-A01 não são suficientes. O manual contém uma série de orientações sobre funcionalidades específicas, a segurança, os métodos de manutenção (mesmo sobre produtos que devem ser usados), possíveis defeitos Delta Electronics PCI-DMC-A01 e formas de resolver problemas comuns durante o uso. No final, no manual podemos encontrar as coordenadas do serviço Delta Electronics na ausência da eficácia das soluções propostas. Atualmente, muito apreciados são manuais na forma de animações interessantes e vídeos de instrução que de uma forma melhor do que o o folheto falam ao usuário. Este tipo de manual é a chance que o usuário percorrer todo o vídeo instrutivo, sem ignorar especificações e descrições técnicas complicadas Delta Electronics PCI-DMC-A01, como para a versão papel.

Por que ler manuais?

Primeiro de tudo, contem a resposta sobre a construção, as possibilidades do dispositivo Delta Electronics PCI-DMC-A01, uso dos acessórios individuais e uma gama de informações para desfrutar plenamente todos os recursos e facilidades.

Após a compra bem sucedida de um equipamento / dispositivo, é bom ter um momento para se familiarizar com cada parte do manual Delta Electronics PCI-DMC-A01. Atualmente, são cuidadosamente preparados e traduzidos para sejam não só compreensíveis para os usuários, mas para cumprir a sua função básica de informação

Índice do manual

  • Página 1

    DELTA ELECTRONICS CO., LTD. PCI-DMC-A01 PCI - DMC-B01 High-Speed PCI 12-Axis Motion Control Card Programming Manual Version: 1.11.1[...]

  • Página 2

    [...]

  • Página 3

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual Revised March, 2 012 i About this Manual User Information Please keep this manual in a safe place. This manual is subject to change without notice due to the release of new products, improvements and changes in technologies, and/or modifications to data and forms. This manual may not be copied or repro[...]

  • Página 4

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual ii Revised March, 2012 Table of Contents Chapter 1 Introduction to th e API Function Li brary --------------------------------------------------- 1-1 1.1 Using the Function Libraries ---------------------------------------------------------------------- 1-1 1.2 Edit New Pr oject -----------------------[...]

  • Página 5

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual Revised March, 2 012 iii 3.7 Velocity Motion Control (2) ----------------------------------------------------------------------- 3-19 3.7.1 Function List ------------------------------------------------------------------------------ 3-19 3.7.2 Sample Application ----------------------------------------[...]

  • Página 6

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual iv Revised March, 2012 3.18 Change Velo city ------------------------------------------------------------------------------------ 3-63 3.18.1 Function List ------------------------------------------------------------------------------ 3-63 3.18.2 Sample Application -------------------------------------[...]

  • Página 7

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual Revised March, 2 012 v 3.30 Axis Gr oup ----------------------------------------------------------------------------------------- 3-116 3.30.1 Function List ---------------------------------------------------------------------------- 3-116 3.30.2 Sample Application -------------------------------------[...]

  • Página 8

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual vi Revised March, 2012 6.14 _DMC_01_get_dio_ input -------------------------------------------------------------------------- 6-9 6.15 _DMC_01_get_cycl e_time ------------------------------------------------------------------------ 6-9 6.16 _DMC_01_ini tial_bus2 ----------------------------------------[...]

  • Página 9

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual Revised March, 2 012 vii Chapter 12 Torque Motion Cont rol Packet Prot ocol API -------------------------------------------- 12-1 12.1 _DMC_01_set _torque_m ode ------------------------------------------------------------------- 12-2 12.2 _DMC_01_set _torque --------------------------------------------[...]

  • Página 10

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual viii Revised March, 2012 Chapter 18 1-Axis Mo tion Contro l API -------------------------------------------------------------------- 18-1 18.1 _DMC_01_start _tr_move ------------------------------------------------------------------------ 18-2 18.2 _DMC_01_start _sr_mo ve ------------------------------[...]

  • Página 11

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual Revised March, 2 012 ix 20.13 _DMC_01_start_spi ral_xy --------------------------------------------------------------------- 20-27 20.14 _DMC_01_start_spi ral2_xy -------------------------------------------------------------------- 20-29 20.15 _DMC_01_start_v3_arc_xy -----------------------------------[...]

  • Página 12

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual x Revised March, 2012 25.8 _DMC_01_set_rm _output_acti ve -------------------------------------------------------------- 25-9 Chapter 26 MPG and JOG Operation API ----------------------------------------------------------------- 26-1 26.1 _DMC_01_set_rm_mp g_axes_enable --------------------------------[...]

  • Página 13

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual Revised March, 2 012 xi 29.3 _DMC_01_rm_04da_get _return_code ------------------------------------------------------- 29-4 29.4 _DMC_01_rm_04da_set _output_r ange ------------------------------------------------------ 29-5 29.5 _DMC_01_rm_04da_set_output_enable -----------------------------------------[...]

  • Página 14

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual xii Revised March, 2012 33.3 _DMC_01_maste r_alm_ code ------------------------------------------------------------------- 33-4 33.4 _DMC_01_sla ve_error ---------------------------------------------------------------------------- 33-5 Chapter 34 Multi-Axis Motion Cont rol API -------------------------[...]

  • Página 15

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual Revised March, 2 012 xiii Chapter 38 Limit Reversal API ------------------------------------------------------------------------------- 38-1 38.1 _ DMC_01_rm_04pi_set _MEL_pol arity ------------------------------------------------------ 38-2 38.2 _ DMC_01_rm_04pi_get _MEL_pol arity --------------------[...]

  • Página 16

    PCI-DMC-A01 / PCI-DM C-B01 Programmi ng Manual xiv Revised March, 2012 Chapter 42 Other API -------------------------------------------------------------------------------------------- 42-1 42.1 _misc_app_get_cir cle_endpoint ---------------------------------------------------------------- 42-2 42.2 _misc_app_get_circl e_center_point --------------[...]

  • Página 17

    Chapter 1 Introduction to the API Function Library | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 1-1 Chapter 1 Introduction to the API Function Library PCI-DMC-A01 provides a function library and dynamic-link library (DLL) which can be called upon to perform functions as you require. The followi ng sections will detail how you can incorporate the[...]

  • Página 18

    Chapter 1 Introduction to the API Function Library | PCI-DMC-A01 / PCI-DMC-B01 1-2 Revised March, 2012 2. Under the Borland C++ Build development environment, select View/ Project Manager Add the function library “..libBCBPCI_ DMC_01.lib” to your new project. 3. Once set, you can begin using the API to control PCI-DMC-A01. 1.2.3 Using VB Unde[...]

  • Página 19

    Chapter 2 Command Return Values and M essages | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 2-1 Chapter 2 Command Return Values and Messages 2.1 Error Codes When you use API for PCI-DMC-A01, the func tion library will generally return one of the error codes listed in Table 2.1. If the API function's return value is 0, t hen the API function [...]

  • Página 20

    Chapter 2 Command Return Values and M essages | PCI-DMC-A01 / PCI-DMC-B01 2-2 Revised March, 2012 Error Return Code (Decimal) Error Code Error Description 21 ERR_SpeedLimitError Defined velocity exceeds maximum velocity 22 ERR_Security_Page Security page must be smaller than 16 23 ERR_Slave_Security_op Security slave_operate command failed 24 ERR_c[...]

  • Página 21

    Chapter 2 Command Return Values and M essages | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 2-3 Error Return Code (Decimal) Error Code Error Description 133 ERR_SDStop_On Currently executing deceleration/stop command, Unable to receive new commands 134 ERR_VelChange_supper Unable to execute velocity change function (Feedhold, Synch, and Decelerat[...]

  • Página 22

    Chapter 2 Command Return Values and M essages | PCI-DMC-A01 / PCI-DMC-B01 2-4 Revised March, 2012 2.2 Error Code Example The following example is a return function. Y ou can use it as a reference to create new functions that meet your control requirements.  Example Void error (unsigned short rc) // Function that returns error code; rc is the par[...]

  • Página 23

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-1 Chapter 3 Operating Principles 3.1 Card Initialization 3.1.1 Function List Table 3.1 Function Name _DMC_01_open _DMC_01_get_CardNo_seq _DMC_01_check_card_running _DMC_01_reset_card _DMC_01_close _DMC_01_pci_initial _DMC_01_initial_bus _DMC_01_start_ring _DMC_01_get_[...]

  • Página 24

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-2 Revised March, 2012 Click on the “Open card” button to exec ute the following procedure: /* gDMCExistCards variable is set as the number of PCI- DMC-A01 on the PC*/ rt = _DMC_01_open(&g DMCExistCards); 2) Card initialization Figure 3.3 Click on the “Card init” button to exe[...]

  • Página 25

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-3 NOTE _DMC_01_get_device_table  Get the Slot ID using the PDO protocol Example: gpDeviceInfo[gDMCCa rdNo] is a “WORD” type variable. If its value is 7, the binary form is expressed as “ 0000 0000 0000 0111”, so Slave devices with Slot IDs “1”, “2” [...]

  • Página 26

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-4 Revised March, 2012 3.2 Read/Write Driver Parameters 3.2.1 Function List Table 3.2 Function Name _DMC_01_set_pdo_mode _DMC_01_read_servo_parameter _DMC_01_write_servo_parameter 3.2.2 Sample Application Program Appearance Figure 3.6 1) Card Initialization and Mode Switching Figure 3.7 C[...]

  • Página 27

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-5 The last argument [Enable] is used to set whether PDO mode is used for Slave communications or not. Please refer to t he section on this function for a more detailed description of this argument. In the above example, the value of the ar gument is 0. This means PDO [...]

  • Página 28

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-6 Revised March, 2012 4) Write servo parameter Figure 3.10 As shown in Fig. 3.10, if you wish to writ e a parameter value to servo then you must input the desired value in the edit box and then click on the “Wri te” button to execute the following procedure: rt = _DMC_01_write_servo_[...]

  • Página 29

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-7 3.3 CANopen Protocol 3.3.1 Function List Table 3.3 Function Name _DMC_01_set_pdo_mode _DMC_01_send_message _DMC_01_read_message _DMC_01_get_message 3.3.2 Sample Application Program Appearance Figure 3.11 1) Initialize card and set Slave communications to SDO mode. C[...]

  • Página 30

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-8 Revised March, 2012 You input the value of the “NodeID”. The va lue will reflect the Slave ID you wish to set up. Please refer to th CANopen manual (DS 402) for setting the “Index”, “Sub” and “Type” values. The values “D0” to “D3” are used to input the SDO comma[...]

  • Página 31

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-9 3.4 Homing Motion Control 3.4.1 Overview Most application programs use an incremental encoder to retrieve position feedback. A homing operation is essential to performing accurate motion c ontrol. After the power is switched on, the status of the machine bench'[...]

  • Página 32

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-10 Revised March, 2012 3.4.2 Function List Table 3.4 Function Name _DMC_01_set_home_config _DMC_01_set_home_move _DMC_01_escape_home_move 3.4.3 Sample Application Program Appearance Figure 3.17 1) Open card and initialization Click on the “Initial” button to open and initialize the c[...]

  • Página 33

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-11 2) Enter the values of t he arguments for motion control Figure 3.18 NodeID item: API function's argument variable “NodeID”. Timer Checkbox: Check to display the motion status . Uncheck to disable display. Vel. item: Number of pulses per second. AP I funct[...]

  • Página 34

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-12 Revised March, 2012 5) Homing operation See Fig. 3.20. Click on “Move” to begi n executing the following procedure; /* Set homing mode: 1~35, offs et and velocity parameters */ rt = _DMC_01_set_home_config(gDMCCard No, NodeID, SlotID, home_mode, home_offset, StrVel, MaxVel, acc); [...]

  • Página 35

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-13 3.5 Torque Motion Control 3.5.1 Function List Table 3.5 Function Name _DMC_01_set_torque_mode _DMC_01_set_torque _DMC_01_set_torque_stop _DMC_01_get_torque 3.5.2 Sample Application Program Appearance Figure 3.21 1) Card initialization Click on the “Initial” but[...]

  • Página 36

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-14 Revised March, 2012 Input Node ID and check the “Timer” check box to enable motion status display NodeID item: API function argument variable “NodeID”. Timer Checkbox: Check to display the motion status . Uncheck to disable display. 3) Enter values for slope and ratio Figure 3[...]

  • Página 37

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-15 7) Exit procedure Click on the “Exit” button to quit and exit the procedure. “_DMC_01_reset_card” and “_DMC_01_close ” must be executed to exit this function. Please refer to Section 3.12 “Exi t procedure” for the function operations.[...]

  • Página 38

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-16 Revised March, 2012 3.6 Velocity Motion Control (1) 3.6.1 Function List Table 3.6 Function Name _DMC_01_set_velocity_mode _DMC_01_set_velocity _DMC_01_set_velocity_stop _DMC_01_get_rpm 3.6.2 Sample Application Program Appearance Figure 3.25 1) Card initialization Click on the “Initi[...]

  • Página 39

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-17 Input Node ID and check the “Timer” check box to enable motion status display NodeID item: API function's argument variable “NodeID”. Timer Checkbox: Check to display the motion status . Uncheck to disable display. 3) Enter the values for acceleration/[...]

  • Página 40

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-18 Revised March, 2012 6) Display current RPM value rt = _DMC_01_get_rpm (gDMCCardNo , NodeID, SlotID, & rpm); // Value returned by RPM variableActual mo tion RPM is 10% of RPM variable value 7) Exit procedure Click on the “Exit” button to quit and exit the procedure. “_DMC_01_[...]

  • Página 41

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-19 3.7 Velocity Motion Control (2) 3.7.1 Function List Table 3.7 Function Name _DMC_01_tv_move _DMC_01_sv_move _DMC_01_emg_stop 3.7.2 Sample Application Program Appearance Figure 3.29 1) Card initialization Click on the “Initial” button to open and initialize the [...]

  • Página 42

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-20 Revised March, 2012 3) Enter the values of t he arguments for motion control Figure 3.31 StrVel item: Starting velocity. API function' s argument variable “StrVel”. MaxVel item: Maximum velocity. API function's argument variable “MaxVel”. Acc. item: Time required to [...]

  • Página 43

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-21 3.8 Point to Point Motion Control 3.8.1 Overview Point to point motion control can be used with single and multi-axes. For single- or multi-axes point to point motion control, PCI-DMC-A01 absolute or relative coordinate motion modes with a S-Curv e or T-curve veloc[...]

  • Página 44

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-22 Revised March, 2012 3.8.3 Sample Application Program Appearance Figure 3.33 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detailed description of card initiali zation, please refer to “Open card” and “Card initialization” in Se[...]

  • Página 45

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-23 3) Enter the values of t he arguments for motion control Figure 3.35 StrVel item: Starting velocity. API function' s argument variable “StrVel”. MaxVel item: Maximum velocity. API function's argument variable “MaxVel”. Acc. item: Time required to [...]

  • Página 46

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-24 Revised March, 2012 6) Start point to point motion control Click on the “  ” or “  “ button to execute the following procedure: rt = _DMC_01_start_sa_move(gDMCCardNo, NodeID, SlotID, Distance, StrVel, MaxVel, acc, dec); // Motion displacement using absolute coordinates w[...]

  • Página 47

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-25 Motion counter value: rt = _DMC_01_get_command(gDMCCardNo , NodeID, SlotID, &cmd); // Get value of command counter rt = _DMC_01_get_positi on(gDMCCardNo, NodeID, SlotID, &pos); // Get value of feedback counter Motion status: rt = _DMC_01_get_current_speed(g[...]

  • Página 48

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-26 Revised March, 2012 3.9 Linear Interpolation Motion Control 3.9.1 Overview If you wish to use CANopen PDO protocol fo r motion control you must operate in the CANopen IP mode. PCI-DMC-A01 supports 2~3 axis linear interpolation in absolute or relative coordinate motion modes under the [...]

  • Página 49

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-27 3.9.3 Sample Application Program Appearance Figure 3.41 1) Card initialization Click on the “Initial” button to start card initialization. For a detailed description of card initialization, please refer to Section 3.1.2 - 1) Open card. 2) Get Slot ID and enable[...]

  • Página 50

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-28 Revised March, 2012 3) Enter the values of t he arguments for motion control Figure 3.43 StrVel item: Starting velocity. API function' s argument variable “StrVel”. MaxVel item: Maximum velocity. API function's argument variable “MaxVel”. Acc. item: Time required to [...]

  • Página 51

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-29 6) Start motion control with linear interpolation in 2 or 3 axes Click on the “  ” or “  “ button to execute the following procedure: 2-axis linear interpolation: rt = _DMC_01_start_sa_move_xy(gDMCCa rdNo, gLine2, gSlot2, Distance, Distance, StrVel, M[...]

  • Página 52

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-30 Revised March, 2012 7) Stop motion Figure 3.46 Hit the “STOP” button to execute an emergency stop: rt = _DMC_01_emg_stop (gDMCCardNo, NodeID, SlotID); In this example, emergency stop is used to stop motion. This method quickly stops motion by setting deceleration time to 0. For mo[...]

  • Página 53

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-31 3.10 Arc Interpolation Motion Control 3.10.1 Overview PCI-DMC-A01 supports 2-axis arc interpolat ion in absolute or relative coordinate motion modes under the S-curve or T-curve velo city cross-section. Fig. 3.44 illustrates arc interpolation on any 2 axes. The sta[...]

  • Página 54

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-32 Revised March, 2012 3.10.3 Sample Application Program Appearance Figure 3.48 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detailed description of card initiali zation, please refer to “Open card” and “Card initialization” in S[...]

  • Página 55

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-33 StrVel item: Starting velocity. API function' s argument variable “StrVel”. MaxVel item: Maximum velocity. API function's argument variable “MaxVel”. Acc. item: Time required to reach maximum velocity. API function's argument variable “acc?[...]

  • Página 56

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-34 Revised March, 2012 ➌ Cen_X item: Center's x-coordinate. API function's argument variable “arc3_cen_x”. Cen_Y item: Center's y-coordinate. API function's argument variable “arc3_cen_y”. End_X item: Endpoint's x-coordinate. API function's argumen[...]

  • Página 57

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-35 2-axis arc interpolation using interpolation method 2 (Arc2). rt = _DMC_01_start_sa_arc2_xy(gDMCCard No, gArcNode, gSlot2, arc2_end_x, arc2_end_y, arc2_angle, StrVel , MaxVel, acc, dec); // Arc interpolation motion using absolute coordinates under the S-curve veloc[...]

  • Página 58

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-36 Revised March, 2012 Hit the “STOP” button to execute an emergency stop: rt = _DMC_01_emg_stop (gDMCCardNo, NodeID, SlotID); In this example, emergency stop is used to stop motion. This method quickly stops motion by setting deceleration time to 0. For more information about the St[...]

  • Página 59

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-37 3.11 Spiral Interpolation Motion Control -Helix 3.11.1 Function List Table 3.11 Function Name _DMC_01_start_tr_heli_xy _DMC_01_start_sr_heli_xy _DMC_01_start_ta_heli_xy _DMC_01_start_sa_heli_xy 3.11.2 Sample Application Program Appearance Figure 3.54[...]

  • Página 60

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-38 Revised March, 2012 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detailed description of card initiali zation, please refer to “Open card” and “Card initialization” in Section 3.1.2. 2) Get Slot ID and enable motion status dis[...]

  • Página 61

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-39 rt = _DMC_01_motion_status(gDMCCardNo , NodeID, SlotID, &MC_status); // Get current status rt = _DMC_01_motion_done(gD MCCardNo, NodeID, Sl otID, &MC_done); // Get current motor status 3) Enter the argument values and chosen ve locity cross-section for moti[...]

  • Página 62

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-40 Revised March, 2012 Figure 3.57 4) Set Servo Motor Power ON/OFF(servo on/servo off) Figure 3.58 Click on the “SVON” button to ex ecute the following procedure: rt = _DMC_01_ipo_set_svon(gDMCCardNo , NodeID, SlotID , ON_OFF); // ON_OFF: 0 – Servo Power OFF; 1 – Servo Power ON 5[...]

  • Página 63

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-41 6) Stop motion Hit the “STOP” button to execute an emergency stop: rt = _DMC_01_emg_stop (gDMCCardNo, NodeID, SlotID); In this example, emergency stop is used to stop motion. This method quickly stops motion by setting deceleration time to 0. For more informati[...]

  • Página 64

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-42 Revised March, 2012 3.12 Continuous Interpolation Motion Control 3.12.1 Overview A series of motion commands can be us ed to describe a square path with rounded corners. PCI-DMC-A01 supports using the 20-unit soft ware FIFO in Motion ASIC for motion control during continuous interpola[...]

  • Página 65

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-43 3.12.3 Sample Application If you wish to perform the continuous interp olation motion illustrated below, you must execute the following procedure and carry out the commands from ➀ ~ ➇ : Figure 3.60 Program Appearance Figure 3.61[...]

  • Página 66

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-44 Revised March, 2012 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detailed description of card initiali zation, please refer to “Open card” and “Card initialization” in Section 3.1.2. 2) Get Slot ID and enable motion status dis[...]

  • Página 67

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-45 5) Set Servo Motor Power ON/OFF(servo on/servo off) Figure 3.65 Click on the “SVON” button to ex ecute the following procedure: rt = _DMC_01_ipo_set_svon(gDMCCardNo , NodeID, SlotID , ON_OFF); // ON_OFF: 0 – Servo Power OFF; 1 – Servo Power ON 6) Click on t[...]

  • Página 68

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-46 Revised March, 2012 V-T diagram of actual X-axis motion: Figure 3.66 7) Stop motion Hit the “STOP” button to execute an emergency stop: rt = _DMC_01_emg_stop (gDMCCardNo, NodeID, SlotID); In this example, emergency stop is used to stop motion. This method quickly stops motion by s[...]

  • Página 69

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-47 3.13 Software Limit Control 3.13.1 Function List Table 3.13 Function Name _DMC_01_start_sr_move _DMC_01_start_tr_move _DMC_01_start_sa_move _DMC_01_start_ta_move _DMC_01_set_soft_limit _DMC_01_enable_soft_limit _DMC_01_disable_soft_limit _DMC_01_get_soft_limit_stat[...]

  • Página 70

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-48 Revised March, 2012 1) Card initialization Click on the “Initial” button to start card initialization. For a detailed description of card initialization, please refer to Section 3.1.2 - 1) Open card. 2) Set Servo Node ID and enable motion status display Figure 3.68 Input Node ID a[...]

  • Página 71

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-49 5) Set positive/negative value limit, stop mo tion mode, and whether software limit is enabled Figure 3.71 N-Limit item: Value of negative limit. API functi on's argument variable “NLimit”. P-Limit item: Value of positive limit. API functi on's argume[...]

  • Página 72

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-50 Revised March, 2012 9) Start motion control (Using point to point motion control as an example) Click on the “  ” or “  ” button to execute the following procedure: rt = _DMC_01_start_sa_move(gDMCCardNo, NodeID, SlotID, Distance, StrVel, MaxVel, acc, dec); // Motion disp[...]

  • Página 73

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-51 3.14 Synchronization Motion Control 3.14.1 Function List Table 3.14 Function Name _DMC_01_sync_move _DMC_01_sync_move_config 3.14.2 Sample Application Program Appearance Figure 3.74 1) Card initialization Click on the “Initial” button to open and initialize the[...]

  • Página 74

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-52 Revised March, 2012 2) Choose whether to enable syn chronization motion control Figure 3.75 Sync. Enable checkbox: Enable motor sync or not. You can execute the following pr ocedure to enable sync motion: rt = _DMC_01_sync_move_config(gDMCCardNo, gpNodeID[i], SlotID, enable); // If en[...]

  • Página 75

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-53 5) Select motion mode and set motion distance. Figure 3.78 Abs. Checkbox: You must check this if you w ant motion displacement to use absolute coordinates. S-Curve checkbox: You must check this box if you wish to use the S-curve velocity curve. Dist. item: Motion d[...]

  • Página 76

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-54 Revised March, 2012 8) Stop motion Hit the “STOP” button to execute an emergency stop: rt = _DMC_01_emg_stop (gDMCCardNo, NodeID, SlotID); In this example, emergency stop is used to stop motion. This method quickly stops motion by setting deceleration time to 0. For more informati[...]

  • Página 77

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-55 3.15 Dwell Command 3.15.1 Function List Table 3.15 Function Name _DMC_01_start_ta_move _DMC_01_buf_dwell 3.15.2 Sample Application Program Appearance Figure 3.80 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detaile[...]

  • Página 78

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-56 Revised March, 2012 3) In the following example, adding the dwell command between continuous motion commands will ensure the executi on of continuous motion: rt = _DMC_01_start_ta_move(gDMCCardNo, NodeID, SlotID, Distance, StrVel, MaxVel, acc, dec); // Motion displacement using absolu[...]

  • Página 79

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-57 3.16 Change Position 3.16.1 Function List Table 3.16 Function Name _DMC_01_start_ta_move _DMC_01_p_change 3.16.2 Sample Application Program Appearance Figure 3.83 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detail[...]

  • Página 80

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-58 Revised March, 2012 Input Node ID and check “Timer” checkb ox to enable motion status display NodeID item: API function's argument variable “NodeID”. Timer Checkbox: Check to display the motion status . Uncheck to disable display. 3) Enter the values of t he arguments for[...]

  • Página 81

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-59 7) If you want to change position of current mo tion to a new position, you must click on “P change” to execute the following procedure: rt = _DMC_01_p_change (CardNo, NodeID, SlotID, NewPos); // Replaces the current posit ion with a new position value 8) Stop [...]

  • Página 82

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-60 Revised March, 2012 3.17 Change Position 3.17.1 Function List Table 3.17 Function Name _DMC_01_start_ta_move _DMC_01_v_change 3.17.2 Sample Application Program Appearance Figure 3.87 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detail[...]

  • Página 83

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-61 2) Set Servo Node ID and enable motion status display Figure 3.88 Input Node ID and check “Timer” checkb ox to enable motion status display NodeID item: API function's argument variable “NodeID”. Timer Checkbox: Check to display the motion status . Unc[...]

  • Página 84

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-62 Revised March, 2012 5) Set Servo Motor Power ON/OFF(servo on/servo off) Click on the “SVON” button to ex ecute the following procedure: rt = _DMC_01_ipo_set_svon(gDMCCardNo , NodeID, SlotID , ON_OFF); // ON_OFF: 0 – Servo Power OFF; 1 – Servo Power ON 6) Start motion control ([...]

  • Página 85

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-63 3.18 Change Velocity 3.18.1 Function List Table 3.18 Function Name _DMC_01_start_sa_move_2seg _DMC_01_start_ta_move_2seg _DMC_01_start_sr_move_2seg _DMC_01_start_tr_move_2seg 3.18.2 Sample Application Program Appearance Figure 3.91 1) Card initialization Click on t[...]

  • Página 86

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-64 Revised March, 2012 2) Set Servo Node ID and enable motion status display Figure 3.92 Input Node ID and check “Timer” checkb ox to enable motion status display NodeID item: API function's argument variable “NodeID”. Timer Checkbox: Check to display the motion status . Unc[...]

  • Página 87

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-65 5) Set distance and velocity for 2nd motion Figure 3.95 2 nd dist item: Value of distance for 2nd motion. API function's argument variable “Dist2”. 2 nd vel item: Value of velocity for 2nd motion. API function's argument variable “MaxVel2”. 6) Set[...]

  • Página 88

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-66 Revised March, 2012 9) Stop motion Hit the “STOP” button to execute an emergency stop: rt = _DMC_01_emg_stop (gDMCCardNo, NodeID, SlotID); In this example, emergency stop is used to stop motion. This method quickly stops motion by setting deceleration time to 0. For more informati[...]

  • Página 89

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-67 3.19 Remote I/O Module-I/O Port 3.19.1 Function List Table 3.19 Function Name _DMC_01_set_rm_input_filter _DMC_01_set_rm_input_filter_enable _DMC_01_set_rm_output_value_error_handle _DMC_01_get_slave_version _DMC_01_get_devicetype _DMC_01_set_rm_output_value _DMC_0[...]

  • Página 90

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-68 Revised March, 2012 2) When setting the ASD-DMC-RM32MN module initialization param eters, you must execute the following procedure: rt = _DMC_01_set_rm_input_filter(gDMCC ardNo, gpNodeID[gNo deNum], 0, port, filter); // The port variable can be set to the 2 por ts on the remote module[...]

  • Página 91

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-69 // The Output_value[1] variable will store the value to be out put for bit 0 to bit 15 of Port 1 /* Enable output */ rt = _DMC_01_set_rm_output_active(gDMCCa rdNo, NodeID, SlotID, Enable); //This function must be enabled before the output value set above can be out[...]

  • Página 92

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-70 Revised March, 2012 3.20 Remote I/O Module- Manual Pulse Generator (1) 3.20.1 Function List Table 3.20 Function Name DMC_01_get_rm_input_value _DMC_01_set_rm_mpg_axes_enable _DMC_01_set_rm_mpg_axes_enable2 3.20.2 Sample Application Program Appearance Figure 3.98 1) Card initialization[...]

  • Página 93

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-71 Input Node ID and check “Timer” checkb ox to enable motion status display NodeID item: API function's argument variable “NodeID”. Timer Checkbox: Check to display the motion status . Uncheck to disable display. 3) Enter parameter value of manual pulse [...]

  • Página 94

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-72 Revised March, 2012 6) Stop manual position control If you wish to stop using the MPG, si mply uncheck the “MPG” or “MPG2” checkboxes. 7) Reset SERVON status If you wish to reset the SERVON status, you must uncheck the “MPG” or “MPG2” checkboxes then click on the “RE[...]

  • Página 95

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-73 3.21 Remote I/O Module- Manual Pulse Generator (2) 3.21.1 Function List Table 3.21 Function Name _DMC_01_get_rm_input_value _DMC_01_set_rm_mpg_axes_enable _DMC_01_set_rm_jog_axes_enable 3.21.2 Sample Application Program Appearance Figure 3.101 1) Card initializatio[...]

  • Página 96

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-74 Revised March, 2012 2) Set Servo Node ID and enable motion status display Figure 3.101 Enter Node ID and check “Timer” checkb ox to enable motion status display NodeID item: API function's argument variable “NodeID”. NNID item: API function's argument variable “slo[...]

  • Página 97

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-75 6) If you wish to use the MPG function, you must check the “MPG” ch eckbox and execute the following procedure: rt = _DMC_01_get_rm_input_value(CardNo , NodeID, SlotID, Port, &Value); // Retrieve the value for bit 0 to bit 15 of the remote I/O module's[...]

  • Página 98

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-76 Revised March, 2012 3.22 Remote Pulse Interface Module -Mode 1 3.22.1 Function List Table 3.22 Function Name _DMC_01_get_buffer_length _DMC_01_get_servo_DI _DMC_01_get_servo_DO _DMC_01_rm_04pi_md1_get_soft_limit_status _DMC_01_set_rm_04pi_ipulse_mode _DMC_01_set_rm_04pi_opulse_mode _D[...]

  • Página 99

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-77 3.22.2 Sample Application Program Appearance Figure 3.104 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detailed description of card initiali zation, please refer to “Open card” and “Card initialization” in [...]

  • Página 100

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-78 Revised March, 2012 3) Enter the values of t he arguments for motion control Figure 3.106 Dist. item: Set motion distance. API function' s argument variable “Distance”. StrVel item: Starting velocity. API function' s argument variable “StrVel”. MaxVel item: Maximum v[...]

  • Página 101

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-79 5) Set Home motion mode and offset: Figure 3.108 Mode item: Select Home motion mode. API function's argument variable “home_mode”. Offset item: Set Home motion offset. API function's argument variable “home_offset”. 6) Set positive/negative value [...]

  • Página 102

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-80 Revised March, 2012 8) Set the new velocity, deceleration time and enable position change for new position. Figure 3.110 New Vel item: Set new velocity. API function' s argument variable “NewSpeed”. sec item: Set acceleration/deceleration time. API function's argument va[...]

  • Página 103

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-81 11) Enable software limit Figure 3.113 If you wish to use the software limit function, you must firs t set the “P Limit” and “N Limit” values then check the “Soft-limit E nable” checkbox to execute the following procedure: /* Start software limit config[...]

  • Página 104

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-82 Revised March, 2012 rt = _DMC_01_rm_04pi_md1_p_change(Card No, NodeID, SlotID, NewPos); 15) Change velocity Under mode 1, RM04PI will replace the current velocity with the new velocity. You must click on the “Vch” button to execute the following procedure: /* P Change */ rt = _DMC[...]

  • Página 105

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-83 3.23 Remote Pulse Interface Module -Mode 2 3.23.1 Function List Table 3.23 Function Name _DMC_01_start_sa_move _DMC_01_start_ta_mov _DMC_01_start_sr_move _DMC_01_start_tr_move _DMC_01_set_rm_04pi_ipulse_mode _DMC_01_set_rm_04pi_opulse_mode _DMC_01_set_rm_04pi_svon_[...]

  • Página 106

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-84 Revised March, 2012 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detailed description of card initiali zation, please refer to “Open card” and “Card initialization” in Section 3.1.2. 2) Set Servo Node ID and enable motion stat[...]

  • Página 107

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-85 4) Enter the values of t he arguments for motion control Figure 3.117 Abs. Checkbox: You must check this if you w ant motion displacement to use absolute coordinates. S-Curve checkbox: You must check this box if you wish to use the S-curve velocity curve. StrVel it[...]

  • Página 108

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-86 Revised March, 2012 7) Start motion control (Using point to point motion control as an example) Click on the “  ” or “  ” button to execute the following procedure: rt = _DMC_01_start_sa_move(gDMCCardNo, NodeID, SlotID, Distance, StrVel, MaxVel, acc, dec); // Motion disp[...]

  • Página 109

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-87 3.24 Get (Calculate ) Arc Information 3.24.1 Function List Table 3.24 Function Name _misc_app_get_circle_endpoint _misc_app_get_circle_center_point 3.24.2 Sample Application Program Appearance Figure 3.118[...]

  • Página 110

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-88 Revised March, 2012 1) Card initialization Click on the “Initial” button to open and initialize the card. For a detailed description of card initiali zation, please refer to “Open card” and “Card initialization” in Section 3.1.2. 2) Get Slot ID and enable motion status dis[...]

  • Página 111

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-89 4) When you complete the arc calculati on and get the data you require for arc interpolation motion, you can begin motion control for arc interpolation. Enter the data required for arc interpolation as shown in Fig. 390, select the arc interpolation motion you wish[...]

  • Página 112

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-90 Revised March, 2012 3.25 Control Interrupt 3.25.1 Function List Table 3.26 Function Name _DMC_01_int_enable _DMC_01_int_disable _DMC_01_set_int_factor _DMC_01_get_int_count 3.25.2 Sample Application Program Appearance Figure 3.124[...]

  • Página 113

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-91 1) Card initialization: Click on the “Initial” button to start card initialization. For a detailed description of card initialization, please refer to Section 3.1.2 - 1) Open card. 2) Set Servo Node ID and enable motion status display Figure 3.125 Input Node ID[...]

  • Página 114

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-92 Revised March, 2012 Abs. checkbox: You must check this if you want motion displacement to use absolute coordinates. S-Curve checkbox: You must check this box if you wish to use the S-curve velocity curve. Dist. item: Motion distance. API function's argument variable “Distance?[...]

  • Página 115

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-93 8) Start motion control (Using point to point motion control as an example) Click on the “  ” or “  ” button to execute the following procedure: rt = _DMC_01_start_sa_move(gDMCCardNo, NodeID, SlotID, Distance, StrVel, MaxVel, acc, dec); // Motion disp[...]

  • Página 116

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-94 Revised March, 2012 3.26 MasterCard Security 3.26.1 Function List Table 3.26 Function Name _DMC_01_check_userpassword _DMC_01_write_userpassword _DMC_01_read_serialno _DMC_01_write_verifykey _DMC_01_check_verifykey _DMC_01_read_security _DMC_01_read_security_status _DMC_01_write_secur[...]

  • Página 117

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-95 3.26.2 Sample Application Program Appearance Figure 3.129 1) Card initialization: Click on the “Open card” button to start card initialization. For a detailed description of card initialization, please refer to Section 3.1.2 - 1) Open card.[...]

  • Página 118

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-96 Revised March, 2012 2) Start motion card login operation. (Ser ialNo, Verifykey, Memory Read/Write all require Check Password Pass to operate). Figure 3.130 Password item: Enter two sets of 1~8 bit 0~F hex adecimal values. Default motion card passwords (Password1: FFFFFFFF Password2:F[...]

  • Página 119

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-97 4) Set up Verifykey Figure 3.132 SerialNo. display: The motion card's serial number is displayed here. Read Serial No item: Read the serial number of the motion card. Input User Key item: Enter two sets of custo mer-s elected 1~8 bit 0~F hexadecimal values as [...]

  • Página 120

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-98 Revised March, 2012 6) Check Verify key Figure 3.134 Page item: Enter the value of the Memory Page (0 ~ 9) to read or write. Read item: Execute read of selected Memory P age and display in “Read” item. Write Enable item: Before executing the write o peration, the Write Enable chec[...]

  • Página 121

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-99 /* Check to see if value of Verify Key is correct*/ rt =_DMC_01_check_verifykey(gDM CCardNo,verifykey(0),state); Clicking on Read button in Fig. 3.134 below executes the following procedure: /*Read the data from the selected Page and display data in the “Read” [...]

  • Página 122

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-100 Revised March, 2012 3.27 Remote Analog Input/Output Module 3.27.1 Function List Table 3.27 Function Name _DMC_01_rm_04da_set_output_value _DMC_01_rm_04da_get_output_value _DMC_01_rm_04da_get _return_code _DMC_01_rm_04da_read_data _DMC_01_rm_04da_set_output_range _DMC_01_rm_04da_set_o[...]

  • Página 123

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-101 3.27.2 Sample Application Program Appearance Figure 3.135[...]

  • Página 124

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-102 Revised March, 2012 1) Card initialization: Click on the “Initial” button to start card initialization. For a detailed description of card initiali zation, please refer to Section 3.1.2 - 1) Open card. 2) DA Channel and display mode selection Figure 3.136 Channel item: Enter the [...]

  • Página 125

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-103 4) Select AD Conversion Time mode: Figure 3.138 Conversion Time item: Select Conversion Time mode. 5) Select AD Channel / Dis play mode / Average data. Figure 3.139 Channel item: Select Channel for AD enable input. Mode item: Select AD display range. Average item:[...]

  • Página 126

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-104 Revised March, 2012 7) If the Mode option in Fig. 3.136 is sele cted, execute the following procedure: /*First, reset O ffset to 0 */ rt = _DMC_01_rm_04da_set_output_offset_v alue(gDM CCardNo,DANodeID,SlotID, ChannelDA,0); /* Next, Output Disable */ rt = _DMC_01_rm_04da_set_output_en[...]

  • Página 127

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-105 /* Set AD input range mode*/ rt =_DMC_01_set_04ad_in put_range(gDMCCardNo,ADNo deID,SlotID,ChannelAD, mode); If the Average option in Fig. 3.139 is select ed, execute the following procedure: /* Set AD waveform output calculation frequency*/ rt =_DMC_01_set_04ad_a[...]

  • Página 128

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-106 Revised March, 2012 3.28 Spiral Interpolatio n Motion Control -Spiral 3.28.1 Function List Table 3.28 Function Name _DMC_01_start_spiral_xy _DMC_01_start_spiral2_xy 3.28.2 Sample Application Program Appearance Figure 3.141 1) Card initialization: Click on the “Initial” button to [...]

  • Página 129

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-107 2) Enable motion status display Figure 3.142 Timer Checkbox: Check to display the motion status . Uncheck to disable display. 3) Spiral motion parameter settings: Figure 3.143 Center_X item: Spiral center point's X-coordinate, API function's argument var[...]

  • Página 130

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-108 Revised March, 2012 4) Spiral2 motion parameter settings: Figure 3.144 Center_X item: Spiral center point's X-coordinate, API function's argument variable “Center_X”. Center_Y item: Spiral center point's Y-coordinate, API function's argument variable “Center[...]

  • Página 131

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-109 5) Select motion mode Figure 3.145 Abs. Checkbox: You must check this if you w ant motion displacement to use absolute coordinates. S-Curve checkbox: You must check this box if you wish to use the S-curve velocity curve. 6) Select Spiral motion mode Figure 3.146 S[...]

  • Página 132

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-110 Revised March, 2012 9) Stop motion Click on the “STOP” button to execute slow down stop for current point to point motion. rt = _DMC_01_sd_stop(gDMCCard No, NodeID, SlotID, dec); In this example, deceleration is used to st op displacement motion. Here the velocity is gradually re[...]

  • Página 133

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-111 3.29 Position Compare 3.29.1 Function List Table 3.29 Function Name _DMC_01_set_compare_channel_position _DMC_01_get_compa re_channel_position _DMC_01_set_compare_ipulse_mode _DMC_01_set_compare_channel_direction _DMC_01_set_compare_channel_trigger_time _DMC_01_se[...]

  • Página 134

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-112 Revised March, 2012 3.29.2 Sample Application Program Appearance Figure 3.147 1) Card initialization: ※ First, check to ensure hat the card y ou have installed is the PCI-DMC-B01 interface card. Click on the “Open card” button to start card initialization. For a detailed descri[...]

  • Página 135

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-113 Card item: Enter ID of PCI_DMC_B01 card to use. Node item: Select Node ID. This should match the QEP1 or QEP2. QEP1 item: Example: If Channel 0 is selected, then Node ID should be Node 1. QEP2 item: Example: If Channel 1 is select ed, Node ID should be Node2. 3) C[...]

  • Página 136

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-114 Revised March, 2012 QEP1 Inverse item: Reverse. Click on this button to execute the following settings: rt = _DMC_01_set_compare_channel_di rection(CpCardNo,0,dir); // dir:0 or 1 QEP2 Inverse item: Reverse. Click on this button to execute the following settings: rt = _DMC_01_set_comp[...]

  • Página 137

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-115 Else //Compare2 First, set output to disable rt = _DMC_01_channel1_out put_enable(CpCardNo,0); // 0:off 1:on  If Level checkbox is checked, then execute the following setting: rt = _DMC_01_channel1_posit ion_compare_table(CpCardNo,pos_table,tab_size);  If no[...]

  • Página 138

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-116 Revised March, 2012 3.30 Axis Group 3.30.1 Function List Table 3.30 Function Name _DMC_01_set_group 3.30.2 Sample Application Program Appearance Figure 3.153[...]

  • Página 139

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-117 1) Card initialization: Click on the “Open card” button to start card initialization. For a detailed description of card initialization, please refer to Section 3.1.2 - 1) Open card. 2) Card number, Slave number: Figure 3.154 Card num item: Display number of c[...]

  • Página 140

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-118 Revised March, 2012 4) Exit procedure Click on the “Exit” button to qui t and exit the procedure. Exit function requires “_DMC_01_reset_c ard” and _DMC_01_close” to be used. For a detailed description of t hese two API please refer to section 3.1.2 4) Exit procedure.[...]

  • Página 141

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-119 3.31 Speed Continue 3.31.1 Function List Table 3.31 Function Name _DMC_01_speed_continue _DMC_01_speed_continue_mode _DMC_01_speed_continue_combine_ratio 3.31.2 Sample Application Program Appearance Figure 3.156[...]

  • Página 142

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-120 Revised March, 2012 1) Card initialization: Click on the “Open card” button to start card initialization. For a detailed description of card initialization, please refer to Section 3.1.2 - 1) Open card. 2) Card number, Slave number and Timer setting: Figure 3.157 Card num item: D[...]

  • Página 143

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-121 4) Demonstration: Figure 3.159 Example 1 item: Clicking on this will enter a Speed Continue demonstration programs shown in Fig. 3.158. The selected Speed Continue parameters wil l execut e the following procedure in order: rt = _DMC_01_start_tr_move_xy(gDMCCardNo[...]

  • Página 144

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-122 Revised March, 2012 3.32 Spiral Interpolation - He lix Using -Sp1_ Normal Follow 3.32.1 Function List Table 3.32 Function Name _DMC_01_start_tr_heli_xy 3.32.2 Sample Application Program Appearance Figure 3.160[...]

  • Página 145

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-123 1) Card initialization: Click on the “Open card” button to start card initialization. For a detailed description of card initialization, please refer to Section 3.1.2 - 1) Open card. 2) Card number, Slave number: Figure 3.161 Card num item: Display number of c[...]

  • Página 146

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-124 Revised March, 2012 Remarks: If Z-axis completes one revolution CW over the distance of Pitch, then if Dr = 0 Depth is a positive number as well. If Dir = 1 then Depth is a negative number; if Z-axis completes one revolution CCW ov er the distance of pi tch, then the opposite is true[...]

  • Página 147

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-125 When Example 2 and Tangent are selected, the result is as shown below: Figure 3.164 Example 1: In this example, X and Y axes are used to make the tool move along rounded corner and straight lines. The t ool on the Z-axis is always at a normal or tangent to the out[...]

  • Página 148

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-126 Revised March, 2012 /* MotionStep1. Move the three axes to job start point */ _DMC_01_start_sa_move(CardNo, NodeID3[0], SlotID3[0], 0, 0, MaxVel, 0.1, 0.1); _DMC_01_start_sa_move(CardNo, NodeID3[1], SlotID3[1], 0, 0, MaxVel, 0.1, 0.1); _DMC_01_start_sa_move(CardNo, NodeID3[2], SlotID[...]

  • Página 149

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-127 Example 2: In this example, X and Y axes are used to make the tool move along rounded corner and straight lines. The t ool on the Z-axis is always at a normal or tangent to the shape. (The following explanation uses the C language and is executed using a state mac[...]

  • Página 150

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-128 Revised March, 2012 /* MotionStep4. Wait for first step of job to finish executing */ rt[0] = _DMC_01_get_command(CardNo, NodeID3[0], SlotID3[0], &Cmd[0]); rt[1] = _DMC_01_get_command(CardNo, NodeID3[1], SlotID3[1], &Cmd[1]); if ((rt[0] + rt[1] == 0) && (C md[0] == 30[...]

  • Página 151

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-129 /* MotionStep10. Wait for Z- axis tool to move into position (End action) */ rt[2] = _DMC_01_get_command(CardNo, NodeID3[2], SlotID3[2], &Cmd[2]); if ((rt[2] == 0) && (Cmd [2] == TempSaveData)) { MotionStep = 11; } /* MotionStep11. Start j ob (Continuo[...]

  • Página 152

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-130 Revised March, 2012 3.33 Logger 3.33.1 Function List Table 3.99 Function Name _misc_set_record_debuging _misc_open_rec ord_debuging_file 3.33.2 Sample Application Program Appearance Figure 3.165 1) Card initialization: Click on the “Initial” button to open and initialize the card[...]

  • Página 153

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 3-131 2) Debug enable and disable Figure 3.166 If you wish to enable the Debug function, you must execute the following procedure: rt = _misc_set_record_debuging(enable); // If the value of enable ar gument is 1, debug is enabled 3) Enter the path of the record f ile an[...]

  • Página 154

    Chapter 3 Operating Principles | PCI-DMC-A01 / PCI-DMC-B 01 3-132 Revised March, 2012 4) Start any kind of motion control under PDO mode 5) Log record output Fig. 3.998 is shows the log of functions and value changes used by motion control displayed in the debug window of the Vis ual Studio 6 development environment. Fig. 3.123 shows that the funct[...]

  • Página 155

    Chapter 4 Control API | PCI-DMC-A01 / PCI-DMC- B01 Revised March, 2012 4-1 Chapter 4 Control API 4.1 Data Type and Range Under the “incVC” folder in the installation is a file named “TYPE_DEF.H”. The file defines all the standard data types. Table 4.1 below shows the types, names, m eanings, and ranges defined in the file. Table 4.1 Name [...]

  • Página 156

    Chapter 4 Control API | PCI-DM C-A01 / PCI-DMC-B01 4-2 Revised March, 2012 4.2 Function Descripti on Table 4.2 Hardware Initialization API _DMC_01_open Initialize system re sources when program is run _DMC_01_close Release all system resources _DMC_01_get_CardNo_seq Get the number of all PCI-DMC-A01 interface cards on the system _DMC_01_pci_initial[...]

  • Página 157

    Chapter 4 Control API | PCI-DMC-A01 / PCI-DMC- B01 Revised March, 2012 4-3 _DMC_01_send_message3 Send SDO command message to data buffer and exit data buffer once command is set _DMC_01_read_message Read last SDO command message into data buffer _DMC_01_read_message2 Read the last SDO command message into data buffer and return number of reads _DMC[...]

  • Página 158

    Chapter 4 Control API | PCI-DM C-A01 / PCI-DMC-B01 4-4 Revised March, 2012 _DMC_01_sd_stop All motion commands in buffer will execute slow down stop based on deceleration time _DMC_01_sd_abort Current motion co mmand will execute deceleration time stop _DMC_01_set_sd_mode Set Sd_stop mode Motion Status API _DMC_01_motion_done Return current motion [...]

  • Página 159

    Chapter 4 Control API | PCI-DMC-A01 / PCI-DMC- B01 Revised March, 2012 4-5 _DMC_01_start_sr_move_2seg 2nd motion displacement using relative coordinates with S-curve velocity cross-section _DMC_01_start_ta_move_2seg 2nd motion displacem ent using absolute coordinates with T-curve velocity cross-section _DMC_01_start_sa_move_2seg 2nd motion displace[...]

  • Página 160

    Chapter 4 Control API | PCI-DM C-A01 / PCI-DMC-B01 4-6 Revised March, 2012 _DMC_01_start_tr_arc2_xy 2-axis arc interpolation motion using relative coordinates with T-curve velocity cross-section (Known conditions: Endpoint coordinates, angle) _DMC_01_start_sr_arc2_xy 2-axis arc interpolation motion using relative coordinates with S-curve velocity c[...]

  • Página 161

    Chapter 4 Control API | PCI-DMC-A01 / PCI-DMC- B01 Revised March, 2012 4-7 _DMC_01_start_v3_arc3_xy 2-axis arc interpolation motion with EndVel added (Known conditions: Center point coordinates, endpoint coordinates) _DMC_01_start_v3_spiral_xy 2-axis spiral motion with EndVel added (Known conditions: Center coordinates for X and Y axes) _DMC_01_sta[...]

  • Página 162

    Chapter 4 Control API | PCI-DM C-A01 / PCI-DMC-B01 4-8 Revised March, 2012 _DMC_01_set_rm_input_filter Set software filter level for input port of the remote I/O module _DMC_01_set_rm_input_filter_enable Enable so ftware mask for bit 0 to bit 15 of the remote I/O module's input port _DMC_01_set_rm_output_value Set the value for bit 0 to bit 15[...]

  • Página 163

    Chapter 4 Control API | PCI-DMC-A01 / PCI-DMC- B01 Revised March, 2012 4-9 _DMC_01_rm_04pi_md1_start_arc2 Perform 2-axis arc interpolation motion control under RM04PI Mode 1 (Known conditions: Endpoint coordinates, angle) _DMC_01_rm_04pi_md1_start_arc3 Perform 2-axis arc interpolation motion control under RM04PI Mode 1 (Known conditions: Center poi[...]

  • Página 164

    Chapter 4 Control API | PCI-DM C-A01 / PCI-DMC-B01 4-10 Revised March, 2012 4-Channel Analog Input Remote Module API _DMC_01_set_04ad_input_range Set AD input range _DMC_01_get_04ad_input_range Get current AD Input range _DMC_01_set_04ad_zero_scale Set AD zero level for range calibration _DMC_01_get_04ad_zero_scale_status Check if AD zero calibrati[...]

  • Página 165

    Chapter 4 Control API | PCI-DMC-A01 / PCI-DMC- B01 Revised March, 2012 4-11 _DMC_01_get_int_count Interrupt count. _DMC_01_get_int_status Get current interrupt status _DMC_01_Link_interrupt Link handling procedure. Called if interrupt enabled. Security API _DMC_01_read_security Master Card: read se curity data at specified memory block _DMC_01_read[...]

  • Página 166

    Chapter 4 Control API | PCI-DM C-A01 / PCI-DMC-B01 4-12 Revised March, 2012 _DMC_01_set_compare_channel_direction Set Channel pulse direction _DMC_01_set_compare_channel_trigger_ time Set Trigger enable time _DMC_01_set_compare_channel_one_ shot Set Trigger to one-time enable _DMC_01_set_compare_channel_s ource Compare source _DMC_01_channel0_posit[...]

  • Página 167

    Chapter 4 Control API | PCI-DMC-A01 / PCI-DMC- B01 Revised March, 2012 4-13 Other API _misc_app_get_circle_endpoint Get endpoint coordinates (X, Y) required for arc interpolation _misc_app_get_circle_center_point Get center point coordinates (X, Y) required for arc interpolation _misc_set_record_debuging Is Debug log function enabled _misc_open_rec[...]

  • Página 168

    Chapter 4 Control API | PCI-DM C-A01 / PCI-DMC-B01 4-14 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 169

    Chapter 5 Hardware Initialization API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 5-1 Chapter 5 Hardware Initialization API Table 5.1 Function Name Description _DMC_01_open Initialize system resources when program is run _DMC_01_close Release all system resources _DMC_01_get_CardNo_seq Get the number of all PCI-DMC-A01 interface cards on the s[...]

  • Página 170

    Chapter 5 Hardware Initialization API | PCI-DMC-A01 / PCI-D MC-B01 5-2 Revised March, 2012 5.1 _DMC_01_open  FORMAT I16 PASCAL _DMC_01_open (I16* existcard)  Purpose Initializes system resources when program is run.  Parameters Name Data Type Unit Description Existcard I16* cards To get the number of thes e cards installed in the system ?[...]

  • Página 171

    Chapter 5 Hardware Initialization API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 5-3 5.3 _DMC_01_get_CardNo_seq  FORMAT I16 PASCAL _DMC_01_get_CardNo_seq (U16 CardNo _seq,U16* CardNo)  Purpose Retrieves the number of all PCI-DMC-A 01 interface cards in the system.  Parameters Name Data Type Unit Description CardNo_seq U16 Number Unit[...]

  • Página 172

    Chapter 5 Hardware Initialization API | PCI-DMC-A01 / PCI-D MC-B01 5-4 Revised March, 2012 5.4 _DMC_01_pci_initial  FORMAT I16 PASCAL _DMC_01_pci_initial (U16 CardNo)  Purpose Initializes this PCI card.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15  Example U16 CardNo = 0; _DMC_01_pci_initi al[...]

  • Página 173

    Chapter 6 Interfac e API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 6-1 Chapter 6 Interface API Table 6.1 Function Name Description _DMC_01_initial_bus Initialize external bus _DMC_01_start_ring Start ring communication _DMC_01_get_device_table Get device table _DMC_01_get_node_table Get node table _DMC_01_check_card_running Check to see if c[...]

  • Página 174

    Chapter 6 Interface API | PCI-DM C-A01 / PCI-DMC- B01 6-2 Revised March, 2012 6.1 _DMC_01_initial_bus  FORMAT I16 PASCAL _DMC_01_initial_bus (U16 CardNo)  Purpose Initializes the external bus.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15  Example U16 CardNo = 0; I16 status = _DMC_01_ini tial_[...]

  • Página 175

    Chapter 6 Interfac e API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 6-3 6.3 _DMC_01_get_device_table  FORMAT I16 PASCAL _DMC_01_get_device_table (U16 CardNo, U16* valu e)  Purpose Retrieves the device table.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 value U16* Number Unit Device number [...]

  • Página 176

    Chapter 6 Interface API | PCI-DM C-A01 / PCI-DMC- B01 6-4 Revised March, 2012 6.5 _DMC_01_check_card_running  FORMAT I16 PASCAL _DMC_01_check_card_running (U16 CardNo, U16* running)  Purpose Checks to see if the card is running.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 running U16* Selection[...]

  • Página 177

    Chapter 6 Interfac e API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 6-5 6.7 _DMC_01_check_nodeno  FORMAT I16 PASCAL _DMC_01_check_nodeno(U16 CardNo, U16 NodeID, U16 SlotID,U16* exist)  Purpose Checks to see if the node already exists.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U16[...]

  • Página 178

    Chapter 6 Interface API | PCI-DM C-A01 / PCI-DMC- B01 6-6 Revised March, 2012 6.8 _DMC_01_get_master_connect_status  FORMAT I16 PASCAL _DMC_01_get_master_connect_st atus (U16 CardNo, U16* Protocol)  Purpose Retrieves the connection status between the Master Card and the expansion module.  Parameters Name Data Type Unit Description CardNo U[...]

  • Página 179

    Chapter 6 Interfac e API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 6-7 6.10 _DMC_01_get_mailbox_cnt  FORMAT I16 PASCAL _DMC_01_get_mailbox_cnt (U16 Ca rdNo, U32* PC_cnt, U32* DSP_cnt)  Purpose Retrieves the MailBox counter value.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 PC_cnt U32* Fr[...]

  • Página 180

    Chapter 6 Interface API | PCI-DM C-A01 / PCI-DMC- B01 6-8 Revised March, 2012 6.12 _DMC_01 _set_dio_out put  FORMAT I16 PASCAL _DMC_01_set_dio_output (U16 CardNo, U16 On_Off)  Purpose Sets GPIO output pin status.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 On_Off U16 Selection 0: Disable 1: Ena[...]

  • Página 181

    Chapter 6 Interfac e API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 6-9 6.14 _DMC_01_get_dio_input  FORMAT I16 PASCAL _DMC_01_get_dio_input (U16 CardNo, U16* On_Off)  Purpose Retrieves GPIO input pin status.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 On_Off U16* Selectio n 0: Disable 1: [...]

  • Página 182

    Chapter 6 Interface API | PCI-DM C-A01 / PCI-DMC- B01 6-10 Revised March, 2012 6.16 _DMC_01_initial_bus2  FORMAT I16 PASCAL _DMC_01_initial_bus2 ( )  Purpose Initializes all external buses.  Parameters Function has no parameters.  Example I16 status= _DMC_01_i nitial_bus2 ( ); 6.17 _DMC_01_motion_cnt  FORMAT I16 PASCAL _DMC_01_motion[...]

  • Página 183

    Chapter 7 Servo Drive Parameter Read/Wri te API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 7-1 Chapter 7 Servo Drive Parameter Read/Write API Table 7.1 Function Name Description _DMC_01_read_servo_parameter Read servo drive parameter data _DMC_01_write_servo_parameter Write servo driv e parameter data[...]

  • Página 184

    Chapter 7 Servo Drive Parameter Rea d/Write API | PCI-DMC-A01 / PCI-DM C-B01 7-2 Revised March, 2012 7.1 _DMC_01_read_servo_parameter  FORMAT I16 PASCAL _DMC_01_read_servo_parameter (U16 CardNo, U16 NodeID, U16 SlotID, U16 group,U16 idx,U32* data)  Purpose Reads servo drive parameter.  Parameters Name Data Type Unit Description CardNo U16 [...]

  • Página 185

    Chapter 7 Servo Drive Parameter Read/Wri te API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 7-3 7.2 _DMC_01_write_servo_parameter  FORMAT I16 PASCAL _DMC_01_write_servo_parameter (U16 CardNo, U16 NodeID, U16 SlotID, U16 group,U16 idx,U32 data)  Purpose Writes servo drive parameter.  Parameters Name Data Type Unit Description CardNo U1[...]

  • Página 186

    Chapter 7 Servo Drive Parameter Rea d/Write API | PCI-DMC-A01 / PCI-DM C-B01 7-4 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 187

    Chapter 8 Using SDO Protocol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 8-1 Chapter 8 Using SDO Protocol API Table 8.1 Function Name Description _DMC_01_check_canopen_lock Under SD O mode, check to see if next command can be executed _DMC_01_get_canopen_ret Get data returned by CANopen (SDO related data) _DMC_01_set_pdo_mode Set to use CA [...]

  • Página 188

    Chapter 8 Using SDO Protocol API | PCI-DM C-A01 / PCI-DMC- B01 8-2 Revised March, 2012 8.1 CANopen SDO prot ocol ※ Sample SDO Packet Format for CANopen 1 – Index Read/Write successful When Index read is “Successful”, the retu rn value is in the following format: Table 8.2 Field name: Datatype Index low Index high Sub index Data1 Data2 Data3[...]

  • Página 189

    Chapter 8 Using SDO Protocol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 8-3 (5) Data1~Data4 fields use low Word first. Higher Data that are invalid is replaced by 0. Based on the above, the control code returned by the array to indicate data has been written is a ControlWord with the value 0x00000008. (6) The Index data length is based on [...]

  • Página 190

    Chapter 8 Using SDO Protocol API | PCI-DM C-A01 / PCI-DMC- B01 8-4 Revised March, 2012 ※ Sample SDO Packet Format for CANope n2 – Index Read/Write failure When index read is “Failed” (no such index), the return value is in the following format: Table 8.4 Field name: Datatype Index low Index high Sub index Data1 Data2 Data3 Data4 Command 0x4[...]

  • Página 191

    Chapter 8 Using SDO Protocol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 8-5 ※ Sample SDO Packet Format for CANopen 3 – Read/Write ASDA-A2 Parameter When reading the ASDA-A2 parameter, the return value is in the following format: Table 8.6 Field name: Datatype Index low Index high Sub index Data1 Data2 Data3 Data4 Command 0x40 0x00 0x23[...]

  • Página 192

    Chapter 8 Using SDO Protocol API | PCI-DM C-A01 / PCI-DMC- B01 8-6 Revised March, 2012 8.2 _DMC_01_check_canopen_lo ck  FORMAT I16 PASCAL _DMC_01_check_canopen_lock (U16 CardNo, U16 *lock)  Purpose Checks to see if the next comm and can be executed under SDO mode.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is[...]

  • Página 193

    Chapter 8 Using SDO Protocol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 8-7 8.3 _DMC_01_ge t_canopen_ret  FORMAT I16 PASCAL _DMC_01_get_canopen_ret (U16 Ca rdNo, U16* COBID, U8* value)  Purpose Retrieves data returned by CANOPEN (SDO related data).  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betwee[...]

  • Página 194

    Chapter 8 Using SDO Protocol API | PCI-DM C-A01 / PCI-DMC- B01 8-8 Revised March, 2012 8.4 _DMC_01_set_pdo_mode  FORMAT I16 PASCAL _DMC_01_set_pdo_mode (U16 CardNo, U16 NodeID, U16 SlotID, U16 Enable)  Purpose Sets the use of CANopen pr otocol (PDO or SDO).  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betwee[...]

  • Página 195

    Chapter 8 Using SDO Protocol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 8-9 8.5 _DMC_01_send_message  FORMAT I16 PASCAL _DMC_01_send_message (U16 CardNo, U16 NodeID,U16 SlotI D, U16 Index,U16 SubIdx,U16 Da taType,U16 Value0,U16 Valu e1,U16 Value2,U16 Value3)  Purpose Sends SDO command message to the data buffe r. (This API function w[...]

  • Página 196

    Chapter 8 Using SDO Protocol API | PCI-DM C-A01 / PCI-DMC- B01 8-10 Revised March, 2012 8.6 _DMC_01_send_message3  FORMAT I16 _DMC_01_send_message3 (I16 CardNo, U 16 Index,U16 SubIdx,U16 DataType, U16 Value0,U16 Value1,U16 Value2,U16 Value3)  Purpose Sends SDO command message to the data buffer and exits the data buffer once the command is se[...]

  • Página 197

    Chapter 8 Using SDO Protocol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 8-11 8.7 _DMC_01_read_message  FORMAT I16 PASCAL _DMC_01_read_message (I16 Ca rdNo, U16* Cmd, U16* COBID, U16* DataType,U16* Value0,U16* Value1,U16* Value2,U16* Value3)  Purpose Reads the last SDO command message into the data buffer.  Parameters Name Data Typ[...]

  • Página 198

    Chapter 8 Using SDO Protocol API | PCI-DM C-A01 / PCI-DMC- B01 8-12 Revised March, 2012 8.8 _DMC_01_read_message2  FORMAT I16 PASCAL _DMC_01_read_message2 (I16 CardNo, U16 NodeID, U16 *Cmd, U16 *COBID ,U16 *DataType,U16 *Value0,U16 *Value1,U16 *Value2,U16 *Value3,U16 *cnt)  Purpose Reads the last SDO command message into the data buffer and r[...]

  • Página 199

    Chapter 8 Using SDO Protocol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 8-13 8.9 _DMC_01_get_message  FORMAT I16 PASCAL _DMC_01_get_message (I16 CardNo, U16 NodeID, U16 SlotID, U16 Index, U16* Cmd, U16* COBID, U16* DataType, U16* Value0, U16* Value1, U16* Value2, U16* Value3)  Purpose Retrieves the SDO command message and places it i[...]

  • Página 200

    Chapter 8 Using SDO Protocol API | PCI-DM C-A01 / PCI-DMC- B01 8-14 Revised March, 2012 8.10 _DMC_01_reset_sdo_choke  FORMAT I16 PASCAL _DMC_01_reset_sdo_choke (U16 CardNo)  Purpose Resets SDO when SDO command is blocked.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15  Example U16 CardNo=0; I16[...]

  • Página 201

    Chapter 9 Point to Point Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 9-1 Chapter 9 Point to Point Motion Control Packet Protocol API Table 9.1 Function Name Description _DMC_01_set_sdo_driver_speed_profile Set speed profile for packet protocol _DMC_01_start_sdo_driver_r_move Start relative motion displacemen[...]

  • Página 202

    Chapter 9 Point to Point M otion Control Packet Protocol API | PCI-DMC-A0 1 / PCI-DMC-B01 9-2 Revised March, 2012 9.1 _DMC_01_set_sdo_driver_speed_profile  FORMAT I16 PASCAL _DMC_01_set_sdo_driver_speed_profile (U16 CardNo, U16 NodeID, U16 SlotID, U32 MaxVel, F64 acc, F64 dec)  Purpose Sets the speed profile for packet protocol.  Parameter[...]

  • Página 203

    Chapter 9 Point to Point Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 9-3 9.2 _DMC_01_start_sdo_driver_r_move  FORMAT I16 PASCAL _DMC_01_start_sdo_driver_r_move (U16 CardNo, U16 NodeID, U16 SlotID, I32 Distance)  Purpose Starts relative motion displacement.  Parameters Name Data Type Unit Description[...]

  • Página 204

    Chapter 9 Point to Point M otion Control Packet Protocol API | PCI-DMC-A0 1 / PCI-DMC-B01 9-4 Revised March, 2012 9.3 _DMC_01_start_sdo_driver_a_move  FORMAT I16 PASCAL _DMC_01_start_sdo_driver_a_move (I 16 CardNo, U16 NodeID, U16 SlotID, I32 Position)  Purpose Starts absolute motion displacement.  Parameters Name Data Type Unit Descriptio[...]

  • Página 205

    Chapter 9 Point to Point Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 9-5 9.4 _DMC_01_start_sdo_driver_new_p osition_move  FORMAT I16 PASCAL _DMC_01_start_sdo_driver_new_positio n_move (I16 CardNo, U16 NodeID, U16 SlotID, I32 Position,U16 abs_rel)  Purpose Performs motion displacement with new position [...]

  • Página 206

    Chapter 9 Point to Point M otion Control Packet Protocol API | PCI-DMC-A0 1 / PCI-DMC-B01 9-6 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 207

    Chapter 10 Homing Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 10-1 Chapter 10 Homing Motion Control Packet Protocol API Table 10.1 Function Name Description _DMC_01_set_home_config Set home configuration _DMC_01_set_home_move Start home motion _DMC_01_escape_home_move Stop homing motion[...]

  • Página 208

    Chapter 10 Homing Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DM C-B01 10-2 Revised March, 2012 10.1 _DMC_01_set_home_config  FORMAT I16 PASCAL _DMC_01_set_home_config (U16 CardNo,U16 Nod eID,U16 SlotID , U16 Mode,I32 offset,U16 lowSpe ed,U16 highSpeed,F64 acc)  Purpose Sets home configuration.  Parameters Name Data Type Unit D[...]

  • Página 209

    Chapter 10 Homing Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 10-3 NOTE #1. Homing mode using negative lim it and index pulse message Using this method, if the negativ e limit switch is disabled (l ow voltage level), then it will begin by moving left. The home position is the i ndex pulse offset to the right[...]

  • Página 210

    Chapter 10 Homing Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DM C-B01 10-4 Revised March, 2012 #3 and #4. Homing using positive voltage level at Home Swit ch and index pulse message When using method 3 or 4, the initial direct ion will depend on the curre nt status of the Home switch. The Home position depends on the i ndex pulse to th[...]

  • Página 211

    Chapter 10 Homing Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 10-5 #7 to 14. Homing m ode based on index pulse and Home switch These methods use a Home switch that is only activated during some types of motion. In actual fact, it can be activated when Po sition passes the switch on that axis. With methods 7 [...]

  • Página 212

    Chapter 10 Homing Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DM C-B01 10-6 Revised March, 2012 #15 and 16. Reserved This is reserved for adding other homing modes in the future. #17 to 30. Homing mode i ndependent of index pulse These methods are similar to methods 1 to 14. The difference being that these Homing modes do not require an[...]

  • Página 213

    Chapter 10 Homing Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 10-7 10.2 _DMC_01_set_home_move  FORMAT I16 PASCAL _DMC_01_set_home_move (U16 CardNo, U16 NodeI D, U16 SlotID)  Purpose Starts home motion.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U[...]

  • Página 214

    Chapter 10 Homing Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DM C-B01 10-8 Revised March, 2012 10.3 _DMC_01_escape_home_move  FORMAT I16 PASCAL _DMC_01_escape_home_move (U16 CardNo, U16 NodeID, U16 SlotID)  Purpose Stops homing motion.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 No[...]

  • Página 215

    Chapter 11 Velocity Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 11-1 Chapter 11 Velocity Motion Control Packet Protocol API Table 11.1 Function Name Description _DMC_01_set_velocity_mode Set velocity motion control parameter profile _DMC_01_set_velocity Start velocity motion control _DMC_01_set_velocity_stop[...]

  • Página 216

    Chapter 11 Velocity Motion Control Packet Protoco l API | PCI-DMC-A01 / PCI-DMC- B01 11-2 Revised March, 2012 11.1 _DMC_01_set_velocity_mode  FORMAT I16 PASCAL _DMC_01_set_velocity_mode (U 16 CardNo, U16 NodeID, U16 SlotID, F64 Tacc,F64 Tdec)  Purpose Sets the velocity motion control parameter profile.  Parameters Name Data Type Unit Descr[...]

  • Página 217

    Chapter 11 Velocity Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 11-3 11.2 _DMC_01_set_velocity  FORMAT I16 PASCAL _DMC_01_set_velocity (U16 CardNo, U16 NodeID, U16 SlotID,I32 rpm)  Purpose Starts velocity motion control.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is be[...]

  • Página 218

    Chapter 11 Velocity Motion Control Packet Protoco l API | PCI-DMC-A01 / PCI-DMC- B01 11-4 Revised March, 2012 11.3 _DMC_01_set_velocity_stop  FORMAT I16 PASCAL _DMC_01_set_velocity_stop (U16 CardNo,U16 NodeID,U16 SlotID,U16 stop)  Purpose Stops velocity motion control.  Parameters Name Data Type Unit Description CardNo U16 Number Unit Card[...]

  • Página 219

    Chapter 11 Velocity Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 11-5 11.4 _DMC_01_set_velocity_torque_limit  FORMAT I16 PASCAL _DMC_01_set_velocity_torque_limit (U16 CardNo, U16 NodeID, U16 SlotID, U32 torque_limit)  Purpose Sets the torque limit for velocity mode.  Parameters Name Data Type Unit De[...]

  • Página 220

    Chapter 11 Velocity Motion Control Packet Protoco l API | PCI-DMC-A01 / PCI-DMC- B01 11-6 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 221

    Chapter 12 Torque Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 12-1 Chapter 12 Torque Motion Control Packet Protocol API Table 12.1 Function Name Description _DMC_01_set_torque_mode Torque moti on control param eter profile _DMC_01_set_torque Start torque motion _DMC_01_set_torque_stop Stop torque motion _DMC[...]

  • Página 222

    Chapter 12 Torque Motio n Control Packet Protocol API | PCI-DMC-A01 / PCI-DM C-B01 12-2 Revised March, 2012 12.1 _DMC_01_set_torque_mode  FORMAT I16 PASCAL _DMC_01_set_torque_mode (U16 Ca rdNo, U16 NodeID, U16 SlotID, U16 slope)  Purpose Sets the torque motion control par ameter profile (slope value).  Parameters Name Data Type Unit Descri[...]

  • Página 223

    Chapter 12 Torque Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 12-3 12.2 _DMC_01_set_torque  FORMAT I16 PASCAL _DMC_01_set_torque (U16 CardNo, U16 NodeID, U16 SlotID, I16 ratio)  Purpose Starts torque motion.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 No[...]

  • Página 224

    Chapter 12 Torque Motio n Control Packet Protocol API | PCI-DMC-A01 / PCI-DM C-B01 12-4 Revised March, 2012 12.3 _DMC_01_set_torque_stop  FORMAT I16 PASCAL _DMC_01_set_torque_stop (U16 Card No, U16 NodeID, U16 Slot ID, U16 stop)  Purpose Stops torque motion.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betwe[...]

  • Página 225

    Chapter 12 Torque Motion Control Packe t Protocol API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 12-5 12.4 _DMC_01_set_torq ue_velocity_limit  FORMAT I16 PASCAL _DMC_01_set_torque_v elocity_limit (U16 CardNo, U16 NodeID, U16 SlotID, U32 velocity_limit)  Purpose Sets the velocity limit in torque mode.  Parameters Name Data Type Unit D[...]

  • Página 226

    Chapter 12 Torque Motio n Control Packet Protocol API | PCI-DMC-A01 / PCI-DM C-B01 12-6 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 227

    Chapter 13 Using PDO Protocol AP I | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 13-1 Chapter 13 Using PDO Protocol API Table 13.1 Function Name Description _DMC_01_ipo_set_svon Set Servo ON /OFF under PDO protocol mode _DMC_01_get_buffer_length Get motion command to be executed _DMC_01_command_buf_clear Reset dwell ti me (buffer dwell counter va[...]

  • Página 228

    Chapter 13 Using PDO Protocol API | PCI-DMC- A01 / PCI-DMC-B01 13-2 Revised March, 2012 13.1 _DMC_01_ipo_set_svon  FORMAT I16 PASCAL _DMC_01_ipo_set_svon (U16 CardNo , U16 NodeID, U16 SlotID, U16 ON_OFF)  Purpose Sets Servo ON/OFF under PDO protocol mode.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between [...]

  • Página 229

    Chapter 13 Using PDO Protocol AP I | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 13-3 13.2 _DMC_01_get_buffer_length  FORMAT I16 PASCAL _DMC_01_get_buffer_length (U16 CardNo, U16 NodeID, U16 SlotID, U16* bufferLength)  Purpose Retrieves the motion command which has yet to be executed.  Parameters Name Data Type Unit Description CardNo U1[...]

  • Página 230

    Chapter 13 Using PDO Protocol API | PCI-DMC- A01 / PCI-DMC-B01 13-4 Revised March, 2012 13.3 _DMC_01_command_buf_clear  FORMAT I16 PASCAL _DMC_01_command_buf_clear (U16 CardNo, U16 NodeID, U16 SlotID)  Purpose Resets dwell time (buffer dwell counter value).  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betwee[...]

  • Página 231

    Chapter 13 Using PDO Protocol AP I | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 13-5 13.4 _DMC_01_buf_dwell  FORMAT I16 PASCAL _DMC_01_buf_dwell (I16 CardNo, U 16 NodeID, U16 SlotID, I32 dwell_cnt)  Purpose The interval time between two motion commands.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between[...]

  • Página 232

    Chapter 13 Using PDO Protocol API | PCI-DMC- A01 / PCI-DMC-B01 13-6 Revised March, 2012 13.5 _DMC_01_set_group  FORMAT I16 PASCAL _DMC_01_set_group (U16 CardNo, U16* NodeID,U16* SlotID, U16 NodeID_Num, U16 enable)  Purpose Sets a group.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U16 Num[...]

  • Página 233

    Chapter 14 Stop Motion Control AP I | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 14-1 Chapter 14 Stop Motion Control API Table 14.1 Function Name Description _DMC_01_emg_stop All motion commands in buffer will execute immediate stop _DMC_01_sd_stop All motion commands in buffer will execute slow down stop based on deceleration time _DMC_01_sd_ab[...]

  • Página 234

    Chapter 14 Stop Motion Control API | PCI-DM C-A01 / PCI-DMC- B01 14-2 Revised March, 2012 14.1 _DMC_01_emg_stop  FORMAT I16 PASCAL _DMC_01_emg_stop (U16 CardNo, U16 NodeID, U16 SlotID)  Purpose All motion commands in the buffer will execute an emergency stop.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betw[...]

  • Página 235

    Chapter 14 Stop Motion Control AP I | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 14-3 14.2 _DMC_01_sd_stop  FORMAT I16 PASCAL _DMC_01_sd_stop (U16 CardNo , U16 NodeID,U16 SlotID,F64 Tdec)  Purpose All motion commands in the buffer will execute a slow down stop based on deceleration time.  Parameters Name Data Type Unit Description CardN[...]

  • Página 236

    Chapter 14 Stop Motion Control API | PCI-DM C-A01 / PCI-DMC- B01 14-4 Revised March, 2012 14.3 _DMC_01_sd_abort  FORMAT I16 PASCAL _DMC_01_sd_abort (U16 CardNo, U16 NodeID, U16 SlotID, F64 Tdec)  Purpose Current motion command will execute a slow down stop.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betwee[...]

  • Página 237

    Chapter 14 Stop Motion Control AP I | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 14-5 14.4 _DMC_01_set_sd_mode  FORMAT I16 PASCAL _DMC_01_set_sd_mode (U16 CardNo , U16 NodeID, U16 SlotID, U16 mode)  Purpose Sets the Sd_stop(slow down stop) mode.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 No[...]

  • Página 238

    Chapter 14 Stop Motion Control API | PCI-DM C-A01 / PCI-DMC- B01 14-6 Revised March, 2012  Example U16 CardNo=0; U16 NodeID =1, SlotID=0; U16 Mode=1; F64 Tdec=0.1; I16 status= _DMC_01_set_sd_mode (C ardNo, NodeID, SlotID, Mode);[...]

  • Página 239

    Chapter 15 Motion Status API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 15-1 Chapter 15 Motion Status API Table 15.1 Function Name Description _DMC_01_motion_done Return current motion stage of the Master Card _DMC_01_motion_status Return current motion st atus of the Master Card[...]

  • Página 240

    Chapter 15 Motion Status API | PCI-DM C-A01 / PCI-DMC-B01 15-2 Revised March, 2012 15.1 _DMC_01_motion_done  FORMAT I16 PASCAL _DMC_01_motion_done (U16 Ca rdNo, U16 NodeID, U16 SlotID, U16* MC_status)  Purpose Returns the current stage of motion of the Master Card.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo i[...]

  • Página 241

    Chapter 15 Motion Status API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 15-3 15.2 _DMC_01_motion_status  FORMAT I16 PASCAL _DMC_01_motion_status (U 16 CardNo, U16 NodeID, U16 SlotID, U32* MC_status)  Purpose Returns current motion status of the Master Card.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is b[...]

  • Página 242

    Chapter 15 Motion Status API | PCI-DM C-A01 / PCI-DMC-B01 15-4 Revised March, 2012 Figure 15.1 Motion status For a description of “Mode specific” bits” (b it 12 and bit 13), please see Table 15.2. With the mode selection bits (bit 0 ~ bit 3) there are only 2 mode s for the user to choose from. These are MODE1 (bit 0 is ON) a nd MODE6 (bit 1 a[...]

  • Página 243

    Chapter 16 Motion Coun ter Value API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 16-1 Chapter 16 Motion Counter Value API Table 16.1 Function Name Description _DMC_01_get_command Get Command counter value _DMC_01_set_command Set new Command counter value _DMC_01_get_position Get curr ent position counter value _DMC_01_set_position Set new posit[...]

  • Página 244

    Chapter 16 Motion Coun ter Value API | PCI-DMC-A01 / PCI-D MC-B01 16-2 Revised March, 2012 16.1 _DMC_01_get_command  FORMAT I16 PASCAL _DMC_01_get_command (U16 CardNo, U16 NodeID, U16 SlotID, I32* cmd)  Purpose Retrieves the Command counter value.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Nod[...]

  • Página 245

    Chapter 16 Motion Coun ter Value API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 16-3 16.3 _DMC_01_get_position  FORMAT I16 PASCAL _DMC_01_get_position (U16 CardNo , U16 NodeID, U16 SlotID, I32* pos)  Purpose Retrieves the current pos ition counter value.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betw[...]

  • Página 246

    Chapter 16 Motion Coun ter Value API | PCI-DMC-A01 / PCI-D MC-B01 16-4 Revised March, 2012 16.5 _DMC_01_get_target_pos  FORMAT I16 PASCAL _DMC_01_get_target_pos (U16 CardNo , U16 NodeID, U16 SlotID, I32* pos)  Purpose Retrieves the current value of the target position.  Parameters Name Data Type Unit Description CardNo U16 Number Unit Card[...]

  • Página 247

    Chapter 16 Motion Coun ter Value API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 16-5 16.6 _DMC_01_get_torque  FORMAT I16 PASCAL _DMC_01_get_torque (U16 CardNo, U 16 NodeID, U16 SlotID, U16* torque)  Purpose Retrieves and returns the current torque counter value.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo[...]

  • Página 248

    Chapter 16 Motion Coun ter Value API | PCI-DMC-A01 / PCI-D MC-B01 16-6 Revised March, 2012 16.7 _DMC_01_get_current_speed  FORMAT I16 PASCAL _DMC_01_get_current_speed (U16 CardNo, U16 NodeID, U16 SlotID, I32* speed)  Purpose Retrieves motion speed.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 No[...]

  • Página 249

    Chapter 16 Motion Coun ter Value API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 16-7 16.8 _DMC_01_get_current_speed_rpm  FORMAT I16 PASCAL _DMC_01_get_current_speed_rpm (U16 CardNo, U16 NodeID, U16 SlotID, I32 *rpm)  Purpose Retrieves current RPM x 10.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betwee[...]

  • Página 250

    Chapter 16 Motion Coun ter Value API | PCI-DMC-A01 / PCI-D MC-B01 16-8 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 251

    Chapter 17 Software Li mit API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 17-1 Chapter 17 Software Limit API Table 17.1 Function Name Description _DMC_01_set_soft_limit Sets re ference values for software positive/negative limits _DMC_01_enable_soft_limit Enable/disable software limit and stop method after contact with limit _DMC_01_disable_s[...]

  • Página 252

    Chapter 17 Software Limit API | PCI-D MC-A01 / PCI-DMC- B01 17-2 Revised March, 2012 17.1 _DMC_01_set_soft_limit  FORMAT I16 PASCAL _DMC_01_set_soft_limit (U16 CardNo , U16 NodeID, U16 SlotID, I32 PLimit, I32 NLimit)  Purpose Sets reference values for soft ware positive/negative limits.  Parameters Name Data Type Unit Description CardNo U1[...]

  • Página 253

    Chapter 17 Software Li mit API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 17-3 17.2 _DMC_01_enable_soft_limit  FORMAT I16 PASCAL _DMC_01_enable_soft_limit (U16 Card No, U16 NodeID, U16 SlotID, I16 Action)  Purpose Enables/disables the software limit and stop method after touching the limit.  Parameters Name Data Type Unit Description[...]

  • Página 254

    Chapter 17 Software Limit API | PCI-D MC-A01 / PCI-DMC- B01 17-4 Revised March, 2012 17.4 _DMC_01_get_soft_limit_status  FORMAT I16 PASCAL _DMC_01_get_soft_limit_status (U16 CardNo, U16 NodeID, U16 SlotID, U16* PLimit_sts,U16* NLimit_sts)  Purpose Retrieves the positive/negative status of the software limit during motion.  Parameters Name [...]

  • Página 255

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-1 Chapter 18 1-Axis Motion Control API Table 18.1 Function Name Description _DMC_01_start_tr_move Mo tion displacement using relative coordinates with T-curve velocity cross-section. _DMC_01_start_sr_move Motion displacement using relative coordinates with S-cu[...]

  • Página 256

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-2 Revised March, 2012 18.1 _DMC_01_start_tr_move  FORMAT I16 PASCAL _DMC_01_start_tr_move(U16 Card No, U16 NodeID,U16 SlotID, I32 Dist, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose Motion displacement using relative coordinates with T-curve velocity cross-section. Ple[...]

  • Página 257

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-3 18.2 _DMC_01_start_sr_move  FORMAT I16 PASCAL _DMC_01_start_sr_move(U16 Card No, U16 NodeID,U16 SlotID, I32 Dist, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose Motion displacement using relative coordinates with S-curve velocity cross-section. Pl[...]

  • Página 258

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-4 Revised March, 2012 18.3 _DMC_01_start_ta_move  FORMAT I16 PASCAL _DMC_01_start_ta_move(U16 Card No, U16 NodeID,U16 SlotID, I32 Dist, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose Motion displacement using absolute coordina tes with T-curve velocity cross-section. ?[...]

  • Página 259

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-5 18.4 _DMC_01_start_sa_move  FORMAT I16 PASCAL _DMC_01_start_sa_move(U16 CardNo, U16 NodeID,U16 SlotID, I32 Dist, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose Carries out motion displacement using abs olute coordinates with S-curve velocity cross[...]

  • Página 260

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-6 Revised March, 2012 18.5 _DMC_01_p_change  FORMAT I16 PASCAL _DMC_01_p_change (U16 CardNo, U16 NodeID, U16 SlotID, I32 NewPos)  Purpose Replaces the current position with a new position value.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is b[...]

  • Página 261

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-7 18.6 _DMC_01_v_change  FORMAT I16 PASCAL _DMC_01_v_change (U16 CardNo, U 16 NodeID, U16 SlotID, I32 NewSpeed, F64 sec)  Purpose Replaces the current motion veloci ty with a new velocity value.  Parameters Name Data Type Unit Description CardNo U16 Nu[...]

  • Página 262

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-8 Revised March, 2012 NOTE ※ The V-change command can be used in both single- and mult i-axis motions. For multi-axis motion, simply issue the command to the main servo.[...]

  • Página 263

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-9 18.7 _DMC_01_start_tr_move_2seg  FORMAT I16 PASCAL _DMC_01_start_tr_move_2seg(U16 CardNo, U16 NodeID,U16 SlotID, I32 Dist, I32 Dist2, I32 StrVel, I32 MaxVel, I32 Ma xVel2, F64 Tacc, F64 Tsec, F64 Tdec)  Purpose 2nd motion displacement using relative coo[...]

  • Página 264

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-10 Revised March, 2012  Example U16 CardNo=0; U16 NodeID =1; U16 SlotID=0; I32 Dist=500000; I32 Dist2=500000 I32 StrVel=1000; I32 MaxVel=10000; I32 MaxVel2=30000; F64 Tacc=0.1; F64 Tsec=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_tr_ move_2seg (CardNo, NodeID, SlotID, Dist, Dis[...]

  • Página 265

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-11 18.8 _DMC_01_start_sr_move_2seg  FORMAT I16 PASCAL _DMC_01_start_sr_move_2seg(U16 CardNo, U16 NodeID,U16 SlotID, I32 Dist, I32 Dist2, I32 StrVel, I32 MaxVel, I32 Ma xVel2, F64 Tacc, F64 Tsec, F64 Tdec)  Purpose 2nd motion displacement using relative co[...]

  • Página 266

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-12 Revised March, 2012 18.9 _DMC_01_start_ta_move_2seg  FORMAT I16 PASCAL _DMC_01_start_ta_move_2seg(U16 Ca rdNo, U16 NodeID,U16 SlotID, I32 Dist, I32 Dist2, I32 StrVel, I32 MaxVel, I32 Ma xVel2, F64 Tacc, F64 Tsec, F64 Tdec)  Purpose 2nd motion displacement using absolute co[...]

  • Página 267

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-13 18.10 _DMC_01_start_sa_move_2seg  FORMAT I16 PASCAL _DMC_01_start_sa_move_2seg(U16 Ca rdNo, U16 NodeID,U1 6 SlotID, I32 Dist, I32 Dist2, I32 StrVel, I32 MaxVel, I32 Ma xVel2, F64 Tacc, F64 Tsec, F64 Tdec)  Purpose 2nd motion displacement using absolute[...]

  • Página 268

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-14 Revised March, 2012 18.11 _DMC_01_start_tr_move_2seg2  FORMAT I16 PASCAL _DMC_01_start_tr_move_2seg2 (U16 CardNo, U16 NodeID,U1 6 SlotID, I32 Dist, I32 Dist2, I32 StrVel, I32 MaxVel, I32 Ma xVel2, F64 Tacc, F64 Tsec, F64 Tdec)  Purpose 2nd motion displacement using relativ[...]

  • Página 269

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-15  Example U16 CardNo=0, NodeID =1, SlotID=0; I32 Dist=500000, Dist2=500000 I32 StrVel=1000; I32 MaxVel=10000, MaxVel2=30000; F64 Tacc=0.1; F64 Tsec=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_tr_move_2seg2 (Car dNo, NodeID, SlotID, Dist, Dist2, StrVel, Ma[...]

  • Página 270

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-16 Revised March, 2012 18.12 _DMC_01_start_sr_move_2seg2  FORMAT I16 PASCAL _DMC_01_start_sr_move_2seg2 (U 16 CardNo, U16 NodeID,U16 SlotID, I32 Dist, I32 Dist2, I32 StrVel, I32 MaxVel, I32 MaxVel2, F64 Tacc, F64 Tsec, F64 Tdec)  Purpose 2nd motion displacement using relative[...]

  • Página 271

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-17 18.13 _DMC_01_start_ta_move_2seg2  FORMAT I16 PASCAL _DMC_01_start_ta_move_2seg2 (U16 CardNo, U16 NodeID,U16 SlotID, I32 Dist, I32 Dist2, I32 StrVel, I32 MaxVel, I32 MaxVel2, F64 Tacc, F64 Tsec, F64 Tdec)  Purpose 2nd motion displacement using absolute[...]

  • Página 272

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-18 Revised March, 2012 18.14 _DMC_01_start_sa_move_2seg2  FORMAT I16 PASCAL _DMC_01_start_sa_move_2seg2 (U16 CardNo, U16 NodeID,U16 SlotID, I32 Dist, I32 Dist2, I32 StrVel, I32 MaxVel, I32 MaxVel2, F64 Tacc, F64 Tsec, F64 Tdec)  Purpose 2nd motion displacement using absolute [...]

  • Página 273

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-19 18.15 _DMC_01_feedrate_overwrite  FORMAT I16 PASCAL _DMC_01_feedrate_ov erwrite (U16 CardNo, U16 NodeID, U16 SlotID, U16 Mode, I32 New_Speed, F64 sec)  Purpose Changes motion speed or speed ratio.  Parameters Name Data Type Unit Description CardNo U[...]

  • Página 274

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-20 Revised March, 2012 A Figure 18.8 Mode = 1 change to new speed Figure 18.9 Mode = 2 change to new speed ratio  Example U16 CardNo=0; U16 NodeID =1, SlotID=0, Mode=0; I32 NewSpeed=3000; F64 sec=0.1; I16 status= _DMC_01_f eedrate_overwrite (CardN o, NodeID, SlotID, Mode, NewSpe[...]

  • Página 275

    Chapter 18 1-Axis Motion Con trol API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 18-21 18.16 _DMC_01_start_v3_move  FORMAT I16 PASCAL _DMC_01_start_v3_move(U16 CardNo, U16 NodeID,U16 SlotID, I32 Dist, I32 StrVel, I32 ConstVel, I32 EndVel, F64 TP hase1, F64 TPhase2, U16 m_curve, U16 m_r_a)  Purpose Single-axis motion displace ment with En[...]

  • Página 276

    Chapter 18 1-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 18-22 Revised March, 2012  Description Figure 18.10 Explanation of TPhase1 and TPhase2  Example U16 CardNo=0; U16 NodeID =1, SlotID=0; I32 Dist=100000, StrVel=0, Cons tVel=50000, EndVel=20000; F64 TPhase1=0.2, TPhase2=0.1; U16 m_curve=1, m_r_a=0; I16 status= _DMC_01_start_v3_mov[...]

  • Página 277

    Chapter 19 2-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 19-1 Chapter 19 2-Axis Linear Interpolation Motion Control API Table 19.1 Function Name Description _DMC_01_start_tr_move_xy 2- axis Linear interpolati on motion using relative coordinates with T-curve velocity cross-section _DMC_01_start_sr_[...]

  • Página 278

    Chapter 19 2-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 19-2 Revised March, 2012 19.1 _DMC_01_start_tr_move_xy  FORMAT I16 PASCAL _DMC_01_start_tr_move_xy(U16 Card No, U16* NodeID,U16* SlotID, I32 DisX, I32 DisY, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis linear interpolation motion using relat[...]

  • Página 279

    Chapter 19 2-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 19-3  Description As shown in Fig. 19.1, 2-axis linear interpolati on means Position moving by X and Y from P0 to P1. The two axes will start and end at the same time. Motion displacement will also be on the same straight line. X-Axis Y-Ax[...]

  • Página 280

    Chapter 19 2-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 19-4 Revised March, 2012 19.2 _DMC_01_start_sr_move_xy  FORMAT I16 PASCAL _DMC_01_start_sr_move_xy(U16 Card No, U16* NodeID,U16* SlotID, I32 DisX, I32 DisY, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis linear interpolation motion using relat[...]

  • Página 281

    Chapter 19 2-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 19-5  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2] ={0, 0}; I32 DisX=50000; I32 DisY 100000; I32 StrVel=0; I32 MaxVel=50000; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_sr_move_xy (CardNo, NodeIDArray, SlotID, Di[...]

  • Página 282

    Chapter 19 2-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 19-6 Revised March, 2012 19.3 _DMC_01_start_ta_move_xy  FORMAT I16 PASCAL _DMC_01_start_ta_move_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 DisX, I32 DisY, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis linear interpolation motion using absolu[...]

  • Página 283

    Chapter 19 2-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 19-7  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2] ={0, 0}; I32 DisX=50000; I32 DisY 100000; I32 StrVel=0; I32 MaxVel=50000; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_ta_mo ve_xy (CardNo, NodeIDArray, SlotID, D[...]

  • Página 284

    Chapter 19 2-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 19-8 Revised March, 2012 19.4 _DMC_01_start_sa_move_xy  FORMAT I16 PASCAL _DMC_01_start_sa_move_xy(U16 Card No, U16* NodeID,U16* SlotID, I32 DisX, I32 DisY, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis linear interpolation motion using absol[...]

  • Página 285

    Chapter 19 2-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 19-9  Example U16 CardNo=0; U16 NodeIDArray[2]={0,1}; U16 SlotID[2]={0, 0}; I32 DisX=50000; I32 DisY 100000; I32 StrVel=0; I32 MaxVel=50000; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_sa_m ove_xy (CardNo, NodeIDArray, SlotID, Di[...]

  • Página 286

    Chapter 19 2-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 19-10 Revised March, 2012 19.5 _DMC_01_start_v3_move_xy  FORMAT I16 PASCAL _DMC_01_start_v3_move_xy(U16 Card No, U16* NodeID,U16* SlotID, I32 DisX, I32 DisY, I32 StrVel, I32 ConstVel, I32 EndVel, F64 TPhase1, F64 TPhase2, U16 m_curve, U16 m_r_a)  Purpose 2[...]

  • Página 287

    Chapter 19 2-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 19-11  Example U16 CardNo=0; U16 NodeIDArray[2]={0,1}; U16 SlotID[2]={0, 0}; I32 DisX=50000; I32 DisY= 100000; I32 StrVel=0; I32 ConstVel=50000; I32 EndVel=20000; F64 TPhase1=0.2; F64 TPhase2=0.1; U16 m_curve=1, m_r_a=0; I16 status= _DMC_0[...]

  • Página 288

    Chapter 19 2-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 19-12 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 289

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-1 Chapter 20 2-Axis Arc Interpolation Motion Control API Table 20.1 Function Name Description _DMC_01_start_tr_arc_xy 2-axis arc interpolation motion using relative coordinates with T-curve velocity cross-section (Known conditions: Center poin[...]

  • Página 290

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-2 Revised March, 2012 Function Name Description _DMC_01_start_tr_arc3_xy 2-axis arc interpolation motion using relative coordinates with T-curve velocity cross-section (Known conditions: Center point coordinates, endpoint coordinates) _DMC_01_start_sr_arc3_xy 2-[...]

  • Página 291

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-3 20.1 _DMC_01_start_tr_arc_xy  FORMAT I16 PASCAL _DMC_01_start_tr_arc_xy(U16 CardNo, U16* NodeID,U16* Slo tID, I32 Center_X, I32 Center_Y, F64 Angle, I 32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc interpolation motion [...]

  • Página 292

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-4 Revised March, 2012  Description Figure 20.1  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =50000; I32 Center_Y =50000; I32 StrVel=0; I32 MaxVel=50000; F64 Angle=180; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_s[...]

  • Página 293

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-5 20.2 _DMC_01_start_sr_arc_xy  FORMAT I16 PASCAL _DMC_01_start_sr_arc_xy(U16 CardNo, U16* NodeID,U16* Slo tID, I32 Center_X, I32 Center_Y, F64 Angle, I 32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc interpolation motion [...]

  • Página 294

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-6 Revised March, 2012  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =50000; I32 Center_Y =50000; I32 StrVel=0; I32 MaxVel=50000; F64 Angle=180; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_sr_ar c_xy (CardNo, Nod[...]

  • Página 295

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-7 20.3 _DMC_01_start_ta_arc_xy  FORMAT I16 PASCAL _DMC_01_start_ta_arc_xy(U16 CardNo, U16* NodeID,U16* Slo tID, I32 Center_X, I32 Center_Y, F64 Angle, I 32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc interpolation motion [...]

  • Página 296

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-8 Revised March, 2012  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =50000; I32 Center_Y =50000; I32 StrVel=0; I32 MaxVel=50000; F64 Angle=180; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_ta_arc_xy (CardNo, Node[...]

  • Página 297

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-9 20.4 _DMC_01_start_sa_arc_xy  FORMAT I16 PASCAL _DMC_01_start_sa_arc_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y, F64 Angle, I 32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc interpolation motion u[...]

  • Página 298

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-10 Revised March, 2012  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =50000; I32 Center_Y =50000; I32 StrVel=0; I32 MaxVel=50000; F64 Angle=180; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_sa_arc_ xy (CardNo, No[...]

  • Página 299

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-11 20.5 _DMC_01_start_tr_arc2_xy  FORMAT I16 PASCAL _DMC_01_start_tr_arc2_xy(U16 Card No, U16* NodeID,U16* SlotID, I32 End_X, I32 End_Y, F64 Angle, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc interpolation motion usin[...]

  • Página 300

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-12 Revised March, 2012  Description Figure 20.2  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 End_X =-50000; I32 End_Y =-50000; I32 StrVel=0; I32 MaxVel=50000; F64 Angle=180; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_star[...]

  • Página 301

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-13 20.6 _DMC_01_start_sr_arc2_xy  FORMAT I16 PASCAL _DMC_01_start_sr_ar c2_xy(U16 CardNo, U16* NodeI D,U16* SlotID, I32 End_X, I32 End_Y, F64 Angle, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc interpolation motion usi[...]

  • Página 302

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-14 Revised March, 2012  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 End_X =-50000; I32 End_Y =-50000; I32 StrVel=0; I32 MaxVel=50000; F64 Angle=180; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_sr_ar c2_xy (CardNo, NodeI[...]

  • Página 303

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-15 20.7 _DMC_01_start_ta_arc2_xy  FORMAT I16 PASCAL _DMC_01_start_ta_arc2_xy(U16 Card No, U16* NodeID,U16* SlotID, I32 End_X, I32 End_Y, F64 Angle, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc interpolation motion usin[...]

  • Página 304

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-16 Revised March, 2012  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 End_X =-50000; I32 End_Y =-50000; I32 StrVel=0; I32 MaxVel=50000; F64 Angle=180; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_ta_arc 2_xy (CardNo, NodeI[...]

  • Página 305

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-17 20.8 _DMC_01_start_sa_arc2_xy  FORMAT I16 PASCAL _DMC_01_start_sa_arc2_xy(U16 CardNo , U16* NodeID,U16* SlotID, I32 End_X, I32 End_Y, F64 Angle, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc interpolation motion usin[...]

  • Página 306

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-18 Revised March, 2012  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 End_X =-50000; I32 End_Y =-50000; I32 StrVel=0; I32 MaxVel=50000; F64 Angle=180; F64 Tacc=0.1; F64 Tdec=0.1; I16 status= _DMC_01_start_sa_ar c2_xy (CardNo, NodeI[...]

  • Página 307

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-19 20.9 _DMC_01_start_tr_arc3_xy  FORMAT I16 PASCAL _DMC_01_start_tr_arc3_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y,I32 End_X,I32 End_Y, I16 Dir, I32 St rVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc i[...]

  • Página 308

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-20 Revised March, 2012  Description Figure 20.3  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =25000; I32 Center_Y =25000; I32 StrVel=0; I32 MaxVel=50000; I32 End_x=50000; I32 End_y=50000; I16 Dir=1; //This value is 1,[...]

  • Página 309

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-21 20.10 _DMC_01_start_sr_arc3_xy  FORMAT I16 PASCAL _DMC_01_start_sr_arc3_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y,I32 End_X,I32 End_Y, I16 Dir, I32 St rVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc [...]

  • Página 310

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-22 Revised March, 2012  Example U16 CardNo=0 U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =25000, Center_Y =25000; I32 StrVel=0, MaxVel=50000; I32 End_x=50000, End_y=50000; I16 Dir=1; // This value is 1, indicating a clockwise arc interpolatio[...]

  • Página 311

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-23 20.11 _DMC_01_start_ta_arc3_xy  FORMAT I16 PASCAL _DMC_01_start_ta_arc3_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y,I32 End_X,I32 End_Y, I16 Dir, I32 St rVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc [...]

  • Página 312

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-24 Revised March, 2012  Example U16 CardNo=0 U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =25000, Center_Y =25000; I32 StrVel=0, MaxVel=50000; I32 End_x=50000, End_y=50000; I16 Dir=1; F64 Tacc=0.1, Tdec=0.1; I16 status= _DMC_01_start_ta_arc 3_[...]

  • Página 313

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-25 20.12 _DMC_01_start_sa_arc3_xy  FORMAT I16 PASCAL _DMC_01_start_sa_arc3_xy(U16 CardNo, U16* Nod eID,U16* SlotID, I32 Center_X, I32 Center_Y,I32 End_X,I32 End_Y, I16 Dir, I32 St rVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 2-axis arc[...]

  • Página 314

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-26 Revised March, 2012  Example U16 CardNo=0 U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =25000, Center_Y =25000; I32 StrVel=0, MaxVel=50000; I32 End_x=50000, End_y=50000; I16 Dir=1; F64 Tacc=0.1, Tdec=0.1; I16 status= _DMC_01_start_sa_arc 3_[...]

  • Página 315

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-27 20.13 _DMC_01_start_spiral_xy  FORMAT I16 PASCAL _DMC_01_start_spiral_xy (U16 CardNo, U16* NodeID, U16* SlotID, I32 Center_X, I32 Center_Y, I32 spiral_interval, I32 spiral_ang le, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec,U16 m_curve,U1[...]

  • Página 316

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-28 Revised March, 2012  Example U16 CardNo=0 U16 NodeID[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =25000, Center_Y =25000, I32 Spiral_interval= 20000,Spiral_angle=1800; I32 StrVel=0, MaxVel=50000; F64 Tacc=0.1, Tdec=0.1; U16 m_curve=1; U16 m_r_a=0; I16 sta[...]

  • Página 317

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-29 20.14 _DMC_01_start_spiral2_xy  FORMAT I16 PASCAL _DMC_01_start_spiral2_xy (U16 CardNo, U16* NodeID, U16* SlotID, I32 center_x, I32 center_y, I 32 end_x, I32 end_y, U16 dir, U16 circlenum, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec, U16 [...]

  • Página 318

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-30 Revised March, 2012  Example U16 CardNo=0 U16 NodeID[2]={1,2}; U16 SlotID[2]={0, 0}; I32 center_x =25000, center_y=25000; I32 end_x =25000, end_y =25000; U16 dir= 1,circelnum=5; I32 StrVel=0, MaxVel=50000; F64 Tacc=0.1, Tdec=0.1; U16 m_curve=1; U16 m_r_a=0[...]

  • Página 319

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-31 20.15 _DMC_01_start_v3_arc_xy  FORMAT I16 PASCAL _DMC_01_start_v3_arc_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y, F64 Angle, I32 StrVel, I32ConstVel, I32 EndVel, F64 TPhase1, F64 TPhase2, U16 m_curve, U16 m_r_a) ?[...]

  • Página 320

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-32 Revised March, 2012  Description Figure 20.4 Explanation of TPhase1 and TPhase2  Example U16 CardNo=0, NodeIDArray[2]={1,2}, SlotID[2]={0, 0}; I32 Center_X =50000; I32 Center_Y =50000; F64 Angle=180; I32 StrVel=0; I32 MaxVel=50000; I32 EndVel=20000; F64[...]

  • Página 321

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-33 20.16 _DMC_01_start_v3_arc2_xy  FORMAT I16 PASCAL _DMC_01_start_v3_arc2_xy(U16 Card No, U16* NodeID,U16* SlotID, I32 End_X, I32 End_Y, F64 Angle, I32 StrVel, I32 Cons tVel, I32 EndVel, F64 TPhase1, F64 TPhas e2, U16 m_curve,U16 m_r_a) ?[...]

  • Página 322

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-34 Revised March, 2012  Example U16 CardNo=0; U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 End_X =-50000; I32 End_Y =-50000; I32 StrVel=0; I32 MaxVel=50000; I32 EndVel=20000; F64 TPhase1=0.2; F64 TPhase2=0.1; U16 m_curve=1, m_r_a=0; I16 status= _DMC_01[...]

  • Página 323

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-35 20.17 _DMC_01_start_v3_arc3_xy  FORMAT I16 PASCAL _DMC_01_start_v3_arc3_xy(U16 CardNo, U16* Nod eID,U16* SlotID, I32 Center_X, I32 Center_Y,I32 End_X,I32 End_Y, I16 Dir, I32 StrVel, I32 ConstVel, I32 EndVel, F64 TPhase1, F64 TPhase2, U16[...]

  • Página 324

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-36 Revised March, 2012  Example U16 CardNo=0 U16 NodeIDArray[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =25000, Center_Y =25000; I32 End_x=50000, End_y=50000; I16 Dir=1; I32 StrVel=0, ConstVel=50000 , EndVel=20000; F64 TPhase1=0.2; F64 TPhase2=0.1; U16 m_cu[...]

  • Página 325

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-37 20.18 _DMC_01_start_v3_spiral_xy  FORMAT I16 PASCAL _DMC_01_start_v3_spiral_xy (U 16 CardNo, U16* NodeID, U16* SlotID, I32 Center_X, I32 Center_Y, I32 spiral_interval, I32 spiral_angle , I32 StrVel, I32 ConstVel, I32 EndVel, F64 TPhase1,[...]

  • Página 326

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-38 Revised March, 2012  Example U16 CardNo=0 U16 NodeID[2]={1,2}; U16 SlotID[2]={0, 0}; I32 Center_X =25000, Center_Y =25000, I32 Spiral_interval= 20000, Spiral_angle=1800; I32 StrVel=0, MaxVel=50000; I32 EndVel=20000; F64 TPhase1=0.2; F64 TPhase2=0.1; U16 m_[...]

  • Página 327

    Chapter 20 2-Axis Arc Interp olation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 20-39 20.19 _DMC_01_start_v3_spiral2_xy  FORMAT I16 PASCAL _DMC_01_start_v3_spiral2_xy (U16 CardNo, U16* NodeID, U16* SlotID, I32 center_x, I32 center_y, I 32 end_x, I32 end_y, U16 dir, U16 circlenum, I32 StrVel, 32 ConstVel, I32 EndVel, F64 T[...]

  • Página 328

    Chapter 20 2-Axis Arc Interpolation M otion Control API | PCI-DM C-A01 / PCI-DMC-B01 20-40 Revised March, 2012  Example U16 CardNo=0 U16 NodeID[2]={1,2}; U16 SlotID[2]={0, 0}; I32 center_x =25000, center_y=25000; I32 end_x =25000, end_y =25000; U16 dir= 1, circelnum=5; I32 StrVel=0, MaxVel=50000; I32 EndVel=20000; F64 TPhase1=0.2; F64 TPhase2=0.[...]

  • Página 329

    Chapter 21 3-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 21-1 Chapter 21 3-Axis Linear Interpolation Motion Control API Table 21.1 Function Name Description _DMC_01_start_tr_move_xyz 3- axis Linear interpolati on motion using relative coordinates with T-curve velocity cross-section _DMC_01_start_sr[...]

  • Página 330

    Chapter 21 3-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 21-2 Revised March, 2012 21.1 _DMC_01_start_tr_move_xyz  FORMAT I16 PASCAL _DMC_01_start_tr_move_xyz(U16 Card No, U16* No deID,U16* SlotID, I32 DisX, I32 DisY, I32 DisZ, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 3-axis linear interpolation motio[...]

  • Página 331

    Chapter 21 3-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 21-3 21.2 _DMC_01_start_sr_move_xyz  FORMAT I16 PASCAL _DMC_01_start_sr_move_xyz(U16 Card No, U16* NodeID,U16* SlotID, I32 DisX, I32 DisY, I32 DisZ, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 3-axis linear interpolation motion[...]

  • Página 332

    Chapter 21 3-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 21-4 Revised March, 2012 21.3 _DMC_01_start_ta_move_xyz  FORMAT I16 PASCAL _DMC_01_start_ta_move_xyz (U16 Ca rdNo, U16* NodeID,U16* SlotID, I32 DisX, I32 DisY, I32 DisZ, I32 StrVel , I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 3-axis linear interpolation moti[...]

  • Página 333

    Chapter 21 3-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 21-5 21.4 _DMC_01_start_sa_move_xyz  FORMAT I16 PASCAL _DMC_01_start_sa_move_xyz(U16 Ca rdNo, U16* NodeID,U16* SlotID, I32 DisX, I32 DisY, I32 DisZ, I32 StrVel , I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 3-axis linear interpolation motio[...]

  • Página 334

    Chapter 21 3-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 21-6 Revised March, 2012 21.5 _DMC_01_start_v3_move_xyz  FORMAT I16 PASCAL _DMC_01_start_v3_move_xyz(U16 Ca rdNo, U16* NodeID,U16* SlotID, I32 DisX, I32 DisY, I32 DisZ, I32 StrVel, I32 C onstVel, I32 EndVel, F64 TPhase1, F64 TPhase2, U16 m_curve,U16 m_r_a) ?[...]

  • Página 335

    Chapter 21 3-Axis Linear Interpolation M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 21-7  Description Figure 21.4 Explanation of TPhase1 and TPhase2  Example U16 CardNo=0; U16 NodeIDArray[3]={1,2,3}; U16 SlotID[3]={0, 0, 0}; I32 DisX =25000, DisY =50000 , DisZ =75000 ; I32 StrVel=0, MaxVel=50000; I32 EndVel=20000; F64 [...]

  • Página 336

    Chapter 21 3-Axis Linear Interpola tion Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 21-8 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 337

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 22-1 Chapter 22 3-Axis Spiral Interpolation Motion Control API Table 22.1 Function Name Description _DMC_01_start_tr_heli_xy 3-axis Spiral interpolation motion using relative coordinates with T-curve velocity cross-section _DMC_01_start_sr_hel[...]

  • Página 338

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC- A01 / PCI-DMC-B01 22-2 Revised March, 2012 22.1 _DMC_01_start_tr_heli_xy  FORMAT I16 PASCAL _DMC_01_start_tr_heli_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y, I32 Depth, I32 Pitch, I16 Dir, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 3-axis S[...]

  • Página 339

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 22-3  Description Figure 22.1  Example U16 CardNo=0; U16 NodeIDArray[3]={1,2,3}; U16 SlotID[3]={0, 0, 0}; I32 Center_X =25000; I32 Center_Y =50000; I32 Depth =10000; I32 Pitch = 20000; I16 Dir=1; //Value is 1, indicating a spir al arc mo[...]

  • Página 340

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC- A01 / PCI-DMC-B01 22-4 Revised March, 2012 22.2 _DMC_01_start_sr_heli_xy  FORMAT I16 PASCAL _DMC_01_start_sr_heli_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y, I32 Depth, I32 Pitch, I16 Dir, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 3-axis S[...]

  • Página 341

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 22-5  Example U16 CardNo=0; U16 NodeIDArray[3]={1,2,3}; U16 SlotID[3]={0, 0, 0}; I32 Center_X =25000, Center_Y = 50000, Depth =10000, Pitch = 20000; I16 Dir=1; I32 StrVel=0, MaxVel=50000; F64 Tacc=0.1, Tdec=0.1; I16 status= _DMC_01_start_sr[...]

  • Página 342

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC- A01 / PCI-DMC-B01 22-6 Revised March, 2012 22.3 _DMC_01_start_ta_heli_xy  FORMAT I16 PASCAL _DMC_01_start_ta_heli_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y, I32 Depth, I32 Pitch, I16 Dir, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 3-axis S[...]

  • Página 343

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 22-7  Example U16 CardNo=0; U16 NodeIDArray[3]={1,2,3}; U16 SlotID[3]={0, 0, 0}; I32 Center_X =25000, Center_Y = 50000, Depth =10000, Pitch = 20000; I16 Dir=1; I32 StrVel=0, MaxVel=50000; F64 Tacc=0.1, Tdec=0.1; I16 status= _DMC_01_start_ta[...]

  • Página 344

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC- A01 / PCI-DMC-B01 22-8 Revised March, 2012 22.4 _DMC_01_start_sa_heli_xy  FORMAT I16 PASCAL _DMC_01_start_sa_heli_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y, I32 Depth, I32 Pitch, I16 Dir, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec)  Purpose 3-axis S[...]

  • Página 345

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 22-9  Example U16 CardNo=0; U16 NodeIDArray[3]={1,2,3}; U16 SlotID[3]={0, 0, 0}; I32 Center_X =25000, Center_Y = 50000, Depth =10000, Pitch = 20000; I16 Dir=1; I32 StrVel=0, MaxVel=50000; F64 Tacc=0.1, Tdec=0.1; I16 status= _DMC_01_start_sa[...]

  • Página 346

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC- A01 / PCI-DMC-B01 22-10 Revised March, 2012 22.5 _DMC_01_start_v3_heli_xy  FORMAT I16 PASCAL _DMC_01_start_v3_heli_xy(U16 CardNo, U16* NodeID,U16* SlotID, I32 Center_X, I32 Center_Y, I32 Depth, I32 Pitch, I1 6 Dir, I32 StrVel, 32 ConstVel, I32 EndVel, F64 TPhase1, F64 TPhase2,[...]

  • Página 347

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 22-11  Description Figure 22.2 Explanation of TPhase1 and TPhase2  Example U16 CardNo=0; U16 NodeIDArray[3]={1,2,3}; U16 SlotID[3]={0, 0, 0}; I32 Center_X =25000, Center_Y = 50000, Depth =10000, Pitch = 20000; I16 Dir=1; I32 StrVel=0, Ma[...]

  • Página 348

    Chapter 22 3-Axis Spiral In terpolation Motion Control API | PCI-DMC- A01 / PCI-DMC-B01 22-12 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 349

    Chapter 23 Velocity Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 23-1 Chapter 23 Velocity Motion Control API Table 23.1 Function Name Description _DMC_01_tv_move Velocity motion control with T-curve velocity cross-section _DMC_01_sv_move Velocity motion control with S-curve velocity cross-section[...]

  • Página 350

    Chapter 23 Velocity Motion Control AP I | PCI-DMC-A01 / PCI-DM C-B01 23-2 Revised March, 2012 23.1 _DMC_01_tv_move  FORMAT I16 PASCAL _DMC_01_tv_move(U16 CardNo, U16 NodeID,U16 SlotID, I32 StrVel, I32 MaxVel, F64 Tacc,I16 Dir)  Purpose Velocity motion control with T-curve velocity cross-section.  Parameters Name Data Type Unit Description [...]

  • Página 351

    Chapter 23 Velocity Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 23-3 23.2 _DMC_01_sv_move  FORMAT I16 PASCAL _DMC_01_sv_move(U16 CardNo, U16 NodeID,U16 SlotID, I32 StrVel, I32 MaxVel, F64 Tacc,I16 Dir)  Purpose Velocity motion control with S-curve velocity cross-section.  Parameters Name Data Type Unit Description Ca[...]

  • Página 352

    Chapter 23 Velocity Motion Control AP I | PCI-DMC-A01 / PCI-DM C-B01 23-4 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 353

    Chapter 24 Synchronization M otion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 24-1 Chapter 24 Synchronization Motion Control API Table 24.1 Function Name Description _DMC_01_sync_move Start motion sync _DMC_01_sync_move_config Enable/disable motion sync[...]

  • Página 354

    Chapter 24 Synchronization M otion Control API | PCI-DMC-A01 / PCI-DM C-B01 24-2 Revised March, 2012 24.1 _DMC_01_sync_move  FORMAT I16 PASCAL _DMC_01_sync_move(I16 CardNo)  Purpose Starts motion sync.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15  Example U16 CardNo=0; I16 status = DMC_01_syn[...]

  • Página 355

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 25-1 Chapter 25 Remote Module Control API Table 25.1 Function Name Description _DMC_01_get_rm_input_value Retrieve the value for bi t 0 to bit 15 of the remote I/O module's input port _DMC_01_set_rm_input_filter Set software filter level for input port of the[...]

  • Página 356

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI- DMC-B01 25-2 Revised March, 2012 25.1 _DMC_01_get_rm_input_value  FORMAT I16 PASCAL _DMC_01_get_rm_input_value(U 16 CardNo, U16 NodeID,U16 SlotID, U16 port,U16 *value)  Purpose Retrieves the value for bit 0 to bit 15 of the remote I/O module's input port.  Parameters Name Data [...]

  • Página 357

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 25-3 25.2 _DMC_01_set_rm_input_filter  FORMAT I16 PASCAL _DMC_01_set_rm_input_filter(U 16 CardNo, U16 NodeID,U16 SlotID , U16 port,U16 value)  Purpose Sets software filter level for input port of the remote I/O module. (When the value of the variable is 0, t[...]

  • Página 358

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI- DMC-B01 25-4 Revised March, 2012 25.3 _DMC_01_set_rm_input_filter_enable  FORMAT I16 PASCAL _DMC_01_set_rm_input_filter_enable(U16 CardNo, U16 NodeID, U16 SlotID,U16 port,U16 enable)  Purpose Enables software mask for bit 0 to bit 15 of the remote I/O module's input port.  Para[...]

  • Página 359

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 25-5 25.4 _DMC_01_set_rm_output_value  FORMAT I16 PASCAL _DMC_01_set_rm _output_value(U16 CardNo, U16 NodeID,U16 SlotID, U16 port,U16 value)  Purpose Sets the value for bit 0 to bit 15 of the remote I/O module's output port.  Parameters Name Data Typ[...]

  • Página 360

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI- DMC-B01 25-6 Revised March, 2012 25.5 _DMC_01_set_rm_output_value_error_handle  FORMAT I16 PASCAL _DMC_01_set_rm_output_value_e rror_handle(U16 CardNo, U16 NodeID, U16 SlotID,U16 port,U16 value)  Purpose Sets the output value returned when re mote I/O module encounters an error.  Pa[...]

  • Página 361

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 25-7 25.6 _DMC_01_get_rm_output_value  FORMAT I16 PASCAL _DMC_01_get_rm_output_value (U16 CardNo, U16 NodeID, U16 SlotID, U16 port, U16* value)  Purpose Retrieves output value of the remote I/O module.  Parameters Name Data Type Unit Description CardNo U1[...]

  • Página 362

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI- DMC-B01 25-8 Revised March, 2012 25.7 _DMC_01_get_rm _output_v alue_error_han dle  FORMAT I16 PASCAL _DMC_01_get_rm_output_value_erro r_handle (U16 CardNo, U16 NodeID, U16 SlotID,U16 port,U16* value)  Purpose Retrieves output value of the remote I/O module and determines w hether to re[...]

  • Página 363

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 25-9 25.8 _DMC_01_set_rm_output_active  FORMAT I16 PASCAL _DMC_01_set_rm_output_active (U16 CardNo, U16 NodeID, U16 SlotID, U16 Enable)  Purpose Enables/disables output from the remote I/O module.  Parameters Name Data Type Unit Description CardNo U16 Num[...]

  • Página 364

    Chapter 25 Remote Module Control API | PCI-DMC-A01 / PCI- DMC-B01 25-10 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 365

    Chapter 26 MPG and JOG Oper ation API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 26-1 Chapter 26 MPG and JOG Operation API Table 26.1 Function Name Description _DMC_01_set_rm_mpg_axes_enabl e Set MPG motion control _DMC_01_set_rm_mpg_axes_enable2 MPG motion control (can numerator for servo rotation ratio) _DMC_01_set_rm_jog_axes_enable Set JOG[...]

  • Página 366

    Chapter 26 MPG and JOG Opera tion API | PCI-DMC-A01 / PCI-DM C-B01 26-2 Revised March, 2012 26.1 _DMC_01_set_rm _mpg_axes_enable  FORMAT I16 PASCAL _DMC_01_set_rm_mpg_axes_enable (U16 CardNo, U16 MasterNodeID, U16 MasterSlotID, U16* NodeID, U16* SlotID, U16 enable, U16 pulse_ratio, U32 *ratio, U32 *slope)  Purpose Sets MPG motion control. [...]

  • Página 367

    Chapter 26 MPG and JOG Oper ation API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 26-3  Example I16 rt = 0; U16 CardNo = 0, MasterNodeID = 1, Ma sterSlotID = 0; //R M-64 Node ID is 1 U16 NodeID[4] = {2, 3, 0, 0}, SlotID[4] = {0}; //Use two ASD-A 2F servo motors assigned to Node 2 and Node 3. U16 enable = 1, pulse_ratio = 4; //Set ratio of MP[...]

  • Página 368

    Chapter 26 MPG and JOG Opera tion API | PCI-DMC-A01 / PCI-DM C-B01 26-4 Revised March, 2012 26.2 _DMC_01_set_rm _mpg_axes_enable2  FORMAT I16 PASCAL _DMC_01_set_rm_mpg_axes_enabl e2 (U16 CardNo, U16 MasterNodeID, U16 MasterSlotID, U16* NodeID, U16* SlotID , U16 enable,U16 pulse_ratio, U32 *ratio, U32 *slope, U16 *denominator)  Purpose MPG mot[...]

  • Página 369

    Chapter 26 MPG and JOG Oper ation API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 26-5 NOTE The above example is explained below: Conditions : Assuming one full turn of MPG is 100 clicks, MPG ratio X10, ratio=10, Denominator=36, pulse_r atio =4, slope=1000, electronic gear ratio is P1.44/P1.45 = 1 1 click of MPG = Number of motor rotation pulse[...]

  • Página 370

    Chapter 26 MPG and JOG Opera tion API | PCI-DMC-A01 / PCI-DM C-B01 26-6 Revised March, 2012 26.3 _DMC_01_set_rm_jog_axes_enable  FORMAT I16 PASCAL _DMC_01_set_rm_jog_axes_enable (U16 CardNo, U16 MasterNodeID, U16 MasterSlotID, U16* NodeID, U16* Slo tID, U16 enable, U16 jog_mode, I32 *jog_speed, F64 *sec)  Purpose Sets JOG motion control.  [...]

  • Página 371

    Chapter 27 4-Channel Pulse Interface API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 27-1 Chapter 27 4-Channel Pulse Interface API Table 27.1 Function Name Description _DMC_01_set_rm_04pi_ipulse_mode Set input phase mode for pulse interface module _DMC_01_set_rm_04pi_opulse_mode Set output phase mode for pulse interface module _DMC_01_set_rm_04[...]

  • Página 372

    Chapter 27 4-Channel Pulse Inter face API | PCI-DMC-A01 / PCI-DM C-B01 27-2 Revised March, 2012 27.1 _DMC_01_set_rm_04pi_ipulse_mode  FORMAT I16 PASCAL _DMC_01_set_rm_04pi_ipulse_mode (U16 CardNo, U16 NodeID, U16 Slot ID, U16 mode)  Purpose Sets input phase mode for pulse interface module.  Parameters Name Data Type Unit Description CardNo[...]

  • Página 373

    Chapter 27 4-Channel Pulse Interface API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 27-3 27.2 _DMC_01_set_rm_04pi_opulse_mode  FORMAT I16 PASCAL _DMC_01_set_rm_04pi_opulse_mode (U16 CardNo, U16 NodeID, U16 SlotID ,U16 mode)  Purpose Sets output phase mode for pulse interface module.  Parameters Name Data Type Unit Description CardNo U[...]

  • Página 374

    Chapter 27 4-Channel Pulse Inter face API | PCI-DMC-A01 / PCI-DM C-B01 27-4 Revised March, 2012 27.3 _DMC_01_set_rm_04pi_svon_polarity  FORMAT I16 PASCAL _DMC_01_set_rm_04pi_svon_polarity (U1 6 CardNo, U16 NodeID, U16 SlotID, U16 polarity)  Purpose Sets POWER ON (SVON) level.  Parameters Name Data Type Unit Description CardNo U16 Number Un[...]

  • Página 375

    Chapter 27 4-Channel Pulse Interface API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 27-5 27.4 _DMC_01_set_rm_04pi_DO2  FORMAT I16 PASCAL _DMC_01_set_rm_04pi_DO2 (U16 CardNo, U16 NodeID, U16 SlotID, U16 ON_OFF)  Purpose Enables DO2 port configuration.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between [...]

  • Página 376

    Chapter 27 4-Channel Pulse Inter face API | PCI-DMC-A01 / PCI-DM C-B01 27-6 Revised March, 2012 27.5 _DMC_01_set_rm_04pi_homing_ratio  FORMAT I16 PASCAL _DMC_01_set_rm_04pi _homing_ratio (U16 CardNo, U16 NodeI D, U16 SlotID, U16 ratio)  Purpose Sets the rated torque multiplier for Homing mode. ※ When using RM04PI to carry out Homing motion [...]

  • Página 377

    Chapter 27 4-Channel Pulse Interface API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 27-7 27.6 _DMC_01_04pi_set_poweron  FORMAT I16 PASCAL _DMC_01_04pi_set_poweron ( U16 CardNo, U16 NodeID, U16 SlotID, U16 ON_OFF)  Purpose Enables/disables PWR ON(SVON).  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betwee[...]

  • Página 378

    Chapter 27 4-Channel Pulse Inter face API | PCI-DMC-A01 / PCI-DM C-B01 27-8 Revised March, 2012 27.7 _DMC_01_rm_04PI_get_buffer  FORMAT I16 PASCAL _DMC_01_rm_04PI_get_buffer (U 16 CardNo, U16 NodeID, U16 SlotID, U16 *bufferLength)  Purpose Retrieves the buffered motion command.  Parameters Name Data Type Unit Description CardNo U16 Number [...]

  • Página 379

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-1 Chapter 28 4-Channel Pulse Interface (Mode 1) Motion Control API Table 28.1 Function Name Description _DMC_01_rm_04pi_md1_start_move Perform 1-axis motion control under RM04PI Mode 1. _DMC_01_rm_04pi_md1_v_move Perform velocity mo[...]

  • Página 380

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-2 Revised March, 2012 Function Name Description _DMC_01_rm_04pi_md1_set_soft_limit Enable/disable software limit under RM04PI Mode 1 _DMC_01_rm_04pi_md1_get_soft_limit_status Get current 4-axis software limit contact status under RM04PI Mode 1 _DMC_01_r[...]

  • Página 381

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-3 28.1 _DMC_01_rm_04pi_md1_start_move  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_start_move( U16 CardNo, U16 NodeID,U16 SlotI D, I32 Dist, I32 StrVel, I32 MaxVel, F64 Ta cc, F64 Tdec,U16 m_curve,U16 m_r_a)  Purpose Performs 1-axis[...]

  • Página 382

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-4 Revised March, 2012  Example U16 CardNo=0; U16 NodeID =1; U16 SlotID = 0; I32 Dist = 1280000; U16 StrVel = 1000, MaxVel =12800; F64 Tacc=0.1, Tdec=0.1; U16 m_curve = 1; U16 m_r_a = 0; /* RM04PI MODE1 carries out motion displacem ent in relative coo[...]

  • Página 383

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-5 28.2 _DMC_01_rm_0 4pi_md1_v_move  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_v_move(U 16 CardNo, U16 NodeID,U16 SlotID, I32 StrVel, I32 MaxVel, F64 Tacc,I16 dir,U16 m_curve)  Purpose Performs velocity motion control under RM04PI [...]

  • Página 384

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-6 Revised March, 2012 28.3 _DMC_01_rm_04pi_md1_start_line2  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_start_line2( U16 CardNo, U16 NodeID, U16 *SlotID, I32 *Dist, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec,U16 m_curve,U16 m_r_a)  Purpose Performs 2-ax[...]

  • Página 385

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-7  Example U16 CardNo=0, NodeID=1, SlotID[2] ={0, 1}; I32 Dist[2]={30000, 40000}; I32 StrVel=0, MaxVel=3000; F64 Tacc=0.1, Tdec=0.1; U16 m_curve=2; //Referenced agains t S-curve velocity cross-section U16 m_r_a=1; //Use displacem[...]

  • Página 386

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-8 Revised March, 2012 28.4 _DMC_01_rm_04pi_md1_start_line3  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_start_line3(U 16 CardNo, U16 NodeID, U16 *SlotID, I32 *Dist, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec,U16 m_curve,U16 m_r_a)  Purpose Performs 3-ax[...]

  • Página 387

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-9  Example U16 CardNo=0, NodeID=1, SlotID[3] ={0,1,2}; I32 Dist[3]={10000, 20000, 30000}; I32 StrVel=0, MaxVel=3000; F64 Tacc=0.1, Tdec=0.1; U16 m_curve=1; //Referenced agains t T-curve velocity cross-section U16 m_r_a=1; //Use d[...]

  • Página 388

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-10 Revised March, 2012 28.5 _DMC_01_rm_04pi_md1_start_line4  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_start_line4(U 16 CardNo, U16 NodeID, U16 *SlotID, I32 *Dist, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec,U16 m_curve,U16 m_r_a)  Purpose Performs 4-a[...]

  • Página 389

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-11  Example U16 CardNo=0, NodeID=1, SlotID[4] ={0,1,2,3}; I32 Dist[4]={10000, 20000, 30000, 40000}; I32 StrVel=0, MaxVel=3000; F64 Tacc=0.1, Tdec=0.1; U16 m_curve=1, m_r_a=1; //Per form motion in absolute coordinates with T-curve[...]

  • Página 390

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-12 Revised March, 2012 28.6 _DMC_01_rm_04pi_md1_start_arc  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_start_arc(U 16 CardNo, U16 NodeID,U16* SlotID, I32* Center, F64 Angle, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec,U16 m_curve,U16 m_r_a)  Purpose Perf[...]

  • Página 391

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-13  Example U16 CardNo=0, NodeID=1, SlotID[2]={0,1}; I32 Center[2]={5000,5000}, StrVel=0, MaxVel=1000; F64 Tacc=0.1, Tdec=0.1; U16 m_curve=1, m_r_a=1; //Per form motion in absolute coordinates with T-curve velocity cross-section [...]

  • Página 392

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-14 Revised March, 2012 28.7 _DMC_01_rm_04pi_md1_start_arc2  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_start_arc2(U 16 CardNo, U16 NodeID,U16* SlotID, I32* End, F64 Angle, I32 StrVel, I32 MaxVel , F64 Tacc, F64 Tdec,U16 m_curve,U16 m_r_a)  Purpose Perf[...]

  • Página 393

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-15  Example U16 CardNo=0, NodeID=1, SlotID[2]={0,1}; I32 End[2]={5000,5000}, St rVel=0, MaxVel=1000; F64 Tacc=0.1, Tdec=0.1; U16 m_curve=1, m_r_a=1; //Per form motion in absolute coordinates with T-curve velocity cross-section I1[...]

  • Página 394

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-16 Revised March, 2012 28.8 _DMC_01_rm_04pi_md1_start_arc3  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_start_arc3(U 16 CardNo, U16 NodeID,U16* SlotID, I32* Center,I32* End, I16 dir, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec,U16 m_curve, U16 m_r_a)  Pu[...]

  • Página 395

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-17  Example U16 CardNo=0, NodeID=1, SlotID[2 ]={0,1}, m_curve=1, m_r_a=1; I32 Center[2]={5000,2500}, End[2]={ 10000,5000}, StrVel=0, MaxVel=1000; I16 dir=1; //Clockwise F64 Tacc=0.1, Tdec=0.1; I16 status = _DMC_01_rm_04pi_md1_s t[...]

  • Página 396

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-18 Revised March, 2012 28.9 _DMC_01_rm_04p i_md1_start_he li  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_start_heli(U16 CardNo, U16 NodeID,U16* SlotID, I32* Center,I32 Depth, I32 Pi tch, I16 dir, I32 StrVel, I 32 MaxVel, F64 Tacc, F64 Tdec, U16 m_curve,U1[...]

  • Página 397

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-19  Example U16 CardNo=0, NodeID=1, SlotID[3] ={0,1,2}, m_curve=1, m_r_a=1; I32 Center[3]={5000,2500,2500}, Dept h = 2500, Pitch = 500, StrV el = 0, MaxVel = 1000; I16 dir=1; //Clockwise F64 Tacc=0.1, Tdec=0.1; I16 status = _DMC_[...]

  • Página 398

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-20 Revised March, 2012 28.10 _DMC_01_rm_04pi_md1_p_change  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_p_change (U16 CardNo, U16 NodeID, U16 Slot ID, I32 NewPos)  Purpose Replaces the current position with a new position value under RM04PI Mode 1.  P[...]

  • Página 399

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-21 28.11 _DMC_01_rm_0 4pi_md1_v_chang e  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_v_change (U16 CardNo, U16 NodeID, U16 Slot ID, I32 NewSpeed, F64 sec)  Purpose Replaces the current velocity with a new velocity value under RM04PI[...]

  • Página 400

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-22 Revised March, 2012 28.12 _DMC_01_rm_04p i_md1_set_gear  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_set_gear (U 16 CardNo, U16 NodeID, U16 SlotID, I16 numerator,I16 denom inator,U16 Enable)  Purpose Enables and sets Gear parameters under RM04PI Mode[...]

  • Página 401

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-23 28.13 _DMC_01_rm_04pi_ md 1_set_soft_limit  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_set_soft_limit (U16 CardNo, U16 NodeID,U16 SlotID, I32 PLimit, I32 NLimit,U16 Enable)  Purpose Enables/disables software limit under RM04PI M[...]

  • Página 402

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-24 Revised March, 2012 28.14 _DMC_01_rm_04pi_md 1_get_soft_limit_statu s  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_get_soft_limit _status (U16 CardNo, U16 NodeID, U16 SlotID ,U16* NLimit_sta tus,U16* PLimit_status)  Purpose Retrieves current 4-axis s[...]

  • Página 403

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-25 28.15 _DMC_01_rm_0 4pi_md1_set_sld  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_set_sld (U 16 CardNo, U16 NodeID, U16 SlotID, I16 enable, I16 sd_logic,I16 mode)  Purpose Enables SLD port (DI3) and sets the profile.  Parameters[...]

  • Página 404

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-26 Revised March, 2012 28.16 _DMC_01_rm_04pi_md 1_get_mc_error_code  FORMAT I16 PASCAL _DMC_01_rm_04pi_md1_get_mc_e rror_code (U16 CardNo, U16 NodeID, U16 SlotID, U16 error_code)  Purpose When the alarm code is 299, retrieves the motion contro l e[...]

  • Página 405

    Chapter 28 4-Channel Pulse Interface (M ode 1) Motion Control API | PCI-DMC-A01 / PCI-DM C-B01 Revised March, 2012 28-27 28.17 _DMC_01_set_rm _04pi_ref_counter  FORMAT I16 PASCAL _DMC_01_set_rm_04pi _ref_counter (U16 CardNo, U16 NodeID, U16 SlotID , U16 mode)  Purpose Selects the reference position after re-c onnecting to module under M04PI M[...]

  • Página 406

    Chapter 28 4-Channel Pulse Inter face (Mode 1) Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 28-28 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 407

    Chapter 29 4-Channel Analog Outpu t Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 29-1 Chapter 29 4-Channel Analog Output Remote I/O Module API Table 29.1 Function Name Description _DMC_01_rm_04da_set_output_value Set DA output value _DMC_01_rm_04da_get_output_value Read DA output _DMC_01_rm_04da_get_return_c ode Read DA sta[...]

  • Página 408

    Chapter 29 4-Channel Analog Outp ut Remote I/O Module API | PCI-DMC-A 01 / PCI-DMC-B01 29-2 Revised March, 2012 29.1 _DMC_01_rm_04da_set_output_value  FORMAT I16 PASCAL _DMC_01_rm_04da_set_output_value (U1 6 CardNo, U16 NodeID, U16 SlotID, U16 ChannelNo, U16 Value)  Purpose Sets value of DA output.  Parameters Name Data Type Unit Descripti[...]

  • Página 409

    Chapter 29 4-Channel Analog Outpu t Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 29-3 29.2 _DMC_01_rm_04da_get_output_value  FORMAT I16 PASCAL _DMC_01_rm_04da_get_output_value (U16 CardNo, U16 NodeID,U16 SlotI D, U16 ChannelNo, U16 *Value)  Purpose Reads the value of the DA output.  Parameters Name Data Type Unit D[...]

  • Página 410

    Chapter 29 4-Channel Analog Outp ut Remote I/O Module API | PCI-DMC-A 01 / PCI-DMC-B01 29-4 Revised March, 2012 29.3 _DMC_01_rm_04d a_get_return_code  FORMAT I16 PASCAL _DMC_01_rm_04da_get_return_code (U16 CardNo, U16 NodeID, U16 Slot ID, U16 ChannelNo, U16* ReturnCode)  Purpose Reads DA status.  Parameters Name Data Type Unit Description [...]

  • Página 411

    Chapter 29 4-Channel Analog Outpu t Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 29-5 29.4 _DMC_01_rm_04da_set_output_range  FORMAT I16 PASCAL _DMC_01_rm_04da_set_output_range (U 16 CardNo, U16 NodeID, U16 SlotID, U16 ChannelNo, U16 Range)  Purpose Sets the DA output range.  Parameters Name Data Type Unit Descripti[...]

  • Página 412

    Chapter 29 4-Channel Analog Outp ut Remote I/O Module API | PCI-DMC-A 01 / PCI-DMC-B01 29-6 Revised March, 2012 29.5 _DMC_01_rm_04da_set_output_enable  FORMAT I16 PASCAL _DMC_01_rm_04da_set_output_enable (U16 CardNo, U16 Nod eID,U16 SlotID, U16 ChannelNo, U16 Enable)  Purpose Enables/disables pin output.  Parameters Name Data Type Unit Des[...]

  • Página 413

    Chapter 29 4-Channel Analog Outpu t Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 29-7 29.6 _DMC_01_rm_04da_set_output_overrange  FORMAT I16 PASCAL _DMC_01_rm_04da_set_output_overrange (U16 CardNo, U16 NodeID, U16 SlotID, U16 ChannelNo, U16 On_Off)  Purpose Increases output range by 10%.  Parameters Name Data Type U[...]

  • Página 414

    Chapter 29 4-Channel Analog Outp ut Remote I/O Module API | PCI-DMC-A 01 / PCI-DMC-B01 29-8 Revised March, 2012 29.7 _DMC_01_rm_04da_set_output_error_clear  FORMAT I16 PASCAL _DMC_01_rm_04da_set_output_erro r_clear (U16 CardNo, U16 NodeID, U16 SlotID, U16 ChannelNo, U16 On_Off)  Purpose Clears error status.  Parameters Name Data Type Unit [...]

  • Página 415

    Chapter 29 4-Channel Analog Outpu t Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 29-9 29.8 _DMC_01_rm_04da_read_data  FORMAT I16 PASCAL _DMC_01_rm_04da_read_data (U16 Ca rdNo, U16 NodeID, U16 SlotID, U16 ChannelNo, U16* data)  Purpose Retrieves current DA number.  Parameters Name Data Type Unit Description CardNo U[...]

  • Página 416

    Chapter 29 4-Channel Analog Outp ut Remote I/O Module API | PCI-DMC-A 01 / PCI-DMC-B01 29-10 Revised March, 2012 29.9 _DMC_01_rm_04da_set_output_error_hand le  FORMAT I16 PASCAL _DMC_01_rm_04da_set_output_e rror_handle (U16 CardNo, U16 NodeID, U16 SlotID, U16 ChannelNo, U16 On_Off)  Purpose Keeps original DA settings if the connection is brok[...]

  • Página 417

    Chapter 29 4-Channel Analog Outpu t Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 29-11 29.10 _DMC_01_rm_04da_set_output_offset_value  FORMAT I16 PASCAL _DMC_01_rm_04da_set_output_o ffset_value (U16 CardNo, U16 NodeID, U16 SlotID, U16 ChannelNo, I16 Value)  Purpose Sets the DA offset value.  Parameters Name Data Typ[...]

  • Página 418

    Chapter 29 4-Channel Analog Outp ut Remote I/O Module API | PCI-DMC-A 01 / PCI-DMC-B01 29-12 Revised March, 2012 29.11 _DMC_01_rm_04da_get_output_offset_value  FORMAT I16 PASCAL _DMC_01_rm_04da_get_output_offs et_value (U16 CardNo, U16 NodeID, U16 SlotID, U16 ChannelNo, I16 *Value)  Purpose Reads the DA offset value.  Parameters Name Data [...]

  • Página 419

    Chapter 30 4-Channel Analog Input Remote I/O M odule API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 30-1 Chapter 30 4-Channel Analog Input Remote I/O Module API Table 30.1 Function Name Description _DMC_01_set_04ad_input_range Set AD input range _DMC_01_get_04ad_input_range Get current AD Input range _DMC_01_set_04ad_zero_scale Set AD zero le[...]

  • Página 420

    Chapter 30 4-Channel Analog Input Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 30-2 Revised March, 2012 30.1 _DMC_01_set_04ad_input_range  FORMAT I16 _DMC_01_set_04ad_in put_range (U16 CardNo, U16 NodeID, U16 SlotID, U16 channelno, U16 range)  Purpose Sets the AD input range.  Parameters Name Data Type Unit Description CardNo U16 Numb[...]

  • Página 421

    Chapter 30 4-Channel Analog Input Remote I/O M odule API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 30-3 30.2 _DMC_01_get_04ad_input_range  FORMAT I16 _DMC_01_get_04ad_input _range (U16 CardNo, U16 NodeID, U16 SlotID, U16 channelno, U16 *range)  Purpose Retrieves the current AD Input range.  Parameters Name Data Type Unit Description[...]

  • Página 422

    Chapter 30 4-Channel Analog Input Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 30-4 Revised March, 2012 30.3 _DMC_01_set_04ad_zero_scale  FORMAT I16 _DMC_01_set_04ad_zero_scale (U16 CardNo, U16 NodeID, U16 SlotID, U16 channelno)  Purpose Sets AD zero level for range calibration.  Parameters Name Data Type Unit Description CardNo U16 N[...]

  • Página 423

    Chapter 30 4-Channel Analog Input Remote I/O M odule API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 30-5 30.4 _DMC_01_get_04ad _zero_scale_statu s  FORMAT I16 _DMC_01_get_04ad_zero_scale_status (U16 CardNo, U16 NodeID, U16 SlotID, U16 channelno, U16* status)  Purpose Checks if AD zero calibration is complete.  Parameters Name Data Ty[...]

  • Página 424

    Chapter 30 4-Channel Analog Input Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 30-6 Revised March, 2012 30.5 _DMC_01_set_04ad_full_scale  FORMAT I16 _DMC_01_set_04ad_full_scale (U16 CardNo, U16 NodeID, U16 SlotID, U16 channelno)  Purpose Sets AD maximum level for range calibration.  Parameters Name Data Type Unit Description CardNo U1[...]

  • Página 425

    Chapter 30 4-Channel Analog Input Remote I/O M odule API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 30-7 30.6 _DMC_01_get_04ad _full_scale_status  FORMAT I16 _DMC_01_get_04ad_full_scale_status (U16 CardNo, U16 NodeID, U16 SlotID, U16 channelno, U16* status)  Purpose Checks if AD maximum level calibration is complete.  Parameters Name[...]

  • Página 426

    Chapter 30 4-Channel Analog Input Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 30-8 Revised March, 2012 30.7 _DMC_01_set_04ad _conversion_ time  FORMAT I16 _DMC_01_set_04ad_conversion_time (U16 CardNo, U16 NodeID, U16 SlotID, U16 mode)  Purpose Sets AD conversion time.  Parameters Name Data Type Unit Description CardNo U16 Number Unit[...]

  • Página 427

    Chapter 30 4-Channel Analog Input Remote I/O M odule API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 30-9 30.8 _DMC_01_get_04ad _conversion_ time  FORMAT I16 _DMC_01_get_04ad_conversion_time (U16 Ca rdNo, U16 NodeID, U16 SlotID, U16* mode)  Purpose Retrieves current AD conversion time.  Parameters Name Data Type Unit Description CardN[...]

  • Página 428

    Chapter 30 4-Channel Analog Input Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 30-10 Revised March, 2012 30.9 _DMC_01_get_04ad_data  FORMAT I16 _DMC_01_get_04ad_data (U16 CardNo, U16 N odeI D, U16 SlotID, U16 channelno, U16* value)  Purpose Reads input voltage.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo [...]

  • Página 429

    Chapter 30 4-Channel Analog Input Remote I/O M odule API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 30-11 30.10 _DMC_01_set_04 ad_average_mode  FORMAT I16 _DMC_01_set_04ad_average_mode (U16 Card No, U16 NodeID, U16 Slot ID, U16 channelno, U16 mode)  Purpose Sets AD average mode.  Parameters Name Data Type Unit Description CardNo U16 [...]

  • Página 430

    Chapter 30 4-Channel Analog Input Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 30-12 Revised March, 2012 30.11 _DMC_01_get_0 4ad_average_mode  FORMAT I16 _DMC_01_get_04ad_average_mode (U16 CardNo, U16 NodeID, U16 Slot ID, U16 channelno, U16* mode)  Purpose Retrieves AD average mode.  Parameters Name Data Type Unit Description CardNo U[...]

  • Página 431

    Chapter 30 4-Channel Analog Input Remote I/O M odule API | PCI-DMC-A01 / PCI-DMC-B0 1 Revised March, 2012 30-13 30.12 _DMC_01_set_04ad_input_enable  FORMAT I16 _DMC_01_set_04ad_input_enable (U16 CardNo, U16 NodeID, U16 SlotID, U16 channelno, U16 ON_OFF)  Purpose Enables/disables AD C hannel Input feedback.  Parameters Name Data Type Unit D[...]

  • Página 432

    Chapter 30 4-Channel Analog Input Remote I/O Module API | PCI-DMC-A01 / PCI-DMC-B01 30-14 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 433

    Chapter 31 Slave Data API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 31-1 Chapter 31 Slave Data API Table 31.1 Function Name Description _DMC_01_get_devicetype Get Slave device type _DMC_01_get_slave_version Get Slave device firmware version[...]

  • Página 434

    Chapter 31 Slave Data AP I | PCI-DMC-A01 / PCI-DM C-B01 31-2 Revised March, 2012 31.1 _DMC_01_get_devicetype  FORMAT I16 PASCAL _DMC_01_get_devicetype (I16 CardNo, U16 NodeID, U16 SlotID, U32 *DeviceType, U3 2 *IdentityObject)  Purpose Retrieves slave device type.  Parameters Name Data Type Unit Description CardNo I16 Number Unit CardNo is[...]

  • Página 435

    Chapter 31 Slave Data API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 31-3 NOTE ※ Table of device type codes used for the DeviceType variable: Device Type Code Device Type Code A2 Series Servo Drives 0x0402019 2 M Series Servo Drives 0x06020192 A2R Series Servo Drives 0x08020192 S Series Servo Drives 0x09020192 ASD-DMC-RM32MN 0x04110191 ASD-D[...]

  • Página 436

    Chapter 31 Slave Data AP I | PCI-DMC-A01 / PCI-DM C-B01 31-4 Revised March, 2012 31.2 _DMC_01_get_slave_version  FORMAT I16 PASCAL _DMC_01_get_slave_version (I16 CardNo, U16 NodeID,U16 Slot ID, U16* version)  Purpose Retrieves slave device firmware version.  Parameters Name Data Type Unit Description CardNo I16 Number Unit CardNo is betwee[...]

  • Página 437

    Chapter 32 Parameter Monitoring API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 32-1 Chapter 32 Parameter Monitoring API Table 32.1 Function Name Description _DMC_01_set_monitor Set parameter to monitor _DMC_01_get_monitor Get value for monitored parameter _DMC_01_get_servo_command Get servo drive command value _DMC_01_get_servo_DI Get servo dr[...]

  • Página 438

    Chapter 32 Parameter Monitoring API | PCI-DM C-A01 / PCI-DMC-B01 32-2 Revised March, 2012 32.1 _DMC_01_set_monitor  FORMAT I16 PASCAL _DMC_01_set_monitor (U16 CardNo , U16 NodeID, U16 SlotID, U16 monitorw)  Purpose Sets parameter to monitor.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U1[...]

  • Página 439

    Chapter 32 Parameter Monitoring API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 32-3  Reference Table 32.2 Monitor item index Monitor item Unit Data length 04PI Servo 0 Motor feedback pulse (after electronic gear comparison) User 32-bit[signed integer] □ ■ 1 Pulse command input count (after electronic gear comparison) User 32-bit[signed [...]

  • Página 440

    Chapter 32 Parameter Monitoring API | PCI-DM C-A01 / PCI-DMC-B01 32-4 Revised March, 2012 Monitor item index Monitor item Unit Data length 04PI Servo 15 Load/motor inertia ratio 0.1 times 16-bit[unsigned integer] □ ■ 16 IGBT temperature o C 16-bit[signed integer] □ ■ 17 Resonant frequency Hertz 16-bit[unsigned integer] □ ■ 18 Value at Z[...]

  • Página 441

    Chapter 32 Parameter Monitoring API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 32-5 32.2 _DMC_01_get_monitor  FORMAT I16 PASCAL _DMC_01_set_command (U16 CardNo , U16 NodeID, U16 SlotID, U32 cmd)  Purpose Retrieves value of monitored parameter.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 No[...]

  • Página 442

    Chapter 32 Parameter Monitoring API | PCI-DM C-A01 / PCI-DMC-B01 32-6 Revised March, 2012 32.3 _DMC_01_get_servo_command  FORMAT I16 PASCAL _DMC_01_get_servo_command (U16 CardNo, U16 NodeID, U16 SlotID, U32 *servo_cmd)  Purpose Retrieves servo drive command value.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is[...]

  • Página 443

    Chapter 32 Parameter Monitoring API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 32-7 32.4 _DMC_01_get_servo_DI  FORMAT I16 PASCAL _DMC_01_get_servo_DI (U16 CardNo, U16 NodeID, U16 SlotID, U16 *servo_DI)  Purpose Retrieves server DI message value.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 [...]

  • Página 444

    Chapter 32 Parameter Monitoring API | PCI-DM C-A01 / PCI-DMC-B01 32-8 Revised March, 2012 32.5 _DMC_01_get_servo_DO  FORMAT I16 PASCAL _DMC_01_get_servo_DO (U16 CardNo, U16 NodeID, U16 SlotID, U16 *servo_DO)  Purpose Retrieves server DO message value.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15[...]

  • Página 445

    Chapter 33 Alarm Message API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 33-1 Chapter 33 Alarm Message API Table 33.1 Function Name Description _DMC_01_set_ralm Reset output servo drive alarm message _DMC_01_get_alm_code Get Slave alarm code _DMC_01_master_alm_code Get the Ma ster Card connection alarm code _DMC_01_slave_error Get number of con[...]

  • Página 446

    Chapter 33 Alarm Message API | PCI-DM C-A01 / PCI-DMC-B0 1 33-2 Revised March, 2012 33.1 _DMC_01_set_ralm  FORMAT I16 PASCAL _DMC_01_set_ralm (U16 CardNo, U16 NodeID, U16 SlotID)  Purpose Resets output servo drive alarm message.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U16 Number Unit[...]

  • Página 447

    Chapter 33 Alarm Message API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 33-3 33.2 _DMC_01_get_alm_code  FORMAT I16 PASCAL _DMC_01_get_alm_code (U16 Ca rdNo, U16 NodeID, U16 Slot ID, U32 *alm_code)  Purpose Retrieves slave alarm code.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U16 N[...]

  • Página 448

    Chapter 33 Alarm Message API | PCI-DM C-A01 / PCI-DMC-B0 1 33-4 Revised March, 2012 33.3 _DMC_01_master_alm_code  FORMAT I16 PASCAL _DMC_01_master_alm_code (U16 CardNo,U16* alm_code)  Purpose Retrieves the Master Card connection alarm code.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 alm_code U[...]

  • Página 449

    Chapter 33 Alarm Message API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 33-5 33.4 _DMC_01_slave_error  FORMAT I16 PASCAL _DMC_01_slave_error (U16 CardNo , U16 NodeID,U16 SlotID,U16* alm_cnt)  Purpose Retrieves number of consecutive erro rs during slave communications.  Parameters Name Data Type Unit Description CardNo U16 Number Unit [...]

  • Página 450

    Chapter 33 Alarm Message API | PCI-DM C-A01 / PCI-DMC-B0 1 33-6 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 451

    Chapter 34 Multi-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 34-1 Chapter 34 Multi-Axis Motion Control API Table 34.1 Function Name Description _DMC_01_multi_axes_move Set moti on control for more than 2 axes _ DMC_01_liner_speed_master Set multi-axis linear motion control veloc ity _DMC_01_start_v3_multi_axes Multi-axi[...]

  • Página 452

    Chapter 34 Multi-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC- B01 34-2 Revised March, 2012 34.1 _DMC_01_multi_axes_move  FORMAT I16 PASCAL _DMC_01_multi_axes_move(U16 CardNo,U16 Axis Num, U16* NodeID, U16* SlotID, I32 *DistArrary, I32 StrVel, I32 MaxVel, F64 Ta cc, F64 Tdec,U16 m_curve, U16 m_r_a)  Purpose Sets motion control fo r more th[...]

  • Página 453

    Chapter 34 Multi-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 34-3  Example U16 CardNo=0, AxisNum=4; U16 NodeID[4]={1,2,3,4}, SlotID[4]={0,1,2,3}; I32 DistArrary[4]={1000, 2000, 3000, 6000}; I32 StrVel=1000, MaxVel=50000; F64 Tacc=0.1, Tdec=0.1; U16 m_curve=1; U16 m_r_a=0; /*Set as multi-axis motion control using abso[...]

  • Página 454

    Chapter 34 Multi-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC- B01 34-4 Revised March, 2012 34.2 _ DMC_01_liner_speed_master  FORMAT I16 PASCAL _ DMC_01_liner_speed_master (U16 CardNo,U16 AxisNum, U16* NodeID, U16* SlotID, I32 *DistArrary, I32 StrVel, I32 MaxVel, F64 Ta cc, F64 Tdec,U16 m_curve, U16 m_r_a)  Purpose When setting the multi-a[...]

  • Página 455

    Chapter 34 Multi-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC-B 01 Revised March, 2012 34-5 34.3 _DMC_01_start_v3_multi_axes  FORMAT I16 PASCAL _DMC_01_start_v3_multi_axes(U16 CardNo,U16 AxisNum, U16* NodeID, U16* SlotID, I32 *DistArrary, I32 StrVel, I32 Cons tVel, I32 EndVel, F64 TPhase1, F64 TPhase2, U16 m_curve,U16 m_r_a)  Purpose Multi[...]

  • Página 456

    Chapter 34 Multi-Axis Motion Control API | PCI-DMC-A01 / PCI-DMC- B01 34-6 Revised March, 2012  Description Figure 34.1 Explanation of TPhase1 and TPhase2  Example U16 CardNo=0, AxisNum=4; U16 NodeID[4]={1,2,3,4}, SlotID[4]={0,1,2,3}; I32 DistArrary[4]={1000, 2000, 3000, 6000}; I32 StrVel=1000, MaxVel=50000; I32 EndVel=20000; F64 TPhase1=0.2;[...]

  • Página 457

    Chapter 35 Buffer Operation API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 35-1 Chapter 35 Buffer Operation API Table 35.1 Function Name Description _DMC_01_set_trigger_buf_function Use servo drive DI3 (SLD) to trigger Motion command[...]

  • Página 458

    Chapter 35 Buffer Operation API | PCI-DM C-A01 / PCI-DMC-B0 1 35-2 Revised March, 2012 35.1 _DMC_01_set_tr igger_buf_function  FORMAT I16 PASCAL _DMC_01_set_trigger_buf_function (I16 CardNo, U16 NodeID, U16 SlotID, U16 enable)  Purpose Uses servo drive DI3 (SLD) to trigger Motion command.  Parameters Name Data Type Unit Description CardNo [...]

  • Página 459

    Chapter 36 Interrupt AP I | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 36-1 Chapter 36 Interrupt API Table 36.1 Function Name Description _DMC_01_set_int_factor Set interrupt mode. Total of 8 modes available. _DMC_01_int_enable Enable interrupt feedback _DMC_01_int_disable Disable disable interrupt. _DMC_01_get_int_count Interrupt count. _DMC_01[...]

  • Página 460

    Chapter 36 Interrupt API | PCI-DM C-A01 / PCI-DMC-B01 36-2 Revised March, 2012 36.1 _DMC_01_ set_int_factor  FORMAT I16 PASCAL _DMC_01_set_int_factor (U16 CardNo, U16 NodeID, U16 int_factor)  Purpose Sets interrupt mode.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U16 Number Unit Node ID[...]

  • Página 461

    Chapter 36 Interrupt AP I | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 36-3 36.2 _DMC_01_ int_enable  FORMAT I16 PASCAL _DMC_01_int_enable (U16 Car dNo, U16 NodeID)  Purpose Enables interrupt.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U16 Number Unit Node ID  Example U16 CardNo=0[...]

  • Página 462

    Chapter 36 Interrupt API | PCI-DM C-A01 / PCI-DMC-B01 36-4 Revised March, 2012 36.4 _DMC_01_ get_int_count  FORMAT I16 PASCAL _DMC_01_get_int_count (U16 CardNo, U16 NodeID, U16 count)  Purpose Reads interrupt count.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U16 Number Unit Node ID coun[...]

  • Página 463

    Chapter 36 Interrupt AP I | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 36-5 36.5 _DMC_01_ get_int_status  FORMAT I16 PASCAL _DMC_01_get_int_status (U16 CardNo, U16 NodeID, U16 event_int_status)  Purpose Reads current interrupt mode.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID U16 Numb[...]

  • Página 464

    Chapter 36 Interrupt API | PCI-DM C-A01 / PCI-DMC-B01 36-6 Revised March, 2012 36.6 _DMC_01_link_ interru pt  FORMAT I16 PASCAL _DMC_01_link_interrupt (U16 Card No, void (__stdcall *callbackAddr) (U16 CardNo, U16 NodeID))  Purpose Sets a handler procedure. When interr upt occurs, enter this handler.  Parameters Name Data Type Unit Descript[...]

  • Página 465

    Chapter 37 Security API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 37-1 Chapter 37 Security API Table 37.1 Function Name Description _DMC_01_read_security Master Card: read security data at specified memory block _DMC_01_read_security_status Master Card: get read/write status of current memory _DMC_01_write_security Master Card: writ e securit[...]

  • Página 466

    Chapter 37 Security API | PCI-DMC -A01 / PCI-DMC-B01 37-2 Revised March, 2012 37.1 _DMC_01_ read_security  FORMAT I16 PASCAL _DMC_01_read_security (U 16 CardNo, U16 page, U16 array)  Purpose Reads security data specified by the Master Card from memory.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~1[...]

  • Página 467

    Chapter 37 Security API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 37-3 37.3 _DMC_01_write_security  FORMAT I16 PASCAL _DMC_01_write_security (U16 CardNo, U16 page, U16 array )  Purpose Writes security data to memory blo ck specified by the Master Card.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betwe[...]

  • Página 468

    Chapter 37 Security API | PCI-DMC -A01 / PCI-DMC-B01 37-4 Revised March, 2012 37.5 _DMC_01_ check_userpassword  FORMAT I16 PASCAL _DMC_01_ check_userpassword (U16 CardNo, U32 p assword_data, U16 password_state)  Purpose Before reading/writing data on the Master Card, checks that user has permission to read/write to memory.  Parameters Name[...]

  • Página 469

    Chapter 37 Security API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 37-5 37.7 _DMC_01_check_verifykey  FORMAT I16 PASCAL _DMC_01_check_verifykey (U16 CardNo, U32 Verifykey, U16state)  Purpose Master Card: Checks verify key matches.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Verifykey U32 N[...]

  • Página 470

    Chapter 37 Security API | PCI-DMC -A01 / PCI-DMC-B01 37-6 Revised March, 2012 37.9 _DMC_01_ read_serialno  FORMAT I16 PASCAL _DMC_01_ read_serialno (U16 CardNo, U32 Serialno)  Purpose Reads product serial number in the Master Card memory.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Serialno U32[...]

  • Página 471

    Chapter 37 Security API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 37-7 37.10 misc_slave_check_userpassword  FORMAT I16 PASCAL _misc_slave_check_userpassword (U 16 CardNo, U16 NodeID, U16 SlotID, U32 Password_data, U16 *Password_state)  Purpose Before read/write data on Slave (04PI), checks that user has permission to read/write to memor[...]

  • Página 472

    Chapter 37 Security API | PCI-DMC -A01 / PCI-DMC-B01 37-8 Revised March, 2012 37.11 _misc_slave_write_userpasswo rd  FORMAT I16 PASCAL _misc_slave_write_userpassword (U16 CardNo, U16 NodeID, U16 SlotID, U32 Password_datae)  Purpose Writes user password to Slave(04PI).  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardN[...]

  • Página 473

    Chapter 37 Security API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 37-9 37.12 _misc_slave_get_serialno  FORMAT I16 PASCAL _misc_slave_get_serialno (U16 Card No, U16 NodeI D, U16 Sl otID, U32 Serialno)  Purpose Reads Slave(04PI) product serial number.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between [...]

  • Página 474

    Chapter 37 Security API | PCI-DMC -A01 / PCI-DMC-B01 37-10 Revised March, 2012 37.13 _misc_security  FORMAT I16 PASCAL _misc_security (U32 OtherWord0, U 32 OtherWord1, U32 SyntekWord0, U32 SyntekWord1, U32 *Password0, U32 *Password1, U32 *Password2, U32 *Password3)  Purpose Slave(04PI): Feeds user specified 64bit key and 64bit Serialno into e[...]

  • Página 475

    Chapter 37 Security API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 37-11 37.14 _misc_slave_write_verifykey  FORMAT I16 PASCAL _misc_slave_write_verifykey (U16 CardNo, U16 NodeID, U16 SlotID, U32 Verifykey)  Purpose Writes verify key to Slave(04PI).  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~[...]

  • Página 476

    Chapter 37 Security API | PCI-DMC -A01 / PCI-DMC-B01 37-12 Revised March, 2012 37.15 _misc_slave_ check_verifykey  FORMAT I16 PASCAL _misc_slave_check_verifykey (U16 CardNo, U16 NodeID, U16 SlotID, U32 Verifykey, U16 *Lock_state)  Purpose Checks verify key against Slave (04PI).  Parameters Name Data Type Unit Description CardNo U16 Number [...]

  • Página 477

    Chapter 37 Security API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 37-13 37.16 _misc_slave_user _data_buffer_read  FORMAT I16 PASCAL _ misc_slave_user_data_buffer_read (U16 CardNo, U16 NodeID, U16 SlotID U16 Address, U32* Data)  Purpose Reads data from memory specified by Slave (04PI).  Parameters Name Data Type Unit Description CardN[...]

  • Página 478

    Chapter 37 Security API | PCI-DMC -A01 / PCI-DMC-B01 37-14 Revised March, 2012 37.17 _misc_slave_user _data_buffer_write  FORMAT I16 PASCAL _misc_slave_user_dat a_buffer_write (U16 CardNo, U16 NodeID, U16 SlotID U16 Address, U32 Data)  Purpose Writes data to buffer.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo [...]

  • Página 479

    Chapter 37 Security API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 37-15 37.18 _misc_slave_us er_data_to_flash  FORMAT I16 PASCAL _ misc_slave_user_data_to_flash (U16 CardNo, U16 NodeID, U16 SlotID)  Purpose Writes data in buffer to positi on specified by Slave(04PI).  Parameters Name Data Type Unit Description CardNo U16 Number Unit [...]

  • Página 480

    Chapter 37 Security API | PCI-DMC -A01 / PCI-DMC-B01 37-16 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 481

    Chapter 38 Limit Reversal API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 38-1 Chapter 38 Limit Reversal API Table 38.1 Function Name Description _DMC_01_rm_04pi_set_MEL_polarity Set negative limit direction _DMC_01_rm_04pi_get_MEL_polarity Get negative limit status _DMC_01_rm_04pi_set_PEL_polarity Set positiv e limit direction _DMC_01_rm_04pi_[...]

  • Página 482

    Chapter 38 Limit Revers al API | PCI-DMC-A01 / PCI-DM C-B01 38-2 Revised March, 2012 38.1 _ DMC_01_rm_04pi_set_MEL_polarity  FORMAT I16 PASCAL _DMC_01_rm_04pi_set _MEL_polarity (U16 CardNo, U16 NodeID, U16 Slot ID U16 inverse)  Purpose Reverses direction of negative limit.  Parameters Name Data Type Unit Description CardNo U16 Number Unit [...]

  • Página 483

    Chapter 38 Limit Reversal API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 38-3 38.2 _ DMC_01_rm_04pi_get_MEL_polarity  FORMAT I16 PASCAL _DMC_01_rm_04pi_get_M EL_polarity (U16 CardNo, U16 Nod eID, U16 SlotID U16 *data)  Purpose Retrieves current status of negative limit.  Parameters Name Data Type Unit Description CardNo U16 Number Uni[...]

  • Página 484

    Chapter 38 Limit Revers al API | PCI-DMC-A01 / PCI-DM C-B01 38-4 Revised March, 2012 38.3 _ DMC_01_rm_04pi_set_PEL_polarity  FORMAT I16 PASCAL _DMC_01_rm_04pi_set_PEL_polarity (U16 CardNo, U16 NodeID, U16 Slot ID U16 inverse)  Purpose Reverses direction of positive limit.  Parameters Name Data Type Unit Description CardNo U16 Number Unit C[...]

  • Página 485

    Chapter 38 Limit Reversal API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 38-5 38.4 _ DMC_01_rm_04pi_get_PEL_polarity  FORMAT I16 PASCAL _DMC_01_rm_04pi_get_PEL_polarity (U16 CardNo, U16 Nod eID, U16 SlotID U16 *data)  Purpose Retrieves positive limit status.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is [...]

  • Página 486

    Chapter 38 Limit Revers al API | PCI-DMC-A01 / PCI-DM C-B01 38-6 Revised March, 2012 (This page intentionally left blank.)[...]

  • Página 487

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-1 Chapter 39 Compare API Table 39.1 Function Name Description _DMC_01_set_compare_channel_position Set new Channel Position _DMC_01_get_compa re_channel_position Read current Channel position _DMC_01_set_compare_ipulse_mode Set input phase mode for pulse interface module _DMC[...]

  • Página 488

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-2 Revised March, 2012 39.1 _ DMC_01_set_compare_channel_po sition  FORMAT I16 PASCAL _ DMC_01_set_compare_c hannel_position (U16 CardNo, U16 compare_channel, I32 position)  Purpose Sets new value for Position counter of Channel.  Parameters Name Data Type Unit Description CardNo U16 N[...]

  • Página 489

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-3 39.2 _DMC_01_get_compare_channel_position  FORMAT I16 PASCAL _DMC_01_get_compare_channel_positio n (U16 CardNo, U16 compare_Channel, I32 *position)  Purpose Reads current value of Positi on counter for that Channel.  Parameters Name Data Type Unit Description CardN[...]

  • Página 490

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-4 Revised March, 2012 39.3 _DMC_01_set_compare_ipulse_mode  FORMAT I16 PASCAL _DMC_01_set_compare_ipulse_mode (U16 CardNo, U16 mode)  Purpose Sets input phase mode for pulse interface module.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Mod[...]

  • Página 491

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-5 39.4 _DMC_01_set_compare_channel_direction  FORMAT I16 PASCAL _DMC_01_set_compare_channel_direction (U16 CardNo, U16 compare_channel, U16 dir)  Purpose Sets Channel pulse direction.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is betwee[...]

  • Página 492

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-6 Revised March, 2012 39.5 _DMC_01_set_compare_ channel_trigger_time  FORMAT I16 PASCAL _DMC_01_set_compare_chan nel_trigger_time (U16 CardNo, U16 compare_channel, U32 time_us)  Purpose Sets Trigger enable duration.  Parameters Name Data Type Unit Description CardNo U16 Number Unit Ca[...]

  • Página 493

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-7 39.6 _DMC_01_set_compar e_channel_o ne_shot  FORMAT I16 PASCAL _DMC_01_set_compare_channel_one_shot (U16 CardNo, U16 compare_channel)  Purpose Sets Trigger to one-time enable.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15[...]

  • Página 494

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-8 Revised March, 2012 39.7 _DMC_01_set_comp are_chan nel_source  FORMAT I16 PASCAL _DMC_01_set_compare_channel_source (U16 CardNo, U16 compare_channel, U16 source)  Purpose Sets comparison source.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~1[...]

  • Página 495

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-9 39.8 _DMC_01_channel0_position_cmp  FORMAT I16 PASCAL _DMC_01_channel0_position_cmp (U 16 CardNo, I32 start, U16 dir, U16 interval, U32 trigger_cnt)  Purpose Executes Compare1.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~1[...]

  • Página 496

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-10 Revised March, 2012 39.9 _DMC_01_channel1_output_enab le  FORMAT I16 PASCAL _DMC_01_channel1_output_enable (U16 CardNo, U16 on_off)  Purpose Sets Compare2 output to enable/disable.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 On_off U16 [...]

  • Página 497

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-11 39.10 _DMC_01_channel1_output_mode  FORMAT I16 PASCAL _DMC_01_channel1_output_mode (U16 CardNo, U16 Mode)  Purpose Compare2 output mode.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Mode U16 Number Unit 0: Normal mode 1[...]

  • Página 498

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-12 Revised March, 2012 Custom mode When set to custom mode, level table's value is set to 0x88880 000 as shown in Fig. 39.2. Figure 39.2 Compare Output's custom mode ※ In custom mode, Trigger On 's position table is set using the “level_tab le” parameter in API”_DMC_01_c[...]

  • Página 499

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-13 39.11 _DMC_01_channel1_get_io_status  FORMAT I16 PASCAL _DMC_01_channel1_get_io_status (U16 CardNo, U16* io_status)  Purpose Reads Compare2 status.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Io_status U16* Number Unit[...]

  • Página 500

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-14 Revised March, 2012 39.12 _DMC_01_channel1_set_gpio_ou t  FORMAT I16 PASCAL _DMC_01_channel1_set_gpi o_out (U16 CardNo, U16 on_off)  Purpose Sets GPIO output pin status.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 On_off U16 Number Un i[...]

  • Página 501

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-15 39.13 _DMC_01_channel1_position_compare_table  FORMAT I16 PASCAL _DMC_01_channel1_position_compar e_table (U16 CardNo, I32* pos_table, U32 table_size,)  Purpose Sets Compare2 to standard Compare data.  Parameters Name Data Type Unit Description CardNo U16 Number U[...]

  • Página 502

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-16 Revised March, 2012 39.14 _DMC_01_channel1_position_compare_table_level  FORMAT I16 PASCAL _DMC_01_channel1_position_com pare_table_leve l (U16 CardNo, I32* pos_table, U32* level_t able, U32 table_size)  Purpose Sets Compare2 to custom Compare data.  Parameters Name Data Type Unit [...]

  • Página 503

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-17 39.15 _DMC_01_channel1_position_compare_table_cn t  FORMAT I16 PASCAL _DMC_01_channel1_position_compar e_table_cnt (U16 CardNo, U32* cnt)  Purpose Reads Compare counter.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Cnt [...]

  • Página 504

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-18 Revised March, 2012 39.16 _DMC_01_set_compare_channel_polarit y  FORMAT I16 PASCAL _DMC_01_set_compare_channel_polarity (U16 CardNo, U16 inverse)  Purpose Sets Compare level.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Inverse U16 Numbe[...]

  • Página 505

    Chapter 39 Compare API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 39-19 39.17 _DMC_01_channel0_position_cmp_by_g pio  FORMAT I16 PASCAL _DMC_01_channel0_position_cmp_by_gpio (U16 CardNo, U16 dir, U16 interval, I32 trigger_cnt)  Purpose Sets Compare trigger to GPIO control.  Parameters Name Data Type Unit Description CardNo U16 Number [...]

  • Página 506

    Chapter 39 Compare AP I | PCI-DMC-A01 / PCI-DM C-B01 39-20 Revised March, 2012 39.18 _DMC_01_channel1_pos ition_re_compare_table  FORMAT I16 PASCAL _DMC_01_channel1_position_re_compare_table (U16 CardNo)  Purpose Uses previous Compare condition and re-executes Channel1 Compare.  Parameters Name Data Type Unit Description CardNo U16 Number [...]

  • Página 507

    Chapter 40 Linear and Arc Interpol ation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 40-1 Chapter 40 Linear and Arc Interpolation Motion Control API Table 40.1 Function Name Description _DMC_01_start_rline_xy 2-ax is linear, arc R-angle interpolation motion control _DMC_01_start_rline_xyz 3-axis linear, arc R-angle interpolat[...]

  • Página 508

    Chapter 40 Linear and Arc Interpola tion Motion Control API | PCI-DMC-A0 1 / PCI-DMC-B01 40-2 Revised March, 2012 40.1 _DMC_01_start_rline_xy  FORMAT I16 PASCAL _DMC_01_start_rline_xy (U16 Ca rdNo, U16* NodeID, U16* SlotID, I32 pos1_x, I32 pos1_y, I32 pos2_x, I32 pos 2_y, U16 mode, F64 param, I32 StrVel, I32 MaxVel, F64 Tacc, F64 Tdec,U16 m_curv[...]

  • Página 509

    Chapter 40 Linear and Arc Interpol ation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 40-3  Description Mode Parameter Settings  Example U16 CardNo=0, *NodeID=1, *SlotID=0; I32 pos1_x=0, I32 pos1_y=10000; I32 pos2_x=10000, I32 pos2_y=10000; U16 mode=1; param=3000; I32 StrVel=100, MaxVel=5000; F64 Tacc=0.1, Tdec=0.1; U16 [...]

  • Página 510

    Chapter 40 Linear and Arc Interpola tion Motion Control API | PCI-DMC-A0 1 / PCI-DMC-B01 40-4 Revised March, 2012 40.2 _DMC_01_start_rline_xyz  FORMAT I16 PASCAL _DMC_01_start_rline_xyz (U16 Ca rdNo, U16* NodeID, U16* SlotID, I32 pos1_x, I32 pos1_y, I32pos1_z, I32 pos 2_x, I32 pos2_y, pos2_z, U16 mode, F64 param, I32 StrVel, I32 MaxVel, F64 Ta c[...]

  • Página 511

    Chapter 40 Linear and Arc Interpol ation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 40-5  Description Mode Parameter Settings  Example U16 CardNo=0, *NodeID=1, *SlotID=0; I32 pos1_x=0, I32 pos1_y=10000, I32 pos1_z=10000; I32 pos2_x=10000, I32 pos2_y =10000, I32 pos2_z=10000; U16 mode=1; param=3000; I32 StrVel=100, MaxV[...]

  • Página 512

    Chapter 40 Linear and Arc Interpola tion Motion Control API | PCI-DMC-A0 1 / PCI-DMC-B01 40-6 Revised March, 2012 40.3 _DMC_01_star t_v3_rline_xy  FORMAT I16 PASCAL _DMC_01_start_v3_rline_xy (U16 CardNo, U16* NodeID, U16* SlotID, I32 pos1_x, I32 pos1_y, I32 pos2_x, I32 pos 2_y, U16 mode, F64 param, I32 StrVel, I32 ConstVel, I32 EndVel, F64 TPhas[...]

  • Página 513

    Chapter 40 Linear and Arc Interpol ation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 40-7  Description Figure 40.7 Explanation of TPhase1 and TPhase2 Mode Parameter Settings Figure 40.8 Mode = 0 Perpendicular distance from arc to right angle (AB  ) Figure 40.9 Mode = 1 Perpendicular distance from start of arc to right a[...]

  • Página 514

    Chapter 40 Linear and Arc Interpola tion Motion Control API | PCI-DMC-A0 1 / PCI-DMC-B01 40-8 Revised March, 2012  Example U16 CardNo=0, *NodeID=1, *SlotID=0; I32 pos1_x=0, I32 pos1_y=10000; I32 pos2_x=10000, I32 pos2_y=10000; U16 mode=1; param=3000; I32 StrVel=100, MaxVel=50000; I32 EndVel=20000; F64 TPhase1=0.2; F64 TPhase2=0.1; U16 m_curve=1,[...]

  • Página 515

    Chapter 40 Linear and Arc Interpol ation Motion Control API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 40-9 40.4 _DMC_01_start_v3_rline_xyz  FORMAT I16 PASCAL _DMC_01_start_v3_rline_xyz (U16 CardNo, U16* NodeID, U16* SlotID, I32 pos1_x, I32 pos1_y, I32pos1_z, I32 pos 2_x, I32 pos2_y, pos2_z, U16 mode, F64 param, I32 StrVel, I32 ConstVel, I3[...]

  • Página 516

    Chapter 40 Linear and Arc Interpola tion Motion Control API | PCI-DMC-A0 1 / PCI-DMC-B01 40-10 Revised March, 2012  Example U16 CardNo=0, *NodeID=1, *SlotID=0; I32 pos1_x=0, I32 pos1_y=10000, I32 pos1_z=10000; I32 pos2_x=10000, I32 pos2_y =10000, I32 pos2_z=10000; U16 mode=1; param=3000; I32 StrVel=100, MaxVel=50000; I32 EndVel=20000; F64 TPhase[...]

  • Página 517

    Chapter 41 Speed Continue API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 41-1 Chapter 41 Speed Continue API Table 41.1 Function Name Description _DMC_01_speed_continue Enable/disable speed continue _DMC_01_speed_continue_mode Speed continue mode _DMC_01_speed_continue_combine_ratio Speed continue combine ratio[...]

  • Página 518

    Chapter 41 Speed Continue API | PCI-DMC-A01 / PCI-DM C-B01 41-2 Revised March, 2012 41.1 _DMC_01_speed_continue  FORMAT I16 PASCAL _DMC_01_speed_continue (U16 CardNo, U16 NodeID, U16 SlotID, U16 enable)  Purpose Enables/disables speed continue.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 NodeID[...]

  • Página 519

    Chapter 41 Speed Continue API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 41-3 41.2 _DMC_01_speed_continue_mod e  FORMAT I16 PASCAL _DMC_01_speed_continue_m ode (U16 CardNo, U16 NodeID, U16 SlotID, U16 mode)  Purpose Sets Speed Continue mode.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Node[...]

  • Página 520

    Chapter 41 Speed Continue API | PCI-DMC-A01 / PCI-DM C-B01 41-4 Revised March, 2012 Mode is 1 Assume conditions are set to Dist is 1000, Ma xVel is 20000, Tacc and Tdec are both 0.1. The above conditions mean the MaxVel of 20000 is impossible to reach during this Dist movement using the original a cceleration/deceleration time. So when mode is 1, T[...]

  • Página 521

    Chapter 41 Speed Continue API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 41-5 41.3 _DMC_01_speed_c ontinue_combine_ratio  FORMAT I16 PASCAL _DMC_01_speed_continue_co mbine_r atio (U16 CardNo, U16 NodeID, U16 SlotID, U16 ratio)  Purpose Sets Speed Continue combined percentage.  Parameters Name Data Type Unit Description CardNo U16 Numb[...]

  • Página 522

    Chapter 41 Speed Continue API | PCI-DMC-A01 / PCI-DM C-B01 41-6 Revised March, 2012 NOTE ※ When axes 1 ~ 6 carr y out Speed Continue, the resources of axes 7 ~ 12 will be used. Thus, when axes 1~6 are set to Speed Co ntinue Enable, axes 7~12 cannot perform P2P and Continue motions. Speed Continue must be disabled for axes 7 ~ 12 to carry out furt[...]

  • Página 523

    Chapter 42 Other API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 42-1 Chapter 42 Other API Table 42.1 Function Name Description _misc_app_get_circle_endpoin t Get endpoint coordinates (X, Y) required for arc interpolation _misc_app_get_circle_center_point Get center point coordinates (X, Y) required for arc interpolation _misc_set_record_debugi[...]

  • Página 524

    Chapter 42 Other API | PCI-DMC-A01 / PCI-DMC-B01 42-2 Revised March, 2012 42.1 _misc_app_get_circle_endpoint  FORMAT I16 PASCAL _misc_app_get_circle_endpoint (I32 Start_X, I32 Start_Y, I32 Center_X, I32 Center_Y, F64 Angle, I32* End_x, I32* End_y)  Purpose Retrieves endpoint coordinates (X, Y) required for arc interpolation.  Parameters Na[...]

  • Página 525

    Chapter 42 Other API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 42-3 42.2 _misc_app_get_circle_center_point  FORMAT I16 PASCAL _misc_app_get_circle_c enter_point (I32 Start_X, I 32 Start_Y, I32 End_x, I32 End_y, F64 Angle, I32* Center_X, I32* Center_Y)  Purpose Retrieves center point coordinates (X, Y) required for arc interpolation. [...]

  • Página 526

    Chapter 42 Other API | PCI-DMC-A01 / PCI-DMC-B01 42-4 Revised March, 2012 42.3 _misc_set_record_debuging  FORMAT I16 PASCAL _misc_set_record_debuging (U16 enable)  Purpose Shows whether Debug log function is enabled.  Parameters Name Data Type Unit Description Enable U16 Selectio n 0: Disable Debug log 1: Enable Debug log  Example U16 E[...]

  • Página 527

    Chapter 42 Other API | PCI-DMC-A01 / PCI-DMC-B01 Revised March, 2012 42-5 42.5 _DMC_01_enable_dda_mode  FORMAT I16 PASCAL _DMC_01_enable_dda_mode (U16 CardNo, U16 en able)  Purpose Enables DDA Table writing function.  Parameters Name Data Type Unit Description CardNo U16 Number Unit Interface card CardNo are 0~15. Enable U16 Selection 0: D[...]

  • Página 528

    Chapter 42 Other API | PCI-DMC-A01 / PCI-DMC-B01 42-6 Revised March, 2012 42.6 _DMC_01_set_dda_data  FORMAT I16 PASCAL _DMC_01_set_dda_data (U16 CardNo, U32* abs_pos)  Purpose Enters DDA Table data.  Parameters Name Data Type Unit Description CardNo U16 Number Unit CardNo is between 0~15 Abs_Pos U32* Numerical data This field is a an array[...]