National Instruments NI-Motion User Manual
Page 176

Chapter 12
Synchronization
12-26
ni.com
err = flex_enable_breakpoint(boardID, axis,
NIMC_TRUE);
CheckError;
do
{
// Check the move complete
status/following error/axis off //status
err = flex_read_axis_status_rtn(boardID,
axis, &axisStatus);
CheckError;
// 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 (!(axisStatus & NIMC_POS_BREAKPOINT_BIT));
// Wait for breakpoint to be triggered
}
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,&commandID,&reso
urceID, &errorCode);
nimcDisplayError(errorCode,commandID,resourceID)
;
//Read the communication status register
flex_read_csr_rtn
(boardID,&csr);
}while(csr & NIMC_MODAL_ERROR_MSG);
else
// Display regular error