Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

100 % CPU usage after a couple of hours

I'm running the latest NI-DAQ drivers (verion 7.4) on the PCI-6731 DAQ and after running for a while, my CPU usage raises to 100 % (actually, because I run on a 2 processor PC, the CPU usage goes to 50 %)
I'm using the NI-DAQ as a double buffer analog output in a Visual C++ 6.0 application.
I'm using the Config_DAQ_Event_Message to define a "half buffer empty" event. In this event I write 1 s second audio data at 8000 samples/s for 4 channels to the DAQ (32KB), using the WFM_DB_Transfer API. The normal CPU load will be < 1 %. But after while the CPU load increases to 100 %.
I also noticed that Task Manager shows me the following values:
"I/O Other Bytes" (See View - Select Columns...):
Normal operation: 400 Bytes/s
100% CPU Load: 400.000.000 Bytes/s !!!

So it seems that the 100% CPU load is caused by the amount of "I/O Other Bytes".

There is no place in my application that does 400.000.000 I/O operations / s, so I suspect that it must be somewhere in the NI-DAQ API or NI-DAQ device driver.

Is there some incompatibility with my PC ?:
PEAK 735 Multiprocessor system (2 x P4 3 GHz)
Windows XP Professional SP1


Paul
0 Kudos
Message 1 of 8
(2,493 Views)
Would it be possible to post a example that shows this behaviour on your machine, then I'll be able to use this to test it on my own system.

A other option I would suggest is to try and use the Visual Basic 6.0 Support for DAQmx that is included in NI-DAQ 7.4. NI-DAQmx is the new version of our DAQ driver and has been completely redesigned to give the best performance. For more information on this Visual Basic 6.0 interface see:
http://digital.ni.com/public.nsf/websearch/B22FE2B0F9C8935286256E920073DA07?OpenDocument

Met vriendelijke groet / Kind regards,

Karsten
Applications Engineer
National Instruments
0 Kudos
Message 2 of 8
(2,484 Views)
I try to strip down the application to a bare minimum, then I will send you the example.
By the way, our programming environment is Visual Studio, with Viscual C++ and MFC. Is it also possible to use the DAQmx API from C++ ?

Paul
0 Kudos
Message 3 of 8
(2,479 Views)
Yes, you can use NI-DAQmx with Visual C++ and with Mesurement Studio 7 or later you also have Microsoft Visual C++ class libraries for NI-DAQmx.

If you are now developing a application I would advice to move to DAQmx since this the Traditional libraries are nolonger activly developed, we will only be adding new features and hardware to NI-DAQmx, thus for future support of the application it's better to use NI-DAQmx then Traditional NI-DAQ.

For more information on NI-DAQmx see:
http://zone.ni.com/devzone/conceptd.nsf/webmain/ee47b125bb9e053686256fbc0014c384?OpenDocument

Met vriendelijke groet / Kind regards,

Karsten
Applications Engineer
National Instruments
0 Kudos
Message 4 of 8
(2,478 Views)
By the way, how can I post or email a zipped project example to you ?

Paul
0 Kudos
Message 5 of 8
(2,467 Views)
Karsten,

How can I post or email a zipped project example to you ?

Regards, Paul
0 Kudos
Message 6 of 8
(2,441 Views)
You can use the attachment option when you reply to a message.

Met vriendelijke groet / Kind regards,

Karsten
Applications Engineer
National Instruments
0 Kudos
Message 7 of 8
(2,396 Views)
We found the cause of the problem.
There was a conflict with the device driver of the NI-DAQ and the on-board LAN driver. They both had interrrupt number 19. When we uninstalled and disabled the on-board LAN driver in the Windows device manager, the problem did not occur anymore.

Paul
0 Kudos
Message 8 of 8
(2,389 Views)