Static Digital Input or Output with M Series or X Series PFI Lines

Updated Aug 1, 2023

Reported In


  • NI-DAQmx

Issue Details

I am using an NI 62xx (formerly M Series) or NI 63xx (formerly X Series) device or module and the specification sheet says that the PFI functionality includes static digital input and output. However, when programming with NI-DAQ™mx, I can't seem to access a PFI line using the physical channel constant. How do I use the PFI lines of my M Series or X Series device for static digital input or output?


The ability to use the PFI lines as static digital inputs and outputs is a feature found on NI M Series and X Series devices. However, different terminology is used for the terminal depending on the function for which you use the PFI line. 

On the I/O connector, each terminal is labeled either PFI x, or Px.y. When a terminal is used as a timing or synchronization signal, it is called PFI x, where x is an integer. By contrast, when a terminal is used as a digital input or output, the terminal is labeled Px.y, where x is an integer representing the port number and y is an integer representing the line number. The device pinout will allow you to see what the corresponding digital terminal is for each PFI line. Consult the user manual or the NI-DAQmx Help to find the device pinouts. 

For example, on a NI-6251, to use PFI0 as a digital input or output, you should choose P1.0 as the physical channel.

Figure 1. NI-6251 Device Pinout
In software, the digital port and lines are called out by name. For example, if line 0 on port 1 was to be used on a device with alias NI_6251, we would use NI_6251/port1/line0 to refer to this physical terminal. This same terminal could be called PFI0 if it were used for another purpose other than DIO. 

Figure 2. DAQmx Create Virtual Channel VI
Please refer to Chapter 8 of the M Series User Manual or the X Series User Manual for more information on using the PFI lines.