NI Home > Community > NI Discussion Forums
Reply
Member bkb
Member
bkb
Posts: 58
0 Kudos
Accepted Solution

Thermocouple reading (w/ Built-in CJC Source) only works on random SCB channels

I am using LabVIEW 8.2.1, a PCI-6255 card, and an SCB-68 terminal block. I have a Type K thermocouple with a thermocouple calibrator which I am trying to measure. Here is the problem, first, using the attached VI, I have tried to read this TC using AI0. Everytime I use AI0 I get the error saying Built-In CJC is not available. When I use any other channel, this error disappears. The second problem, when I use a channel other than AI0, I am only able to successfully read the TC on random channels. For example, it only works on AI13 to AI15. For the channels that it does NOT work on, I am able to see the correct voltage through MAX, however the AI Read TC VI does not for some reason give an accurate reading.

 

Does anyone know why I would not be able to use AI0, and why I am only to use certain channels for this TC? This makes absolutley no sense and I have tried swapping the SCB, the DAC Card, and the cables. I have reinstalled drivers and LabVIEW also.

 

Please help this is driving me crazy!

 

Thanks

Active Participant
Wayne.C
Posts: 1,994

Re: Thermocouple reading (w/ Built-in CJC Source) only works on random SCB channels

bkb,

 

You need to read the CJC voltage seperately and then use its value when you read the TC. 

 

This should get you on your way to reading the CJC voltage.  http://digital.ni.com/public.nsf/allkb/16F71843CC7892D4C1256BE3004E1043

Member bkb
Member
bkb
Posts: 58
0 Kudos

Re: Thermocouple reading (w/ Built-in CJC Source) only works on random SCB channels

So AI0 is the CJC value? And I have to specify CJC Channel when I read the TC? Why is it that I got this to work when specifying Built-In source, and wired the thermocouple to AI15? And why does it not work on other channels?
Knight of NI
Knight of NI
Ben
Posts: 16,102

Re: Thermocouple reading (w/ Built-in CJC Source) only works on random SCB channels


bkb wrote:
So AI0 is the CJC value? And I have to specify CJC Channel when I read the TC? Why is it that I got this to work when specifying Built-In source, and wired the thermocouple to AI15? And why does it not work on other channels?

 

Not sure if this helps you but...

 

Thermocouple reading are often differential measurements since they are typically very small values. To get differential readings two AI channels are paired up so half of the channels go away when you set things up for differential measurements. So could you double check the documentation for your device to ensure you are wiring the thermocoules properly? Correct pair, proper polarity, and proper TC type specified.

 

Ben

Ben Rayner
Who is NOT John Galt... yet... just building Rayner's Ridge

Member bkb
Member
bkb
Posts: 58
0 Kudos

Re: Thermocouple reading (w/ Built-in CJC Source) only works on random SCB channels

So when I flip the jumper on the SCB to enable the built in CJC I automatically enable Differential on the entire terminal block? Or every channel? I will be reading non thermocouple channels as well.
Active Participant
Wayne.C
Posts: 1,994

Re: Thermocouple reading (w/ Built-in CJC Source) only works on random SCB channels

[ Edited ]

bkb,

 

Flipping the jumper on the SCB-68 connects the signal from the CJC to the AI0 input of the DAQ card.  It does not select differential mode for all the inputs.

 

 

I'm pretty sure that the task will automatically select differential mode when AI Temp TC is selected.  That means that if you specify ai1 as the physical channel for the TC task, then ai1 becomes the + input and ai9 becomes the - input.
Message Edited by centerbolt on 01-07-2009 04:08 PM
Member bkb
Member
bkb
Posts: 58
0 Kudos

Re: Thermocouple reading (w/ Built-in CJC Source) only works on random SCB channels

There are two modes on the SCB-68 using dipswitches, one is Temperature reference enabled for Single Ended, and another for Differential. I am using the Single Ended one. Therefore I understand channel AI0 becomes the CJC reference. My question is, why, when I am getting the correct voltage in MAX on certain channels and simultaneously the AI Temp TC returns some garbage number. This all WORKS fine using the same code on other AI channels. I am not using Differential at all.

 

For example, CJC enabled on single ended. I create a new virtual channel AI15 AI Temp TC task reading with Build-in CJC source, reading degrees F using -0.001V to 0.044V range. When the TC is outputting 44mV I am getting the correct 2000 degrees returned from AI Read 1 Channel 1 Sample. If I rewire the TC into AI5 on the SCB, and switch my code to point to channel AI5, I am receiving 44mV on MAX on AI5, and AI Read returns some huge garbage negative number like -15 trillion.

Active Participant
Wayne.C
Posts: 1,994

Re: Thermocouple reading (w/ Built-in CJC Source) only works on random SCB channels

bkb,

 

The cjc needs to be configured for differential.   Following quote found here  http://digital.ni.com/public.nsf/allkb/96B996BAD82A84E9862570690066B03F

 

"If you configure the switches on the SCB-68 to enable the temperature sensor on single-ended channel 0 (AI 0) rather than differential channel 0 (AI 0 and AI 8), you cannot use a DAQmx temperature task."

Member bkb
Member
bkb
Posts: 58
0 Kudos

Re: Thermocouple reading (w/ Built-in CJC Source) only works on random SCB channels

Thank you that was the informationI was looking for.