Real-Time Measurement and Control

Showing results for 
Search instead for 
Did you mean: 

NI 9216 measurement strange behaviour

Go to solution

Hi everyone,

I am trying to make some temperature measurement with my cRIO (cRIO-9053) and the NI 9216 module, and I am seeing some unexpected behaviour.

I have configured the module in the scan engine mode, and I read the 8 channels values every 2 seconds.

I have connected the PT100 to the first channel of the 9216 in the 3 wire mode (see the picture), and run the VI, and the values I see are -1287,85, or 1253,35.These values don't make sense for me.

I realized that these values are the same values I see if I don't connect any wire, so I guess it can be because it should be connected in another way, or the module doesn't detect that a channel is connected. I thought that the NI 9216 module detects automatically if a channel is connected or not.

¿Does anyone know how to do it exactly? I have connected the white wire to one pin of the PT100, and the 2 red wires to the other, and later the white cable to the RTD0+, and one red to RTD0- and the other to COM. ¿Is it correct to do it like that?


I checked the 9216 Getting Started info and there is this schematics:




Also I checked the properties of the module and I see that it is configured to return the value in temperature (Celsius).


 If I change it to Raw Ohms I should read something about 110 ohms (I measured the PT100 with a multimeter), but it doesn't change its behaviour.


I am a bit stuck on this point, so any help will be appreciate.

0 Kudos
Message 1 of 5

Just some suggestions - rather than any smoking bullet:

  • Have you tried looking at the sensor value in NI-MAX - there is somethng called a Test Panel for IO modues that allows that. Might eliminate any LV sw issues
  • Is there any configuartion of the IO module (programatic or in LV project or NI-Max) to specify 3 wire rather tha 4 wire operation - not sure if it is automatic or not.
  • Presume you have checked the correct cables are to the correct pins, and that the wires are seated properly in the spring terminals. It is easy for it to seem secure, but no elec connection iif connection is just grabbing the insulation.
Consultant Control Engineer
0 Kudos
Message 2 of 5

Hi Andy:

thank you for your suggestion. I have tried some things and I realized that there are two different issues.

1.- The cable of the sensor is somehow broken. Using the MAX I am able to see a correct value of the temperature sensor, and without changing anything and moving a little bit the cable I get the two values of -1287,85, or 1253,35. I guess that these two values are something related to the max and min scale values, because these are the values I see when I read a not connected channel. So when I move the cable, the broken cable forces a shortcircuit and the cRIO detects a not connected channel, and consequently shows the max and min values. I will get another sensor, or maybe a normal resistance and I will try again. At least I know that the 3 wire connection is well done.


2.- These is something that I do not understand why. I try to explain.

To use the test panels of the MAX I am forced to change the program mode of the module to Real Time NI DAQmx instead of the Real Time Scan (IO variables) mode. Once I change this I am able to configure some properties:


And after selecting 3 wire configuration I am able to read the sensor value. Once that I am sure that the MAX is able to read the sensor, without moving the setup, I change the mode to Scan engine and open my application. After run it I see the 1253,35 value. So I guess that there is something SW also at this point.

When working in DAQmx mode in the MAX I had to configure some parameters that in the Scan mode I am not configuring (e.g. 3 or 4 wire configuration), is there somewhere where I have to configure it? I am not able to do it in MAX because it only allows me to use in the DAQmx mode.

I rewrite the code using the DAQmx VIs instead of the SCAN mode, and it worked, I am able to read the same value as in MAX.

I would prefer to use the scan mode instead of the DAQmx, but I am not sure if it is possible... At least for the test panel is not, so I don't know. Do you know if there is any limitation in this sense?

0 Kudos
Message 3 of 5

Good to hear there is progress.


I remember one of my colleagues mentioning that NI-Max Test Panels has some issue with a specific cRIO configuration we were using - and that when moving between using the Test Panel (only used for initial IO checks) and the cRIO application things had to be rebooted to see the values. Since we only used Test Panels rarely we didn't look into it much - but were just aware of a need to reboot the cRIO if used. That system included NI-9216 and other types of module, but the cRIO wasn't in Scan mode.


Regarding not being able to see some of configuration settings when in Scan mode - there are some IO modules that are compatible with Scan mode and this thread states the the 9216 is not compatible (but also mentions that NI may be updating things so it does):


Consultant Control Engineer
Message 4 of 5
Accepted by topic author JonLert

Hi Andy,

I tried twice rebooting the cRIO to see if something changes but unfortunatelly I didn't get anything...


Looking in the forum previous to post my question I also checked the link you found, but after that, I found the following two links:

So, I understand that it should be compatible now, but maybe at the beginning it wasn't.


In any case, I rewrote the code for DAQmx and it seems to work well in that mode, so maybe I will let it be like that...

Thank you for your suggestions and support!!!


0 Kudos
Message 5 of 5