【NI-DAQmx入门】多通道数据采集

news2024/11/25 0:24:17

1.通道扩展解释

        通道扩展是扩展数据采集设备的通道以包含另一个设备的通道的过程,从而有效地创建具有更多通道的任务。当使用通道扩展时,DAQmx 自动在 DAQmx 驱动程序级别路由触发器和时钟,以便多个设备同步。为了使设备作为一个整体运行,这种同步是必要的。通道扩展是同步多个 DAQmx 设备的最简单且通常最精确的方法之一。

        此外,即使使用通道扩展,多个 DAQmx 创建虚拟通道实例也可以合并到一个 DAQmx 任务中。这允许单个 DAQmx 任务包含不同的测量类型以及来自多个设备的通道。

        通过多次调用DAQmx创建通道VI,能够在同一任务中创建不同测量类型的通道。要将电流读数添加到电压读数中,可以串联创建两个通道。以下屏幕截图显示了对示例“电压-连续输入”(帮助>>查找范例>>硬件输入与输出>> DAQmx >>模拟输入)的编辑,以获取电流读数和电压读数:

尽管 DAQmx 任务可以将多个通道捆绑在一起,但它通常仅限于只能访问一个硬件设备(Compact DAQ、S 系列、X 系列和 DSA 模块除外)。如果您尝试将多个设备组合到一个任务中,如下所示,您将收到此错误,因为每个设备都有自己的采样时钟,并且任务只能在一个采样时钟上计时。


相反,您应该为每个设备使用单独的 DAQmx 任务,如下所示。
 

 

排除的模块允许进行此类设置,因为 S 系列、X 系列和 DSA 模块支持模拟输入的通道扩展(请参阅下面链接的相关知识库),并且紧凑型 DAQ 机箱可以对它们包含的所有模块使用单个采样时钟。

一般规则和条件

所有设备

  • 任务中的所有通道必须是同一类型设备的模拟输入通道(即所有 DSA 设备、或所有 S 系列设备、或所有 X 系列设备、或所有 CompactDAQ 设备),但 SC Express 除外,它可以与某些 X 系列设备或某些 DSA 设备结合使用。
  • 输入通道名称时,请遵循物理通道的语法,例如,冒号可用于表示通道范围,逗号可用于分隔各个通道或通道范围。

PXI 设备

  • 这些设备必须全部位于一个机箱中,并且必须在 NIMeasurement & Automation Explorer (NI MAX) 中识别该机箱。 

PCIe 设备

  • 您必须使用 RTSI 电缆来连接设备,并且必须在 MAX 中识别该电缆。

DSA 和 SC Express 设备

  • 如果通道扩展任务仅包含 PXI-447x 设备的通道,则其中一个 PXI-447x 设备必须位于 PXI 插槽 2 中。 
  • 如果任务包括来自 PXI-4461/4462 和 PXI-447x 设备的通道,则 PXI-4461/4462 设备必须位于 PXI 插槽 2 中。
  • NI-DAQmx 考虑了具有某些资格的设备之间的滤波器延迟差异:
    • NI 4461 和 4462 设备缺乏补偿滤波器延迟的能力。
    • 对于所有其他设备,如果任务包括来自不同设备系列的通道,NI-DAQmx 将计算设备之间的滤波器延迟差异。
  • 在单个任务中包含多个设备,让 NI-DAQmx 自动同步它们,并启用设备的触发偏差校正。通过让 NI-DAQmx 启用触发偏移校正,驱动器可以通过将触发器锁定到参考时钟来补偿跨多个设备的触发信号的偏移。它还允许设备在该时钟的后续边沿响应触发,而不是立即响应。触发偏差校正功能仅适用于 PXI Express 机箱。使用这些类型的设备,您可以扩展模拟输入或输出通道;但是,单个任务中的所有通道必须具有相同的 I/O 类型。X 系列的另一个警告是 USB 设备不能用于跨多个设备的通道扩展。

CompactDAQ 设备

  • 所有模拟输入 CompactDAQ 模块以及大多数模拟输出和数字 I/O CompactDAQ 模块都能够将通道组合到单个 DAQmx 任务中。 
  • 单个 DAQmx 任务中涉及的所有 CompactDAQ 设备必须位于同一机箱中,除非您要在具有 9469 模块的机箱之间进行同步。您必须至少拥有 DAQmx 9.9 才能执行此操作。
  • 任务中的所有通道必须属于同一类型(即所有模拟输入模块、所有模拟输出模块或所有数字 I/O 模块)。
  • 任务数量受机箱、使用的模块和任务类型的限制。 

        但是,您可以将多个 DAQmx 创建虚拟通道实例包含到一个 DAQmx 任务中,只要它们共享相同的 I/O 类型即可。例如,您可以将电压通道与温度通道组合起来。这意味着您可以在单个 CompactDAQ 机箱或控制器内自动同步具有不同测量、不同测量范围或不同测量单位的单个任务。

        通过通道扩展,您可以将不同类型的模拟输入模块(扫描、Delta-Sigma、慢采样)混合到同一任务中,并允许 NI-DAQmx 驱动程序自动为您同步它们。驱动程序选择最佳的方法来同步不同类型的模块。了解有关这些不同同步类型的更多信息。当您在单个任务中混合使用 C 系列 Delta-Sigma 模块(例如 NI 9234 和 NI 9218)时,您需要考虑设备之间的滤波器延迟。该延迟也称为输入延迟。有关设备的延迟,请参阅设备的规格手册。

        从NI-DAQmx 9.9开始,您可以使用NI 9469 C系列同步模块链接多个CompactDAQ机箱或连接到CompactDAQ控制器的机箱,应用通道扩展功能使它们感觉像一个设备,并让驱动程序处理此同步自动地。NI 9469 可简化信号路由和编码,并同步扫描、慢速采样和 Delta-Sigma 模拟输入模块;数字输入模块;数字输出模块;和不同机箱拓扑中的模拟输出模块。您可以在Measurement & Automation Explorer (MAX)软件中配置NI 9469模块之间的连接

        在MAX中配置NI 9469后,配置任务的过程几乎与单机箱通道扩展方法相同。

        但是,在跨多个机箱使用通道扩展时,您必须考虑一些因素。任务内通道列表中的第一个通道必须位于主机箱内。主机箱由机箱连接的物理配置决定,并且必须能够向从机箱输出信号。此外,如果任务包含来自 Delta-Sigma 模块的通道,则主机箱内 Delta-Sigma 模块上的通道需要位于任务通道列表的第一个位置。

2. 同时配置差分和单端DAQmx任务

方法1:

        在单个任务中组合不同的输入端子配置和测量类型(热电偶、应变仪等),如下所示。

方法2:

        创建一个 for 循环并在其中调用 DAQmx Create Virtual Channel,将任务输入和任务输出端子连接到移位寄存器。然后,您需要为每个通道创建具有不同配置(最大值和最小值、输入端子配置等)的数组,并将它们连接到相应的端子。如果通道被指定为通道范围,例如Dev1/ai0:Dev1/ai4,则可以使用 DAQmx Unflatten Channel String VI将通道范围转换为通道数组,并将其连接到物理通道端子。

下面演示了使用 DAQmx 属性节点返回可为四个输入配置中的每一个配置的通道数组。

3.多通道输入范围的DAQmx采集

 4.为每个通道设置交流和直流耦合

5. 为每个 AI 通道创建自定义线性刻度

 

6.使用外部时钟进行通道扩展

        通过 PXI_Trig 线连线,您可以使用外部时钟源作为采样时钟。通道扩展负责在后台的多个设备上同时采样。此代码显示了您可以使用的典型设置,尽管在此示例中,外部时钟是从计数器提供给 PXI_Trig 线

7.多功能DAQ设备以不同速率采样通道

         独立 NI-DAQmx 任务的数量,以及可使用的不同采样率的数量,由该卡可用的定时引擎的数量决定:

  • X系列卡,STC3芯片允许一项模拟输入任务、一项模拟输出任务和一项数字输入/输出任务。
  • M系列卡 使用STC2芯片,允许一项模拟输入任务和一项模拟输出或数字输入/输出任务。
  • S系列卡采用DAQ-STC芯片,该芯片有一个专门用于模拟输入任务的定时引擎。 

一般来说,如果您需要在多个通道上以不同的速率进行采样,最简单且推荐的方法是以更高的速率对所有通道进行采样,并丢弃软件中的任何其他采样。您还可以以编程方式写入模拟输出数据,这些数据看起来具有不同的速率,具体取决于您的采样方式。

在多路复用设备上,有一种方法可以管理转换时钟速率和扫描列表,以在不同通道上获取不同数量的样本。此方法的一个要求是,由于采样时钟必须从主时基向下分频,因此使用的所有采样时钟速率必须具有公约数:

  • 理解这一点非常重要:该方法仅返回反映采样通道 1(300 kS/s)和通道 2(100 S/s)的样本数。为通道 1 生成的样本不会像通道 2 那样均匀分布。更具体地说,通道 1 将每 10 ms 读取 3 个样本,而不是按照真正的 300kS/s 采样率预期每 3.33 ms 读取 1 个样本。如下图所示:

如果无法在软件方面删除额外的样本,并且多路复用采样解决方案不可行,则可以使用其他NI 硬件来实现跨通道的多个采样率。

另一种替代解决方案是使用 Resample Waveforms (single shot).vi 对高频测量值进行重新采样。例如,用户希望在通道 0 中使用 15kHz,在通道 1 中使用 1kHz 作为采样频率。客户可以在下面的VI中使用15kHz作为<最高频率>和1kHz作为<预期频率>。

  • 如果速率确定卡未同时采样,则最大采样率将分布在卡上的所有通道上。例如,如果上述 NI-9237 上使用的采样率在两个通道上被分割为每通道 25kS/s,则 NI-9201 将被限制为 25kS/s,而不是 50kS/s。 
  • 如果您的慢速模块具有同步输入(就像大多数慢速模块一样),则无需将模块的采样率除以模块上的通道数。每个通道将能够实现最大采样率,因此将为每个通道单独返回与仅为一个通道返回相同数量的重复样本。
  • 某些慢速模块(即NI-9219等)对于不同类型的任务具有不同的最大采样率。这将是模块本身的示例模式属性,必须在软件中进行配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1208697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件工程分析报告07测试计划书——基于Paddle的肝脏CT影像分割

目录 测试计划书 1. 引言 2. 测试目标 3. 测试方法 3.1 黑盒测试 (1)等价类划分&#xff1a; (2)边界值分析&#xff1a; (3)因果图&#xff1a; ​编辑&#xff08;4&#xff09;错误推测法 3.2 白盒测试 测试用例&#xff01;&#xff01; 4. 测试环境 5. 测试计划 6…

YOLO目标检测——苹果缺陷检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;苹果质量检测和自动化分拣系统数据集说明&#xff1a;苹果缺陷检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富&#xff0c;含有缺陷图片和没缺陷图片。标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量…

JS基础 查漏补缺

学习视频&#xff1a;黑马程序员 第五天——对象 方法和调用 数据行为性的信息称为方法&#xff0c;如跑步、唱歌等&#xff0c;一般是动词性的&#xff0c;其本质是函数。 方法是依附在对象上的函数 方法是由方法名和函数两部分构成&#xff0c;它们之间使用 : 分隔 方法是…

【广州华锐互动】VR居家防火逃生模拟演练增强训练的真实性

VR软件开发公司广州华锐互动在消防培训领域已开发了多款VR产品&#xff0c;今天为大家介绍VR居家防火逃生模拟演练系统&#xff0c;这是一种基于虚拟现实技术的消防教育训练设备&#xff0c;通过模拟真实的火灾场景&#xff0c;让使用者身临其境地体验火灾逃生过程&#xff0c;…

破解tomcat密码并上传webshell

tomcat基础认证爆破 暴力破解 进入vulnhub的tomcat8目录&#xff0c;启动环境 由于tomcat密码默认最大尝试错误次数为5次&#xff0c;需要修改server.xml&#xff0c;修改下面字段 failureCount"10000000000" lockOutTime"0"tomcat默认界面&#xff0c;…

一篇博客读懂队列——Queue

目录 一、队列的概念和结构 ​二、队列的实现 2.1队列的初始化QueueInit 2.2队列的摧毁QueueDestroy 2.3插入结点QueuePush 2.4删除结点QueuePop 2.5返回队头QueueFront 2.6返回队尾QueueBack 2.7判断队列为空QueueEmpty 2.8统计队列数目QueueSize 一、队列的概念和…

打印字符(C++)

系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…

清理mac苹果电脑磁盘软件有哪些免费实用的?

苹果电脑是一款非常流行的操作系统设备&#xff0c;其稳定性和性能一直备受用户的喜爱。然而&#xff0c;随着时间的推移&#xff0c;我们使用电脑的过程中可能会发现磁盘上存储的数据越来越多&#xff0c;这不仅占用了宝贵的硬盘空间&#xff0c;还可能导致电脑运行变慢。因此…

Python入门教程:12个常用基础语法详解

文章目录 前言1.多个字符串组合为一个字符串2. 字符串拆分为子字符串列表3. 统计列表中元素的次数4.使用try-except-else-block模块5. 使用枚举函数得到key/value对6. 检查对象的内存使用情况7. 合并字典8. 计算执行一段代码所花费的时间9. 列表展开10. 列表采样11. 数字化12. …

开启学历新征程,电大搜题助您轻松获取知识

作为一名电大学者&#xff0c;有肩负着传递真实信息、宣传正面价值的使命&#xff0c;而今天我要向您介绍的是一款非常实用的学习工具——电大搜题微信公众号。通过该平台&#xff0c;您可以获得更多关于浙江开放大学和广播电视大学的学习资源&#xff0c;助您在学习和工作上取…

Linux操作系统使用及C高级编程-D4Linux shell命令(文件搜索、文件处理、压缩解压)

查看文件相关命令 cat cat file&#xff1a;将文件内容输出 cat&#xff1a;等待输入&#xff0c;在屏幕上输入什么&#xff0c;就输出什么 tac cat file&#xff1a;与cat相反&#xff0c;将文件内容从后往前输出 more more file&#xff1a;在屏幕上显示一页的文件内容&am…

C语言从文件 D://test.txt 读取字符串,将字符串中所有的大写字符改为小写字母并写回到源文件中

完整代码&#xff1a; /*从文件 D://test.txt 读取字符串&#xff0c;将字符串中所有的大写字母改为小写字母并写回 到源文件中*/ #include<stdio.h>//将字符串中所有的大写字母改为小写字母 void func(char *buff){while (*buff!\0){if (*buff>A&&*buff<…

客户下单时如何自动匹配到最近的门店

有些商家有多个门店&#xff0c;当客户下单时&#xff0c;希望能够将客户下的订单分配给最近的门店。下面就具体介绍一下在采云小程中是如何实现的。 首先&#xff0c;为了简便起见&#xff0c;请确定门店高级设置保持着默认设定。因为单独的商品管理模式以及独享的商品信息模…

使用GPT-4训练数据微调GPT-3.5 RAG管道

原文&#xff1a;使用GPT-4训练数据微调GPT-3.5 RAG管道 - 知乎 OpenAI在2023年8月22日宣布&#xff0c;现在可以对GPT-3.5 Turbo进行微调了。也就是说&#xff0c;我们可以自定义自己的模型了。然后LlamaIndex就发布了0.8.7版本&#xff0c;集成了微调OpenAI gpt-3.5 turbo的…

线程池参数该怎么配置?这可能是为数不多的好答案

前言 CPU 密集型 CPU 核数 1 IO 密集型 CPU 核数 * 2 相信这个公式可谓是线程池八股文中老生常谈的万能公式了&#xff0c;但现实却很骨感&#xff0c;我之前有个系统就是按照这个公式算出来的参数去配置的。结果效果并不好&#xff0c;甚至让下游系统直呼受不了。这个东西…

清华镜像源地址,适用于pip下载速度过慢从而导致下载失败的问题

清华地址 https://pypi.tuna.tsinghua.edu.cn/simple下载各种各样的包的指令模板 pip install XXX -i https://pypi.tuna.tsinghua.edu.cn/simple这样就行了&#xff0c;XXX代表的是你将要下载的包名称。 比如&#xff1a; pip install opencv-python -i https://pypi.tuna.…

数据结构-二叉树的前、中、后序遍历

目录 1. 二叉树的遍历 1.1 前序 1.2 中序 1.3 后序 1.4 遍历的复杂度 2.二叉树节点个数及高度的计算 2.1 二叉树节点个数 2.2 二叉树叶子节点的个数 2.3 二叉树高度 2.4 二叉树第k层节点个数 1. 二叉树的遍历 前面的章节中&#xff0c;我们学习了二叉树的顺序结构&am…

计算机毕业设计选题推荐-体育赛事微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

c语言11周(16~20)

利用函数求和 //只填写要求的函数 double fun(int n) {double s 0;int i;for (i 1; i < n; i) {s 1.0 / (i * i);}return s; } 编写char fun(char c)函数&#xff0c;将数字参数字符c按如下规则转换。 题干编写char fun(char c)函数&#xff0c;将数字参数字符c按如…

【milkv】1、光感bh1750驱动添加及测试

前言 本章介绍在milkv-duo开发板上添加光感bh1750&#xff0c;并实现应用层测试。 一、电路图查看 1.1 duo开发板i2c引脚 https://github.com/milkv-duo/duo-files 这些都是可以作为i2c使用的引脚 注意&#xff1a;电路图中的gpio0、1对应的是芯片上的gpio28、29&#…