Chapter 13 Torque Control
© National Instruments Corporation 13-11 NI-Motion User Manual
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
u16 axisStatus;// Axis status
i32 constant;// Constant force
i16 adcValue;// ADC value read
//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;
// constant force needed to be maintained
// corresponds to 5V for a +/- 5V ADC settings
constant = 2047;
////////////////////////////////
//-------------------------------------------------
//Is is assumed that the axis being moved has an
encoder mapped as //its primary feedback
//-------------------------------------------------
// 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)