0

I wanted to use a NI card USB-6216 to generate a continuous sinus signal via analog output for a long time (hours, until my measurements are done) and in my measurement routine, I also wanted to read my analog inputs.

My questions are now:

  • Is this in general possible to read analog inputs while generating an analog output signal?
  • How can I close my task in a right way? In my Code example (below), the sinus signal works fine but I can't rewrite my NI card because I get the error:

DaqError: Wait Until Done did not indicate that the task was done within the specified timeout. Increase the timeout, check the program, and make sure connections for external timing and triggering are in place. Task Name: _unnamedTask<2E3E1>

Status Code: -200560

Code example:

import nidaqmx
import numpy as np
from nidaqmx.constants import AcquisitionType

SamplesPerSignal = 100
SignalFrequency = 1000
NumberOfCycles = 100000000
Amplitude=2
w=2*np.pi*SamplesPerSignal
Sample = np.linspace(0,SamplesPerSignal,num=SamplesPerSignal)
Signal= np.sin(Sample*w)*Amplitude

task = nidaqmx.Task()
task.ao_channels.add_ao_voltage_chan("Dev1/ao0")
task.timing.cfg_samp_clk_timing(rate= SignalFrequency*SamplesPerSignal, sample_mode= AcquisitionType.CONTINUOUS, samps_per_chan=SamplesPerSignal*NumberOfCycles)
writer = nidaqmx.stream_writers.AnalogSingleChannelWriter(task.out_stream, auto_start=True)
writer.write_many_sample(Signal)
nico.wagner
  • 125
  • 4

0 Answers0