Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用PyDAQmx读取模拟输入产生常量值_Python_Nidaqmx - Fatal编程技术网

Python 使用PyDAQmx读取模拟输入产生常量值

Python 使用PyDAQmx读取模拟输入产生常量值,python,nidaqmx,Python,Nidaqmx,各位好,斯塔克斯 今天我发现了一个名为PyDAQmx的Python模块,我打算用它从数据采集箱中读取模拟数据通道。我将此框与LabView结合使用,但我需要将LabView中的数据流化为Python脚本,这有点麻烦。安装PyDAQmx模块的过程非常顺利,并且没有出现任何错误。然而,当我检查从通道1获得的收集数据向量时,我看到了1000次10.61799802,这与我期望的输出不完全一致。对其他通道的研究给出了越来越低的输出,从通道0、1和2的+10 V左右开始,到编号最高的通道的-10 V。中间

各位好,斯塔克斯

今天我发现了一个名为PyDAQmx的Python模块,我打算用它从数据采集箱中读取模拟数据通道。我将此框与LabView结合使用,但我需要将LabView中的数据流化为Python脚本,这有点麻烦。安装PyDAQmx模块的过程非常顺利,并且没有出现任何错误。然而,当我检查从通道1获得的收集数据向量时,我看到了1000次
10.61799802
,这与我期望的输出不完全一致。对其他通道的研究给出了越来越低的输出,从通道0、1和2的+10 V左右开始,到编号最高的通道的-10 V。中间的通道似乎只产生电子噪声

我怀疑我没有正确设置代码,因为LabView确实给了我正确的值,但我不知道在哪里查找(我以前从未使用过DAQmx库)。这是我的密码:

import numpy as np
from PyDAQmx import *

N_samples = 100
log_rate = 100.0

taskHandle = TaskHandle()
read = int32()
data = np.zeros((N_samples,), dtype=np.float64)

DAQmxCreateTask("", byref(taskHandle))
# I have an LVDT plugged into channel ai1 with range +/-10V
DAQmxCreateAIVoltageChan(taskHandle, "Dev1/ai1", "LVDT", DAQmx_Val_Cfg_Default, -10.0, 10.0, DAQmx_Val_Volts, None)
DAQmxCfgSampClkTiming(taskHandle, "", log_rate, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, N_samples)

DAQmxStartTask(taskHandle)
DAQmxReadAnalogF64(taskHandle, N_samples, 10.0, DAQmx_Val_GroupByChannel, data, N_samples, byref(read), None)

print data

希望有人能帮我一把。我可以根据要求添加更多详细信息。谢谢

我找到了问题的根源,并通过更改:

DAQmxCreateAIVoltageChan(taskHandle, "Dev1/ai1", "LVDT", DAQmx_Val_Cfg_Default, -10.0, 10.0, DAQmx_Val_Volts, None)


您是否介意详细说明解决问题的原因?默认终端配置
DAQmx\u Val\u Cfg\u default
不合适,因此我必须将其显式设置为
DAQmx\u Val\u RSE
。看见
DAQmxCreateAIVoltageChan(taskHandle, "Dev1/ai1", "LVDT", DAQmx_Val_RSE, -10.0, 10.0, DAQmx_Val_Volts, None)