RT PCIe Card Only Pulls Samples from the Buffer When Eight Samples Are Available

Updated May 29, 2018

Reported In

Hardware

  • PCIe-6323

Software

  • LabVIEW 2015 Full

Driver

  • NI-DAQmx 15.0.1

Operating System

  • NI Linux Real-Time

Issue Details

  • I am using a PCIe 6323 and a RT program. The RT program is not reading from the buffer until eights samples are in the buffer, even though I have set the DAQmx Read samples per channel as -1 which sounds like it should pull as soon as there are samples available. 
  • How can I force my RT program to acquire samples from the buffer as soon as they are available? 

Solution

There are a few methods to try to address this issue: 
  • Try setting the "ReadAllAvaliSamp" Property node for the task to specify that all samples are read. Setting this property to True may help force the behavior.
  • Try setting the "Onboard Memory Not Empty" property node to force a transfer when there's a sample in the Onboard Memory. 
  • Try setting the number of samples to read from the buffer rather than trying to read all available. Rather than specifying -1 in the DAQmx Read VI to read all samples, set a specific number of samples per channel. This ultimately gives you more control over the rate that samples are pulled from the buffer. 
  • Try switching to Hardware Timed Single Point to bypass the buffer operations all together. This is recommended for control applications. 

WAS THIS ARTICLE HELPFUL?

Not Helpful