National Instruments NI-Motion User Manual

Page 69

Advertising
background image

Chapter 5

Straight-Line Moves

NI-Motion User Manual

5-14

ni.com

i32

errorCode;// Error code

// Set the board ID

boardID = 3;

// Set the axis number

axis = NIMC_AXIS1;

// Move time for the first segment

moveTime1 = 5000; //milliseconds

// Move time for the second segment

moveTime2 = 10000; //milliseconds

//-------------------------------------------------

//First segment

//-------------------------------------------------

// Set the velocity for the move (in counts/sec)

err = flex_load_velocity(boardID, axis, 10000,

0xFF);

CheckError;

// Set the acceleration for the move (in

counts/sec^2)

err = flex_load_acceleration(boardID, axis,

NIMC_ACCELERATION, 100000, 0xFF);

CheckError;

// Set the deceleration for the move (in

counts/sec^2)

err = flex_load_acceleration(boardID, axis,

NIMC_DECELERATION, 100000, 0xFF);

CheckError;

// Set the jerk (s-curve value) for the move (in

sample periods)

err = flex_load_scurve_time(boardID, axis, 100,

0xFF);

CheckError;

// Set the operation mode to velocity

err = flex_set_op_mode(boardID, axis,

NIMC_VELOCITY);

CheckError;

// Start the move

err = flex_start(boardID, axis, 0);

CheckError;

// Wait for the time for first segment

initialTime = timeGetTime();

Advertising