想合并 DAQmx 任务,或者从单个任务中采集多个通道的数据。
正在尝试使用 NI - DAQmx 在多个通道上同时读取或写入信号,希望在无需编程、指定或配置触发和采样时钟的情况下实现同步。一种叫做 “通道扩展” 的方法。什么是通道扩展?它如何帮助我在多个通道上同时进行读取或写入操作?这种方法能否跨多个设备实现?有没有更简单的方法来同步两个通道?同步我的 cDAQ 机箱中多个相同类型的模块。
解决方案
通道扩展是将一个数据采集设备的通道扩展,以纳入另一个设备的通道,从而有效地创建一个包含更多通道的任务的过程。利用通道扩展时,DAQmx 会在 DAQmx 驱动程序层面自动路由触发和时钟信号,使多个设备实现同步。这种同步对于让这些设备协同工作至关重要。通道扩展是同步多个 DAQmx 设备最简单且通常最精确的方法之一。
此外,即使使用通道扩展,多个 DAQmx 创建虚拟通道实例也可以合并到一个 DAQmx 任务中。这使得单个 DAQmx 任务可以包含不同的测量类型,以及来自多个设备的通道。
通道和设备名称必须用逗号分隔。以下是 LabVIEW 和 LabWindows/CVI 中通道扩展的代码示例:
注:并非所有版本的 DAQmx 驱动程序都支持所有 NI 数据采集设备的通道扩展。DSA 设备的多设备任务支持从 NI - DAQmx 8.0 版本开始,S 系列 MIO 设备从 NI - DAQmx 8.1 版本开始,X 系列 MIO 设备从 DAQmx 9.0 版本开始。
更多信息
-
一般规则和条件:更多信息请参阅《通道扩展详解》。
-
具体信息
-
所有设备:任务中的所有通道必须是同一类型设备的模拟输入通道(即所有 DSA 设备,或所有 S 系列设备,或所有 X 系列设备,或所有 CompactDAQ 设备),SC Express 除外,它可以与某些 X 系列设备或某些 DSA 设备组合。输入通道名称时,遵循 NI - DAQmx 指定物理通道字符串的语法。例如,冒号可用于表示通道范围,逗号可用于分隔单个通道或通道范围。
-
PXI 设备:这些设备必须都在单个机箱中,并且该机箱必须在 NI 测量与自动化资源管理器(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 将考虑设备之间的滤波器延迟差异。在以下条件下,一个任务可以包含来自多个 DSA、SC Express 和 X 系列设备的通道:这些设备必须位于单个机箱中,并且该机箱必须在 NI MAX 中进行标识。对于超过两个设备的组,每个设备必须与其他每个设备兼容。有关特定版本的 NI - DAQmx 支持的 DSA、SC Express 和 X 系列通道扩展设备组合的详细信息,请参阅《DSA、SC Express 和 X 系列多设备任务 - NI - DAQmx 帮助》。例如,以下组中的设备可以进行通道扩展,因为组中列出的所有设备彼此兼容:NI 4300/4353/4357 和 PXIe X 系列设备;NI 4330/4331 和 NI 449x 设备;NI 4330/4331/4339 和 NI 4464 设备。
-
CompactDAQ 设备:所有模拟输入 CompactDAQ 模块以及大多数模拟输出和数字 I/O CompactDAQ 模块都能够将通道组合到单个 DAQmx 任务中。参与单个 DAQmx 任务的所有 CompactDAQ 设备必须位于同一机箱中,除非使用 9469 模块在机箱之间进行同步。必须至少使用 DAQmx 9.9 版本才能实现此操作。如果两个机箱都与时间敏感网络(TSN)兼容,则存在另一个例外情况。有关 TSN 技术的更多信息,请参阅本文:《基于分布式 TSN 以太网的测量系统设计》。任务中的所有通道必须是同一类型(即所有模拟输入模块、所有模拟输出模块或所有数字 I/O 模块)。任务数量受机箱、所使用的模块以及任务类型的限制。有关更多信息,请参阅《CompactDAQ 第二代机箱上的并发任务数量》。
-