DMA FIFO Full Error When Running cRIO Logging Template for Extended Periods

Updated Jan 26, 2018

Reported In

Hardware

  • cRIO-9082

Software

  • LabVIEW Real-Time Module
  • LabVIEW FPGA Module
  • LabVIEW Full

Issue Details

I am running the CompactRIO (cRIO) Waveform & Data Logging Template Project without any changes to the code, except the cRIO target model. It runs without any issues at the start but after some time, I keep getting an error on the host's System Status, that there is a DMA FIFO FULL error.

Solution

The cRIO Waveform & Data Logging template aims to implement a near complete solution for a typical data logging application using the cRIO platform. Among the myriad of features implemented, is a process that periodically checks the total disk usage, and deletes the oldest data when it is close to being full. You can find this process in the following directory:
RT Target >> RT Main.vi >> Acquisition and Logging.vi >> Manage Drive.vi





The template was intended to be used on cRIO models with limited onboard storage, and will work fine with similar models. However, some cRIO models have a much larger onboard storage, where the maximum number of files allowed on the cRIO is much higher, before it gets purged. This causes the Recursive FIle List.vi insideĀ Manage Drive.vi process to take a considerably long time to complete, not allowing the Acquisition and Logging.vi to empty the DMA FIFO from the FPGA.

This process will need to be further developed in order to work on large storage folders, some recommendations are:
  1. Increasing the Minimum Drive Free Space (%)
  2. Removing the Manage Drive.vi entirely
  3. Removing the use of Recursive File List.vi and using low level functions to list data files

Additional Information

On the cRIO-9082, this issue will occur when the number of files in the folder reaches 3398.

WAS THIS ARTICLE HELPFUL?

Not Helpful