Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

AI, AO, and DIO in parallel, not synced with PCI-e 6259

Dear NI Forum--

I am about the start buliding a DAQ system around two PCIe-6259 (M-series) multifunction DAQ cards I recently purchased.

My system will need to perform the following functions:

     1. Continuously acquire and write-to-disk data from 64 AI channels (32 channels on each board, all in differential mode). For what it is worth, signals will be acquired at 25 kHz.


     2. Write DIO lines to interface some external electronics I built (to control some address decoders).  I will need to write 10 DIO lines every ~1msec.

 

     3. Generate a continuous AO pulse train.  AO pulses will be about about 1 msec long, spaced about 1 msec apart (~50% duty cycle).

I need to program my 6259 boards to handle all of these functions in parallel ("simultaneously"), though they need not be synced to each other.  In other words, while I am acquiring a bunch of data, I need to also be writing DIO lines and outputing AO pulses.

With careful programming in LV, can the 6259's manage to pull this off? 

 

I think this should be possible based on the fact that the AI, AI, AO, DIO and counter functions all operate independently. 

 

 I foresee one potential issue being the control/execution w/in the VI: say I have my AI continuous acquisition triggered, and it is writing to disk every N samples, controlled by a loop.  Will control ever be passed to the portions of code that control writing the DIO lines, and the AO output?  If data acq. and storage is hogging the resources, can I expect to achieve the ~1/100 - 1/10  msec precision timing I'll need?

Seems the easy thing to do would be to set up the AO and DIO writing, trigger those tasks, then start the AI.  But then would that delay/block control passing to the portion that would control the AI? 

Basically, I am looking for the good word to encourage me that doing AI, DIO, and AO is as straight-forward as it seems it ought to be.

 

Am I overlooking anything obvious (or subtle)?
I would really love to know now, before I get in neck deep.

Many thanks.

0 Kudos
Message 1 of 3
(3,110 Views)

Hello jonatmudd

There should not be any issue with what you want to do. Even if you want to have AI to be retriggerable. Just to get you started here is the code for AI retriggerable. If you do not want your AI AO DIO to be in sync, there should not be any issue, you should be able to run AI, AO and DIO HW timed as they have different smaple clock. If you would be processing with the input data while acquiring you can use producer/consumer architecture in LabVIEW. Here is the

pseudo code for the same.

 

Good Luck

 

NI-khil

0 Kudos
Message 2 of 3
(3,086 Views)

Thanks a lot for the reply.  I have a bunch of other stuff to set up before I can actually test the system, but this is very encouraging news!  Will let you know how I fare (fingers crossed for no major issues along the way...) 

 

0 Kudos
Message 3 of 3
(3,013 Views)