05-19-2006 03:20 PM
05-21-2006 04:28 AM
That will depend on the max sampling rate of the DAQ card you choose.
which DAQ card do u plan to use??
05-22-2006 12:52 PM
05-22-2006 01:39 PM - edited 05-22-2006 01:39 PM
i have the same problem as Margaret,
i am using PCI_6229. DAQmx M-series.
roughly ( AO 650kS/second, AI 250kS/second)
My application requires 20,000 feedback_loops(PID) iterations per second.
(i.e. 1 AO point+sensor response time + 1 AI data point must finish in 35 microsecond)
(my sensor response time is small, about 0.20 ns )
Any one please advice me how to archieve that.
My PC can do simple loops at 2000 loops/second.
Message Edited by heavily loaded on 05-22-2006 01:55 PM
05-22-2006 02:35 PM
Hi Margaret,
It sounds like what you are looking for is a deterministic system that can
easily do PID style or logical operations where the time between samples is
kept to an absolute minimum. This really is an ideal system for a
Real-Time Operating System. If you keep using a normal Windows OS (or Mac
or Linux), then 3ms per loop is certainly possible, but the loops rates could
vary greatly because the Windows OS is non-deterministic. Say Windows
decides that you need to update, then boom, you've lost 10 ms and there's
nothing that can be done to prevent it.
Because Windows is not an ideal system, you have to move to an RT OS. We
have several products that might be able to help you create the system that you
need.
http://www.ni.com/realtime/
The best system for you may be to have a dedicated RT controller and have that
read and write to your data acquisition board.
Unfortunately if you keep using the setup that you have right now, the driver
calls are slow because of the older hardware and you will run the risk of
damaging your system because your OS is not a Real-Time OS. If you did
get some newer hardware, then the calls to the board would be much faster and
likely in the range you need, but the non Real-Time OS could potentially be a
big problem.
05-22-2006 02:41 PM
05-22-2006 10:13 PM
05-23-2006 02:13 AM
05-23-2006 02:26 PM
Hi Margaret,
New hardware will greatly help. Basically the newer hardware and drivers
are meant to work much faster, particularly for single-point operations (I
think the benchmark is like 40x faster for just the jump between Traditional
DAQ and DAQmx, plus the newer hardware would make that even faster).
You could definitely use the Timed Loop. That will help to make sure
things are more deterministic, and at least you'll know if things aren’t running
at the desired rate. Keep in mind that Windows will never be a true
real-time OS, but for your needs, using the Timed Loop may just be that extra
edge you need and could work well for your application. You will need
newer hardware though. For example, Heavily Loaded gets up to about 2000
Samples per second (1 loop every 0.5 ms) and is even doing PID control.
The faster the computer the better too so that you can minimize time spent
doing calculations between loops.
Regards,
05-23-2006 02:48 PM