首页资源分类其它科学普及 > NI-DAQmx常见问题解答

NI-DAQmx常见问题解答

已有 445117个资源

下载专区

文档信息举报收藏

标    签:NIDAQmx

分    享:

文档简介

本文档回答了关于NI-DAQmx和传统NI-DAQ的一些常见问题。所有问题按照逻辑性分为如下四类:NI-DAQmx描述,NI-DAQmx引入的概念,工作性能,从传统NI-DAQ到NI-DAQmx的升级。

文档预览

NI-DAQmx 和传统 NI-DAQ 常见问题解答 本文档回答了关于 NI-DAQmx 和传统 NI-DAQ 的一些常见问题。所有问题按照逻辑性分为如下四类: 目录 • NI-DAQmx 描述 • NI-DAQmx 引入的概念 • 工作性能 • 从传统 NI-DAQ 到 NI-DAQmx 的升级 NI-DAQmx 描述 问:为什么软件对于数据采集应用如此重要? 答:功能灵活且强大的软件是所有虚拟仪器系统的核心。 让我们先仔细看一下虚拟仪器软件的组成。大多数人首先想到的就是应用程序层,就是主要的开发环境。 它包括诸如 LabVIEW、LabWindows/CVI(ANSI C)和 Measurement Studio(Visual Studio 编程语言) 之类的软件。测试执行层结合了应用程序层所开发的功能。接下去一层通常很容易被忽视,但它对于软件 开发效率来说却是至关重要的。测量和控制服务层包括与硬件通信的驱动程序。测量和控制服务必须能访 问并发挥硬件功能和性能,它们也必须与所有其他的驱动和已成为解决方案一部分的众多模块化 I/O 协同 工作。 图 1.虚拟仪器软件 问:什么是测量服务软件? 答:可以把测量服务软件看作 I/O 驱动软件层,然而,它不仅仅只是一个驱动。 测量服务是快速的应用程序开发中最为重要的部分之一。这个软件提供了虚拟仪器软件和硬件之间的连通 性以用于测量和控制。直观的应用程序编程接口(API)、仪器驱动、配置工具、快速 I/O 助手和其他包含 在所购买的 NI 硬件中的软件是它的特色。NI 测量和控制服务软件提供了与 NI 硬件以及 NI 应用程序开发环 境(ADE)的最优化结合。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 表 1.NI-DAQmx 包含了高性能的驱动和附加软件来提高系统开发效率 NI 测量&自动化浏览器(MAX)和 DAQ Assistant (DAQ 助手) 是 NI-DAQmx 测量服务软件(大部分 NI 数 据采集设备都附带该软件)体现它无限价值的其中两个例子。此外,NI 还在 M 系列和 USB DAQ 设备以及 其他许多设备上附送了免费的数据记录软件。 诸如 MAX 之类的配置工具所包含的特性能够用来配置和测试 I/O,以及存储标定、校准和通道别名信息。 这些工具对于以更短的时间完成首次测量、维护测试系统和解决测试系统故障是十分重要的。 I/O Assistant (I/O 助手) 是一个交互式工具,用来快速创建测量应用程序。DAQ 助手就是其中一个这样的 I/O 助手,如图 2 所示。 它提供了一个面板,您可在上面轻松配置常用的 DAQ 参数,而无需任何编程工 作。您可以在任何 NI ADE 中使用由它生成的 DAQ 任务。易于使用的助手和强大编程环境的结合提供了快 速的开发和可满足广泛应用需求的能力。 图 2. NI-DAQmx 里提供的 DAQ 助手简化了 DAQ 任务的创建 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 问:为什么 NI 推出了 NI-DAQmx?为什么不继续开发传统 NI-DAQ? 答:NI 在 20 世纪 90 年代首次发布了传统 NI-DAQ 驱动。传统 NI-DAQ 通过提供对各种设备的扩展功能对 已有的 DAQ 库进行了许多改进,这些改进包括双缓冲采集、对特定传感器类型提供内置标度,例如热电偶 和应变计、信号调理、以及一个单一的且可与多种设备和操作系统(OS)协同工作的函数库。 在 90 年代后期,NI-DAQ 团队意识到保持 API 与以前版本的兼容性的这个要求增加了向传统 NI-DAQ 添加 新特性和设备的难度。此外,在长期的发展过程中,传统 NI-DAQ 的 API 产生了许多需要解决的问题。NIDAQ 开发者难以直观地扩展 API 而且难以优化不断增长的客户应用范围。因此 NI 认为一个全新的 API 设 计和体系结构可以帮助 NI-DAQ 开发者更轻松地添加新特性和新设备,解决许多现有的驱动问题,并且同 时可以优化性能。 NI-DAQmx 项目的一些宏伟目标包括: 1. 更轻松地往 DAQ API 中添加新特性。传统 NI-DAQ API 的许多函数都有大量的参数而且没有有效 的方式可以添加新参数。相比而言,NI-DAQmx API 通过一个丰富的属性层次来使用基于属性的方 法。这种方法易于扩展。通常,添加一个新特性与添加一个新属性一样轻松。 2. 更轻松地添加新设备。如果不对现有的功能进行改动,NI 就难以向传统 NI-DAQ 添加更多的设备, 而改动往往会导致一些漏洞。寻找并解决意外的漏洞花费了太多的时间来发布每一个版本。相比而 言,NI-DAQmx 使用了作为组件的插入式设计,使得添加新设备更加便利。 3. 更有效的多线程数据采集。传统 NI-DAQ 最初是为不具备多线程功能的旧版本操作系统而设计的。 为了在多线程操作系统下安全地运行,传统 NI-DAQ 将存取操作限制在每次一个线程。对于那些需 要同时完成两个或更多 DAQ 任务的应用来说,这种限制就引起了问题因为两个任务不能同时访问 驱动器。NI-DAQmx 使用多线程设计解决了这个问题,这样多线程就可以同时访问驱动器。 4. 提高数据采集性能,尤其是单点性能。一些使用传统 NI-DAQ 的应用经历过拙劣的软件定时单点性 能,因为它们不断地在主循环里执行代价高昂的操作,例如验证配置(检验)、保留资源(保留) 和对硬件编程(实施)。传统 NI-DAQ 并没有对何时执行检验、保留和实施操作给予足够的应用程 序控制,因此用户不能重写这些应用程序以更快地运行。NI-DAQmx 利用一个基于已定义状态模型 的设计提高了性能。NI-DAQmx 给用户提供了高级的 API 功能,例如检验、保留和实施。因此,用 户对于在何时执行这些代价高昂的操作拥有更多的控制能力。 5. 提高驱动性能和可靠性。NI-DAQmx 专门设计成具有世界一流的数据采集性能和稳定性。自 NIDAQmx 开发伊始,用户每次添加一个新特性或者对驱动进行一次改变,一个严格且完备的功能和 性能自动测试包就会检验这个改变是否引入了漏洞。这个测试包对应用于各种设备、传感器和操作 系统配置中的常见和不常见的驱动进行测试。不常见或例外的驱动应用对于整体的可靠性十分重 要。NI-DAQmx 设计成能够处理异常的情形,例如 DAQ 任务中止、看门狗定时器终止和意外设备 删除(如从计算机中拔出 USB 设备)。 6. 更轻松地进行数据采集。在 90 年代中期,NI-DAQ 团队往传统 NI-DAQ 中添加了 Easy I/O 和中间 I/O 层,从而使得通常的 DAQ 任务更加轻松。然而,这种方法却引起了一些问题,因为一旦用户需 要给应用程序添加更多高级的特性,他们就不得不使用更高级的 API 来重写应用程序。NI-DAQmx 通过以下方式使得开发应用程序更轻松: • 配置工具如 DAQ 助手。利用 DAQ 助手,用户可以图形化地选择他们希望进行测量的类 型,保存配置以供以后使用,而且生成代码以包含在应用程序中。 • 高级 NI-DAQmx 路由特性。这些特性简化了 DAQ 设备的触发和同步。 • 在 NI-DAQmx 里报告并描述错误。这一特性帮助用户精确地确定错误的原因并推荐解决方 案。用户认为 NI-DAQmx 里的高级错误报告功能使得调试 DAQ 应用程序更加轻松。 • 从 LabVIEW 7 开始的易用特性。LabVIEW 7 引入的新特性,尤其是应用于 NI-DAQmx 之 中的新特性,包含了创建 Express VI 和多态 VI 的能力。利用 Express VI,用户可以使用 一个简单的配置对话框来代替一个复杂 DAQ 的绝大部分。利用多态 VI,用户可以更轻松 地找到特性。由于这两方面的特性,用户可以用更少的时间开发出应用程序。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 图 3.多态 VI 简化了 NI-DAQmx API 问:NI-DAQmx 支持哪些硬件?不支持哪些硬件? 答:作为最新的 NI 测量服务软件,NI-DAQmx 支持最新的 NI DAQ 硬件,包括 M 系列插入式 DAQ 设备, 一些最新的 USB DAQ 设备,以及数以百计传统 NI-DAQ 所支持的 DAQ 设备。 虽然 NI-DAQmx 支持许多最新的 NI DAQ 硬件设备,NI-DAQmx 并不支持所有的 NI DAQ 设备。例如,传 统 DAQ 设备,如使用 ISA 总线(用于台式计算机)的设备,他们仅受传统 NI-DAQ 的支持。 欲想了解当前 NI-DAQmx 所支持的设备列表,请访问 ni.com/dataacquisition/software 并单击 Device Support(所支持的设备),或者参看包含于 NI-DAQmx 之中 NI-DAQmx Readme 文件。 问:为什么有些 DAQ 设备仅受 NI-DAQmx 支持? 答:诸如 M 系列 DAQ 之类的设备是最新的、最好的 DAQ 硬件。M 系列设备是市场上第一款 18 位插入式 DAQ 设备,第一款拥有最大数据吞吐量达六个 DMA 通道的插入式 DAQ 设备,并且具有创新的设备校准。 这些设备只受 NI-DAQmx 支持,而不受传统 NI-DAQ 支持。 将来新的 NI DAQ 设备也将只受 NI-DAQmx 支持,而受传统 NI-DAQ 支持。NI 工程师致力于 NI-DAQmx 的 效率和性能,而不是使用资源来开发传统驱动软件。 问:我可以将 NI-DAQmx 与哪些编程语言共同使用? 答:您可以将 NI-DAQmx 用于各种不同的编程语言,它们包括: • NI LabVIEW • ANSI C • Microsoft Visual C++ 类库(NI Measurement Studio 7 或更高版本) • Microsoft Visual C++ • Microsoft C# .NET • Microsoft Visual Basic .NET • Microsoft Visual Basic (Beta 版) 欲想了解更多关于使用 NI-DAQmx 和基于文本语言编程的信息,请访问 NI-DAQ 用于文本语言编程语言和 NI-DAQ Readme 文件。 问:我可以将 NI-DAQmx 与哪些应用程序开发环境结合使用? 答:NI-DAQmx 可以与许多最流行的 ADE 协同工作。一旦安装了 NI-DAQmx,您可以选择安装对各种 ADE 的支持,包括: • NI LabVIEW 7 或更高 • NI LabVIEW Real-Time 7.1 或更高 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments • NI LabWindows/CVI 7 或更高 • .NET 语言 • NI Measurement Studio,支持 Visual C++.NET(需要 Measurement Studio 7 或更高) • Microsoft Visual C 支持 为了安装对这些 ADE 的支持,请在安装 NI-DAQmx 时选择合适的支持。在您第一次安装 NI-DAQmx 时, 在特性树上将 NI-DAQmx 选项展开,然后,选择您希望使用的 API 来安装合适的支持。 图 4.NI-DAQmx 提供不同 API 用于各种 ADE 如果你已经安装了 NI-DAQmx 并且希望改变你的选择,运行添加/删除程序。选择 NI 软件入口并单击 Change。然后,在已安装到您机器上的 NI 软件列表上选择 NI-DAQmx。单击 Modify 以启动 NI-DAQmx 安装程序,在这里您可以指定 API 支持选项。 问: NI-DAQmx 是否适用于 Linux?Mac OS X 操作系统? 答:NI-DAQmx 只适用于那些为 Microsoft Windows 开发应用程序并应用的用户。NI 目前没有计划将 NIDAQmx 扩展到 Linux 和 MAC OS X。然而,近来这些平台在科学和工程计算领域的应用有所增长,为满足 这些需求,NI 已经开发了 NI-DAQmx BASE。 NI-DAQmx BASE 将 NI-DAQmx 功能的一个子集提供给 Windows、Linux、Mac OS X 和 Pocket PC 操作 系统,并且支持大部分最流行的 NI DAQ 设备,包括新的低成本 USB DAQ 产品。 请访问 ni.com/linux 和 ni.com/mac 以获得为 Linux 和 Mac OS X 提供的最新 NI 产品。 问:NI 会继续传统 NI-DAQ 的开发吗? 答:NI 没有计划继续开发传统 NI-DAQ。但是,为了维持现有的应用程序,NI 会继续提供传统 NI-DAQ 并 继续提供它的技术支持。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 问:NI-DAQmx 与 NI-DAQmx Base 有何不同? 答:比较这些软件工具的最好方式是在 ni.com/dataacquisition/software 上使用驱动程序比较图。这儿提 到的是其中一些不同之处。 虽然 NI-DAQmx 和 NI-DAQmx BASE 具有相似的 API,但是这两种 API 具有完全不同的体系结构。NIDAQmx Base 是使用 NI 工具——NI 测量硬件驱动开发包(DDK)写成的,这个工具用寄存器级编程的方式来 定制开发驱动。这种方式的一个好处是 NI-DAQmx Base 是开放的源代码。这使得您可以打开子 VI (subVI),并在 LabVIEW 里观察/编辑寄存器存取情况,以及添加或修改功能。 NI-DAQmx BASE 没有 NI-DAQmx 中所包含的一些软件特性。只有 NI-DAQmx 才有的一些特性包括: • DAQ 助手 • 用于高级 DAQ 任务的属性节点 • 多线程 I/O 性能 问:在什么情况下不应选择使用 NI-DAQmx 进行开发呢? 答:尽管 NI 鼓励您将 NI-DAQmx 的优点充分利用到您的应用程序中,但是在有些情况下使用 NI-DAQmx 是不够理想的。 若下列情形之一存在,请安装并使用传统 NI-DAQ: • 您有一台 NI-DAQmx 不支持的设备,例如一个 AT(用于 ISA 接口)E 系列多功能 DAQ 卡。 • 您用的 LabVIEW、LabWindows/CVI 或 Measurement Studio 版本在 7.0 之前。 • 您正在使用 Visual Basic 6。 • 您要从 NI-DAQ 6.9.x 版本升级并且存在您不愿意与 NI-DAQmx 相连接的应用程序。 如果下列情形之一存在,请安装并使用 NI-DAQmx Base: • 您正在开发应用于 Linux、Mac OS X 或 Pocket PC 之上的应用程序。 • You have a USB DAQ device supported only by NI-DAQmx Base. • 您有一个仅受 NI-DAQmx Base 支持的 USB DAQ 设备。 如果下列情形之一存在,请安装并使用使用 Measurement Hardware DDK: • 您正在使用寄存器级编程来开发一个自定义的驱动程序。 欲想得到更多帮助来决定哪一种驱动软件适合您,请使用 ni.com/dataacquisition/software 上的设备支持表 和驱动软件比较图以及 NI-DAQ Readme 文件。 问:我怎样得到 NI-DAQmx? 答:从 NI 购买 NI-DAQmx 支持所支持的硬件产品的话,其中会附有一张 NI-DAQ 光盘,它包含了最新版本 的 NI-DAQmx。 您可以访问通过浏览 ni.com/china/daq 免费下载最新版 NI-DAQmx 软件。 NI-DAQmx 引入的概念 问:什么是 DAQ 助手? 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 答:DAQ 助手是一个基于步骤的向导,它可以使您无需编程即可配置数据采集任务、虚拟通道以及实现缩 放操作。您可以从 NI 应用软件中启动 DAQ 助手,例如 LabVIEW、LabWindows/CVI、Measurement Studio、 VI Logger 或 MAX。 图 5. DAQ 助手支持 NI 所有的 ADE 注意:您必须使用 LabVIEW、LabWindows/CVI 和 Measurement Studio 的 7.X 版本或更新版本,以及 VI Logger 的 2.X 版本才能使用 DAQ 助手。 您也可以使用 DAQ 助手来生成 NI-DAQmx 代码,运行您的任务和全局虚拟通道,或者把它们转移到其他 的系统。 利用 DAQ 助手,您可以: • 创建和编辑任务和虚拟通道 • 添加虚拟通道至任务 • 创建并编辑量程 • 测试您的配置 • 保存您的配置 • 在您的 NI 应用软件中生成代码以在您的应用程序中使用 • 观察您的传感器的连接图 问:为什么我要使用 DAQ 助手而不使用 NI-DAQmx API? 答:DAQ 助手建立在 NI-DAQmx API 之上,并且可以作为一个配置工具和学习工具来加快您在新的 NIDAQmx API 上的学习速度。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 在配置之后,LabVIEW 里的 DAQ 助手 Express VI 包含了所有必需的 API 代码来运行您的配置任务,但是 它隐藏于程序框图之中。如果您希望在您配置中观察或修改 API 功能而不是使用 DAQ 助手对话框,DAQ 助手也提供了了代码生成功能,可以用于 LabVIEW、LabWindows/CVI 和 Measurement Studio 应用程 序。 问:什么是 NI-DAQmx 任务? 答:NI-DAQmx 任务是具有定时、触发和其他特性的一个或多个虚拟通道的集合。概念上,一个任务代表 了您希望完成的测量或信号产生任务。您可以建立和保存任务中的配置信息,并在应用程序中使用任务。 问:NI-DAQmx 里的局部虚拟通道和全局虚拟通道有什么区别? 答:在 NI-DAQmx 中,您可以将虚拟通道配置成任务的一部分或者与任务分离。创建于任务内部的虚拟通 道是局部虚拟通道。定义在任务外部的虚拟通道是全局虚拟通道。 您可以在 MAX 或您的应用软件中创建全局虚拟通道然后将它们保存在 MAX 中。您也可以在任意的应用程 序中使用全局虚拟通道或把它们添加到许多不同的任务中。如果您修改了一个全局虚拟通道,这个改变将 会影响所有引用该全局虚拟通道的任务。 问:什么时候我应该使用一个任务而不是一个全局虚拟通道? 答:当一个任务是具有定时、触发和其他特性的一个或多个虚拟通道的集合时。 一个全局虚拟通道只引用了一个物理通道,而且没有包含定时或触发功能。但是,全局虚拟通道可以被许 多任务包含和引用,而一个任务是一个独立的实体,它不能被其他任务包含或引用。 问:我能可编程地使用 NI-DAQmx 保存虚拟通道吗? 答:利用 NI-DAQ7.4 或更新的版本,您可以可编程地创建并保存任务、全局虚拟通道和量程。这种编程方 式保存的对象会出现在 MAX 里,您可以在 DAQ 助手和应用程序中使用它们。 可编程地保存任务、通道和量程简化了系统配置和多种场合的应用,并且减少了发生错误的可能性和调试 的需要。 欲想了解更多关于如何使用此特性以及观看例程,请访问 ni.com/dataacquisition/nidaqmx.。 问:我该如何导入/导出设备、任务、通道和缩放配置? 答:使用 MAN,您可以导出您系统的配置以作为备份或应用至其他机器。 使用导出向导可从系统复制配置数据至一个文件。要启动这个导出向导,请在 MAX 中选择 File»Export 问:什么是属性节点? 答:属性节点是您可以使用的 LabVIEW 结构,它可以用来在引用的对象上访问属性。NI-DAQmx 使用这些 结构来对所有 NI-DAQmx API 支持的属性提供完备的编程控制,并且这些属性节点形成了 API 的基本功 能。 除了属性节点之外,NI-DAQmx 也提供了一套 NI-DAQmx VI,从而您可以用来编写程序。这些 VI 在功能上 与使用属性节点等价,但是通常更容易且更便于使用。例如,下面的两个例子在功能上是等价的,然而, 第一个例子使用了 NI-DAQmx,而另一个例子使用了 NI-DAQmx 属性节点。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 图 6.使用 NI-DAQmx 属性节点实现高级的自定义任务 对于大多数应用程序,NI-DAQmx VI 提供了所需的功能。然而,对于更高级的应用程序,您可能需要属性 节点来得到较少使用的驱动属性和特性。 问:我应该怎样过滤属性节点列表? 答:当您第一次打开并浏览一个属性节点时,属性列表的显示也许会看起来令人难受。为了更容易地浏览 这些列表,可以通过如下所示的对话窗口来利用一些过滤属性。 图 7.使用过滤属性简化属性节点列表 要进入该对话框,右击属性节点并单击 Select Filter 即可。Show All Attributes 显示了所有 NI-DAQmx API 所支持的属性。Show Attributes For Configured Devices 显示了所有当前已安装并配置在您系统中 的设备所支持的属性。使用 Show Attributes For Selected Devices 选择您需要为之显示属性的已安装设 备。 除了过滤选项之外,您也可以通过 LabVIEW 帮助查看一个完整的设备属性列表。为找到这个列表,单击菜 单栏的 Help,并从帮助窗口所显示的目录表中选择 VI、Function& How-To Help。然后浏览至 VI and Function Reference»NI Measurements VIs and Functions»DAQmx – Data Acquisition Vis and Functions»Additional Information»Device Considerations»Supported Properties by Device。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 问:什么是 NI-DAQmx 仿真设备? 答:利用 NI-DAQmx 7.4 版本和更新版本,您可以创建 NI-DAQmx 仿真设备。您可以选择任意 NI-DAQmx 所支持的设备并且作为一个仿真设备在 MAX 里添加到您的硬件配置中。这使得设备通过应用软件即可使 用。 图 8.创建 NI-DAQmx 仿真设备 NI-DAQmx 仿真设备十分有用,可用来创建和运行 NI-DAQmx 程序,而且无需任何物理硬件的存在即可试 验诸如 DAQ 助手或 SignalExpress 之类的工具。NI-DAQmx 仿真设备在没有真实物理硬件的时候发掘设备 性能也是十分有用的。 检验使用 NI-DAQmx 仿真设备的任务,就如同它们运行在真实设备之上。如果某个属性被置为无效值,返 回给仿真设备的错误与返回给真实设备的错误是相同的。所有任务需要的资源都为 NI-DAQmx 仿真设备而 保存。RTSI 线、PXI 触发线、DMA 通道、计数器等等都如同它们在真实设备上一样被计数和保存。 性能 问:NI-DAQmx 提供了哪些性能的提高? 答:在用户应用程序中的 DAQ 性能是许多因素的综合,包括采样率、总线速度、驱动性能、分析以及其他 操作。在许多应用中,NI-DAQmx 都可以提高应用程序在传统 DAQ 上的性能,因为驱动体系结构的改进包 括以下几个方面: 1. 多线程操作。利用 NI-DAQmx,由于在执行不同的 NI-DAQmx 任务之时,多个线程可以同时存取 NI-DAQmx 驱动,因此如果您使用 LabVIEW 或者多线程 C 程序,性能就能得到提高。多个线程存 取驱动的能力去除了 DAQ 应用程序的瓶颈障碍,并且可以在一些情况下极大地提高性能。多线程 操作使得那些执行多任务和一次读或写多个采样的应用性能提高尤其明显。 2. 对诸多繁琐的数据采集操作任务的更好的控制。利用 NI-DAQmx,您可以更好地控制各种驱动操 作,如检查配置(检验)、保存资源(保存)和对硬件编程(实施),而以往这些操作会成为一些 应用程序开发的瓶颈。利用 NI-DAQmx,您可以开发一个在主 DAQ 循环之外进行检验、保存或实 施任务的应用程序,从而驱动不再需要重复地执行这些操作。 3. 内置的硬件定时单点操作。NI-DAQmx 7.2 版本引入了对需要执行硬件定时单点数据采集的应用程 序的内置支持。与传统 NI-DAQ 相比,这种新的内置模式具有许多优势,包括更好的单点任务(使 用多通道)性能。 NI-DAQmx 团队一直致力于改进 NI-DAQmx 的性能。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 问:为什么 NI-DAQmx CPU 使用率达 100%? 答:一些用户已经注意到他们的 DAQ 处理使 CPU 使用率达到了 100%。使用 NI-DAQmx7.3 版本或更早的 版本,在应用程序执行一个读或写调用之中时,这种情况是可能发生的。通常,过度的 CPU 使用在运行其 他的应用程序时不成问题,但是对于笔记本,NI-DAQmx 会消耗电池电量并且引起 CPU 风扇启动。 由于 NI-DAQmx 7.3 版本或更早的版本在一个读或写操作时会等待新的数据的到来,因此 100%的 CPU 使 用率就会发生。在等待新的数据到来时,如果在一个读操作中数据仍然不可得,NI-DAQmx 7.3 版本就会转 向其他的处理。如果另外一个处理需要使用 CPU,NI-DAQmx 就会与那个处理共享 CPU。然而,如果没有 其他的处理或任务需要使用 CPU,NI-DAQmx 继续等待新数据的到来。如果计算机仅执行数据采集,那么 这种解决方案提供了非常优异的性能,在与其他应用程序共享 CPU 时则提供了较好的性能。然而,副作用 却是在没有其他应用程序运行时 NI-DAQmx 占用了 100%的 CPU 的使用率。 这一问题的最好解决方案就是使用最近发布的 NI-DAQmx,如 NI-DAQmx 7.4。NI-DAQmx 7.4 改变了缓冲 式读写操作的默认等待模式。当需要轮询时,NI-DAQmx 在继续读或写操作之前会休眠一小段时间 (1ms)。与以前版本的 NI-DAQmx 相比,这一改变对于大部分应用程序的性能几乎没有影响。然而,其 他 NI-DAQmx 7.4 版本的读写改进和优化不仅仅只是弥补了可能的性能损失。应用程序升级至 NI-DAQmx 7.4 既可以改进性能也可以减少 CPU 使用率。 如果您需要对 NI-DAQmx 7.4 等待数据的方式进行更多的控制,您可以选择一个不同的休眠时间或者将读 等待模式改变成轮询或出让。使用出让模式会造成与 NI-DAQmx 7.3 相似的行为。使用轮询方式会造成最 大的吞吐量但是在同时运行其他应用程序的情况下并不合适。 问:单点 I/O 性能有没有改进? 答:与传统 NI-DAQ(Legacy)相比,NI-DAQmx 几乎在各个情形下都提供了更好的单点 I/O 性能。然 而,也有些情形下,传统 NI-DAQ(Legacy)提供了更好的性能。 值得一提的是,NI-DAQmx 为以下应用提供了更好的单点性能: 1. 用于模拟和计数通道的软件定时读和写 2. 包含多通道的软件或硬件定时读或写 传统 NI-DAQ 为以下应用提供了更好的性能: 1. 使用数字通道读或写 2. 用于仅有一个输入和输出通道应用程序的硬件定时单点 注意:传统 NI-DAQ 用户可能不熟悉硬件定时单点。具体而言,这些应用程序使用硬件定时、大小为零的 缓存并且每次读或写一个采样。 有时候,传统 NI-DAQ 会更快,因为 NI-DAQmx 比传统 NI-DAQ 提供了更多的功能。例如,您可以任意将 线和端口与 NI-DAQmx 数字通道连接。支持多线程和处理异常情况,如意外设备删除等,这些都会添加一 些额外开支。 许多 DAQ 应用程序需要绝对最佳的性能,NI-DAQmx 团队也一直致力于开发可以改进驱动性能的新特性。 问:状态机是如何帮助改进 NI-DAQmx 的性能的? 答:NI-DAQmx 任务状态机能跟踪保存在数据采集或生成可以开始之前您所需要完成的配置操作。配置操 作包括检查配置(检验)、保存资源(保存)以及对硬件编程(实施)。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments NI-DAQmx 使用状态机来确保代价高昂的操作如任务检验、资源保存及硬件编程仅在需要时执行。当在主 采集或信号生成循环外执行显示配置操作时,一个 DAQ 应用程序可从改进的性能中受益。NI-DAQmx 提供 了显示命令,可以引起一个将要执行的检验、保存或实施。当一个任务显示地在采集或生成循环外检验、 保存、实施或开始时,NI-DAQmx 并不在每个循环重复这些操作。因此从总体上来说,应用程序运行得更 快。 图 9. NI-DAQmx 通过为 DAQ 任务改进了状态模型,提高了性能 欲想了解更多关于每个 NI-DAQmx 状态的信息,请参阅 NI-DAQmx 帮助文档。 问:什么是限制流盘性能的主要因素? . 答:磁盘 I/O 带宽、CPU 带宽和总线带宽。 磁盘 I/O 带宽 典型的使用 IDE 驱动的系统主要被磁盘的吞吐量所限制。 潜在的改进包括添加一个用于流的专用驱动器或控制器。一个专用的驱动器避免了因碎片和操作系统或其 他应用程序存取磁盘而引起的性能问题。高速的驱动器和高速的 RAID 控制器提高了磁盘 I/O 带宽。 注意:在添置驱动器和控制器之前请检查 CPU 带宽和总线带宽以防止增加的磁盘 I/O 超出了您事实上可以 使用的范围。 CPU 带宽 对于原始数据,处理器带宽通常只在高速 RAID 控制器已安装的系统中影响性能。在这些系统中,CPU 可 以影响您如何快速地得到所需的数据并把它写入磁盘驱动器。甚至利用一个专用的 RAID 控制器,CPU 带 宽的一部分也在将数据写入磁盘时被消耗。对于经标度的数据,处理器带宽通常是限制因素。 增加系统中 CPU 的数量和 CPU 的速度提高了系统的带宽。 甚至当 CPU 使用率低于 100%的时候,最小化并行的任务和操作。稀有资源的竞争会降低流盘的性能。 最后,为特定的系统调节流代码。对于多 CPU 的系统,执行一些并行的代码可能会提高系统的吞吐量。 (注意:对同一个磁盘的并行磁盘 I/O 操作通常降低了性能)优化代码以避免存储副本和其他浪费 CPU 带 宽的操作。 总线带宽 一个典型的带有单一 PCI/PXI 总线的台式系统会被总线带宽限制。标准 PCI/PXI 的理论带宽大约是 130MB/s。真实带宽则依总线竞争的程度而降低。通常,在同样总线上同时运行更多设备会降低总线带 宽。 注意:一个单一的 NI 6115 DAQ 可以产生 80MB/s 的数据 增加系统中总线的数量是提高带宽的唯一方法。例如,一些高端的母板包括 2 个或更多的独立 PCI 总线。 这有利于您建立一个系统,这个系统分别在独立的总线上有一个 RAID 控制器和 DAQ 设备。对于这些母 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 板,桥片可能会限制所有连接总线的总吞吐量。 问:NI-DAQmx 执行高速流盘的性能如何? 答:NI-DAQmx 影响流盘性能主要在于它使用了 CPU 带宽同时移动和标度了设备所采集的数据。因此,对 于那些 CPU 带宽是一个限制因素的系统,NI-DAQmx 有效地使用 CPU 就显得十分重要。 自从首次发布以降低读写时的 CPU 使用率开始,NI-DAQmx 经历了多次优化。例如,在 NI-DAQmx 7.3 和 NI-DAQmx 7.4 版本之间,标度的模拟输入基准的性能已从 8%增长至 60%。未标度的模拟输入基准性能已 从 12%增长至 40%。对于那些 CPU 带宽紧张的系统,这个性能的提高直接转化成为的更高的流盘吞吐 量。 NI-DAQmx 使用了极为简单的压缩形式。采样末端的位被简单的丢弃而后将所得的采样打包送入内存。NIDAQmx 并没有使用其他无损失或损失性压缩算法如 LZE 或 JPEG。 在一些情况下,由于采样已经包含不使用的位,因而没有数据损失。例如,一个具有 12 位分辨率和 16 位 采样大小的通道包含 4 位不使用的位。您可以无损失地丢弃这 4 位同时所需磁盘空间减少的幅度达 25%。 此外,您可以配置 NI-DAQmx 丢弃采样中一个或更多不重要的位。例如,您可以配置一个 24 位分辨率和 32 位采样大小的通道而仅返回最高的 20 位。总共有 12 位被丢弃,包括 8 个不使用的位,这样所需磁盘空 间减少的幅度达了 37.5%。 从传统 NI-DAQ 升级 问:为什么我要从传统 NI-DAQ 升级至 NI-DAQmx? 答:有许多原因可解释为什么要升级到 NI-DAQmx。一个重要的原因是 NI 工程师致力于提高 NI-DAQmx 而不是传统 NI-DAQ(Legacy)的效率和性能。如果使用这个测量服务软件的最新版本,NI-DAQmx 用户 就能享受这一革新的好处。 独立于当前工程师的努力之外,由于相对于传统 NI-DAQ(Legacy)的软件特性优势,用户可以简单地升 级到 NI-DAQmx。其中一些优势包括: • 更好的状态模型 • 多线程驱动 • 异常情况下的可靠性 • 简化了的同步功能 • Decreased LabVIEW diagram clutter • 降低了 LabVIEW 程序的复杂度 • 从简单到高级编程的平滑过渡 注意:欲想了解更多关于这些优点及其他信息,请参阅 ni.com 上 Developer Zone 可得的 Advantages of NI-DAQmx 指南。 另外一个升级至 NI-DAQmx 的原因是利用了 NI 提供的最新的 DAQ 硬件。最新和最具创新性的 DAQ 设备 提供了其他厂商和其他设备所不能提供的技术。最新的 NI DAQ 设备仅被 NI-DAQmx 支持。 问:哪些资源可以帮助我把应用程序从传统 NI-DAQ 升级至 NI-DAQmx? 答:ni.com 上的 Developer Zone 包含了极好的资源,可以帮助传统 NI-DAQmx 用户将他们应用程序升级 至 NI-DAQmx。 第一个指南, Transition Traditional NI-DAQ to NI-DAQmx,表明虽然在传统 NI-DAQ 和 NI-DAQmx 之间许 多编程技术是相似的,但是还是有一些细微的差别。这个指南描述了每个 API 中最为常见的 VI 和功能之间 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 的相似之处和不同之处。 第二个指南,学会 NI-DAQmx 里的 10 个功能并解决 80%的数据采集应用程序,描述了您如何利用 NIDAQmx 里的 10 个函数和 VI 来使用 NI-DAQmx 来代替众多的传统 NI-DAQ 功能和 VI。这个指南阐述了如 何使用这每个 VI,它们构成了 NI-DAQmx API 核心。 对于那些希望升级至 NI-DAQmx 但仍希望利用当前传统 NI-DAQ 应用程序来使用 NI-DAQmx 所支持的新硬 件产品的用户,NI 创建了传统 NI-DAQ 兼容的 VI。这些 VI 利用了可与传统 NI-DAQ 和 NI-DAQmx 协同工 作的库代替了一些传统 NI-DAQVI 库。这些 VI 看起来与现有的传统 NI-DAQ VI 一样并与现有的应用程序无 缝集成。在等待用 NI-DAQmx 重写这些应用程序的同时,这些具有兼容性的 VI 被创建用来使用,但是您可 以仍然使用仅 NI-DAQmx 支持的设备。用户在使用具有兼容性的 VI 时应该十分小心因为它们并不支持所有 设备上的所有特性并且不保证在将来的版本中得到更新。欲想了解更多关于 VI 的信息,请访问 ni.com。 此外,NI 网站在 ni.com/examples 上提供了数以千计的 DAQ 例程。数以百计的例程说明了如何使用 NIDAQmx 来完成最为常见的 DAQ 任务。 问:我能同时使用传统 NI-DAQ 和 NI-DAQmx 吗? 答:如果您拥有两个 DAQ 设备,并且其中之一使用传统 NI-DAQ 而另一台使用 NI-DAQmx,那么您可以同 时使用传统 NI-DAQ 和 NI-DAQmx。如果您仅有一台设备,您仍然可以既使用传统 NI-DAQ 又使用 NIDAQmx,但是只能顺序地使用——不是同时。在这个顺序中,您需要重设您的设备以在传统 NI-DAQ 和 NI-DAQmx 驱动之间转换。 在 LabVIEW 中,在传统 NI-DAQ)序列的末端使用 Device Reset VI,在您 NI-DAQmx 序列的末端使用 DAQmx Reset Device VI。您仍然需要创建一个传统的 NI-DAQ 虚拟通道和一个 NI-DAQmx 任务以分别使 用每个驱动。 . 图 10.传统 NI-DAQ 和 NI-DAQmx 可以用于同一个应用程序 问:对于 Visual Basic 6.0 开发者来说应该选择哪一种 DAQ 软件? 答:许多使用 Visual Basic 6.0 的数据采集系统开发者还没有转移到 Microsofts .NET 语言。使用 Visual Basic 6.0 的开发者可有以下几种选择: 1. 升级至 VB.NET 并使用 NI-DAQmx。这种选择的好处是您可以使用 Microsoft 和 NI 的最新软件。 2. 使用 Visual Basic 6.0 和 NI-DAQmx:NI-DAQmx 7.4 包含了对 Visual Basic 6.0 的支持(测试 版)。一旦安装了 C++支持,您还可以获得一个 Visual Basic 类型的库。目前 NI 还不支持这种的 选择,尚未提供任何这方面的技术文档。 3. 使用传统 NI-DAQ 和 Visual Basic 6.0:虽然在短期内这种选择基本没有什么问题,但是它要求您 使用 Microsoft 和 NI 的传统软件。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 问:没有 NIConfig.DAQ 文件,我该如何在机器间转移我的配置? 答:您现在可以使用 NI-DAQmx 里的导出功能来在机器间转移您的硬件配置。 进入 MAX 并选择 File»Export 以启动配置导出向导。使用这个向导,您可以选择希望导出的配置并保存它 们至您所选择的用于导出的文件。为了导入配置,进入 MAX,File»Export 并从配置导出向导所生成的文件 中导入配置。 图 11.使用 MAX 导入/导出硬件配置 问:我现在该如何使用 SCXI 设备?“ob0!sc1!md1!0”通道字符串语法在 NI-DAQmx 中无法用。 答:用在传统 NI-DAQ 中的 SCXI 通道字符串不再能用于 NI-DAQmx。现在的格式为 SCxMody/channel 1. x 代表在配置机箱时所选择的 SCXI 机箱 ID。 2. y 代表模块的插槽位置。机箱中的插槽从左至右开始编号,从 1 开始。 3. I/channel 根据所执行的数据采集类型具有不同的格式: • 模拟输入:/ai#。#是模块上模拟输入通道的数字。例如,SC1/MOD1/ai1 代表 ID 位为 1 的 SCXI 机箱上 1 号插槽模块上的物理模拟输入通道 1。如果您有许多在同一个 SCXI 模块 配置的通道,您可以把它们都包含在 SC1/MOD1/ai1.2.4 这样的格式里,这表示同一个 SCXI 模块的模拟输入通道 1、2、和 4。 • 模拟输出:/ao#。#是模块上模拟输出通道的数字。例如/ao2 代表物理模拟输出通道 2。 • 数字 I/O:port#/line#。第一个数字代表数字端口,第二个数字代表所使用端口的数字线。 例如,port0/line2 意味着物理数字端口 0 线 2。 • 计数器 I/O:/ctr#。#是模块上计数器的数字。例如,/ctr0 代表模块上的计数器 0。 问:如何使用 NI-DAQmx 对计数器进行编程? 答:下面的表格列出了 NI-DAQmx 和传统 NI-DAQ 相似的 VI 以帮助您熟悉从前者到后者的转变: 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 传统 NI-DAQ Counter Group Config VI Counter Set Attribute VI Counter Source (TIO) VI Counter Source (STC) VI Counter Control VI Counter Get Attribute VI Counter Control VI NI-DAQmx DAQmx Create Channel VI DAQmx Channel Property Node VI DAQmx Trigger Property Node VI DAQmx Property Node VI DAQmx Start VI DAQmx Read VI DAQmx Stop VI 欲想了解更多关于在 NI-DAQmx 里写入计数器应用程序的帮助信息,请参阅 ni.com 上 Developer Zone 的 Transition Traditional NI-DAQ to NI-DAQmx 技术指南。 问:在 NI-DAQmx 中我该如何使用双缓冲采集? 答:如果您正在使用双缓冲 I/O,您最有可能以轮询缓冲区的方式来连续地采集数据。在 NI-DAQmx 中, 您可以简单地通过使用 NI-DAQmx 定时功能及将采样模式参数设置成连续模式来达到这个目的。 NI-DAQmx 使用循环式缓冲区。对于输入操作,一部分数据可以在缓冲区为满时从缓冲区中读取。如同输 出操作一样,缓冲区的一部分可以在缓冲区为空时写入。使用循环式缓冲区,您可以简单地将设备设置成 连续采集数据模式,同时 NI-DAQmx 会按照要求找回采集到的数据。 图 12. NI-DAQmx 简化了双缓冲数据采集 问:我该如何使用 NI-DAQmx 来配置 SCXI 模块? 答:您依旧可依在 MAX 中通过选择 NI-DAQmx Devices、右击 SCXI 机箱并选择 Properties 来设置 SCXI 模块属性。您可以看到每个安装在机箱中的模块并且您可以通过单击详细信息来设置每个模块的属性。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 图 13.使用 MAX 配置 SCXI 模块和机箱 MAX 中唯一没有显示的属性是增益设置。NI-DAQmx 可以使用基于信号的 I/O 极限来自动地配置设备以达 到最优的增益设置。 问:NI-DAQmx 里的脉冲序列极性和占空比控制功能的变化? 答:在 NI-DAQmx 里,您可以通过使用通用的 DAQmx 创建通道函数并选择 Counter Output»Pulse Generation»Frequency 来简化您的程序。在传统 NI-DAQmx 里,您必须使用生成脉冲序列函数来定义脉冲 序列的极性、频率和占空比。除了频率和占空比之外,NI-DAQmx 使用空闲状态参数来配置脉冲序列的极 性。 图 14. NI-DAQmx 简化计数器/定时器应用程序 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments 问:使用 NI-DAQmx 我该如何完成远程数据采集(RDA)? 答:NI-DAQmx 不提供 RDA 特性。要想远程控制您的 DAQ 设备,您可以使用 LabVIEW 7 或更高版本里 的远程前面板特性。利用这一特性,您可以通过因特网远程控制 DAQ 应用程序。 问:我可以无需重启任务就能改变 NI-DAQmx 里生成的脉冲序列频率吗? 答:可以。您可以在任何时候更新一个连续脉冲序列的频率和占空比,包括在任务运行的时候。这对于需 要脉冲宽度调节的应用十分有益,如 PID 环控制应用程序。在 DAQmx 写功能里,频率和占空比参数可以 在任务运行的时候自动更新脉冲序列。在更新脉冲生成速率的时候,在新的速率起作用之前,一个当前速 率的完整周期会生成。 图 15.使用 NI-DAQmx 动态更新脉冲序列频率和占空比 © 2005 National Instruments 公司。版权所有:CVI、DAQCard、LabVIEW、Measurement Studio、NI、 ni.com、NI-DAQ、RTSI、SCXI 和 SignalExpress。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。