06-03-2005 08:19 AM
06-07-2005 05:10 PM
07-25-2005 09:11 AM
From the screenshot, it seems that the acquisition step is not configured to wait on the generation step, which probably explains part of the problem. However, even if a wait dependency was established, you would probably still have to set a pre-execution delay. But in that case, the delay could be smaller, which could make the project run faster. The delay is necessary because the NIDAQmx Generate step finishes its execution before the buffer is completely generated (I've been explained in the past that this has something to do with the size of the output FIFO of the device).
If you were using a PCI or PXI device instead of a PCMCIA device, I would recommend sharing a trigger between the analog input and the analog output tasks. By configuring the NIDAQmx Generate step to "Generate N Samples", configuring the NIDAQmx Acquire with a digital start trigger, and using the start trigger signal of the analog output task as the trigger source, you could ensure synchronization of the acquisition and generation for each iteration of the sweep loop. The delay would become unnecessary and the project would run much faster. Unfortunately, SignalExpress doesn't support trigger sharing on PCMCIA devices, so the only option is to configure the acquisition to wait on the generation and set a delay. These parameters can be accessed in the "Execution Control" tab of the NIDAQmx-Acquire step.
Christophe Restat
Staff Software Engineer
National Instruments