12-17-2018 01:23 PM
Hello all,
I'm trying to poll the device temperature attribute of a cDAQ module (in this case a NI-9239, but I will also need to do this with other module types). I'm feeding a DAQmx Device property node a constant device name [cDAQ9184-1C91DDAMod1] which, as you may be able to tell, is pointing to the first module in a cDAQ-9184 chassis.
The issue that I'm having is that DAQmx Device>Calibration Info>DevTemp always returns '0', and I've tried a few different modules of different types. The returned value is definitely a Double, and I have the indicator set to 6 digits of precision, so I'm quite sure something is just wrong and it's not that I'm missing the value (also considering it's about 23C in my office). Is there a particular way to access the internal temperature sensor on a given module that I'm not aware of?
Any advice would be much appreciated! Thank you
Solved! Go to Solution.
12-17-2018 02:22 PM
I've never used the device calibration so I'm just throwing some things out there to see if any of them stick.
12-17-2018 02:33 PM
Hi aputman,
If I look at my device(s) in NI MAX, I can see the 'Device Temperature' listed for each one. They all agree within a degree of one another, and they're definitely reading the room temperature - it just seems like NXG isn't able to get me this information programmatically...
12-17-2018 04:11 PM
I have a cDAQ chassis with a 9234 module. MAX shows a device temp of 22degC but when I try to get this value from within LabVIEW, I get an error saying something to the effect of "the device doesn't have a temp sensor." I guess 22degC is a default value.
In LabVIEW, you can right click the property node and "Select Filter". This will remove all properties that are not supported by your device. Can you do this with NXG?
If you have LabVIEW installed, try this and see if you can get the temp. If the filter removes DevTemp or you get an error like I saw, I would have to say it's not possible.
12-18-2018 07:21 AM - edited 12-18-2018 07:23 AM
Alas, it seems that NXG 2.1 has removed (or simply doesn't have) the facility to filter property node terminals. That said, it seems you are correct - these modules don't support the device temperature reading. I was able to set up a property node in LabVIEW 2017 and noticed two things:
1. DAQmx Calibration Info property nodes won't show the device temperature terminal when pointed to NI-9239 modules (or presumably any unsupported module)
2. When attempting to read the temp value by forcing the property node to display all of the available terminals, it returns an error on the unsupported module
Thank you for helping me dig down into this! You're probably right about the values shown in NI MAX being defaults, too.
EDIT: typo
12-18-2018 08:07 AM
The plot thickens!
I was looking at my devices in NI MAX and I noticed something strange...I have three NI-9239 modules in a 4-slot cDAQ chassis, and NI MAX shows a Device Temperature in the "External Calibration" section for each. The crazy thing is, each module is a different temperature - NI MAX is showing 22C, 23C, and 24C!
I would think that if these were "default" values for these modules that they would all be the same temperature, so maybe these are the temperatures at which each module was last calibrated? Who knows! Food for thought...
12-18-2018 08:51 AM
So when you have 3 devices plugged in, the temps are 22, 23, 24. If you plugged in a fourth device, I'm guessing it would be 25. And if you unplugged the 22 and 23 device, the 24 device would probably change to 22.
12-18-2018 01:25 PM
An interesting thought! But after some quick experimentation I've determined that the temperature values follow the module(s) regardless of which slot they're in. And FWIW, adding a fourth module didn't change the values on the other three, even after rearranging them!