Using Differential Mode on a Voltage Input Module on a CompactRIO

Updated May 13, 2024

Reported In


  • NI-9205
  • NI-9206
  • NI-9209
  • CompactRIO Chassis

Issue Details

I am trying to create an application using a NI-9205/NI-9206/NI-9209 in a CompactRIO. The NI page specifies that it has 32 single-ended channels or 16 differential channels. I have selected differential mode for all of the channels, but I am still able to use I/O nodes for all 32 channels in my code. How is this possible?


Each channel on the NI-9205/NI-9206/NI-9209 has the ability to return a single-ended reading or a reading as part of a differential pair. This is configured through the module properties in the LabVIEW project as shown here. These properties can be accessed by right clicking on the module in the project window and selecting Properties:

For each Analog Input line (AI0 - AI31), there is a Terminal Mode drop-down menu allowing you to choose how the measurement is referenced. For guidelines on how to properly reference an analog measurement, refer to the table taken from Developer Zone Tutorial: Field Wiring and Noise Considerations for Analog Signals

For the Module Properties page, differential mode (DIFF) can only be selected for channels AI0-AI7 and AI16-AI23. When these channels are selected to be in differential mode, the channel number plus eight (AI"x" + 8) is the corresponding terminal it will be referenced with. Thus, the differential mode cannot be selected for channels AI8-AI15 and AI23-AI31 because these channels correspond with the negative signal input. See pages 15-16 in the NI 9205 Getting Started Guide for a reference for the differential terminal pairs.

To get a value for the differential measurement, you need to take a reading from the I/O Node corresponding to the positive signal. For example, when measuring a differential signal with AI0 and AI8, the hardware will measure the difference between the AI0 (AI+) and AI8 (AI-) signals, and output this measurement to the I/O Node corresponding to AI0. Only the properties for the positive channel (in this case AI0) need to be configured; the settings for the negative channel (AI8) can be ignored.

Due to incorrect grounding settings, a reading from AI8 (AI-) while wired in differential mode will likely produce errant data. However, if your circuit is wired in a RSE or NRSE mode, you can use the I/O Node for AI8 to read the single-ended data.