ADLINK PCI-8134A User Manual

Page 125

Advertising
background image

Additional Function Library

115

axes, even in different cards. The simultaneous multi-axis operation
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
_8134_set_tr_move_all().
When properly setup with _8134_set_xx_move_all(), the function
_8134_start_move_all() will cause all specified axes to begin a
trapezoidal relative movement, and _8134_stop_move_all() will stop

them. Both functions guarantee that motion Start/Stop on all
specified axes are at the same time. Note that it is necessary to
make connections according to Section 3.12 on CN4 if the start/stop
axes are on different cards.

The following code demos how to utilize these functions. This code
moves axis 0 and axis 4 to distance 8000.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.

I16 axes[2] = {0, 4};
F64 dist[2] = {8000.0, 12000.0};
F64 str_vel[2]={0.0, 0.0};

F64 max_vel[2]={4000.0, 6000.0};
F64 Tacc[2]={0.04, 0.06};

F64 Tdec[2]= {0.04, 0.06};
_8134_set_tr_move_all(2, axes, dist, str_vel, max_vel, Tacc, Tdec);
_8134_start_move_all(axes[0]);

@ Syntax

C/C++ (DOS, Windows)

I16 _8134_set_tr_move_all(I16 TotalAxes, I16 *AxisArray, F64

*DistA, F64 *StrVelA, F64 *MaxVelA, F64 *TaccA, F64 *TdecA)

I16 _8134_set_sa_move_all(I16 TotalAx, I16 *AxisArray, F64

*PosA, F64 *StrVelA, F64 *MaxVelA, F64 *TaccA, F64 *TdecA,
F64 *SVaccA, F64 *SVdecA)

I16 _8134_set_ta_move_all(I16 TotalAx, I16 *AxisArray, F64

*PosA, F64 *StrVelA, F64 *MaxVelA, F64 *TaccA, F64 *TdecA)

I16 _8134_set_sr_move_all(I16 TotalAx, I16 *AxisArray, F64

*DistA, F64 *StrVelA, F64 *MaxVelA, F64 *TaccA, F64 *TdecA,
F64 *SVaccA, F64 *SvdecA)

I16 _8134_start_move_all(I16 FirstAxisNo)
I16 _8134_stop_move_all(I16 FirstAxisNo)

Visual Basic (Windows)

B_8134_set_tr_move_all(ByVal TotalAxes As Integer, AxisArray As

Integer, DistA As Double, StrVelA As double, MaxVelA As
double, TaccA As double, TdecA As double)

Advertising