Chapter 14
Onboard Programs
©
National Instruments Corporation
14-13
//
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);