LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Perfomance issues on PXI

Hallo,

following configuration:

1. PXI frame PXI1000B
2. Processor PXI8156B
3.Cards 6070E Multi IO
6711 Analog Out
6602 Timing IO
6527 Digital IO
8461 CAN
8460 CAN Low speed

LabVIEW 6.1RT
DAQ 6.9.3

We want tu use the 6602 for generation of three 120� phase-shifted
sinusoidal PWM. Sine frequency should be up to 100Hz. Duty cycle updates
should be every 50us, PWM frequency should be 40KHz. Now we try to find
out, what maximum duty cycle update rate we can achieve with that system.
Handling three channels, top score is approx 700us. We are dissapointed
of that result, we feel (just a feeling), that this could be much faster
but we didn't find the main "bottleneck" yet. What we did so far to
improve performance.

1. Download the PWM Core VI to PXI and start with VI-Server, so there is
no UI anymore. That did some substantial benefit.

2. We tried both approaches, build up an one period array with the duty
cycles and used auto indexing. And we tried to compute new values within
the update loop (with formula node), no big difference.

3. We use the DAQ VIs Set Attribute to control the On and Off time of the
6602. We stripped them off the VIs and used the library call nodes
directly to save overhead, no significant difference.

4. We tried different priorities and execution threads of the PWM core
VI, no big difference except that the system doesn't respond anymore.

5. We switched off Event logging on the RT machine, no difference.

We tried just one channel instead of three and the update rate was approx
three times faster, so it is mainly a question of communicating and
updating the counters, there is almost linear dependance.

Now the questions:

1. At the moment we don't use any of the inserted cards except the 6602.
Could it be worth to de-activate all the unused cards, do they eat up
processor time?
2. We found very little information on that topic, e.g. disabling USB on
the processor. Could that be the bottleneck?
3. It seems that the library calls eat up most of the time of the update
loop. Is there another way to communicate with the 6602 card, maybe with
direct memory or register based access?
4. Is LabVIEW not suitable for that task, maybe we should program the PXI
in C or even assembler (UUaahhgghh :-(( ).
5. Is there a better hardware solution to generate PWM than the 6602?
6. If question 3 or 4 are yes, where can we get really detailled
information, programming manuals and so on for that, cause that seems to
be really challenging!

Thank you for your hints and suggestions.

Oliver Friedrich
0 Kudos
Message 1 of 2
(3,119 Views)
Some answers to your direct questions.


1. Unused DAQ devices installed in the system should have no effect unless one of them is defective and that defect is causing problems.

2. In general, disabling USB does significantly improve RT performace, and should be done on any PXI controller running RT, since there is no support for USB devices under RT anyway. On the PXI-8156B, enter your BIOS by conneting a keyboard and monitor, booting up, and hitting the DEL key during the post process (see instructions at the bottom of the screen). In the INTEGRATED PERIPHERALS section, there are "USB Controller" and "USB Keyboard Support" options. Be sure that both are set to "Disabled".

3. No.

4. Don't worry, this is not necessary or possible.

5. Not that
I am aware of. I was a little bit confused about your mention of a sinusoidal PWM from the 6602. The 6602 can generate square wave (TTL) output only. It is the best card for PWM of TTL signals though, hands down.

6. N/A.


From my RT experience, 700 microseconds for there PWM signals is probably at or near the best you can do on the 8156B. It has a 333 MHz Pentium (I) CPU. NI currently has the 8176 available with a 1.266 GHz Pentium III CPU, that would likely be able to go significantly faster. But keep in mind that LabVIEW RT is designed for deterministic response, not necessarily high-speed code execution. The speed of code execution is going to be dictated primarily by the CPU speed, just like any other computer.
0 Kudos
Message 2 of 2
(3,119 Views)