LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 9214: number of "timing modes"

Hello,

 

I intend to use a NI 9214 (16-Channel Thermocouple Input Module for cRIO) but I am not sure to understand clearly its capabilities.

 

Context

The documentation/datasheet presents 2 "timing modes":

- "high-resolution" mode with a sample rate of 0.96 samples/input channel/second when all 16 input channels are used.

- "high-speed" mode with a sample rate of 68 samples/input channel/second when all 16 input channels are used.

 

The accuracy associated with the "high-resolution" mode is of course much better than the one of the "high-speed" mode (roughly by a factor 2).

 

In my application, I need both a very good accuracy and a quite fast sample rate of 20Hz for each input channel (i.e. I need to refresh the value of each of the 16 input channels 20 times per second).

 

My question is the following:

Is it possible to set the timing mode of the NI 9214 to precisely 20Hz? Or the only available timing modes are either "high-resolution" (0.96Hz) or "high-speed" (68Hz)?

 

I would like to satisfy my 20Hz-sample-rate requirement but also to get the best possible accuracy. This is why I would prefer not using the "unaccurate" high-speed (68Hz) mode that is needlessly fast for my requirements. I expect, by using a 20Hz sample rate, to obtain an accuracy somewhere between the one of the "high-resolution" and the "high-speed" modes.

 

The documentation of the NI PXIe-4353 card presents for instance 7 (seven) different timing modes from "high-resolution" to "high-speed"? Is it the same for the NI 9214? Or is this NI 9214 module limited to only 2 timing modes?

 

 

Thanks to anyone who can clarify this point!

 

0 Kudos
Message 1 of 5
(2,822 Views)

Hi bidouille,

 

you only have those two options!

 

But nothing prevents you from taking measurements each 50ms regardless of the module sampling rate. Maybe you need an additional buffer between module reading and forwarind values to your other computations as otherwise your reading function may block your loop as it waits for new values of the module...

 

And well, a PXIe board is quite different to a small cRIO module, so you can't compare their specs in all details! Maybe you should discuss your requirements with your local NI representative to examine possible hardware solutions for your task?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 5
(2,815 Views)

Thank you very much for your answer. At least, this is clear.


 

But nothing prevents you from taking measurements each 50ms regardless of the module sampling rate. Maybe you need an additional buffer between module reading and forwarind values to your other computations as otherwise your reading function may block your loop as it waits for new values of the module...

 


Yes I understand this is still possible but I would be using data that were originally acquired, at the module level, under the "high-speed" mode and thus with the (relatively) low accuracy associated with that mode. This is a pity as I do not really need all the samples of the high-speed mode and will reject most of them to keep only one sample every 50ms.

0 Kudos
Message 3 of 5
(2,811 Views)

Hi bidouille,

 

you may still average each 3 samples of the module. This may increase accuracy a little bit and will provide ~23Hz sample rate...

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 5
(2,808 Views)

To clarify a bit of the details, both the NI 9214 and PXIe-4353 use the same ADC for sampling the measurements.  This ADC has specific discrete sample rates that result in the allowable sample rate settings of the modules.  The PXIe-4353 had a number of additional options, including the ability to support a larger number of ADC sample rates.  Separate from the ADC sample rate setting, as long as the ADC sample rate is faster than your requested rate, you can tell your application to sample at any rate you wish.  The additional time between is simple "idle time" where the module waits for the next command to convert. Unfortunately this does result in basically unused time where the ADC is not sampling the input, and the faster rate does result in more noise.  The best option, as already mentioned, is to make use of as much of this idle time as possible but having the ADC take additional samples and average them. In terms of ENOB (effective number of bits), you'll get 1 extra bit of resolution by averaging 2 samples, and somewhere around 1.5 bits by averaging 3 samples.

 

-James

0 Kudos
Message 5 of 5
(2,764 Views)