Syntax – ADLINK PCI-8102 User Manual

Page 180

Advertising
background image

Function Library

169

PCI-8102

tion means to start or stop moving specified axes at the same
time. The axes moved are specified by the parameter “AxisArray,”
and the number of axes are defined by parameter “TotalAxes” in
_8102_set_tr_move_all().

When properly setup with _8102_set_xx_move_all(), the function
_8102_start_move_all() will cause all specified axes to begin a
trapezoidal relative movement, and _8102_stop_move_all() will
stop them. Both functions guarantee that motion Starting/Stopping
on all specified axes are at the same time. Note that it is neces-
sary to make connections according to Section 3.13 if these two
functions are needed.

The following code demos how to utilize these functions. This
code moves axis 0 and axis 1 to distance 80000.0 and 120000.0
respectively. If we choose velocities and accelerations that are
proportional to the ratio of distances, then the axes will arrive at
their endpoints at the same time.

[Example]

I16 axes[2] = {0, 1};

F64 dist[2] = {80000.0, 120000.0},

F64 str_vel[2] = {0.0, 0.0},

F64 max_vel[2] = {4000.0, 6000.0},

F64 Tacc[2] = {0.1, 0.6},

F64 Tdec[2] = {0.1, 0.6};

_8102_set_tr_move_all(2, axes, dist,

str_vel, max_vel, Tacc, Tdec);

_8102_start_move_all(axes[0]);

@ Syntax

C/C++(Windows 2000/XP/7)

I16 _8102_set_tr_move_all(I16 TotalAxes, I16

*AxisArray, F64 *DistA, F64 *StrVelA, F64

*MaxVelA, F64 *TaccA, F64 *TdecA);

I16 _8102_set_ta_move_all(I16 TotalAx, I16

*AxisArray, F64 *PosA, F64 *StrVelA, F64

*MaxVelA, F64 *TaccA, F64 *TdecA);

I16 _8102_set_sr_move_all(I16 TotalAx, I16

*AxisArray, F64 *DistA, F64 *StrVelA, F64

Advertising