问题标签 [daq-mx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - Matlab 数据采集,PCI 卡被错误地检测为 PXI 机箱卡
在 Matlab 2014b、2014a、2013b、2013a 中(不使用 simulink)
Windows7 64位基于会话的数据采集工具箱
使用 NI-DAQmx 14.1 和 NI-DAQmx 14.0
我有一块 PCI 卡被错误地检测为存在于 PXI 机箱中。这会导致以下操作失败,因为它们错误地引用了不存在的 PXI 机箱卡,而不是我实际安装的 PCI 卡。
obj.startBackground(), obj.startForeground(), 两者都会产生错误。例如:
该模块位于 PXI 机箱 4294967295 的插槽 4294967295 中。
有人可以建议解决方案吗?这是 daqsupport 的输出, 它也是它生成的文本文件(尽管上面的信息大多是多余的)。
请注意,全新安装 64 位 windows7 会发生这种情况。
nidaqmx - NI DAQmx -- 如何配置软件触发?
我一辈子都想不通如何使用 National Instruments DAQ mx 启用软件触发。文档模糊地提到了属性,或者它只能与开关设备一起使用,但它非常不完整。当然,NI 网站上的一个示例页面是完全空白的。我没有也不想要 LabView。
我只是想对其进行设置,使其同时获取并生成 1000 个样本。有很多关于模拟或数字硬件触发的文档,但我只想能够在相同的软件指令上开始生成/采集。
如果我发出两条顺序指令(一条用于生成样本,一条用于获取样本)可能就足够了,但我真的很想正确地执行它,因为我不知道启动两个任务之间的时序偏差。
那么如何生成一个软件触发器来同时启动 2 个任务呢?
顺便说一句,我在 Windows 7 x64 上使用带有 USB6363 设备的 PyDAQmx。
谢谢
c++ - C++ Qt 异步进程的快速计时建议
我目前正在处理我必须为测量设备设置的 Qt GUI。该设备正在使用图像采集卡,它可以非常快速地从线阵相机中抓取图像。我的图像处理并不复杂,需要 0.2 毫秒才能完成,而使用 QCustomPlot 显示信号和处理结果大约需要 40 毫秒,完全可以。除了 GUI 输出之外,处理后的信号也将作为模拟信号由 NI DAQ 设备输出。
我的问题是我必须以恒定频率更新模拟信号,并且仍然不时更新 GUI。
我目前的方法或想法是创建一个数据池线程和两个工作线程。一个工作线程从图像采集卡接收数据,对其进行处理并更新数据池。第二个工作线程使用 NI DAQ 设备中的时钟给定的大约 2-5kHz 的特定频率更新 NI DAQ 的模拟通道。并且GUI线程会不定期地读取数据池,以大约20-30Hz的速率更新信号显示。
我想使用 Qt 线程管理和他的信号和槽机制,因为它的“简单性”并且因为我已经将线程与 Qt 及其线程类结合使用。
有没有更好的方法,有人有想法或任何建议吗?我是否有可能在线程计时方面遇到问题?
此外,是否可以在多核 CPU 上将一个线程分配给一个 CPU 内核,以便该内核仅处理该单个线程?
labview - Labview:我无法从多个通道读取电压(DAQmx 读取)
我有一个来自 National Instruments 的 SCB 68A 连接器,我想从中读出开路电压。所以我使用了 National Instruments 提供的示例代码(https://decibel.ni.com/content/docs/DOC-28502):
我得到了 5 mV,这是一个合理的值(我用示波器测量了噪声信号)。现在我想从几个通道中读出噪声信号。所以我稍微改变了VI(根据我需要创建一个通道数组并将它们展平的文档):
但现在我在两个通道上读出了大约 200 mV(其中一个与第一个 VI 中的相同)。这没有任何意义。
我究竟做错了什么?
我希望用户能够选择频道,所以我不能只写“Dev1/ai0:4”。
编辑:我正在使用 DAQ 14.0.0。
编辑 2:1) 没有任何东西连接到设备 - 我只想读出噪声信号。2) 我在 MIO 中使用禁用温度传感器模式(默认配置)的连接器。
python - Tox 返回键错误:运行 DAQmxConfig.py 文件时出现“PROGRAMFILES”
运行 py.test 命令时出现错误。
在 tox 文件中,我设置了安装 pytest-bdd、PyDAQmx 和所有其他相关安装的 deps。
我的问题是 DAQmxConfig.py 文件(pydaqmx 安装附带)失败,因为我认为它找不到程序文件目录。
请参阅此处的代码:http: //pydoc.net/Python/PyDAQmx/1.3/PyDAQmx.DAQmxConfig/
错误截图如下:
qt - 在 qt 中运行程序以从 DAQ 读取时出错
我有一个简单的数据采集系统,可以从 NI USB 6009 读取模拟直流电压。我还创建了一个 qt 控制台应用程序来使用 NIDAQmxbase 功能。
.pro文件如下
我在项目文件夹中包含了 .lib 文件和 .h 文件。
我的 main.cpp 文件如下所示
但是,当我运行程序时,我收到以下错误“DAQmxBase 错误 -200428:传递给控制中的任务/通道的值无效”
我已验证设备名称与 NI MAX 中的相同,但问题仍然存在。
请帮忙
c - 访问外部生成的数组中的值
我正在获取电压读数并将其转换为压力读数。这是我第一次使用 C 的真实体验,所以我的代码很混乱,但到目前为止运行良好。我面临的问题是让程序计算介于最小和最大期望值之间的读数(存储在数组 data[i] 中)的数量。
这是代码, Sum2 和 count 是给我带来麻烦的区域。Sum2 是添加 999 个值而不是过滤,并且 count 在应该接近 500 时总是导致 998
编辑:
data[i] 中的读数是电压,我正在承受压力。我的校准曲线是 P=(V-2.9674)/.404
labview - 你可以在没有 NI 光学编码器的情况下使用 DAQmx 吗?
DAQmx 是否仅适用于 NI 硬件,还是可以适用于其他品牌的设备?如果不能,我将如何开始为存储步进电机位置的光学编码器制作框图?抱歉新手问题,谢谢。
labview - 错误 -200361 使用 USB-6356 X 系列 DAQ 板进行 SPI 控制
我正在使用 USB-6356 DAQ 板通过 SPI 控制 IC。
我正在使用NI SPI 数字波形库的一部分来创建数字波形,然后使用一个小型包装 VI 来传输代码。
我的 IC 在 RTD 上测量温度,目前控制 VI 有一个“推动单次测量”样式按钮。当我按下它时,运行 SPI 通信的一系列其他 VI 返回温度。
在按了一些次数后(非常快速地单击按钮会使这在时间上更快地发生,但不一定在单击次数上),VI 生成错误 -200361,名义上是 DAQ 板上的 FIFO 缓冲区溢出。
我不清楚这是否真的是问题的原因,但我不这么认为......
描述 USB-600{0,8,9} 设备此错误的NI 指南看起来很有希望,但遵循这些建议并没有帮助我。我用“DI.UsbXferReqCount”代替模拟等效项,因为我的读取任务是数字的。读取默认返回 4,所以我将属性更改为 write 并选择了“1”,但这没有什么区别。
我尝试使用设备管理器卸载 DAQ 板,拔下并重新插入,但这也没有改变任何东西。
我的猜测是,在读取和写入任务的“有限样本”部分结束后会生成额外的时钟样本,这些可能会添加溢出的空白数据,但返回的温度并不表示奇怪的数据,而且我会假设如果是这种情况,我的 VI 将无法将读入的数据解释为正确的温度。
我附上了我正在使用的 Transmit VI 的框图图像,但实际上要让它运行需要整个 VI 库。
控制 VI 附在NI 论坛上几乎相同的论坛帖子上。
python - PyDAQmx.Task() reises RecursionError
简单的代码:
提出:
功能错误:
我不知道为什么。
这是在我尝试安装“instrumental-lib”和“NiceLib”(http://instrumental-lib.readthedocs.io/en/latest/ni-daqs.html)之后,但重新安装 Anaconda、PyDAQmx 和 NIDAQmx 驱动程序没有影响。