08-21-2025 08:32 AM
Hello everyone,
I'm a beginner with LabVIEW 2025 Q1 and I was trying to read the temperature values from 8 K-type thermocouples and using a RTD (PT-100) for reference.
This is the file I came up with:
However, the temperature readings from the thermocouples is not correct: for example when I put them in an ice bath they were all measuring 8°C.
Now making different tests I figured out there's some sort of problem with the measurement curve: so the TCs show a higher temperature if the temperature is lower than about 30°C and measure a lower temperature above this temperature, and the "error" is increasing with temperatures further than this value (30°C). This makes me think that there's some kind of a problem in the program itself and especially in the slope of the measurement curve but I don't know how to fix it.
(The thermocouples are new and they all measure approximately the same temperature so I'd say it's unlikely the error being in the thermocouples themselves).
Second thing, right now I'm converting the RTD signal from resistance to temperature "manually" with the equation, is there a way to read the RTD values directly?
08-21-2025 09:44 AM
If you measure using local display on the instrument, does it read out correctly? the user manual states that the DAQ has inbuilt ability to measure RTD directly instead of as resistance and convert it in software.
08-21-2025 10:54 AM
While the above answer should help with the readings, you might want to simplify your code. Tons of overlapping element and a pile of wires flowing in all directions will make debugging very difficult.
Focus on array operations:
08-21-2025 11:30 AM - edited 08-21-2025 11:38 AM
As Santhosh has mentioned, these devices do have built-in temperature compensation. An ice bath is not required. The thermocouple wires should be brought into the 34901A boards directly to the channel connections. Ensure that the chromel and alumel connections are placed in the proper channel connections.
If you need to use a platinum RTD, you should use it in a 4-wire configuration, or you must short the ends (across the RTD) and subtract that resistance in a 2-wire operation; otherwise, you will have a built-in offset due to the line resistance adding to the 100-ohm RTD. Also ensure that you have the correct alpha value set for your RTD.
This can be set through SCPI commands:
:TEMP:TRAN:TYPE FRTD ,(@000) ==> Where FRTD is for the 4-Wire configuration and 000 should be replaced with the appropriate channel. If the RTD is on 101, then channel 111 is used to complete the four wire sense. Ensure that all four wires used are the same length.
08-26-2025 08:44 AM
Hey, thanks for the answer, I just measured using local display on the instrument and the value is correct,
but again when I use Labview the measures are wrong.
I even tried to create a new Labview project but I still get the same errors.
(e.g. setting 5°C on a cryostat, I get 5°C from local display but 10°C in Labview).
08-26-2025 09:10 AM
@Vidade_01 wrote:
Hey, thanks for the answer, I just measured using local display on the instrument and the value is correct,
but again when I use Labview the measures are wrong.I even tried to create a new Labview project but I still get the same errors.
(e.g. setting 5°C on a cryostat, I get 5°C from local display but 10°C in Labview).
So what changes did you make to use the built-in cold junction compensation?
We cannot tell what's in your scaling subVI, I assume you no longer use it, right?
08-26-2025 09:18 AM
Here is a clip from the Keysight manual.
It might be that the SENS:TEMP:TRAN:TC:RJUN has been set for that channel. Try the following Query:
SENS:TEMP:TRAN:TC:RJUN:TYPE? (@xxx)
where xxx is the channel where you notice the offset.
If it comes back as FIXED, then it should be changed. The FIXED provides a preset value and it should be changed to use either INTernal or the defined EXTernal channel. Using the external will require setting the REFerence for the temperature transducer.