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
产生了许多需要解决的问题。NI-
DAQ
开发者难以直观地扩展
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
专门设计成具有世界一流的数据采集性½和稳定性。自
NI-
DAQmx
开发伊始,用户每次添加一个新特性或者对驱动进行一次改变,一个严格且完备的功½和
性½自动测试包就会检验这个改变是否引入了漏洞。这个测试包对应用于各种设备、传感器和操½
系统配½中的常见和不常见的驱动进行测试。不常见或例外的驱动应用对于整½的可靠性十分重
要。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 目前没有计划将
NI-
DAQmx
扩展到
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
评论