Chapter 15
Scanning
©
National Instruments Corporation
15-11
//
Set the deceleration for the move (in
counts/sec^2)
err =
flex_load_acceleration
(boardID, vectorSpace,
NIMC_DECELERATION, 100000, 0xFF);
CheckError;
//
Set the jerk or s-curve in sample periods
err =
flex_load_scurve_time
(boardID, vectorSpace,
100, 0xFF);
CheckError;
//
Load the blending factor
err =
flex_load_blend_fact
(boardID, vectorSpace, -1,
0xFF);
CheckError;
//
Set the operation mode to absolute position
err =
flex_set_op_mode
(boardID, vectorSpace,
NIMC_ABSOLUTE_POSITION);
CheckError;
//
Load the straight-line segments one by one
for
(i=0; i<d_numberOfSegments; i++){
//
Load Target Position
err =
flex_load_vs_pos
(boardID, vectorSpace,
xPosition[i], yPosition[i], 0, 0xFF);
CheckError;
if
(i==0){
//
Start the move
err =
flex_start
(boardID, vectorSpace,
0);
CheckError;
}
else
{
//
Blend the move
err =
flex_blend
(boardID, vectorSpace,
0);
CheckError;
}
do
{
axisStatus = 0;
if
(i==d_numberOfSegments-1){
//
Check the move complete status
err =
flex_check_move_complete_status
(bo
ardID, vectorSpace, 0, &complete);