LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I achieve D/O speed faster than 3ms per loop?

I'm implementing Digital Output RT program with PCI 7030/6533. The fastest loop time that I can achieve is just 3ms as can be seen attached file. I want microsecond order loop time. Is there anyone who can help me?
0 Kudos
Message 1 of 6
(3,493 Views)
The 7030/6533 is capable of microsecond-order digital input and output rates, however, the 7030 does not have the processing power (486, 133 MHz) to run a loop that does anything of consequence faster than around 1 kHz.

The fastest PXI RT controllers are capable of simple PID loop rates (not necessarily comparable to what you are trying to do) at around 40 kHz at most (25 us loops). I would expect your operations to be more on the order of 10 kHz max (100 us loops) with a PXI-6533 device inside a PXI RT controlled PXI chassis. This would be an entirely new set of hardware.

LabVIEW FPGA might be another potential option depending on what you are doing. You might contact your sales representative about your application to see if LabVIEW FPGA would be a good fit
.
0 Kudos
Message 2 of 6
(3,493 Views)
Isn't it sufficient for 133MHz CPU to control loop rate faster than 1kHz?

I cannot afford to buy another hardware. 🙂
Anyway, thank you for your comment!
0 Kudos
Message 3 of 6
(3,493 Views)
To provide a bit more detail, LabVIEW and a multithreaded OS (even a real-time one) have some overhead. Plus you must realize you are doing a buffered digital write operation, which is not trivial. If you had nothing in your control loop other than an addition operation, then yes, you could go faster than 1 kHz, in fact, you might be able to achieve nearly 1 MHz. However, that wouldn't be a very useful "control" loop. Most control loops will have some hardware I/O which will slow things down significantly. This is why we advartise approximately 1 kHz maximum one-channel PID loop rates.

Unfortunately here at NI it is not possible for us to have benchmarks ready for every possible type of application. Since you can do so much with LabVIEW, the
application possibilities are endless, so we publish PID benchmarks which is probably the most common use case in order to provide a rough comparison between various RT targets.
0 Kudos
Message 4 of 6
(3,493 Views)
Surely I realized that the origin of time delay of control loop was buffered digital write operation by my experience with 7030/6533.

In my opinion, NI should have noticed that even RT has 'software limitation' of control loop rate due to LabVIEW and RT OS.
In case of AT-DIO-32HS, we were able to implement microsecond order D/O by register-level programming in DOS.

As far as I know, PCI-6533(PCI-DIO-32HS) is just PCI version of old AT-DIO-32HS,and the daughter of RT 'dedicated' main board 7030, that's why I expected the expensive RT would work as old one.
0 Kudos
Message 5 of 6
(3,493 Views)
Yes, the DAQ driver does have a certain amount of overhead that will make things a bit slower than register-level access to a device for certain operations.

That said, I don't think that is the majority of the reason for the difference in speed. I would suspect your register-level calls were doing static DIO on the device, and a static DIO call is much faster than a buffered one by nature. There is far less memory access, etc.

Also, I would suspect that the CPU in the PC running the AT-DIO-32HS was faster than a 486 running at 133 MHz. Granted the RT OS has much less overhead than Windows and is capable of running much more deterministically, it still comes down to mostly CPU speed that controls the maximum achievable averag
e loop rate.
0 Kudos
Message 6 of 6
(3,493 Views)