LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problems reading _cjTemp

Hey there! I've been having problems trying to read the _cjTemp channel on a SCXI system. I'm using LabVIEW 7.1 and DAQmx version 7.3. More specifically, I want to read the cjTemp sensor from each of several TC-2095 thermocouple input panels connected to 1102B SCXI modules during a continuous analog input acquisition. The task was setup using MAX. (Too bad Internal Channels are not supported by DAQmx in MAX!)

It took a while, but I found that using the DAQmx Channel Property Node, setting "ActiveChans" = "_SC1Mod1/_cjTemp" and then setting "AI.ForceReadFromChan" = TRUE will work, but only if a constant is used to specify the ActiveChans. If the ActiveChans is programmatically set then it never works. Worse yet, no error is generated. T
he cjTemp data just never shows up.

The DAQmx Help manual says to create virtual channels to read SCXI Internal channels like this. However, attempting to do this fails, and you get Error -200489. This say's that "Specified channel cannot be added to the task, because a channel with the same name is already in the task." This also sucks, and seems to be a limitation of DAQmx where the same channel can't be read multiple times in the same task, even if different gains are specified.

So, it looks like I've really got four problems:
1. cjTemp data is not included when programmatically setting which cjTemp channels to read.
2. When above occurs, no error is generated.
3. Can't read internal channels using DAQmx.
4. DAQmx can't read the same channel more than once.

Suggestions?
0 Kudos
Message 1 of 5
(3,579 Views)
Will,

Greetings. I don't think this will answer all your questions, but I think it might help considerably. I found that I was able to view internal channels using DAQmx in LabVIEW 7.1. I did not actually check out the hardware and test the capability, but I can do that if necessary.

I would suggest using a DAQmx Physical Channel Constant. This is not found on the DAQmx Basic function palette but rather on the DAQmx Advanced -> DAQmx Constants & Property Nodes Palette.

Once you put this channel constant down, right click on it and choose I/O name filtering and click on Internal Channels.

By doing this, I was able to see the _cjTemp channel.

If this still does not work for you, let me know.

Anuj D.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 5
(3,579 Views)
Hi Anuj,

The trick isn't to just see the _cjTemp channel listed in a DAQmx Physical Channel Constant. I could do that already.

The trick is to read all of the cjTemp channels for a continuously acquired DAQmx task that had been setup in MAX. By default they are not included in the data returned when reading the channels specified by the task. Please read my earlier post again, and then let me know what you would do.

If you want to try this for yourself get a hold of an SCXI rack and MIO card, an 1102-B module and maybe even a TC-2095. Set up a DAQmx task with 32 thermocouple measurements continuously acquired using built in cold junction compensation. Now, from LabVIEW try to read that task and get the cjTemp reading at the same time. Wh
en you're writing the LabVIEW code don't use a constant to specify the cjTemp channel, pretend you don't know which channels if any have cjTemp enabled. So get a list of all the channels in the task, then get the channel properties to find out if they are using built in cjTemp compensation, then create the list of cjTemp channels that the task is already acquiring. Set those channels' properties so that they are included in the returned data. (You have to do it this way, because adding the physical channel to the task will generate an error.) I have done all of this, I don't get any errors, but the cjTemp data simply doesn't show up.

Thanks,

Will
0 Kudos
Message 3 of 5
(3,579 Views)
Was a solution found to this problem? I'am having a similiar problem.
Can someone please post the solution.
 
Thanks
0 Kudos
Message 4 of 5
(3,234 Views)
Hi JAMR,

I'm not certain that it was. From what I can tell without looking at Will's post, without seeing any code,  is that he might have been using a single channel name for multiple channels. These names must be unique. What specifically are you experiencing? It might also be helpful to post screen shots or code.
Ryan D.
District Sales Manager for Boston & Northern New England
National Instruments
0 Kudos
Message 5 of 5
(3,201 Views)