C/c++ code, C/c++ code -6 – National Instruments NI-Motion User Manual
Page 214

Chapter 14
Onboard Programs
14-6
ni.com
C/C++ Code
The following example code is not necessarily complete, and may
not compile if copied exactly. Refer to the
examples
folder on the
NI-Motion CD for files that are complete and compile as is.
// Main Function
void main(void)
{
u8
boardID;// Board identification number
u8
axis; // Axis number
u16
csr = 0;// Communication status register
//Variables for modal error handling
u16
commandID;// The commandID of the function
u16
resourceID;// The resource ID
i32
errorCode;// Error code
///////////////////////////////
// Set the board ID
boardID = 1;
// Set the axis number
axis = NIMC_AXIS1;
////////////////////////////////
//------------------------------------------------
// Onboard program 1. This onboard program moves axis
one clockwise //5,000 counts (steps). To execute this
onboard program call the //Run Program function.
//------------------------------------------------
// Begin onboard program storage - program number 1
err = flex_begin_store(boardID, 1);
CheckError;
// Set the operation mode to relative
err = flex_set_op_mode(boardID, axis,
NIMC_RELATIVE_POSITION);
CheckError;
// Load Target Position to move clockwise 5,000
counts(steps)
err = flex_load_target_pos(boardID, axis, 5000,
0xFF);
CheckError;
// Load Velocity in RPM
err = flex_load_rpm(boardID, axis, 100.00, 0xFF);
CheckError;
// Load Acceleration and Deceleration in RPS/sec