Loop Timing for the NI 9218 (FPGA Interface)
- Updated2025-10-09
- 2 minute(s) read
The NI 9218 uses an internal master timebase. When creating a loop with an I/O Node that acquires data from the NI 9218, do not use the Loop Timer or Wait functions. If the loop execution time is slower than the data rate of the NI 9218, the FPGA I/O Node returns an overrun warning and continues to read from the module.
The overrun warning means that the data the FPGA I/O Node returns is valid, but the function missed one or more data points since the last time it read data from the NI 9218.
The function returns the overrun warning when all of the following conditions are true:
- The NI 9218 is in acquisition mode.
- An FPGA I/O Node that is acquiring data from the module executes at least once after you put the module in acquisition mode.
- The FPGA I/O Node did not read one or more data points since the previous time the function executed.
Avoiding Overrun Warnings with the NI 9218
Follow these guidelines when developing an FPGA VI to avoid overrun warnings.
- Ensure that the loop does not execute slower than the data rate of the NI 9218.
- When reading from the NI 9218 and an additional internally timed module in the same loop, use one FPGA I/O Node to read all module channels. You also must synchronize the NI 9218 and the additional internally timed module.
- You can read from an NI 9218 and a non-internally timed analog input module in the same loop if the other module can acquire data as fast or faster than the data rate of the NI 9218. If you use the same FPGA I/O Node to read data from the modules, the FPGA I/O Node does not return data for the other module until the NI 9218 acquires data.
- Use different loops for the NI 9218 and another analog input module that acquires data slower than the NI 9218.