问题标签 [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.

0 投票
3 回答
1996 浏览

labview - 是否可以自定义 NI-DAQmx 模拟设备返回的信号?

NI-DAQmx 具有“模拟驱动程序”功能。在 AI 的情况下,返回的信号是噪声正弦。是否有可能以某种方式改变这种行为以获得任何类型的信号?

如果没有,是否有一些替代方法来模拟硬件?

0 投票
1 回答
1658 浏览

c# - Prevent System.IO.FileNotFoundException when loading running code that uses a DLL from GAC

I'm using a third party API to access some data acquisition hardare (National Instruments hardware with DAQmx driver). To do so, I add a reference to its driver dll.

When I run the code on a machine that has the driver installed, no problem. But when I run on a machine without the driver, I get a System.IO.FileNotFoundException that cannot be caught in a try/catch.

How can I check, before I execute API code, if the dll is available and its types can be used. This is important because not all machines will support this kind of data acquisition hardware (and thus have the driver installed).

I'm not sure, but I think the dll is registered in the GAC on the machines that have the driver installed.

0 投票
2 回答
1639 浏览

c# - 如何在 C#.Net 中使用 DAQmx 计时(采样时钟)

我正在使用测量工作室。我需要DAQmx Timing VI在我的 C# 应用程序中使用该功能。这该怎么做。请帮我。

VI在这里

替代文字

替代文字

替代文字

0 投票
1 回答
1294 浏览

matlab - 从 NI 板进行数据采集时如何避免 matlab 中的数据丢失事件?

在获取波形数据(2 个通道)和模拟输入触发(设置为预触发模式 - 负延迟值)时,我在 matlab 中接收到 DataMissed 事件。

这是代码:

运行此代码时,我在收到触发事件后收到数据丢失事件(使用 showdaqevents(ai))。但是,数据丢失事件的样本数为 NA,所以我不能完全确定它们是在触发之后出现的。

这是 showdaqevents 输出的示例:

查看 matlab文档中的数据丢失事件,给出了两种解释:

  • 引擎跟不上采集速度。
  • 驱动程序在读取先前获取的数据之前将新数据写入硬件的 FIFO 缓冲区。您通常可以通过使用 BufferingConfig 属性增加内存块的大小来避免此问题。

我尝试使用 daqmem 命令增加可用内存,但我还没有发现它可以工作。500000 个样本/秒,3 个通道每个触发器总共大约 90 MB,daqmem 报告有超过 360MB 的可用空间(尽管缓冲模式设置为自动)。我想知道是否需要在 while 循环中定期调用 getdata(ai) 来清除内存。另一种可能性是我运行的系统采样率太高?

硬件:

  • 双核 CPU (Athlon X2 3200)、4GB RAM、500GB SATA 硬盘
  • NI PCI-6122

我应该提到,在按下触发器之前让系统获取的时间越长(及时),获得 DataMissed 事件的可能性就会越高。

我的数据采集代码是否有问题(我最不确定在采集过程中是否有暂停)?硬件?有什么不用担心的吗?Visual Studio 是否更适合处理 NI 板?

0 投票
2 回答
2859 浏览

php - National Instruments USB 6008 和 Linux

我去看看这里有没有程序octave的数据采集工具箱但是没找到http://octave.sourceforge.net/packages.php

我想做的是使用我的 National Instruments USB-6008 以八度或任何其他程序获取数据。我希望能够以年、月、日、小时、分钟、秒、电压的格式将数据导出到文本文件中。

因此文本文件将每秒读取一次,文本文件中将包含以下数据 11182011054735,3.3V 11182011054736,3.9V 11182011054737,3.1V

我正在运行 Ubuntu 10.04 Linux 64 位和 32 位版本,用于在虚拟机中进行测试 Octave 可以做到这一点吗?如果八度不能做到这一点,是否有任何示例或有人可以推荐其他东西?

PS:我知道matlab可以做到这一点,但这对我来说太贵了。

谢谢

0 投票
1 回答
540 浏览

windows - NI USB-6008 问题

我正在尝试运行我的 NI USB-6008 DAQ 卡附带的示例 C 程序。我正在尝试运行“ContGen-ExtClk.c”示例。构建程序时出现以下错误:

如果有人熟悉 USB-6008,我将不胜感激。谢谢!

0 投票
1 回答
937 浏览

c - mingw w64 labview构建错误

在过去的两天里,我一直试图让它工作,但不能。也许有人可以帮助我。让我先解释一下我的设置;

视窗 7 64 位

nidaqmx 9.1.7

明格 64 位

网豆 7.1.2

我创建了一个 def 文件(来自 C:\Program Files (x86)\National Instruments\Shared\ExternalCompilerSupport\C\lib64\msvc\nidaqmx.lib)。虽然 def 文件中没有 @ 符号。这是对的吗?

然后我运行 dlltool 并创建了我在链接器中使用的 libnidaq.a 文件。

一切正常。问题是当我尝试构建时出现以下错误:

我很确定一切都是 64 位的,所以我不知道这个错误来自哪里。

任何帮助将不胜感激。

0 投票
0 回答
1810 浏览

matlab - 带 NI 板的 DAQ:Matlab 和 Win64

在不知不觉中,我决定我的新数据采集计算机将是运行 win7 的 x64。我在计算机上运行 matlab 2012a,并使用 NI PCIe6363 卡进行数据采集。我的问题是关于新的 daq.Session 界面以及如何在后台收集数据(我实验的一个关键组成部分)。

我包括一些示例代码。我将尝试解释我认为代码应该做什么。而实际发生的事情......

代码:

预期功能:从卡中连续记录数据约 5 秒。就在扫描最后几个数据点之前,将数据保存在适当的位置。然后停止采集。

实际结果:

没有数据存储在适当的位置。实际上声称 ScansAcquired 的数量为零。就停下来。

怎么了?我应该如何设计我的听众?

=========

\开始{咆哮}

我不敢相信 matlab 网站对于基于会话的 DAQ 的记录是多么糟糕。并且没有定时数字 I/O?嘘!

\结束{咆哮}

=========

-bas

0 投票
2 回答
3300 浏览

python - 使用 Python 进行数据采集

我正在使用 National Instruments 板进行数据采集的项目。我有用于执行任务的功能 C 代码,但想使用 Python,因此 GUI 编程不那么痛苦。在我的 C 代码中,我使用 API 调用 setTimer,它定期引发 WM_TIMER 事件。Tk 循环中是否有类似的机制?我尝试使用以下代码。

after() 中的神奇“1962”是通过反复试验确定的,以提供大约 2 秒的延迟,但时间片会根据队列中的其他内容而漂移。有没有办法让我的时间片更准确?具体来说,我可以强制 Tk 在队列中的其他事情之前执行我的 DAQ 事件吗?

0 投票
3 回答
2612 浏览

matlab - Matlab的数据采集工具箱和图像采集工具箱能同步吗?

我想同时使用matlab从相机(即图像)和模拟电压获取数据。对于相机,我使用 imaq 工具箱,读取电压我使用 daq 工具箱(读取 NI-USB 设备),代码如下:

函数SaveData是:

我确实获得了带有 daq 跟踪(时间和数据)的图像和 log.txt 文件,但是如何使用外部触发(触发相机)或其他时钟来同步两者?对于此示例,数据采集器读取相机触发 TTL 信号(@ 50 Hz),因此我想将每个 TTL 脉冲分配给图像。

附录: 我一直在搜索并找到了一些关于这个主题的讨论(比如这个,并阅读了在 Mathworks 网站上找到的示例,但没有找到答案。该文档显示了如何在外部事件上启动多触发采集,但所讨论的采集仅与基于 DAQ 的输入相关,而不是基于摄像头的输入(它也在前台工作)。