09-07-2016 12:14 PM - edited 09-07-2016 12:15 PM
Hello all,
We have to perform a real time task (read/calculation/write) in 25 microsecond.
Using the PXI-8108 controller, the calculation takes about 19 microseconds, which allows 6 microseconds for the read and write.
We are using a PXI-6143 for analog input whose sampling rate is 250 kHz (=4us per sample) and PXI-6221 for analog output, whose sampling rate is 833kHz (=1.2 us per sample). Both of them are hardware timed single point.
Adding up these numbers, ideally, we have to be able to do the read/process/write in 24.2 (19+4+1.2) microseconds, which is perfrect.
However,we figured that the "DAQmxReadAnalogScalarF64" takes about 12 us (though the analog input rate is 4 us per sample) and the "DAQmxWriteAnalogScalarF64" abou 11 us (though the analog output rate is 1.2 us per sample). Some part of the code also make some additional delay, which make our total time around 77 microseconds.
I wonder, if anybody has some experience on how to increase the speed of different part of the real-time code. Any idea for these questions are highly appreciated:
Is it possible to decrease the read and write time?
Is it possible to perform read and write in parallel?
09-07-2016 01:04 PM
Hi
I am sorry to budge in your post but im a bit lost and it is not relevent to your post.
How can I Post a Question on the Board of the Forum??? Im confussed
Thany you,
Menzi
09-07-2016 02:06 PM
I do not think that you can achieve your goal if you put windows software in the chain. I understand that you read from a task, calculate and write to another task, right? If the 25 us limit is very strict, you need to use something like a specific DSP board or NI FPGA Flex-RIO kind of solution with a custom (there may be such COTS boards that fits your purpose) analog front-end board.