National Instruments NI-Motion User Manual

Page 221

Advertising
background image

Chapter 14

Onboard Programs

© National Instruments Corporation

14-13

NI-Motion User Manual

// Set the board ID

boardID = 1;

// Set the axis number

axis = NIMC_AXIS1;

////////////////////////////////

// Begin onboard program storage - program number 1

err = flex_begin_store(boardID, 1);

CheckError;

// Load Velocity in RPM

err = flex_load_rpm(boardID, axis, 100.00, 0xFF);

CheckError;

// Load Acceleration and Deceleration in RPS/sec

err = flex_load_rpsps(boardID, axis, NIMC_BOTH,

50.00, 0xFF);

CheckError;

// Set the operation mode to relative

err = flex_set_op_mode(boardID, axis,

NIMC_RELATIVE_POSITION);

CheckError;

// Load Target Position to move relative 5,000

counts(steps)

err = flex_load_target_pos(boardID, axis, 5000,

0xFF);

CheckError;

// Wait for line 1 on port 1 to go active to finish

executing

err = flex_wait_on_event(boardID, NIMC_IO_PORT1,

NIMC_WAIT, NIMC_CONDITION_IO_PORT_MATCH,

(u8)(1<<1)/*Indicates line 1*/, 0, NIMC_MATCH_ALL,

10000 /*time out*/, 0);

CheckError;

// Start the move

err = flex_start(boardID, axis, 0);

CheckError;

// Wait for move to complete

err = flex_wait_on_event(boardID, 0, NIMC_WAIT,

NIMC_CONDITION_MOVE_COMPLETE, (u8)(1<<axis), 0,

NIMC_MATCH_ALL, 1000 /*time out*/, 0);

CheckError;

// End Program Storage

err = flex_end_store(boardID, 1);

Advertising