Thank you for contacting National Instruments. Generally the way most applications will check to see if a move is complete is by calling one of the following check move complete function:
flex_read_mcs_rtn(u8 boardID, u16* moveCompleteStatus);
flex_check_move_complete_status(boardID, axis, 0, &moveComplete);
These functions will check to see if the function is still moving or if it has stopped. These functions should check to see if the motor is moving at all, regardless of what part of the velocity profile it is in, so that you can accurately determine when the motor has stopped. These functions are discussed in much more detail in the NI-Motion Function Help.
Also, if you have not already seen them, then there are a number of examples that are include
d with the NI-Motion driver. These can be found at ..\National Instruments\NI-Motion\FlexMotion\Examples\C\. One basic example that uses one of these functions is the Sequence of Blended One-Axis Moves.c.
If you are still having problems or if these functions result in the same problems, then check the example programs to see if there are any other major differences in how you are writing the code. Also, feel free to let us know what other questions and problems you may have.
Regards,
Michael
Applications Engineer
National Instruments