Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Why are the K-thermocouple values (first DAQmx channel) are wrong after creating second (voltage type) DAQmx channel?

I am trying to Creating an Analog Input Task with Multiple Measurement Types: Voltage and K-thermocouples (the system is PCI6034E – SCXI1000 –SCXI1122-SCXI1322). It does not work properly: as soon as I add second "DAQmx create channel" for voltage I start reading wrong K-thermocouple values  (100-160 deg C instead of 24.3-24.7) and it does not depend on sampling rate, etc. The Labview example "Multiplechannels_Created.vi" gives me same wrong temperatures. Did somebody meet this problem? Thanks.

 

0 Kudos
Message 1 of 9
(4,619 Views)
Donatas,

I just downloaded the Multiplechannels_Created.vi and read a voltage and a k-type thermocouple reading at the same time.  Everything worked fine.  There is probably something wrong with your setup.  Can you reply with your VI attached and a description of your setup (Which channels have thermocouples, which channels are measuring voltages, which hardware you are using, etc.).

I am sure we can figure out what is going wrong.

Lorne Hengst
Application Engineer
National Instruments
0 Kudos
Message 2 of 9
(4,611 Views)

Lorne,

 

Thank you for quick reply. I don’t know what is going on. The file is attached. Currently I have changed my acquisition scheme: I am reading separately form every channel the finite number of values (100) and after average them. The same approach as in "SCXI1122 Voltage.vi (subvi acquire and average)" but I rebuild it for DAQmx. Everything is working well in this case (it is little bit slowly, but it is not so important for this task). The interesting thing that I found is: if I have max and min temperature values in "DAQmx Create Channel (AI Temperature-Thermocouple)" in the range –81 …+ 121 deg C the K-Thermocouples give me one value (for instance 24.6) but if I increase upper limit (decrease lower) then the thermocouples value will be 24.7-24.8. It is not the "noise" and strongly depends on max and minimum parameters. Could you clarify this, please? CJC source is internal. The hardware is PCI6034E – SCXI1000 –SCXI1122-SCXI1322 and 4 K-thermocouples with 1 power source LAMBDA up-60-3.5 (voltage) are connected to channels 0-4 (0-3: K-therm). Other channels are currently empty. Please, tell me if additional information is needed.

 

Thank you,

 

Donatas

0 Kudos
Message 3 of 9
(4,601 Views)
Donatas,

"if I have max and min temperature values in "DAQmx Create Channel (AI Temperature-Thermocouple)" in the range –81 …+ 121 deg C the K-Thermocouples give me one value (for instance 24.6) but if I increase upper limit (decrease lower) then the thermocouples value will be 24.7-24.8. It is not the "noise" and strongly depends on max and minimum parameters. Could you clarify this, please?"

By increasing the temperature range you are inputing into the DAQmx Create Channel VI you are decreasing the resolution of your measurement.  The DAQ device's ADC has a set number of bits (in your case 16 bits, plus a bit more due to dithering).  basically, increasing the temperature range causes your device to change its amplification level and measure a wider range of voltages from your thermocouples.  This is most likely the cause for the small shift in temperature readings.  Ideally, the smaller the temperature range you select, the more accurate and precise your readings will be (assuming your devices are still fairly well calibrated).

You program looks great.  I am a bit confused though, you wrote "
I am reading separately form every channel the finite number of values (100) and after average them.".  Your code does not currently average any readings.  As it is setup now (using your default settings in the front panel), you read 4 thermocouples and 1 voltage measurement once every 2 seconds with a delay of .1 seconds between each channel measurement.  So, basically every two seconds you get one reading from each thermocouple and your voltage measurement.

I would recommend that if you wanted to average 100 samples that you set the VI up for continuous acquisition and select a sample rate of 50 (2 seconds times 50 samples a second), then keep things simple and let the DAQmx driver select the AI Convert rate for you.

Anyway,  it sounds like things are correctly,  if I missed something, please tell me.

Lorne Hengst
Application Engineer
National Instruments
0 Kudos
Message 4 of 9
(4,592 Views)

Lorne,

 

Thank you, for detail explanation about temperature shift.

I am sorry for confusion. The program, which was attached in my previous message: DAQ_Task is not working properly with my hardware as I have already described it above. Do you have any ideas where can it be a problem: PCI6034E?, Chasse?, thermocouples?, Computer?

As I mentioned, currently, another approach for  Temperature and Voltage data acquisition (see attached file) is realized, but it will be not suitable for fast data acquisition tasks.

 

With best regards,

 

Donatas

0 Kudos
Message 5 of 9
(4,579 Views)
Donatas,

Good news! I do not think your problem is caused by your LabVIEW program.

You should try taking a reading from your thermocouples using the test panels in Measurement and Automation Explorer (MAX).  My gut feeling is that you will still see the incorrect readings (make sure you use built in CJC compensation).

Try a constant value for your CJC compensation (use 25 degrees celsius) instead of built-in.  See if you start getting proper readings.  If you do, this means that something is incorrect with your built in CJC compensation (you might need to change a jumper, you might a have faulty part, etc. ).

Keep me updated on what happens,

Lorne Hengst
Application Engineer
National Instruments
0 Kudos
Message 6 of 9
(4,568 Views)
I am getting a vary similar problem with my SCXI 1102-1303 setup.  I had about 8 thermocouples all connected and working fine, as well as a voltage input for a pressure gauge that also worked fine.  When I tried to add an additional voltage input however (without even conecting the sensor) the thermocouple readings are now all messed up (80-150C at room temperature).  I have tried resetting everything and recreating all tasks in MAX and deleteing and recreating the DAQ assistant in my VI but I still get these odd measurements.  TCs are still good, has  anyone solved this problem yet?  Might the amplifier gain have been changed though software?  If so how can I change  thes setting back?   Thanks,
 
~Mac
0 Kudos
Message 7 of 9
(4,513 Views)
Hi Mac,

You could be changing everything in MAX, but if you set the settings differently in software, then it could be causing the behavior that you are seeing where it appears not to have made a change.  The SCXI-1102 will only reflect the value most recently assigned to it for each channel.  Here is a KnowledgeBase that describes what I'm saying in a bit more detail.
Why Does Setting the Gain on My SCXI-1102 Channel Via MAX Have No Effect?
Checking the SCXI Gain Set by Traditional NI-DAQ in LabVIEW

If you are using DAQmx you can read the gain on your channel by using a DAQmx Channel Property Node.vi and reading the AI Gain (Analog Input > General Properties > Advanced > Gain).

Regards,
0 Kudos
Message 8 of 9
(4,493 Views)

Lorne,

 

Finally I find the problem and it is Labview problem. You described it in previous message. When the second independent voltage channel is added (you can do it in MAX) the Labview starts to use biggest range for all channels. For instance, I have 12 thermocouples channels with narrow milliVolt range as soon as voltage channel with the range –5 V to 5 V is added the Labview use this gigantic range for thermocouple channels also. Immediately, according with your previous explanation, the thermocouples are starting to measure wrong (or low-precise, actually it does not matter) temperature values.

 

0 Kudos
Message 9 of 9
(4,399 Views)