ADLINK PCI-8164 User Manual

Page 264

Advertising
background image

252

Function Library

@ Description

These functions are related to simultaneous operations of multi-
axes even in different cards. Simultaneous multi-axis operation
means to start or stop moving specified axes at the same time.
The axes moves are specified by the parameter AxisArray, and

the number of axes are defined by parameter TotalAxes in
_8164_set_tr_move_all().
When properly setup with _8164_set_xx_move_all(), the

function _8164_start_move_all() causes all specified axes

to begin a trapezoidal relative movement, and
_8164_stop_move_all() stops them. Both functions guaran-

tee that motion Start/Stop on all specified axes occur at the same
time.

Note that proper CN4 connections are needed for these two func-
tions. Refer to Section 3.14.

The following codes tell how to utilize these functions. This code
moves axis 0 and axis 4 to distance 8000.0 and 120000.0, respec-
tively. If you choose velocities and accelerations that are propor-
tional to the ratio of distances, then the axes will arrive at their
endpoints at the same time.

int main()
{

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

str_vel[2]={0.0, 0.0},
max_vel[2]={4000.0, 6000.0},
Tacc[2]={0.04, 0.06},
Tdec[2]= {0.04, 0.06};

_8164_set_tr_move_all(2, axes, dist, str_vel,

max_vel, Tacc, Tdec);

_8164_start_move_all(axes[0]);

returnERR_NoError;
}

_8164_set_sync_option():
Allows two or more different command groups start at the same
time. For example, if you want a 2-axis linear interpolation and a 1-

Advertising