Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

NIMC_noReturnDataBufferError

NI PXI Windows NT 4.0, PXI-7344, MS VC++
FlexMotion Firmware version:5.11.0044

The error returns out of flex_read_pos_rtn after two hours during continuous motion control application that requires position reading with 25 ms timer.

The error description is "No data in the Return Data Buffer. The kernel driver returns an error if it runs out of time waiting for the controller to return data to the Return Data Buffer.
For FlexMotion controller, this error can also be returned if the power-up state of the controller has not been cleared."

My problem is the error comes up once for a quite long operation that keeps controlling motion axes continously.

I would like to know why such error breaks up and how to avoid such condition or how
to fix it.

Thanks in advance.
0 Kudos
Message 1 of 3
(3,356 Views)
Sometimes the communication between the motion board and the computer gets corrupted and does not make it across. For instance if you read the encoder position and choose 0xFF (return to host), the position is placed in the return data buffer. The board then notifies the computer that it has data to be read. Sometimes this notification does not make it. In these cases, you will get the "Return Data Buffer is not Empty" error. What you need to do is just handle that error with in your code. When the error occurs, call the flex_flush_rdb to flush the buffer."
Message 2 of 3
(3,356 Views)
Mike,

I have also two other similar errors: NIMC_readyToReceiveTimeoutError and NIMC_currentPacketError.
When these errors occur, calling flex_flush_rdb is enough also?

Thanks
0 Kudos
Message 3 of 3
(3,356 Views)