LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

post processing using NI6225

I have 12 NI6225 DAQ Boards (~960 chs).  I want to set up LV8 to read Ch1 on all 12 boards ( SW trigger) then Ch2 on all 12 boards, then Ch3 etc.  I need to store ALL this data then process it ( post process?)  after acquiring all 900 chs.  Any suggestions or examples ?  In post processing how does LV distinguish between the raw data from Ch1 board 0 and ch 2 board 0 or even ch1 board 1 ?
Make my day and answer this question.
Thanks,
Clint E.
0 Kudos
Message 1 of 48
(4,379 Views)
Clint,

In order to do this, you will need 12 individual tasks. Since you have 12 of these, I'm assuming that you have them inside of a PXI chassis. The attached example is for 2 devices, but you can extend it to more by repeating the bottom half of the code. You should physically locate the master device (the one with the reference clock being exported) in slot 2 of your PXI chassis (the source of the star timing). In this code, all other devices are synchronized with the master device reference clock. Whenever the master's Start Task VI is called, this will assert the AI Start Trigger signal on the master device, and all other devices will use that as a digital trigger to begin their acquisitions. Please make sure that all other devices execute their Start Task before the master does (Merge Errors VI would be helpful). This process will result in each of your devices acquiring samples at the exact same time. The output of each analog read will output an array of waveforms, with each waveform corresponding to the samples acquired on a single channel of that device. To specify the order with which the channels are scanned, order them that way in the physical channel control. For instance Dev1/ai1,Dev2/ai3, Dev1/ai5 will acquire one sample from channel 1, channel 3, and channel 5, then repeat. Please let me know if this is not what you were asking, or if you have any additional questions.

Hope this helps,

Message Edited by Voltage Viper on 12-02-2005 12:13 PM

Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
Message 2 of 48
(4,369 Views)
Ryan,
Could you save this in LV7.1 ?? I don't have LV8 yet.
If I understand this, when I SW Trigger on slot 2 a PF0 channel all the other boards are triggered simutaneously ?  I assume its unique to the AI vi because what if I wanted to trigger each board individually ?  You are correct, I do have them in a PXI Chassis.
 
Clint
0 Kudos
Message 3 of 48
(4,352 Views)
Ryan,
Another question.  With these (12) Ni6225 I'll have 900+ channels.  If a ch is above a certain threshold I plan on making it light up green and visible ( using property nodes).  Can you set up say 500 property nodes without clicking on each LED and say Create>Property node?  For example 500 will be displayed and green.  The other 400 will be greyed out.  If I have to do a property node for each LED it will create a tedious task.
 
Clint
0 Kudos
Message 4 of 48
(4,328 Views)
Clint,

Here is the VI in 7.1. You are correct in that a software trigger will simultaneously start all boards. Perhaps when you see the VI, this will make a little more sense. Basically, tasks for the other cards are set up to wait on a digital trigger from the device in slot 2. Whenever your application sends a software trigger to that device, it asserts a certain digital line (ai/StartTrigger) which triggers the other cards in your PXI chassis. I have also attached another VI which is used in this applicaion. It should already be on your computer, used in the shipping examples, but LabVIEW usually has trouble finiding it. Please let me know if you have any more questions.

Regards,
Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
0 Kudos
Message 5 of 48
(4,348 Views)
Clint,

I would build a loop which reads the data, makes a decision (greater than threshold?), and then adds the result of that decision into a boolean array. Then, instead of individual booleans, you could just have an array of them and wire your data array directly to it. Does this sound like an option?
Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
Message 6 of 48
(4,299 Views)
Oops,

Here they are.
Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
Download All
Message 7 of 48
(4,347 Views)
Thanks !  That may have saved me a lot of work.  As far as the property node goes, I may still have to do trial and error on that one.  I didn't quite understand your explaination.
0 Kudos
Message 8 of 48
(4,290 Views)
Clint,

I have attached an example which simulates a decision on 12 cards and 80 channels. I'm sure you could come up with something similar to build a 2 dimensional array with the result of your read operations. This array is displayed on a classic array indicator with small LEDs, no indices, and a transparent border. It appears to be a grid of booleans. After running once, you will notice there is a difference between "on," "off," and "disabled" states. Please let me know if you have any questions on this.

Hope this helps,
Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
0 Kudos
Message 9 of 48
(4,286 Views)
Ryan,
Again, thanks a lot.  Its up to me now.  I was trying to save myself "calling" every LED ( 960 !!) and setting the property node for it.  When I run the test certain LEDs will be lit based on a voltage level.  If the LED is outside this group ( pattern)  but is above the level ( a miswire)  it will be lit red and greyed out  to indicate its outside what is expected but has voltage on it.  This is to show the operator something is wrong. I tried setting a property node for an array thinking it would be applied to each LED in the array.  It wasn't the case.  It applies the property node to the element "array".  You've given me a great starting point. 
 
Thanks
0 Kudos
Message 10 of 48
(4,275 Views)