Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Fast control using hardware timed single point timing

I'm using "Hardware Timed Single Point" timing for control application. The program is nearly the same as "PID Control-Single Channel.vi" in LabVIEW example folder. But here comes the problem: when the samping rate is above 5KHz, Error -209802 popup because of missing samples, but the min sampling rate in my application is at least 8KHz.

The following is the hardware/software settings:
PXI-8186 with 1G RAM;
PXI-6052 for AI/AO
LabVIEW RT 8.2

My result is quite different from the tutorial of "Benchmarking Single-Point Performance on National Instruments Real-Time Hardware" on ni.com,
PXI-8196 with 512MB RAM
PXI-6071 AI
PXI-6723 AO
The benchmark result is 94.8KHz

Do you guys have some ideas to improve the sampling rate.



Thanks in advance!
0 Kudos
Message 1 of 14
(6,492 Views)
Howdy sspine...
 
There's a couple things you should try.  First, make sure that you have turned off the Legacy USB support for the controller (the USB port can significantly impact the performance of your controller).  Also make sure that you have set the ethernet settings of your device to polling (as noted in the benchmarking paper).
 
Here is a knowledgebase that tells you how to disable USB support on your controller: http://digital.ni.com/public.nsf/websearch/9171AF026183A6EB862571AB00820757?OpenDocument
 
Please let me know if you continue to see issues with the controller and I can send you the actual code used in the benchmarks (I have connections Smiley Wink )
0 Kudos
Message 2 of 14
(6,479 Views)
Zenerll,

Thanks for your points!

Two more questions:
1. I can not find any clues on how to set the ethernet settings of the device to polling in the benchmarking paper.
2. Is it possible for me to achive high speed(say, more than 10K) hardware single point timing on windows(not RT)? Do you have the benchmarking result on windows?


0 Kudos
Message 3 of 14
(6,454 Views)
Dear Zenerll:

I can set the ethernet mode to polling in MAX now. The followings are my testing results:

Hardware: PXI-8186 controller with 1GB RAM, PXI-6052 MIO
Software: LabVIEW 8.2, LabVIEW RT8.2
test VI: "PID Control-Single Channel.vi" in LV examples folder
Settings: disable USB by set "EnableUSB=FALSE" in ni-rt.ini following your sugestion, and restart the system.

Result:
1. Set ethernet mode to "interrupt" (default), the maxim sampling rate is less than 10K
2. Set ehernet mode to "polling" and then restart the system, the maxim sampling rate is still less than 10K, no difference from the obove one, and much slower than the benchmark paper reported:
PXI-8196 with 512MB RAM, PXI-6071 AI, PXI-6723 AO, the maxim sampling rate is 89.7K (polling) and 39.4K (interupt).

Why? Maybe I need to use seperate AO card like PXI-6723?

0 Kudos
Message 4 of 14
(6,441 Views)
I want to reproduce the benchmarking results reported in the tutorial of "Benchmarking Single-Point Performance on National Instruments Real-Time Hardware". I'm appreciate if you can send me the benchmarking VIs.

Thanks,
0 Kudos
Message 5 of 14
(6,423 Views)
Pine,
 
I am very suprised that disabling the USB port and changing the ethernet settings had no effect on your code...  Not being able to hit 10K on a PXI-8196 is the equivalent of Ladainian Tomlison not being able to score against your local high school football team or Paris Hilton not being a...  well... Paris Hilton.
 
Regardless, here is some code for you to try out...  You can unzip this code anywhere on your machine and you'll want to open the "Single Point Benchmarks - DAQmx - Released.lvpjt" first.  Let me know how it goes.
 
Cheers!
0 Kudos
Message 6 of 14
(6,416 Views)
Zenerll, Thanks for your benchmark VIs. FYI, the following is my result:

Test                                        My Result*             Officially Result*
-------                                      ---------                    -----------------
T1                                           19K ~ 20K                      94.8K
T2a(PID, Polling)                    18K ~ 19K                      89.7K
T2b(PID, Interrupt)                  11K ~ 12K                     39.4K

Note that all the tests are for one channel, and the usb is disabled. I have listed out all the hardwares before. The speed is still much more slow than NI's benchmark result. Now the benchmark VIs are accurately the same, the differences include: 1. I use PXI-8186 (2.2 GHz Pentium 4 Embedded Controller), not PXI-8196(2.0 GHz Pentium M 760 Embedded Controller), I don't think this is the reason. 2. I use PXI-6052E AI AO, not PXI-6071E AI + PXI-6723. Any more ideas? Thanks.

Message Edited by sspine on 12-20-2006 08:21 PM

0 Kudos
Message 7 of 14
(6,391 Views)

Hey Pine,

The 8186 will be slower than the 8196, but I'm guessing that you would only get a 10-20% reduction in performance, not a 70% reduction...  Also, the A/Ds and D/As are slower on the 6052E, but still at well above the loop rates we are shooting for...  I have never personally tried diabling the USB port through the ini file (I'm a little old school) - what I would like for you to do is to verify that the USB has been disabled through the BIOS.  Doing this is pretty simple, connect a monitor and keyboard to the PXI controller and go into the setup settings.  You should find the USB port under the settings for the "integrated peripherals"...  Let me know if you can confirm the USB settings in the BIOS, in the meantime, I'll double check to make sure I'm not missing anything...

Cheers, Zen

0 Kudos
Message 8 of 14
(6,376 Views)
Hi Pine, I have more data for this specifc benchmarks, I ran through the benchmarks here using a PXI-8186 with a PXI 6052E.  Here are the results:
 
T1                                  50.7 kHz

T2a                               46.6 kHz

T2b                               20.2 kHz

As you can see the Pentium 4 architecture has had a significant impact on the speed of our tests (a decrease of performance around 40 MHz) - I don't believe that the 6052E had as much of an impact.  Ensure that you did not enable debugging on the VIs I sent you and ensure that the ethernet mode is set to polling through MAX and you should be able to get numbers close to the ones shown above.  Please let me know what you get.  Thanks, Zen

0 Kudos
Message 9 of 14
(6,362 Views)
Dear Zenerll, After several times to try to reproduce your benchmark and fails, I replace my PXI-1042 chassis with another one. To my supprise, it works OK now!!! This means it is because the chassis... Now my benchmark result is acurately the same with yours. Thanks for your continuous support!
0 Kudos
Message 10 of 14
(6,351 Views)