Chapter 14 Onboard Programs
NI-Motion User Manual 14-30 ni.com
C/C++ Code
The following example code is not necessarily complete, and may
notcompile 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
i32 targetPosition;
i32 multiplier;
u16 axisStatus;
u16 moveCompleteStatus;
//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;
// Set the move length
targetPosition = 5000;
// Set the multiplier
multiplier = -1;
//------------------------------------------------
// Onboard program. This onboard program moves an
axis back and //forth between targetPosition and
-targetPosition. Before //reversing directions it
//indicates to the host computer that it //is about
to do so.
//-------------------------------------------------
// Initialize onboard variable 2 to the multiplier
used to change //the target position
err = flex_load_var(boardID, multiplier, 2);
CheckError;
// Initialize onboard variable 1 to the target
position