National Instruments NI-Motion User Manual

Page 149

Advertising
background image

Chapter 11

Acquiring Time-Sampled Position and Velocity Data

© National Instruments Corporation

11-5

NI-Motion User Manual

i32

axis1Positions[200];// Array to store the

positions (1)

i32

axis1Velocities[200];// Array to store

velocities(1)

i32

axis2Positions[200];// Array to store the

positions (2)

i32

axis2Velocities[200];// Array to store

velocities(2)

u16

numSamples = 200;// Number of samples

i32

returnData[4];// Need size of 4 for 2 axes worth

of data

//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;

// Axes whose data needs to be acquired

axisMap = ((1<<1) | (1<<2)); // Axis 1 and axis 2

////////////////////////////////

err = flex_acquire_trajectory_data(boardID, axisMap,

numSamples, 3/* ms time period*/);

CheckError;

Sleep(numSamples * 3/* ms time period*/);

for

(i=0; i<numSamples; i++){

Sleep (2);

// Read the trajectory data

err = flex_read_trajectory_data_rtn(boardID,

returnData);

CheckError;

// Two axes worth of data is read every sample

axis1Positions[i] = returnData[0];

axis1Velocities[i] = returnData[1];

axis2Positions[i] = returnData[2];

axis2Velocities[i] = returnData[3];

}

return

;// Exit the Application

//////////////////////

// Error Handling

//

nimcHandleError; //NIMCCATCHTHIS:

Advertising