LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how to create my own CJC

Hello,
I would like to create create my own CJC using a temperature sensor. How do I configure  the CJC channel in Labview?
I see a CJC channel terminals in DAQmx create channel vi. Should I use this to assign a channel where the temperature sensor is goin to be connected? Will this vi compensate CJC for all my temperature readings collected using thermocouples? Also can I use RTD as a temperature sensor? Thanks! 
0 Kudos
Message 1 of 11
(4,532 Views)

Hi mchips,

You are correct in using the DAQmx Create Channel.vi in order to configure your CJC sensor.  Once you put down this VI and select the polymorphic instance to be Analog Input >> Temperature >> Thermocouple, you will have set the channel to read all thermocouple temperatures that you have connected.  There are three options for a CJC specified in the CJC source input of this VI.

1.) Use the built-in channel located in the terminal block if it is available on your device.

2.) Use a constant value and specify in the CJC value input.

3.) Use an external CJC source set up as a virtual channel and specify the channel name in the CJC channel input.

All of this information is located in the LabVIEW Help file under DAQmx Create Virtual Channel where the inputs to the VI are described in more detail.  It sounds like from your post that you want to implement the third option for your CJC.  Also, instead of using the DAQmx Create Channel.vi, you can create a virtual channel in Measurement and Automation Explorer for your thermocouple input, and another one for your CJC.  This is described in more detail in this knowledgebase.  In the KB it talks about using either a thermistor or an IC sensor as your external CJC and doesn't mention that it is possible with an RTD.  The only problem I could see with this is providing the excitation for the RTD.  If there is no option for excitation on the thermocouple DAQ device that you are using, you would have to provide your own external excitation.  I hope this information helps!

Regards,
Vanessa L.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 11
(4,491 Views)
Thanks for reply. I spent some time reading KB regarding setting a virtual ch for CJC. This is what I learned so far: to use a custom made CJC sensor, 1. create a CJC virtual channel in MAX. 2. When you configure the DAQmx create channel.vi in my vi, select my cjc source to be channel and select the virtual channel I create in step 1. I actually tried to set a CJC virtual channel in MAX but it seems different as explained in KB. MAX just let me create a voltage channel with scaling. I did not see This will be a temperature measurement ckeck box but I can specify scale and pre and post units. Is this right and did I miss anything??
0 Kudos
Message 3 of 11
(4,474 Views)

Hi mchips,

It doesn't look like you missed anything. The knowledgebase that you are referring to is actually referencing how to create a virtual channel in Traditional DAQ and not DAQmx.  If you see the link at the bottom of the document leads to the DAQ Channel Wizard Tutorial.  If you click on this link, you will see that the user interface was different with the older traditional driver and the option for "this will be a temperature measurement" used to be there.  With DAQmx, after you choose Analog Input for your measurement, you can then choose temperature for the type.  If you choose temperature for your cjc virtual channel instead of voltage, it will do the conversions for you and return a temperature value in units of celcius.  This DevZone Tutorial explains how to create a virtual channel in DAQmx and actually has a section called Application Examples that describes a temperature measurement with a virtual channel.  It also includes a video that takes you through step-by-step.

Regards,
Vanessa L.
Applications Engineer
National Instruments
0 Kudos
Message 4 of 11
(4,454 Views)
Hello,
So you are saying I can use either voltage or temperature as measurement type. If you specify temperature as your measurement type, does MAX multiply readings by 100 automatically? Thanks.
0 Kudos
Message 5 of 11
(4,441 Views)
I just tried to configure a virtual channel as temperature type but it does not have temp sensor IC as sensor type.  Also do you know aprt number and mfg of your temperature sensor? Thanks
0 Kudos
Message 6 of 11
(4,438 Views)

Hi mchips,

As it says in the Applications Examples in the DevZone Tutorial that I led you to before, if you are using a virtual channel and you set it up as temperature, it will automatically do the voltage to temperature conversion (scaled 100) for you and the units of the data will be degrees celcius.  I think also you are misunderstanding what was said in the knowledgebase about having to know the manufacturer's information for that temperature sensor.  They are saying that if you use an external sensor like a thermistor and plug it into the cjc source, you would need to know information about that third party sensor in order to manually do the scaling from voltage to temperature.  However, in your case, you are specifiying it in MAX as a virtual channel and it will automatically read temperature since you set it up for that type. I would check your thermistor that you are plugging into the cjc temperature in other channels of your DAQ device in order to make sure that the expected temperature of the virtual channel is being returned. Then you can be sure that the temperature that you are feeding into the cjc source is viable.

Regards,
Vanessa L.
Applications Engineer
National Instruments
0 Kudos
Message 7 of 11
(4,415 Views)
O.K based on assumption I can do my own CJC compensation, I bought a 6226 USB DAQ with screw terminal option then connected thermocouples and also connected a temperature sensor which generate 10mV/C to CH#0. I created a global channel at #0, scaled to X100.
Then using DAQmx creat channel vi, configured a temperature input (AI TEMP TC) with the CJC source to ch, cjc channel to the global ch that I created. When I ran the VI, there seem to be a offset of approx. 13C. Any clue? Thanks

0 Kudos
Message 8 of 11
(4,336 Views)
Hi mchips,

It looks like your setup is correct.  However, I don't know what USB device you have bought because I can't find the 6226.  First you have to make sure that the temperature sensor that you have connected to the cjc channel is reading the correct temperature.  Since it puts out 1 mV per degree C and you are scaling it by 100 then you should expect to see 1 V per degree C.  The cjc should be measured as the temperature of the room.  Therefore first check that the temperature of the sensor is correct.  When you say that the measurements are offset by 13 degrees, are you talking about the other thermocouples that you are reading, or the measurement of the cjc?  In general, as long as you have set up the CJC correctly in MAX, there shouldn't be any offset.  Thanks!
Regards,
Vanessa L.
Applications Engineer
National Instruments
0 Kudos
Message 9 of 11
(4,305 Views)
Hi Vanessa,
Thanks for writing back. The problem was due to the limits in the analog input parameter settings. It was set to +/-10 and I did not realized they are scaled limits which should be limits of temperature not voltage inputs. Do you know how they compensate for CJC? Do they measure difference from ambient temprature then subtractfrom thermocouple readings? Just curious.
0 Kudos
Message 10 of 11
(4,295 Views)