LabVIEW RT FIFO Only Outputs One Element In The Array

Updated Sep 15, 2021

Reported In

Software

  • LabVIEW
  • LabVIEW Real-Time Module

Issue Details

In LabVIEW, I am writing an array of data into an RT FIFO. When I read from that RT FIFO, I only read an array with one element in it.  

Solution

When creating the RT FIFO and defining the FIFO size, you must not only specify the number of elements in the FIFO (the number of arrays that can be in the FIFO, indicated by the size input) but also define how many elements are going to be in the arrays themselves. 

Do this by adjusting the elements in array input. This is by default 1, so change this to a suitable size for your application.

image.png

Additional Information

Regular FIFOs can allocate memory dynamically which make them easier to work with, but non-deterministic in nature. However, to keep RT applications determininstic, memory is preallocated when working with RT FIFOs.