Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

NIMC_noReturnDataBufferError and NIMC_halfReturnDataBufferError

Windows 2000, PCI-7344, MS VC 6.0++
FlexMotion Firmware version:5.2
I'm getting NIMC_noReturnDataBufferError and NIMC_halfReturnDataBufferError during high load CPU in the host computer. This errors are generated from whithin a thread that calls flex_read_vs_position and flex_read_port_rtn with a sleep time of 50ms. When I get those erros messages the main program are not performing any kind of motion control. From this thread I'm used to get NIMC_returnDataBufferNotEmptyError, but when I get this error now, I call flex_flhush_rdb. I would like to know if those erros messages are caused by wrong use of the FlexMotion API or they might happen during high load of CPU. If so, are there any workarround ? Because m
y application must run in a computer whith other apps. that have peaks of CPU use. Thanks !
0 Kudos
Message 1 of 3
(3,232 Views)
The problem about the buffer being empty when you are trying to read from it or not empty when you're trying to write to it sounds like a similar issue addressed on the following discussion forum link: http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RNAME=ViewQuestion&HOID=506500000008000000...
If you're having problems due to low CPU resources, you should consider doing onboard programming which will only depend on the motion controller's cpu.
Hope this helps!
0 Kudos
Message 2 of 3
(3,232 Views)
Thanks Hl_Z,
I'm already knew this post and I'm doing what was sugested. I see no point in using onboard program to read axes position and digital port status just to implement a kind of status window. MAX does this in their 1D, 2D Interactive option and it dosen't crash under high load CPU. I will still need a thread to retrieve and display those values from an onboard program.
0 Kudos
Message 3 of 3
(3,232 Views)