LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

No Signal from 9238 Module in FPGA

Solved!
Go to solution

I have been banging my head against the wall trying to get a signal from a 9238 module in my FPGA program. I'm sure I'm just missing something simple, but I can't figure it out.

 

I am running a cRIO-9040. I have used this 9238 module before with no issues. If I open the test panel in MAX, I can see my signal, but I get nothing running in FPGA. I have the module programming mode set to FPGA Interface. I've moved the I/O node into its own loop to try to isolate the issue. My tick count for the loop is counting up as expected, but the loop iteration count is incrementing every 10 seconds or so, which tells me that the loop is sitting waiting on the I/O node. Any ideas what I might be missing? 

 

crk98_0-1643758090198.png

 

0 Kudos
Message 1 of 4
(772 Views)

There's nothing obvious that's wrong with your code.  You pretty much followed the shipping example from NI except they used a FIFO to transfer the data to the real-time system instead of using front panel indicators.

How are you reading the data in the real-time code?  You might try writing the data into a FIFO (or DMA FIFO) like they did instead of transferring data through the front panel indicators.  Using the front panel indicators to transfer data will cause data loss because the FPGA can write to the indicator register(s) faster than the real-time system can read from them over PCIe.

 

Also, I would also remove the Mod2 Start/Stop from the code since Mod2 appears to be unused.

 

If that doesn't work, I suggest trying the shipping example "NI 9238 Getting Started" and comparing your code to theirs.  I see some small differences that shouldn't affect functionality.

0 Kudos
Message 2 of 4
(718 Views)
Solution
Accepted by topic author crk98

Thank you, I actually figured out the issue this morning.

 

I am passing my data through a FIFO, I had just stripped everything down to what is in the screenshot to simplify debugging this issue. Mod2 is used in my program. I was throwing darts trying to solve this and one thing I tried was separating the Mod2 Start/Stop and the Mod4 Start/Stop into separate nodes. As soon as I did that, it started working. I have no idea why, but it's working now.  

0 Kudos
Message 3 of 4
(711 Views)

Glad you fixed the issue.  I had a feeling that might have been an issue with Mod2 and Mod4 being part of the same I/O node.  I'd be interested in hearing from NI to specifically understand what the Start and Stop are doing.

0 Kudos
Message 4 of 4
(705 Views)