Analog Output Regeneration in NI-DAQmx

 The National Instruments Getting Started with NI-DAQmx Series is aimed at helping you learn NI-DAQmx programming fundamentals. Through video and text tutorials, this series will take you from verifying your device's operation in Measurement & Automation Explorer (MAX) to programming data acquisition applications using LabVIEW. It is intended for both the beginner who wants to learn how to use the DAQ Assistant, as well as the experienced user who wishes to take advantage of advanced NI-DAQmx functionality.

Regeneration refers to the DAQ device's ability to 'regenerate' samples that it previously generated. In other words, when regeneration is enabled, data written to either the user buffer or the FIFO is reused by the DAQ device. In this way, a continuous output can be achieved without LabVIEW (or other ADE) having to continuously write new data to the buffer. For example, a single period of a sine wave could be written to the buffer, and regeneration could be used to output a continuous waveform.

There are two modes of regeneration: User Buffer (PC Memory) regeneration and FIFO regeneration. In LabVIEW, a DAQmx Write property node can be used to manipulate the way data is written into the buffer and to disable regeneration. The specific properties of interest in this case are Relative To, Offset, and Regeneration Mode.

Figure 1. DAQmx property node that sets up User Buffer regeneration.

With FIFO regeneration, data is regenerated straight from the onboard FIFO. No data is transferred across the bus. Furthermore, all data must fit on the FIFO. To enable FIFO regeneration in DAQmx, a DAQmx Channel property node must be used. Wire a 'true' to the AO.UseOnlyOnBrdMem property.

Figure 2. Section of code that sets up the FIFO regeneration.

Was this information helpful?