【发布时间】:2023-02-03 15:57:58
【问题描述】:
这是我的第一篇文章,所以请与我裸露。
我的情况:我正在尝试编写一个 python 程序来从二极管读出模拟信号,同时通过使用国家仪器卡将模拟电压写入设备。 一个非常简单的方法可以是:
import nidaqmx
task_1 = nidaqmx.Task()
task_2 = nidaqmx.Task()
task_1.ao_channels.add_ao_voltage_chan(channel_name1, min_val= -2, max_val=10)
task_2.ai_channels.add_ai_voltage_chan(channel_name2)
task_1.start()
task_2.start()
values1 = np.zeros(steps)
values2 = np.zeros(steps)
for i in range(steps):
values1[i] = i
task_1.write(i)
values2[i] = task_2.read(1)
task_1.close()
task_2.close()
# Followed by later plotting
plt.plot(values1, values2)
我的问题:
我想要更多的读数,因为程序没有我希望的那么快。我尝试了多线程来分离读出和写入(并连续读出),还尝试了“reader.read_many_sample”功能,但这需要我知道我想要多少样本。
我在寻找什么
我正在寻找一种解决方案来应用输出信号(如斜坡扫描)并连续获取数据点(例如读数)。斜坡完成后,我希望读数停止并访问数据点。但是我希望读/写的开始和结束是同步的。
先感谢您!
【问题讨论】:
标签: python performance nidaqmx diode