LabVIEW Queues on Real-Time Target Stop the Program Using myRIO

Updated Oct 17, 2022

Reported In

Hardware

  • myRIO Student Embedded Device

Software

  • LabVIEW
  • LabVIEW Real-Time Module

Issue Details

I am using queues in my LabVIEW program on the myRIO to acquire and write data to a file. The data is recorded, but after running for a short period of time my program just stops. Why is this happening?

Solution

This is happening because you are most likely writing data to your queue at a faster rate than you are reading. After an amount of time, the queue fills up and you run out of memory to perform the operation, stopping your program. You won't get an indication of this because the program is running on a Real-Time target (running this on Windows would return the popup below):

 

To get past this memory error, make sure you are writing data to your queue either at the same speed or slower than the rate at which you are dequeueing elements. You can accomplish this by implementing LabVIEW's native wait functions