C/c++ code, C/c++ code -10 – National Instruments NI-Motion User Manual
Page 261

Chapter 15
Scanning
15-10
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.
#define d_numberOfSegments
// Main Function
void main(void)
{
u8
boardID;// Board identification number
u8
vectorSpace;// Vector space number
u16
csr = 0;// Communication status register
u16
axisStatus;// Axis status
u16
status;
u16
complete;//Move or blend complete status
u32
i;
i32
xPosition[d_numberOfSegments] = {5000, 5000, 0,
0, 5000, 5000, 0, 0, 5000, 5000, 0};
i32
yPosition[d_numberOfSegments] = {0, 1000, 1000,
2000, 2000, 3000, 3000, 4000, 4000, 5000, 5000};
//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 vector space number
vectorSpace = NIMC_VECTOR_SPACE1;
// Configure a 2D vector space comprised of axes 1
and 2
err = flex_config_vect_spc(boardID, vectorSpace,
NIMC_AXIS1, NIMC_AXIS2, NIMC_AXIS3);
CheckError;
// Set the velocity for the move (in counts/sec)
err = flex_load_velocity(boardID, vectorSpace,
10000, 0xFF);
CheckError;
// Set the acceleration for the move (in
counts/sec^2)
err = flex_load_acceleration(boardID, vectorSpace,
NIMC_ACCELERATION, 100000, 0xFF);
CheckError;