NI-DAQmx和传统NI-DAQ常见问题解答
发布时间:2008/5/27 0:00:00 访问次数:634
    
    
     本文档回答了关于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)的最优化结合。
    
     表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任务的创建 问:为什么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和传统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)的最优化结合。
    
     表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任务的创建 问:为什么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任务的应用来说,这