Measurement Studio for VB6

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQmx digital slow compared to Trad DAQ


Hello Jeremy,

You may be incurring some overhead because you are creating your Input and Output tasks repeatedly.  I think you will be able to speed up the application somewhat if you create all the input and output digital tasks just once, at the beginning of the application.

With DAQmx, you can have input and output tasks at the same time as long as the tasks are not reading and writing at the same time.

If you are doing multiple reads or writes in a row, then the fastest approach will be to Start the Input or Output task and Stop it again before switching to the other task. 

Hope this helps,
-- Jonathan
 

0 Kudos
Message 11 of 14
(5,572 Views)

Thanks for the suggestion.  That is the way I have written my software currently - creating all input/output tasks and then starting and stopping only when needed.

Message Edited by jjsomer on 09-25-2007 10:58 AM

0 Kudos
Message 12 of 14
(5,569 Views)

Even this posts are very old, i find it important to clarify this point again.

Is it possible to read and write simultanously on same DAQ-Card using DAQmx-Driver!?

With DAQmx, you can have input and output tasks at the same time as long as the tasks are not reading and writing at the same time.

I was shocked to read the above! If this would be true, a thousands-dollar-DAQ-Card cannot write and read a signal at same time!?

 

I couldnt believe that! So i did more investigation and tried out program code to run a write-task and read-task at the same time for analog-voltage-signals on a 6259 Card (M-Series) and it worked!

 

The only thing what doesn't work - so far i understand the concepts - is reading or writing on multiple channels on different speeds at the same time, due to limited count of timing engines. There is exactly one timing engine for each subsystem on most cards. For example the subsystems on 6259 are AnalogIn, AnalogOut, DigitalIn, DigitalOut, Counter1 and Counter2, if i understood correctly (also reflected in the count of DMA-channels available/reserved using a PCI-card version of the 6259).

 

So it should be possible to generate a signal via outputs while reading another signal via inputs the same time!

 

But still i find it disappointing, that only one timing engine per subsystem is available on most NI-cards. And even more frustrating i find the fact, that also an analog-input task couldn't be started, while another analog-input task with another sample rate is already running, even the second Task is using aquisition mode ON DEMAND only!. This means, i cannot even read a slowly varying temperature signal per minute, while i have a high-speed Input Task running. This limitation shouldn't exist on a high class hardware like NI-6259 in my opinion.

 

Or does anybody know a work around how to AnalogIn highspeed signal and lowspeed signals same time without adding the low-speed signal to the high speed signals task, which would cause a lot of redundant data and bus traffic? At least reading single values without timing (on demand) should be possible!

 

 

0 Kudos
Message 13 of 14
(1,918 Views)

Visualizer,

 

Can you create a new forum post for this and include link the old post? You'll get a lot more views that way 🙂

Francine P.
Applications Engineering
National Instruments
0 Kudos
Message 14 of 14
(1,906 Views)