01-05-2006 08:00 AM
Ryan,
To refresh, I have 12 NI6225's in a PXI Chassis. The task is to read ALL 960 ch's "simutaneously". Earlier in the year you posted a vi that read ch 1 on one board and ch 1 on board 2. I modified this vi to read "ch 1's" on all 12 boards simutaneously ( I added additional vi's and tied them together with the error out line) I'll try an attach it. Now I need it to repeat with all ch 2's then all ch 3's etc. One test is at 1khz. with all 960 chs. Another test is at 50 khz with all 960 chs. In each case I have ~ 500 msecs to read all 960 chs. Reading each ch on each card individually I hoped I'd get the full bw ( 250 khz) of each card. Is this possible ( DO LOOP, FOR NEXT LOOP) and in the allotted time ?? Dave Hall walked me thru another example but when I ran it the time was over 5 secs. I have < 500 msecs.
01-06-2006 08:27 PM
01-09-2006 05:28 AM
Ryan,
It is possible for the snippet of time as long as its less than 500 msec.
A question. If for some outrageous reason I buy a 6225 to use only one ch, write a vi to read only 1 ch ( select it from the "I/O" drop down menu on the front panel of my vi) and run it, I only can get 250 Ksamples/sec/80 chs or appox 3 k samples per that one ch ?? A BW of 1.5 k samples/sec ??
I'm told from the Engr that is leading this project National presented to him the fact that he could get the full BW ( 250 KS/s )of the 6225 if he wrote the vi right. Thats what we're trying to do. Did you get a chance to look at the vi I sent that I thought would read one channel, one card at a time doing what we've discussed ?
01-09-2006 11:33 AM
01-09-2006 12:37 PM
01-09-2006 03:41 PM
01-09-2006 04:12 PM
01-10-2006 05:31 AM
Ryan,
You hit the nail on the head. I want to acquire a waveform for a brief period of time and then figure out the RMS value. More specifically, I have a waveform of frequency 50 Khz that lasts for 500 msec on 960 chs of my 6225 and trying to trigger on PF8 from an external enable. IS this possible ??
01-10-2006 09:56 AM
01-10-2006 11:14 AM
Maybe I'm making this more simplistic than it really is. I'm "new" to DAQmx but in the old days of LV5.1 I could setup a ch to AI CONFIG.vi, then AI START.vi then when I'm ready take a reading.( AI READ.vi). Couldn't I "DAQmx" create virtual ch.vi, Timing.vi, start task.vi only once thru out this 500 msec for each of the 80 ch or 12 cards ? Thus saving setup time ? Then when I get my external trigger, read one ch on each of the 12 cards giving me 250 kHz BW? Then concatenate( using some kind of LOOP) the for next loop, or do while loop value to form a string that is equivalent to the next channel number for each card ?? From past experience 10 samples or 100 samples at the proper BW is plenty to recreate the original waveform.
Tell me if I'm wrong but AS AN EXAMPLE this is how I'd figure samples and sample rate: Lets use 1 KHZ waveform being measure on a single channel of a NI6225 AS AN EXAMPLE.
1 Khz is 1 msec long for 1 waveform. To get a proper recreation I'd like 2 waveforms, 2msecs. To satisfy Nyquest you need 2x freq of ( highest) interest but because we have the BW and you get better results ( past experience) lets use 10x or 10 K samples /sec. This will give me 10 msec of data or 10 waveforms ( 100 data pts/10k samples/sec). More than what I wanted. Each data point is spaced 10 msec/100 data points=100 microsecs. This looks good to me and I would plug in 100 samples and 10kS/s into the vi.
Using that example and my explaintion at the top for my application: Freq of interest: 50 khz. 50 khz x 10 =500 ksamples/sec.......can't do. Beyond the 6225 capability use the max of 250 ksamples/sec. Remember, we're only going to read 1 channel ( by configuration) at a time on EACH BOARD IN EACH SLOT. One waveform is 20 micro secs long. We'd like 2 waveforms=40 micro. 100 samples/250kS/s=400 micro which will give us 20 waveforms. 400 microS* 960 chs=~400 msec . 100 msec less than what I need. Is this reasonable and "do-able"??