LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I time multiple TC modules on a cRIO platform?

I have a cRIO 9002 with a 4 slot FPGA backplane.  I am currently using it as a high power datalogger, using 4 of the 9211 TC modules.  I know the modules can sequentially sample 3 times a second.  I would like to have precise time reporting such that if module 1, ch 1 samples at 1.083 sec. then module 2 should sample at 1.167, and they are reported accordingly.  I also believe, though I haven't found this in any documentation that Module 1-Module 4 will all have ch 1 sampled at 1.083 sec.  Right now I am just accumulating all 16 channels and reporting the same time for all 16 channels.  Is there a way to get an accurate sample time for each channel and is my assumption correct that that I am getting channel 1 samples from all four modules on the same clock cycle?  FPGA code can be seen in the attached graphic.
 
Thanks in advance!!
 
elfman6
0 Kudos
Message 1 of 3
(3,480 Views)
Hi elfman6,
I would say instead of using one loop, use 4 timed loop and read from each set of analog inputs and record time as you are doing now. Do you want a result every 1/12 of a second?
I'm not sure if all modules acquire data on the same clock cycle.  I'll have to do some reasearch on that. My first impression is that it should, otherwise, you'll probably have to use triggering to have all modules synchronized.

Yi Y.
Applications Engineer
National Instruments
http://www.ni.com/support
0 Kudos
Message 2 of 3
(3,276 Views)
Hi elfman6,
I'd like to know what's your application and why do you need the exact timing? Thermocouples and sampling of Thermocouples are usually used in timing and accuracy critical set up, and consider the 9211 modules samples each channel at 70ms, the synchronization difference should be in the micro second range which is usually neglegible.
Therefore, you can write two while loops and each contain an IO node that acquires data from 3 channels of each module.  If you have a true constant wired to both while loops, both should start within microseconds of each other.
You can assume that from the start time, each sample from each channel is going to take 70ms to sample, in which case if you have 3 channels per module you want to sample and have to read the CJC and Auto Zero, which would take a totaly of 70*5=350ms to acquire 1 sample from each of the 3 channels in each module.  The first sample should occur at t0+70ms, second t0+140ms, third at t0+210ms.
Hope this information helps!

Yi Y.
Applications Engineer
National Instruments
http://www.ni.com/support

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