National Instruments NI-Motion User Manual

Page 257

Advertising
background image

Chapter 15

Scanning

NI-Motion User Manual

15-6

ni.com

//Read the communication status register

and check the modal //errors

err = flex_read_csr_rtn(boardID, &csr);

CheckError;

//Check the modal errors

if

(csr & NIMC_MODAL_ERROR_MSG)

{

err = csr & NIMC_MODAL_ERROR_MSG;

CheckError;

}

Sleep(10); //Check every 10 ms

}while (!moveComplete && !(axisStatus &

NIMC_FOLLOWING_ERROR_BIT) && !(axisStatus &

NIMC_AXIS_OFF_BIT)); //Exit on move

complete/following //error/axis off

if

( (axisStatus & NIMC_FOLLOWING_ERROR_BIT) ||

(axisStatus & NIMC_AXIS_OFF_BIT) ){

break;//Break out of the for loop because

an axis was killed

}

}

return

;// Exit the Application

// Error Handling

nimcHandleError; //NIMCCATCHTHIS:

// Check to see if there were any Modal Errors

if

(csr & NIMC_MODAL_ERROR_MSG){

do

{

//Get the command ID, resource ID, and the

error code of the //modal error from the

error stack on the device

flex_read_error_msg_rtn

(boardID,&commandI

D,&resourceID, &errorCode);

nimcDisplayError(errorCode,commandID,res

ourceID);

//Read the communication status register

flex_read_csr_rtn

(boardID,&csr);

}while(csr & NIMC_MODAL_ERROR_MSG);

}

else

// Display regular error

nimcDisplayError(err,0,0);

return

;// Exit the Application

}

Advertising