Real-Time Measurement and Control

Showing results for 
Search instead for 
Did you mean: 

Use Controller PFI (PFI 0) on cRIO 9040 as Digital Trigger input in FPGA mode.

Go to solution

I am using cRIO 9040 in FPGA interface mode.  All slots are occupied with AI modules.   

When I selected cRIO 9040, I thought the controller PFI pin can be accessed from FPGA, because cRIO 9040 specification does not mention anything about in which programming mode the controller PFI is supported or not.  

And I realized that the controller PFI pin can be used only in DAQmx programming mode and not supported and accessible by FPGA interface mode.  


Is there any way to access the controller PFI, when all the C-modules are programmed in FPGA interface mode?  



Osamu Fujioka

TRIONIX, NI Japan partner

0 Kudos
Message 1 of 7
Accepted by topic author UMASO

I just found out how to access Controller PFI from FPGA VI.  It cannot be directly accessed via FPGA IO node, but it can be accessible by routing Controller PFI to any of cRIO trigger line on host-side first, then, place IO node of the routed cRIO trigger line.  

For anybody who get same question as me, let me attach VIs which I made for test.  


main - RT.pngmain - FPGA.png



The capabilities of new DAQmx-enabled CompactRIO seem much better than I could imagine...  CompactRIO technology keeps evolving and amazing.  

Message 2 of 7


Error -89118 occurred at DAQmx Connect Terminals if you use PFI0-3. 

Note example above is using PFI7. 

See here:



0 Kudos
Message 3 of 7

Hello NickNZ, thanks for the additional info.  

0 Kudos
Message 4 of 7

No problem. There was no other useful links that assisted with that error code on this site. Should save others some time. 

0 Kudos
Message 5 of 7


This works great - but on the cRIO 9054 the PFI input is high impedance by default. 

I wanted to use a toggle switch on it - but currently need a pull up resistor to 5V to get it to work. 
I can't see how to enable an internal pull up. Any suggestions?




0 Kudos
Message 6 of 7

Hello Nick, 


I've taken a look at the specifications for the cRIO-9054, and it seems like it is not possible to enable an internal pull up; however, it may be possible to enable a pull up by using an external circuit. 


I've found a KB that discusses how to connect a sinking input to a sinking output by adding a "Pull Up" resistor between the output of the I/O to a voltage source. 

I've linked the KB below for your reference. 


Connecting Two Sinking I/O or Two Sourcing I/O Together - National Instruments


Best Regards,


Lisa Ban 

Applications Engineer

NI Japan

Message 7 of 7