问题标签 [nidaqmx]
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 事件和侦听器:从事件调用中传播信息
我有一个对象,它包含在我的程序中创建的事件(具体来说,一个基于会话的 ni daq 带有一个“DataAvailable”事件,每次获取一定数量的样本时都会触发。)此事件将在期间随机触发运行我的程序的过程,该程序将执行其他与录制无关的事情。触发时,它将收集数据块并将其保存在文件中。
我的问题是每次触发事件时,我都需要在原始程序中增加一个计数器(我将其命名为“块”)。这一点至关重要,因为我的程序中的许多功能取决于我能否准确测量块的数量。
问题:如何将事件已触发的事实传播到我的主程序中?
对于更好地处理(伪)代码的人:
谢谢
-bas
virtual-machine - 在 Windows 7 虚拟机中运行 NI-DAQmx ANSI C 示例时出错
我正在使用 VirtualBox 运行带有 Ubuntu 14 主机的 Windows 7 来宾系统,并且在使用 NI-DAQmx 的 ANSI C API 运行 National Instruments 提供的最简单示例时遇到了问题。
第一次打开 DAQ 设备电源时,我可以运行一次测量,之后,任何其他测量都会显示以下错误消息:
为了能够开始新的测量,我必须重新启动 DAQ 设备,可能是为了清除任何被覆盖的内部缓冲区。
我有兴趣使用回调函数运行基本的连续电压测量。(NI提供的ContAcq_IntClk示例)
完全相同的配置,相同版本的 NI-DAQmx(9.7.5),在 Visual Studio 2012 上运行,在直接运行 Windows 7 的机器上运行流畅。
我怀疑问题在于内部缓冲区由于与虚拟机的连接而被搞砸了,但无法找到一个优雅的解决方案来修复它。
我使用的设备是 NI USB-6289。
固定的:
VirtualBox 似乎与 NI USB 设备存在兼容性问题。它似乎有效,但它是不可预测的。VMWare 工作得更好。切换到 VMWare Player,现在可以完美运行。
nidaqmx - 使用 NI DAQMx 设置模拟输出的频率
我正在尝试使用 NI DAQMx ANSI C 库输出包含在 wav 文件中的波形。我正在使用 libsnd 库读取 wav 文件,并且能够成功提取数据,但是输出波形的频率远高于实际的 wav 文件本身。有谁知道如何设置输出波形的频率。我正在使用 PCIe 6351 数据采集卡。
以下是我为完成此任务而编写的一些代码:
我会很感激我能得到的任何帮助。谢谢!
阿图尔
python - ctypes uint64 转换错误
我遇到了以下问题:
我通过 c 类型加载 nicaiu.dll 来控制NI-USB6218
数据采集板,我必须调用几个函数来初始化它(DAQmxCreateTask(), DAQmxCreateAIVoltageChan() and DAQmxCfgSampClkTiming()
)。
前两个调用有效,但DAQmxCfgSampClkTiming()
引发此错误
参数 6 应该是 uint64 参见Doc 这是我的函数调用:
我也尝试过 values = c_uint64(40000)
,但没有奏效。
Edit1: dll 位于 System32 文件夹 (Win7)
例如,此函数调用有效(返回值 = 0)
编辑2:
添加了 argtypes 行
仍然得到错误代码 -200077 此代码的定义是:
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 会发生这种情况。
osx-yosemite - NIDAQmx 优胜美地兼容性
我已经安装了 osx 10.10 ( Yosemite ),从那以后设备 (NI-USB 6210) 不再工作了。问题显然与驱动程序有关。我打电话给 National Instruments,他们确认了这个问题,他们还告诉我这个问题可能会在 nidaqmx 的下一个版本中得到解决,不会很快发生。所以他们的建议是降级到小牛,这有点糟糕。他们还告诉我检查兼容性表
http://www.ni.com/labview/os-support/i/
为了知道何时会得到支持,在那之前我必须努力降级或找到一种解决方法,这将是最好的事情。最近有人找到解决这个问题的方法吗?
matlab - National Instruments USB 6009 在 Matlab 中无法识别数字通道
我正在尝试使用 Data Acquisition Toolbox 将 National Instruments USB6009 与 Matlab(Windows 7 上的 2012a)一起使用,但是当我查看设备时,它没有注册任何可用的数字通道:
我知道这个设备有数字频道。我试过备份 USB 6008,我遇到了同样的问题。
我已经安装了 NI 的所有最新驱动程序。我也尝试过“addDigitalChannel”,但我收到一条错误消息,指出这对于给定的 daq 是不可能的。
任何想法或建议将不胜感激。
谢谢,埃里克
python - 使用 PyDAQmx 读取模拟输入产生恒定值
各位堆垛机大家好,
今天我发现了一个名为 PyDAQmx 的 Python 模块,我打算用它来读取National Instruments USB-6221数据采集盒中的模拟数据通道。我已经将此框与 LabView 结合使用,但我需要将数据从 LabView 流式传输到 Python 脚本中,这有点麻烦。安装 PyDAQmx 模块就像一个魅力,示例代码立即运行,没有任何错误。但是,当我检查从通道 1 获得的收集数据向量时,我看到了一千次10.61799802
,这不是我所期望的输出。研究其他通道后,输出会越来越低,从通道 0、1 和 2 上的大约 +10 V 开始,到最高编号通道上的 -10 V。两者之间的通道似乎只产生电子噪声。
我怀疑我没有正确设置代码,因为 LabView 确实给了我正确的值,但我不知道在哪里寻找(我以前从未使用过 DAQmx 库)。这是我的代码:
希望有人可以帮我解决这个问题。我可以根据要求添加更多详细信息。谢谢!
visual-c++ - 使用 NI DAQ 卡读取力传感器数据时如何设置采样率
我正在使用 NI DAQ 卡读取力传感器数据,我能够完美地读取数据,但我很困惑如何设置所需的采样率。现在,当我检查采样率时,它会给我随机值,就像某个时间一样是500hz,有时是50000hz。
这是我用于读取力传感器数据和计算采样率的代码。
编辑:当我更改样本数量时,我的应用程序的吞吐量会急剧下降,在 ForceSensor.h 文件中,如果我将以下函数中的样本数从 2 更改为 100,应用程序的吞吐量会从 10kHz 降低到 500Hz。请指导我与此有关。
我也在使用 NI Motion 卡来控制电机,下面是我添加了 NI Motion 代码的 main.h 文件。当我在 main.h 文件中添加 NI Motion 代码时,应用程序的吞吐量会降低到 200Hz,无论我在力传感器中使用的样本数是多少。当同时使用 NI Motion 控制电机和 DAQ 读取力传感器时,有什么方法可以提高应用程序的吞吐量?
c# - Matlab调用C#或C并控制NI DAQ
我需要使用MATLAB来控制NI DAQ软件,并为NI设置参数,可以单独通过Matlab编程完成还是更好地调用另一个C或C#?如何?