当前位置:首页 > DAQ
  • 车辆设备中的数据采集

      数据采集,简称DAQ,是一种广义的概念,其实质上指的是收集和存储来自各种数据源(通常指的是模拟或数字传感器等数据源)的数据用于后续分析的行为。当然,数据采集普遍应用于不同的行业,且往往贯穿行业项目的全过程,主要运用于电控系统,尤其是汽车系统的测试阶段。   就车辆,包括油电混合型汽车,公共汽车,卡车,摩托车,工程或挖掘设备,农机或海洋机械等的动力系统而言,数据收集设备用于对新设备的研发过程中的验证,批量生产前一系列测试,现场测试以及质量认证测试,零部件使用寿命测试以及使用性测试等的应用。数据采集主要为满足政府日趋严格的车辆尾气排放量、燃油经济性等方面的监测要求,同时也为满足客户本身对车辆耐久性标准,包括对换档,加热,通风和空调(HVAC)系统的测试。   数据存储   所记录的数据来源于遍布车身的电控单元(ECUs)以及传感器网络,往往这些数据将被直接导入PC电脑。然而,数据存储及处理的地方则取决于测量目的以及获取的数据量。正如Kvaser 合作伙伴CSM(公司网址:www.csmproductsinc.com ) 的产品主管Christoph Mühleis先生所说:“通常来说,对汽车零部件测试数据进行直接处理并获得即时结果,而对于一些长期测量,如使用性或耐久性测试等,则需要将测试数据下载到本地并随时通过无线电进行传输。   出于其他原因需要将数据下载到本地或进行本地存贮。Cyrilla Menon女士Accurate技术有限公司(公司网址:www.accuratetechnologies.com)的市场总监/应用工程师指出:“通常我们的数据记录仪使用者所处的环境往往无法让PC电脑很好的运行,如摩托车(在摩托车上根本无法安装PC电脑),采挖机械设备,或者一些存在间歇性错误的情况下(如工程师无法持续呆在一个地方)。”Kvaser的硬件经理 Kent Lennartsson先生补充道:“在这些情况下,有更大主板存储器的数据记录仪可以实现本地存储更多数据,然后传输到PC电脑进行后期处理。”   DAQ处理   当今的汽车集成多个带有控制器局域网络(CAN)的电控单元(ECU),数以百计的传感器网络,决定了需要对汽车更多的物理和电气参数进行检测和监测。这即意味着需要有通道数更多,速度更快,精度更高的测试设备。“即使在移动应用中,通道数和采样率在扩大。这一趋势决定了对高速现场总线系统的需求,如基于像EtherCAT这样的以太网技术”,Mühleis说。Kvaser的技术合作方New Eagle(公司网址:www.neweagle.net)从高端校准用户中同样看到了这一需求, 而IPETRONICK公司(公司网址:www.ipetronikl.com)已通过开发一个带有12个控制器局域网络(CAN)的数据记录仪对这一趋势作出回应。Kvaser 也通过其独有的已取得专利的Magisync技术在几个Kvaser Leaf Professional 接口之间实现自动且精确的时钟同步,以应对持续上升的对多通道DAQ的需求趋势。   Accurate技术公司的Menon女士指出:“对新型汽车(如油电混合,电驱动,高性能传输等类型汽车)而言需要高采样率以准确反映各类参数数据。然而用户总是试图在对数据的需求与相应的成本之间寻求平衡,另外还会出现收集到太多难以分析的数据的情形。”为抵销产生大量数据带来的负面影响,用户只需最大限度的寻求所收集数据间的关联性,即只采集有用的数据。一个典型的例子就是使用集成高性能微处理器的数据记录仪,如可针对汽车过滤器和复杂的触发条件进行编程的Kvaser的Eagle产品接口和数据记录仪。这就使得Eagle接口可对系统进行持续的检测,且仅收集针对某些特定情况,如故障等情况下的数据。   移动测量   数采硬件曾是数据采集领域所面临的瓶颈。然而,根据摩尔定律所揭示的信息技术进步的速度来看,随着目前所运行的绝大多数的电子元器件的性能和速度的提升,再叠加上飞速发展的存储技术,用户现在所面临的最大挑战不再是数采硬件而是在数据收集后的阶段,尤其是如何将所收集的数据发送处理是目前所面临的问题之一。因此,无论是环境监测还是远程设备诊断,对可独立操作且实现无线数据传输的工具的需求与日俱增。   CSM的Mühlei提到:“我们注意到在数据流量允许进行无线电传输的情况下对测试中车辆的在线监测正成为一种发展趋势。例如,很多此类的测试是通过与客户合作进行以达到了解客户的车辆使用习惯。”美国New Eagle公司也注意到随着使用性能测试要求不断提升,对有远程信息处理能力的数采的需求也大幅增长。New Eagle的销售工程师Tom Dougan说:“这类需求的目的就是优化车辆的使用性能,如燃料使用情况的可见性,行程的管理,设备的安全性,如臂举,以及对车辆的诊断等。”IPETRONIK的Ottofuelling也同意远程数采是一项重要的新趋势,他指出“我们通过不同的调制解调器将所收集的数据从数据记录仪中下载下来,而使用哪台调制解调器完全取决于车辆位于全球路面的位置。“   Accurate技术的Menon女士指出”远程“可有不同的定义:“最常见的应用是在测控机测试单元内部安装数采硬件,而将PC电脑安装在单元外部。对非同地协作的数采项目(如位于两地的楼宇或国家),远程数据获取可分为两类-实时获取和非实时获取。对我们的客户而言,他们并不需要实时关注远程数据,然而他们需要将大量数据转移到服务器上以便进行后续分析。”这将是一大挑战,CSM的Mhüleis先生就此的解释为,“目前高性能网络如UMTS或LTE的覆盖率还相当有限。然而,随着移动互联网在客户层面越来越广泛的应用,这些领域在未来将有大力度的推进。”   一个相关的趋势就是测量数据的移动访问,这也正是Kvaser工程师们为Kvaser的黑鸟(Blackbird)无线总线分析仪连接到USB接口开发可应用于平板电脑安卓系统API的原因。IPETRONIK开发的数采 产品也考虑到了这一趋势。据Ottofuelling先生说:“我们开发了一款带有从控制器局域网络连接到无线局域网网关的新的平板电脑应用程序,这款应用使查看到车辆的实时数据成为可能,它能让用户在对车辆进行路面试驾前检查车辆一切运行良好。”此外,IPETRONIK也看到了对云存储以及云计算需求的提升。“我们正不断扩大将数据加载到云端的服务。我们已经开始提供数据托管服务,此外从2014年3月起,我们的IPEmoTIon数据采集软件已经可以通过访问存储于云端的数据进行分析和报告。”   数采工具的未来   从软件的角度来看,CSM将关注点放在混合型及电动型汽车开发工具链解决方案上,然而New Eagle公司则致力于为市场带来专门针对数采解决方案的新的应用。该公司正开发一套可与已有的和开发中的Matlab/Simulink和MotoHawk(该公司的软件工具套件)模式实现无缝对接的数采系统。   Ottofuelling先生还指出了一个对硬件功能有重大影响的趋势:“我们发现数据采集仪现在越来越多地在不同系统间充当‘数据网关’以实现系统间交流。”Kvaser的Lennartsoon先生也同意这一观点,同时他指出:“一个带有WiFi功能的交互界面或数据采集仪可将分离的系统连接起来。一大趋势就是永久安装此类设备,只要被测试系统到达某一访问热点,存储在交界面的数据就会被传输到位于全球任一位置的计算机端进行分析。”   IPETRONIK研发部关注到了Flexray总线技术在一些车辆上应用的兴起,伴随而至的则是客户对高速信号,即非常高的采样率以及“大数据”的采集记录要求。Menon女士还指出Accurate技术公司最新发布的软件就能通过提升数据处理能力来满足硬件不断提升的需求。从Kvaser的未来发展来看,这将包括高速控制器局域网络(CAN-FD)以及以太控制器局域网络等的解决方案。总结Lennartsson先生的观点来看:”这两大趋势将大大增加需要进行存储的数据的量,进而迫使用户行为习惯发生改变。未来对数据的存储和分析不再是只能单纯地在某一特定的中央处理器进行处理,相反,随着服务器/云存储技术不断成熟,数据的存储和分析将是随时随地的。”   “用户总是试图在对数据的需求与相应的成本之间寻求平衡,另外还会出现收集到太多难以分析的数据的情形。”Accurate技术公司的 Cyrilla Menon女士如是说。   “我们注意到在数据流量允许进行无线电传输的情况下对测试中车辆的在线监测正成为一种发展趋势。”CSM的Christoph Mühlei如是说。

    时间:2020-09-01 关键词: daq 数字传感器

  • 使电源优势得到质的飞越的黑科技

    在DAQ中,跨多个子系统看到并联电源轨和不同的负载电流(和纹波)要求并不罕见。图1展示了DAQ系统的电源架构以及电源模块如何为各种子系统生成所需的电源轨。 图1:使用电源模块的DAQ电源架构 使用电源模块有助于提高整体性能、效率和可靠性。电源模块还具有以下优势: · 同一封装中的输出电流通过优化的成本提供设计灵活性和可扩展性。 · 通过自动脉冲频率调制(PFM)模式提高轻载效率的方法。 · 负载调节期间具有出色的瞬态响应。 · 通过集成、创新封装和组装的紧凑型解决方案。 · 通过精选的无源元件选择改善了功率模块性能。 · 可在很宽的温度范围内工作。 通过选择无源元件改善了功率模块性能 除封装选择和旨在缓解EMI和输出纹波的布局外,选择无源元件同样重要。非原装组件可能在原型阶段运行良好,但会出现压迫迹象,并导致现场损坏或故障。 电感器是DC/DC降压转换器设计中的关键组件之一。选择合适的电感器需要时间和诀窍,包括了解电感铁芯的细微参数及其对电源性能和寿命的影响。电感器的一个常见问题是高温存储(HTS)测试期间的故障,这表明电感器能够长时间承受高温。 在HTS测试期间,电感器置于DC/DC转换器附近,限制气流。铁粉的涂层和/或粘合剂随着时间和高温条件开始分解,这导致铁损增加,并降低电源效率。在更高的输入电压和更高的开关频率下,问题最为明显。图2比较了HTS压力测试前后多个输入电压下电感的效率下降问题。 经检查,电感器通常看起来并未明显受损。电感的L和DCR值可能不会改变。但是,暴露在高温下会增加交流阻抗,如图2所示。 图2:HTS测试前后的效率下降以及电感器的AC阻抗变化 与此同时,德州仪器的电源模块集成了电感器。这些电感器随着时间的推移和温度的升高具有出色的性能。图3所示为暴露在高温后各类电感的HTS测试结果。我们的电源模块使用电感器,在HTS测试后,Q和铁芯电阻变化很小或无变化。   图3:德州仪器电源模块电感HTS性能 此外,我们的电源模块经受工作电压测试,以确保没有绝缘击穿。 具有自动PFM和负载瞬态响应的效率(总负载和轻负载) 电源模块提供MODE/SYNC选项,可在轻负载时转换为自动节能模式。正常操作期间,电源模块使用脉冲宽度调制(PWM)调节输出。 当负载电流极低时,控制逻辑转换为PFM操作和二极管仿真。在该模式中,高侧金属氧化物半导体场效应晶体管(MOSFET)接通一个或多个脉冲,以向负载提供能量。高侧MOSFET的导通时间取决于输入电压电平和预编程的内部电流电平(IPEAK-MIN)。输入电压越高,导通时间越短。关断时间的持续时间也取决于负载电流水平。较轻的负载导致较长的关闭时间。 这种操作模式在极轻负载下可实现出色的转换效率。使用自动PFM模式时,空载时的输出电压比强制脉冲宽度调制(FPWM)操作高出约1%。图4所示为PFM和FPWM模式的效率图。 负载瞬态响应是衡量电源如何应对电流需求的突然变化或电源跟踪负载阻抗变化的程度的指标。负载瞬态响应是一个越来越重要的性能参数,特别是对于微处理器或现场可编程门阵列。其具有低核心电压、高电流消耗和快速负载切换的特点。图4所示为电源模块的负载瞬态响应。 图4:功率模块效率和负载瞬态响应 若保持足够低的等效串联电阻,则可通过调整输出电容来改善瞬态响应。增加输入电容可增强对更长和/或更深的瞬态步长的响应。得益于每相电流的减少,增加变流器相位还可通过提高有效开关频率及允许更小的输出电感器和电容器来改善瞬态响应。 缩小解决方案尺寸 我们已开发出创新的用于功率模块的紧凑封装技术。 此类封装技术是如图5所示的四方扁平无引线(QFN)封装,具有单个铜引线框架。带旁路元件的集成电路(IC)安装在该引线框架上。通过将电感器安装在IC和无源元件上,开关节点也变得紧凑、长度较短,并降低EMI。示例包括德州仪器的LMZM33603 和 LMZM33602, 它们均具有36V输入额定值,可提供高达3A的负载电流。 我们的MicroSiP™或QFN封装技术可用于需要更低功率的电源轨。此类封装技术使用裸DC/DC稳压器芯片并将其嵌入薄的印刷电路板基板中。铜迹线不是使用接合线,而是将芯片连接到基板,如图5所示。示例包括德州仪器的LMZM23601 和 LMZM23600, 它们集成了输入旁路电容和电感,以提供更好的EMI性能。   图 5:电源模块消息 可在很宽的温度范围内工作 电源模块的一个优点是它们可在高温条件下操作。通过优化的设计、封装、布局和合适的元件选择,功率模块即使在100°C的高温下也可提供50%的负载电流,如图6所示。 图6:环境温度与输出电流 使用电源模块生成反向电源 在DAQ中,选择用于采样AC模拟输入的ADC指定为±10.24 V的输入范围。传感器的AC电流或电压输出使用增益放大器缩放到ADC输入范围,且用于缩放增益的运算放大器使用±12 V直流电源供电。可使用多种方法生成所需的双极DC电源。一种方法是通过在反向降压-升压配置中使用功率模块来产生负电源。 在标准降压配置中,正极连接(VOUT)连接到内部电感,回路连接到系统地。在反向降压-升压配置中,系统接地连接到VOUT,回路现在是负输出。这种拓扑结构可实现反向输出电压,如图7所示。 图7: 从降压转换为反向冲跳升压 结论 除提供上述详细的多种优势外,DAQ应用中的电源模块还可提高系统性能和可靠性,减少设计工作,并帮助设计人员优化电路板空间。德州仪器具有管脚兼容的电源模块系列,具有不同的负载电流和可编程输出电压,可为DAQ设计提供可扩展性。

    时间:2019-05-06 关键词: DC/DC daq

  • DAQ中各种采样方法的一点想法(最简单的采样方式)

    时间:2018-07-30 关键词: 采样方式 采样方法 daq

  • 关于labview的DAQ输出缓冲区

    DAQ的输出缓冲区的大小是由写入的样本数决定的,一般为样点数的2倍左右。所以能及时的响应波形信号改变。不会产生巨大的延迟。若将输出缓冲区的大小设置的很大,那么就会在改变波形参数的时候产生巨大的延迟。因为存进缓冲区的数据必须逐一的输出。而缓冲区合适的时候,会不时的丢弃一部分数据,而随时的相应新的波形。就像这个例子当我把输出缓存区设置成很大(10000)时,我在程序中改变波形属性,就会等很长很长时间才能输出相应的波形。原因是我每隔100ms就会忘缓存中写数据,在这之前写了非常多的数据保存在缓存中(还没来得及生成),所以需要延迟很多时间才能生成。所以说 要注意 匹配好 多次写入VI的数据数量,以及刷新时间 等等!!!多谢谢多测试,慢慢精通。而输入缓冲区的大小则是由采样速度决定的。具体的可以参见lavview的帮助。橙色部分显示。如何确定缓冲区大小?输入任务如采样模式为有限采样(定时函数/VI上的采样模式设置为有限采样),NI-DAQmx将划分出一块缓冲区,大小与每通道采样数属性相等。例如,指定每通道采样数为1000,应用程序使用两条通道,则缓冲区大小为2000个采样的大小。因此,缓冲区的大小足够存放要采集的所有样本。如采样模式为连续采样(定时函数/VI上的采样模式设置为连续采样),NI-DAQmx将划分出一块缓冲区,大小与每通道采样数属性相等,除非缓冲区大小的值比小表所列的值更小。如每通道采样数属性的值小于下表所列的值,NI-DAQmx将使用下表中的值。注:因为性能原因,连续采集的默认缓冲区大小与启用数据记录时所需缓冲区的大小可能有细微差别。通过调用输入缓冲配置函数/VI可重写默认缓冲区大小。当定时函数/VI的采样模式设置为硬件定时单点采集时,NI-DAQmx不会创建缓冲区。输出任务开始一次新的生成之前需要执行写入操作的数据决定缓冲区的大小。第一次调用“写入”函数/VI的“多采样”实例时会创建一个缓冲区并确定其大小。也可使用输出缓冲区函数/VI创建一个输出缓冲区。必须在写入数据之前使用该VI。定时函数/VI的每通道采样数不决定输出缓冲区的大小。反之,它是要生成的采样的总和。如缓冲区大小是n,将每通道采样数设置为3×n,将缓冲区的数据设置为正好3倍。如要生成整一倍的数据,将每通道采样数设置为n。当定时函数/VI的采样模式设置为硬件定时单点采集时,NI-DAQmx不会创建缓冲区。

    时间:2018-07-16 关键词: LabVIEW 输出缓冲区 daq

  • 使用LabVIEW、PXI、DAQ和DIAdem搭建声纳导流罩监测系统

     挑战: 对意大利海军多功能护卫舰(FREMM)声纳导流罩内部不同部件的设计和集成进行验证。 解决方案: 基于LabVIEW和NI PXI数据采集(DAQ)硬件开发一个声纳导流罩监测系统(SDMS),来采集处理所有的相关板载数据,并基于NI DIAdem搭建一个后处理系统。   图1:声纳导流罩监测系统构架   · 我们需要一个可以完成以下功能的SDMS: · 采集数据以分析声纳整流罩的结构和振动行为,以及在船只正常运作时由于流体力学部件所产生的弹性反应。系统必须能够提供初步的实时细节(DIAdem通过已记录的数据集做进一步的细节和互相关分析) · 计算平台自身的噪音 · 通过记录的数据和分析,对导流罩上机械噪音的传播及其影响进行评估。 NI软件和硬件系统构架的一个主要优势是技术数据管理流(TDMS)文件格式,能在实时和后处理的状态下,将原始数据或处理好的数据与船舶的姿态和速度,以及推进姿态,RPM和螺旋桨距自动关联。 SDMS应用 SDMS是按照Orizzonte Sistemi Navali(OSN)公司的规范标准进行开发的,他们是多功能护卫舰主要的承包商。CETENA搭建集成整个系统,SITEM开发LabVIEW应用程序。 DAQ系统是基于PXI/SCXI的平台,包括了一个NI PXI-8110控制器,一个NI PXI-1050机箱,一个NI PXI-6251多功能数据采集模块,四个NI PXI-4462 IEPE加速度计DAQ模块,和两个NI SCXI-1520应变计输入模块。 即使非专业的操作员也能使用SDMS记录所有声纳整流罩相关的结构和声音参数。在船舶运转过程中,可以使用SDMS记录所有声纳整流罩相关的结构和声音参数,无需产生过多数据即可对导流罩内部部件的集成进行验证。 SDMS包含两个操作模式,在非辅助模式下,SDMS软件会检查重要的传入信号,根据设定的阈值来检测开始/停止记录触发。在辅助模式下,触发实时阈值估算不可使用。用户可以选择是否需要手动开始或停止一段记录,并对记录的数据进行管理。操作模式可在窗口主界面的操作选项中进行控制。 SDMS主要以三种方式对数据采集进行管理。在DAQ模拟输入数据采集中,从DAQ模块中输出的信号将直接由应用程序进行采集、分析和储存。在OPC数据采集中,OPC信号通过TCP/IP连接和以太网连接到船舶管理系统(SMS)进行采集。这些信号与一些船舶机械相关,例如DGs RPM、螺旋桨距,或其他设备状态。在UDP数据采集中,信号采集可以通过导航系统的以太网络完成。 所有被记录的数据都以TDMS文件格式储存。因为它是一个开放的构架,用户可以选择数据分析软件(比如DIAdem)查看数据。TDMS文件可以包含原始数据,OPC,UDP,加速度计快速傅里叶转换(FFT)波形,和信道计算(也被称为综合信道)。 SDMS软件HMI SDMS人机界面(HMI)提供了一个易于使用的图形化界面来管理采集和处理那些根据预见需求所产生的任务。HMI由一系列已给定任务的视图组成并根据功能的同一性进行分组。操作员开启SDMS项目即可进入主页(主界面)。由此可以进入SDMS并使用不同的功能,比如连续数据采集、综合计算、或光谱分析、数据记录、数据获取,都由不同的软件模块进行管理。   图2:SDMS HMI主界面   SDMS HMI在屏幕顶端有固定的标题,用于显示导航系统(NAVS)和船舶机械中某个固定OPC和UDP信号的实时数值。在屏幕中央显示用户调用的动态子面板。默认的主页子面板,也被称为主界面,可以使用户访问其他的子面板。SDMS还能计算一些其他的综合信道。这些信道可能包括应变计、压力、水听器或加速度计的信号输入。 SDMS通道分组 所有通过NI采集系统进行采集的通道都会被分组。通过分组,系统在组中通道的一个综合信号超出阈值时,依然能在选定的组中记录通道的原始数据。 数据储存规格,记录开始事件 当船舶速度(UDP信号)超过了阈值,主记录事件便会被检测到。当主触发事件开始后,系统会储存所有的OPC、UDP和综合计算信道。之后,主记录事件会被检测,其他分组的阈值会继续被评估。系统还具有预触发缓冲的特性。整个记录过程会在触发事件检测前储存所有与时间窗口相关的的数据。SDMS软件还提供了自动硬盘饱和控制工具。 停止记录,触发滞后 当以下情况发生,系统会停止所有的记录过程: 1. 主速度返回值低于阈值。这个事件还会停止其他组的原始数据记录。当相关综合信道返回值低于阈值,分组原始数据停止记录。 2. 用户按下停止记录按钮(主界面子面板) SDMS处理 SDMS可以对水听器和加速度计原始数据进行FFT分析。对于水听器信号,原始数据将根据应用频谱分析来完成实时自身噪音计算、一个瀑布图,以及1/3倍频程图形显示的时频频谱关系。同样的,系统会持续对每一个传感器进行加速度计FFT计算。 SDMS数据检索及SDMS预警记录 通过历史子面板,用户可以浏览以往的测试过程来找到已记录的TDMS文件。通过可视化记录子面板,用户可以看到所有预警事件和系统事件的历史列表。可以通过筛选选项进行日期筛选,开始时间和结束时间筛选,以及事件类型筛选。 结论 NI硬件和LabVIEW软件的结合使得我们团队即便在面对客户复杂要求的情况下,也能够在短期内开发应用程序。总体上,我们用了五个月的时间对软件应用程序进行人工设计,开发和测试。尤其是在起步阶段,我们还利用图形化编程对程序进行测试,轻松完成调试。   图3:水听器子面板和可视化瀑布图  

    时间:2012-12-18 关键词: pxi LabVIEW diadem daq

  • 泛华恒兴DAQ On Demand再升级

    21ic讯 继2011年6月,北京泛华恒兴科技有限公司(简称:泛华恒兴)推出数据采集分析设计软件(DAQ On Demand )后,泛华恒兴再次推出DAQ On Demand 3.0.0版本。升级后的版本新增十余种功能,在用户体验、功能完善和性能稳定方面均有大幅提升和改善。   DAQ On Demand 设计流程图 DAQ On Demand3.0.0支持更多的数据类型,拥有更美观顺畅的自定义界面,也融合了更实用的数据采集分析功能。DAQ On Demand 3.0.0可实现直接在DAQ On Demand平台上配置和修改数据采集任务;支持强度图、瀑布图、倍频程图和数字波形图等多种自定义界面表现形式。在安装Data On Demand后,软件还可实现试验信息管理、实验文件的上传下载等功能。             DAQ On Demand数采界面                        DAQ On Demand自定义界面 同期,工具助手软件设备专家向导(Device Advisor )也发布了3.0.0版本。升级后的Device Advisor支持了更多种类设备配置数据采集任务,支持模拟输入输出、数字输入输出和计数器输入输出等多种任务模式;添加了温度、应变、声压级、电阻、电流、加速度等多种测量类型;提供清单式配置方式,操作过程更简单。同时,Device Advisor3.0.0也支持泛华自主硬件PS PXI-3356(通用多功能数据采集卡)的模拟输入输出、数字输入输出、计数器输入功能。 背景链接: 1,DAQ On Demand(数据采集分析设计软件)是X-Designer的重要组件之一。是一款集数据采集任务配置、数据管理、信号分析、数据保存与回放、离线高级分析、在线算法编辑、界面定制、系统机制设计和报表生成等功能为一体的平台型软件。该软件基于计算机和其他专用测试平台的测量软硬件产品,帮助用户快速搭建灵活的、用户自定义的测量系统,并提供适应不同方向的算法工具包对现有平台的功能进行扩展。 2,Device Advisor(设备专家向导)是X-Designer的一个配置数据采集任务组件,该软件将数据采集任务分解为若干子任务,分别进行配置和设计。软件支持硬件设备自识别,辅以庞大的专家数据库,更好地指导工程师以高效、便捷的方式完成数据采集任务的配置。Device Advisor的关键特性是:快捷有效地设计数据采集系统,无需熟悉板卡的底层,只需要配置与采样相关的概念参数即可完成复杂的多板卡同步采集任务的设计,为工程师提供高效的编程体验。  

    时间:2012-08-20 关键词: 新品发布 demand 华恒兴 daq

  • 基于凌华DAQ-2204的飞机电气参数综合测试系统

    关键字:DAQ-2204;虚拟仪器;国家军用标准 对于飞机电气系统来说,在其生产检修过程中都需要对其电气参数进行测试,然而,由于飞机电气参数的多样性,致使在进行某一电气系统的测试时需要使用各种不同的测量仪器及仪表,这就增加了测试设备的投资和测试工作的繁琐性。因此,有必要采用一套多功能的飞机电气参数测试系统。 1、测试系统的功能简介 飞机电气参数综合测试系统是根据飞机电气系统设计和检验的需要而研制的一套专用测试设备,主要用于飞机供电系统、静止变流器、变压整流器及变压器等电气系统和产品地面试验时的电气特性参数测试,以评估被测对象的电气特性是否满足相关的国家军用标准和设计规范的要求。 该测试系统主要基于凌华公司的DAQ-2204多功能采集卡,并与虚拟仪器技术相结合,不仅可以测量国家军用标准GJB181-1986和最新修订的GJB181A中规定的一些需要采用特殊数据采集和分析方法才能测量的参数,还可实时记录多个通道的波形,在飞机电气系统地面实验时可替代示波器、万用表和频谱分析仪等仪器的功能;本测试系统还能回放已记录的历史数据,能够按照国军标的要求自动生成并打印测试报表和测试结果曲线对比图。此外,利用采集卡上的数字I/O实现了对负载的加卸控制和参数的同步测试。 为便于和其它分析系统共享测试数据,该系统还实现了与局域网互联。 2、飞机电气参数测试的特点 对于现有的军用和民用航空电气系统,其核心部件的测试虽然有所不同(主要是激励源、激励位置和时机及测试点的不同),但其内在检测实质却是一致的:在一定时刻及一定位置对被测系统加一激励,然后从适当的时刻和位置获取系统相应信息,最后通过分析软件计算出电气系统的各种性能参数值,从而对被测系统的性能作出相应的评估。 3 硬件实现原理 该测试系统的硬件部分主要由工控机、PCI数据采集卡、信号调理电路、传感器以及打印机等组成,如图1所示。                           图1、电气参数综合测试系统结构示意图 3.1 数据采集卡及工控机 PCI数据采集卡是测试系统的核心部分,该系统选用了凌华公司的多功能数据采集卡DAQ-2204,它具备64路单端或32路差分模拟输入通道,其单通道最高采样频率为3MS/s,12位分辨率;DAQ-2204通过扫描方式获取各个通道的采样数据,当扫描12路差分通道的信号时可以保证每个通道的采样频率在100kS/s以上,从而保证了按照国军标GJB181的要求进行稳态参数测试;选择DAQ-2204作为采集卡的另一个原因是它配备了同步数字量输入口(SDI),DAQ-2204采样数据的低4位就是SDI输入位,通过SDI获取调理板的触发和定时信号,可以很方便地实现瞬态参数测试和稳态浪涌电压分析;此外,利用DAQ-2204的24路通用数字I/O实现了对电气负载的软件加载和卸除,从而增加了系统的控制功能。所有这些性能均保证了对瞬态转换特性及按照国军标GJB-181要求的各种稳态和瞬态的测试。 鉴于电气系统试验现场有较大的电磁干扰,同时为保证系统具有良好的实时数据采集和快速分析能力,该系统选用了一台高档工控机作为主控制器。 3.2 传感器与信号调理 该测试系统的被测信号包括飞机电气系统的各种电压和电流信号。其中,电压信号直接进入调理箱,经过精密电阻分压后进入测试系统;电流信号先经过LEM传感器转变为电压信号,再由精密电阻取样后进入测试系统。由于对包括交、直流电压畸变和交流电压的直流分量在内的三种参数的测试有特殊要求,在该测试系统中专门设计了相应的调理电路,以改善系统的带宽和动态性能,从而提高了整个系统的综合测试能力。 4 软件设计方案 该系统作为一套电气参数综合测试系统,对分析软件的要求比较严格,不仅要求软件运行稳健,还必须做到功能完善、执行效率高及数据管理方便。因此,该系统的应用软件开发平台选择了在测控界享有盛誉的图形化开发软件——LabVIEW7,利用虚拟仪器技术实现整个测量分析软件。LabVIEW7是高效的图形化开发环境,它集简单易用的图形化开发方式、灵活强大的编程语言和丰富的数据分析模块于一身,可以大大缩短开发周期和提高软件质量。 用户在购买DAQ-2204时,凌华公司随板卡提供了针对LabVIEW开发平台的驱动软件包——D2K-LVIEW,它保证了用户在不需要开发板卡底层驱动的情况下通过简单的设计即可实现功能完善的测试系统软件模块。有了D2K-LVIEW的支持,在进行基于LabVIEW的测控软件设计时,不必花费大量时间去开发相应的板卡驱动,用户在使用凌华公司的产品时像使用NI公司的产品一样方便。 测试分析软件根据测试内容的不同,分为两部分:国军标GJB181-1986规定的参数测试和国军标GJB181A规定的参数测试。第一部分根据测试内容的不同分为几个子模块,包括:测试通道参数设置模块、三相交流稳态电压分析模块、交流电压调制分析模块、交流稳态浪涌电压分析模块、频率分析模块、直流稳态电压分析模块、功率及功率因数测量模块和励磁参数测试模块;在GJB181A部分包括交流畸变测试模块和直流畸变测试模块等。每个测试模块由主控制模块统一调度,并且都实现了测试数据存储、回放和测试报表生成打印等功能。 图2和图3分别是电气参数综合测试系统的软件结构图和三相交流稳态电压分析界面                                图2、电气参数综合测试系统的软件结构图                             图3、三相交流稳态电压分析界面 5 结束语 该飞机电气参数综合测试系统是根据航空电气系统的特点而专门研制的,主要用于飞机电气系统生产和维修时的检验和测试,其交、直流稳态电压和相移的测量精度达到了0.2%,瞬态测试精度也达到了0.5%,频率精度为0.02%,完全满足国军标GJB181-1986和GJB181A的测试要求,已被多个航空电气系统的生长厂和科研院所采用,效果令人满意。 参考文献: [1] DAQ-2204/2205/2206 User’s Guide. ADLINK Technology Inc,2002,(1). [2] 吕永健,王瑾,谢文俊. 智能接口在飞机电源自动测试系统中的应用.测控技术,2002,(9). [3] 杨乐平,李海涛等. LabVIEW高级程序设计. 清华大学出版社. 2003.4

    时间:2011-12-06 关键词: 飞机 凌华 2204 daq

  • 使用NILabVIEW和DAQ创建微网能量管理系统(MEMS)

    "在处理矩阵计算时,LabVIEW提供了编程工具更方便地编写功率系统应用程序,从而节省编程时间。" – Gooi Hoay Beng, Nanyang Technological University The Challenge: 随着化石燃料的耗尽和全球能源需求的不断增加,我们需要探索可持续的能源,并有效进行管理。新加坡没有自然资源,因此需要在技术上加大投入以提高供给系统效率从而满足其能源需求。 The Solution: 我们使用NI LabVIEW和NI数据采集设备开发低成本微网功率管理系统(MEMS)。ICT、智能仪表和高级优化应用程序被用于MEMS中,管理我们的LV分布式系统,作为整合可再生能源的平台。  

    时间:2011-07-27 关键词: mems nilabview 能量管理 daq

  • 数据采集(DAQ)基础知识

     简介        现今,在实验室研究、测试和测量以及工业自动化领域中,绝大多数科研人员和工程师使用配有PCI、PXI/CompactPCI、PCMCIA、 USB、IEEE1394、ISA、并行或串行接口的基于PC的数据采集系统。许多应用使用插入式设备采集数据并把数据直接传送到计算机内存中,而在一些 其它应用中数据采集硬件与PC分离,通过并行或串行接口和PC相连。从基于PC的数据采集系统中获取适当的结果取决于图示一中的各项组成部分:• PC• 传感器• 信号调理• 数据采集硬件• 软件        本文详细介绍了数据采集系统的各个组成部分,并解释各个部分最重要的准则。本文也定义了用于基于PC的数据采集系统组成部分的许多通用术语。 图1 典型的基于PC的DAQ系统个人电脑(PC)        数据采集系统所使用的计算机会极大地影响连续采集数据的最大速度,而当今的技术已可以使用Pentium级别以及多核的处理器,它们能结合更高性能 的PCI/PCI Express、PXI/CompactPCI和IEEE1394(火线)总线以及传统的ISA总线和USB总线。PCI总线和USB接口是目前绝大多数 台式计算机的标准设备,而ISA总线已不再经常使用。随着PCMCIA、USB和IEEE 1394的出现,为基于桌面PC的数据采集系统提供了一种更为灵活的总线替代选择。对于使用RS-232或RS-485串口通信的远程数据采集应用,串口 通信的速率常常会使数据吞吐量受到限制。在选择数据采集设备和总线方式时,请记住您所选择的设备和总线所能支持的数据传输方式。        计算机的数据传送能力会极大地影响数据采集系统的性能。所有PC都具有可编程I/O和中断传送方式。目前绝大多数个人电脑可以使用直接内存访问 (Direct memory access,DMA)传送方式,它使用专门的硬件把数据直接传送到计算机内存,从而提高了系统的数据吞吐量。采用这种方式后,处理器不需要控制数据的传 送,因此它就可以用来处理更复杂的工作。为了利用DMA或中断传送方式,您的数据采集设备必须能支持这些传送类型。例如,PCI、USB设备可以支持 DMA和中断传送方式,而PCMCIA设备只能使用中断传送方式。所选用的数据传送方式会影响您数据采集设备的数据吞吐量。       限制采集大量数据的因素常常是硬盘,磁盘的访问时间和硬盘的分区会极大地降低数据采集和存储到硬盘的最大速率。对于要求采集高频信号的系统,就需要 为您的PC选择高速硬盘,从而保证有连续(非分区)的硬盘空间来保存数据。此外,要用专门的硬盘进行采集并且在把数据存储到磁盘时使用另一个独立的磁盘运 行操作系统。        对于要实时处理高频信号的应用,需要用到32位的高速处理器以及相应的协处理器或专用的插入式处理器,如数字信号处理(DSP)板卡。然而,对于在一秒内只需采集或换算一两次数据的应用系统而言,使用低端的PC就可以满足要求。        在满足您短期目标的同时,要根据投资所能产生的长期回报的最大值来确定选用何种操作系统和计算机平台。影响您选择的因素可能包括开发人员和最终用户 的经验和要求、PC的其它用途(现在和将来)、成本的限制以及在您实现系统期间内可使用的各种计算机平台。传统平台包括具有简单的图形化用户界面的Mac OS,以及Windows 9x。此外,Windows NT 4.0和Windows 2000能提供更为稳定的32位OS,并且使用起来和Windows 9x类似。Windows 2000是新一代的Windows NT OS,它结合了Windows NT和Windows 9x的优势,这些优势包括固有的即插即用和电源管理功能。传感器和信号调理       传感器感应物理现象并生成数据采集系统可测量的电信号。例如,热电偶、电阻式测温计(RTD)、热敏电阻器和IC传感器可以把温度转变为模拟数字转 化器(analog-to-digital ,ADC)可测量的模拟信号。其它例子包括应力计、流速传感器、压力传感器,它们可以相应地测量应力、流速和压力。在所有这些情况下,传感器可以生成和它 们所检测的物理量呈比例的电信号。        为了适合数据采集设备的输入范围,由传感器生成的电信号必须经过处理。为了更精确地测量信号,信号调理配件能放大低电压信号,并对信号进行隔离和滤波。此外,某些传感器需要有电压或电流激励源来生成电压输出。图2显示了带有NI SCXI信号调理配件的典型数据采集系统。 图2 用于插入式数据采集设备的SCXI信号调理的前端系统 信号调理配件可用于各种重要的应用       放大功能——放大是最为普遍的信号调理功能。例如,需要对热电偶的信号进行放大以提高分辨率和降低噪声。为了得到最高的分辨率,要对 信号放大以使调理后信号的最大电压范围和ADC的最大输入范围相等。又例如,SCXI有多种信号调理模块可以放大输入信号。在临近传感器的SCXI机箱内 对低电压信号进行放大,然后把放大后的高电压信号传送到PC,从而最大限度地降低噪声对读数的影响。        隔离功能——另一种常见的信号调理应用是为了安全目的把传感器的信号和计算机相隔离。被监测的系统可能产生瞬态的高压,如果不使用信 号调理, 这种高压会对计算机造成损害。 使用隔离的另一原因是为了确保插入式数据采集设备的读数不会受到接地电势差或共模电压的影响。当数据采集设备输入和所采集的信号使用不同的参考“地线”, 而一旦这两个参考地线有电势差,就会带来麻烦。这种电势差会产生所谓的接地回路,这样就将使所采集信号的读数不准确;或者如果电势差太大,它也会对测量系 统造成损害。使用隔离式信号调理能消除接地回路并确保信号可以被准确地采集。例如,SCXI-1120和SCXI-1121模块能提供高达250 Vrms的共模电压隔离,SCXI-1122能提供高达450 Vrms电压隔离。       多路复用功能——多路复用是使用单个测量设备来测量多个信号的常用技术。模拟信号的信号调理硬件常对如温度这样缓慢变化的信号使用多 路复用方式。ADC采集一个通道后,转换到另一个通道并进行采集,然后再转换到下一个通道,如此往复。由于同一个ADC可以采集多个通道而不是一个通道, 每个通道的有效采样速率和所采样的通道数呈反比。例如,1MS/s的PCI-MIO-16E-1采样通道为10个,那么每个通道的有效采集速率大约为:        由于模拟信号的模拟SCXI模块采用多路复用技术,一个数据采集设备可以测量多达3,072个信号。       使用AMUX-64T模拟多路复用器,您可以使用一个设备来测量256个信号。所有内置有多路复用器的数据采集设备也具备这一特性。滤波功能——滤波器的功能是指在您所测量的信号中滤除不需要的信号。噪声滤波器用于如温度这样直流信号,它可以衰减那些降低测量精度的高频信号。例如,许多SCXI模块在使用数据采集设备对信号数字化前使用4 Hz和10 kHz的低通滤波器来滤除噪声。       如振动这样的交流信号常常需要另一种被称为抗混叠的滤波器。像噪声滤波器一样,抗混频滤波器也是低通滤波器;然而,它需要有非常陡的截止速率,从而 可以滤除信号中所有高于设备输入波段的频率。如果这些频率没有被滤除,它们将会作为信号错误地出现在设备输入带宽中。专为测量交流信号而设计的设备—— NI 455x、NI 445x和NI 447x动态信号采集(DSA)设备,NI6115同步采样多功能I/O设备,SCXI-1141模块都有内置的抗混频滤波器。        激励功能——对于某些传感器信号调理也能提供激励源。例如,应力计、热敏电阻器和RTD需要有外部电压或电流激励信号。用于这些传感 器的信号调理模块常用来提供激励信号。RTD测量常使用电流源来把电阻上的变化量转化为可测量电压。应力计是阻值非常低的电阻设备,常用于配有电压激励源 的惠斯通电桥。SCXI-1121和SCXI-1122有板载的激励源,可配置为电流或电压激励,从而可用于压力计、热敏电阻器或RTD。          线性化功能——另一种常见的信号调理功能是线性化功能。许多传感器,如热电偶,对被测量的物理量的响应是非线性的。NI的NI-DAQ、LabVIEW、Measurement Studio和VirtualBench等应用软件包包含了应用于热电偶、压力计和RTD的线性化功能。       您需要了解您的信号的特性,用于测量信号的配置以及系统周围环境的影响。根据这些信息,您才可以确定您的DAQ系统是否需要使用信号调理。 数据采集硬件模拟输入       模拟输入的基本考虑-在模拟输入的技术说明中将给出关于数据采集产品的精度和功能的信息。基本技术说明适用于大部分数据采集产品,包括通道数目、采样速率、分辨率和输入范围等方面的信息。      通道数-对于采用单端和差分两种输入方式的设备,模拟输入通道数可以分为单端输入通道数和差分输入通道数。在单端输入中,输入信号均 以共同的地线为基准。这种输入方法主要应用于输入信号电压较高(高于1 V),信号源到模拟输入硬件的导线较短(低于15 ft),且所有的输入信号共用一个基准地线。如果信号达不到这些标准,此时应该用差分输入。对于差分输入,每一个输入信号都有自有的基准地线;由于共模噪 声可以被导线所消除,从而减小了噪声误差。       采样速率-这一参数决定了每秒种进行模数转换的次数。一个高采样速率可以在给定时间下采集更多数据,因此能更好地反映原始信号。       多路复用-多路复用是使用单个模数转换器来测量多个信号的一种常用技术。要了解更多关于多路复用的信息,请参看此文的“信号调理”章节。分辨率-模数转换器用来表示模拟信号的位数即是分辨率。分辨率越高,信号范围被分割成的区间数目越多,因此,能探测到的电压变量就越 小。图3显示了一个正弦波和使用一个理想的3位模数转换器所获得相应数字图像。一个3位变换器(此器件在实际中很少用到,在此处是为了便于说明)可以把模 拟范围分为23,或8个区间。        每一个区间都由在000至111内的一个二进制码来表示。很明显,用数字来表示原始模拟信号并不是一种很好的方法,这是由于在转换过程中会丢失信 息。然而,当分辨率增加至16位时,模数转换器的编码数目从8增长至65,536,由此可见,在恰当地设计模拟输入电路其它部分的情况下,您可以对模拟信 号进行非常准确的数字化。 图3 . 三位分辨率下正弦波的数字化       量程-量程是模数转换器可以量化的最小和最大电压值。NI公司的多功能数据采集设备能对量程范围进行选择,可以在不同输入电压范围下进行配置。由于具有这种灵活性,您可以使信号的范围匹配ADC的输入范围,从而充分利用测量的分辨率。        编码宽度-数据采集设备上可用的量程、分辨率和增益决定了最小可探测的电压变化。此电压变化代表了数字值上的最低有效位 1(LSB),也常被称为编码宽度。理想的编码宽度为电压范围除以增益和2的分辨率次幂的乘积。例如,NI的一种16位多功能数据采集设备——NI 6030E,,它可供选择的范围为0~10V或-10~10V;可供选择的增益:1,2,5,10,20,50或100。当电压范围为0~10V,增益为 100时,理想的编码宽度由以下公式决定:       模拟输入的重要因素-尽管前面所提到的数据采集设备具有16位分辨率的ADC和100 kS/s采样率这样的基本指标,但是您可能无法在16个通道上进行全速采样,或者得不到满16位的精度。例如,目前市场上的某些带有16位ADC的产品所 得到的有效数据要低于12位。为了确定您所要用的设备是否能满足您所期待的结果,请仔细审查那些超出产品分辨率的技术指标。评估数据采集产品时,还需要考虑微分非线性度(DNL)、相对精度、仪用放大器的稳定时间和噪声等。         微分非线性度(DNL)——在理想情况下,当您提高一个数据采集设备上的电压值时,模数转换器上的数字编码也应该线性增加。如果您对 一个理想的模数转换器测定电压值与输出码的关系,绘出的线应是一条直线。这条理想直线的离差被定义为非线性度。DNL是指以LSB为测量单位,和1LSB 理想值的最大离差。一个理想的数据采集设备的DNL值为0,一个好的数据采集设备的DNL值应在±0.5 LSB以内。         对于一个编码应该有多宽,我们没有更多的限制。编码不会比0 LSB更小,因此,DNL肯定是小于-1LSB。一个性能较差的数据采集设备可能有一个等于或非常接近零的编码宽度,这意味着会有一个丢失码。对一个有丢 失码的数据采集设备无论输入什么电压,设备都无法将此电压量化为丢失码所表示的值。有时DNL指标显示数据采集设备没有丢失码,这意味着DNL低于–1 LSB,但是没有上边界的技术指标。所有NIE系列设备都保证没有丢失码,并且其技术说明上清楚地标明DNL的技术指标,因此您就可以知道设备的线性度。         如果以上文提到的数据采集设备为例,其编码宽度为1.5 μV,略高于500 μV时会有一个丢失码,此时,增加电压至502 μV的情况将不会被探测到。在这个例子中,只有电压值再增加一个LSB,大于503 μV时,电压改变值才能被探测到。因此较差的DNL会降低设备的分辨率。        相对精度-相对精度是指相对理想数据采集的转换函数(一条直线),最大离差的LSB测量位数。数据采集设备的相对精度是通过连接一个 负的满量程电压来确定的,采集电压,增加电压值,重复这些步骤直至覆盖设备的整个输入范围。当描绘这些数字化点时,结果应是如图4(a)所示的一条近似直 线。然而,当您从数字化值中减去理想直线值,可描绘出这些计算结果所得到的点,如图4(b)所示。距零的最大离差值即为设备的相对精度。 图4.决定一个数据采集设备的相对精度。图4(a)显示了通过扫描输入而产生的一条近似的直线图4(b) 显示,通过减去理论计算的直线数值得到的图形显示实际上并不是直的         数据采集设备的驱动软件将模数转换器输出的二进制码值通过乘以一个常数转化为电压值。良好的相对精度对数据采集设备很重要,因为它确保了将模数转换器输出的二进制码值能被准确地转化为电压值。获得良好的相对精度需要正确地设计模数转换器和外围的模拟电路。         稳定时间——稳定时间是指放大器、继电器、或其它电路达到工作稳定模式所需要的时间。当您在高增益和高速率下进行多通道采样时,仪用 放大器是最不容易稳定下来的。在这种条件下,仪用放大器很难追踪出现在多路复用器不同通道上的大变化的信号。一般而言,增益越高并且通道的切换时间越短 时,仪用放大器越不容易稳定。事实上,没有现成的可编程增益放大器可在2μs时间内、增益为100时,稳定地达到12位精度。NI为数据采集应用专门开发 了NI-PGIA,所以应用NI-PGIA的设备在高增益和高采样速率下具有一致的稳定时间。         噪声-在数据采集设备的数字化信号中不希望出现的信号即为噪声。因为PC是一个有噪声的数字化环境,所以在插入式设备上作采集工作需 要经验丰富的模拟电路设计人员在多层数据采集设备上精心布线。简单地把一个模数转换器、仪用放大器和总线接口电路布置在一个一层或两层板上,这样开发出的 设备会有非常大的噪声。设计者可以在数据采集设备中使用金属屏蔽来降低噪声。恰当的屏蔽不仅用于数据采集设备上敏感的模拟部分,而且体现在设备的板层间使 用接地层。            图5显示了当输入范围为±10 V,增益为10时的一个直流噪声。当1 LSB = 31 μV,20 LSB噪声水平相当于620 μV的噪声电压。图6显示了两个数据采集产品的直流噪声曲线,它们使用的是相同的ADC,两个数据采集产品的质量可由这些噪声曲线来决定——噪声的范围和 分布情况。从图6a的曲线可以看出,NIAT-MIO-16XE-10,在0处有高的采样分布,而它在其它码值上的点数量极少。这种分布为高斯分布,它是 随机噪声。从曲线可以得知,峰值噪声在±3 LSB以内。在图6b中,此产品是另一家厂商生产的数据采集设备,它的噪声分布很不同。设备生成的噪声高于20 LSB,出现了许多非期望值的采样点。 图5当信号通过切换40路DC信号的多路复用器输入仪用放大器时,表现为一个高频率AC信号 图6 尽管采用了相同16位ADC,两种数据采集产品的噪声曲线还是具有明显的不同。       图6(a)是NI AT-MIO-16XE-10;图6(b)是另一家厂商的数据采集产品。     对于复杂的测量硬件如插入式数据采集设备,根据所使用设备的不同,您所得到的精度有很大的差别。NI一直致力于提供高精度的产品,在许多情况下,这 些产品的精度甚至比台式仪器还要高。在NI产品的技术规范中有这些精度的说明。同时您要注意那些没有详细说明的板卡;所省略的技术指标可能会导致测量的不 精确。通过评估更多的模拟输入技术指标,而不是简单地参考模数转换器的分辨率,您可以确定所选的数据采集产品对于您的应用是否具有足够的精度。 模拟输出        经常需要模拟输出电路来为数据采集系统提供激励源。数模转换器(DAC)的一些技术指标决定了所产生输出信号的质量-稳定时间、转换速率和输出分辨率。稳定时间——稳定时间是指输出达到规定精度时所需要的时间。稳定时间通常由电压上的满量程变化来规定。需要更多关于稳定时间的信息,请参考模拟输入这一章节。转换速率——转换速率是指数模转换器所产生的输出信号的最大变化速率。稳定时间和转换速率一起决定模数转换器改变输出信号值的速率。 因此,一个数模转换器在一个小的稳定时间和一个高的转换速率下可产生高频率的信号,这是因为输出信号精确地改变至一个新的电压值这一过程所需要的时间极短。         关于应用方面的一个例子是音频信号的产生,它需要上述参数具有高性能指标。数模转换器需要一个高的转换速率和小的稳定时间来产生高频率信号来覆盖音 频范围。与此相对照,另一个应用示例是利用一个电压信号源来控制一个加热器,它不需要高速数/模转换。这是因为加热器对电压值的改变不能很快地响应,没有 必要使用高速数/模转换器。       输出分辨率——输出分辨率与输入分辨率类似;它是产生模拟输出的数字码的位数。较大的位数可以缩小输出电压增量的量值,因此可以产生更平滑的变化信号。对于要求动态范围宽、增量小的模拟输出应用,需要有高分辨率的电压输出。 触发器      许多数据采集的应用过程需要基于一个外部事件来起动或停止一个数据采集的工作。数字触发使用外部数字脉冲来同步采集与电压生成。模拟触发主要用于模拟输入操作,当一个输入信号达到一个指定模拟电压值时,根据相应的变化方向来起动或停止数据采集的操作。RTSI总线       NI公司为数据采集产品开发了RTSI总线。RTSI总线使用一种定制的门阵列和一条带形电缆,能在一块数据采集卡上的多个功能之间或者两块甚至多 块数据采集卡之间发送定时和触发信号。通过RTSI总线,您可以同步模数转换、数模转换、数字输入、数字输出、和计数器/计时器的操作。例如,通过 RTSI总线,两个输入板卡可以同时采集数据,同时第三个设备可以与该采样率同步的产生波形输出。 数字I/O (DIO)       DIO接口经常在PC数据采集系统中使用,它被用来控制过程、产生测试波形、与外围设备进行通信。在每一种情况下,最重要的参数有可应用的数字线的 数目、在这些通路上能接收和提供数字数据的速率、以及通路的驱动能力。如果数字线被用来控制事件,比如打开或关掉加热器、电动机或灯,由于上述设备并不能 很快地响应,因此通常不采用高速输入输出。         数字线的数量当然应该与需要被控制的过程数目相匹配。在上述的每一个例子中,需要打开或关掉设备的总电流必须小于设备的有效驱动电流。然而,通过应用恰当的数字信号调理配件,您可以使用进/出数据采集硬件的低电流TTL信号来监测/控制工业硬件产生的高电压和电流信号。例如,在打 开或关闭一个高阀门时,电压和电流的值可能达到2A、100VAC的数量级。因为一个DIO设备的输出为几个毫安,电压为0~5VDC,所以可以使用如 SSR系列、ER-8/16,SC-206x,或 SCXI模块来开关电源信号,控制阀门。         一个常见的DIO应用是传送计算机和设备之间的数据,这些设备包括数据记录器、数据处理器以及打印机。因为上述设备常以1个字节(8位)来传送数 据,插入式DIO设备的数字线常排列为8位一组,许多具有数字能力的板卡具有带同步通信功能的握手电路。通道数、数据速率和握手能力都是很重要的技术指 标,您需要了解这些指标并且它们要与应用的要求相匹配。定时I/O          计数器/定时器在许多应用中具有很重要的作用,包括对数字事件产生次数的计数、数字脉冲计时,以及产生方波和脉冲。您通过三个计数器/计时器信号就可以实现所有上述应用——门、输入源和输出。门——门是指用来使计数器开始或停止工作的一个数字输入信号。输入源——输入源是一个数字输入,它的每次翻转都导致计数器的递增,因而提供计数器工作的时间基准。输出——在输出线上输出数字方波和脉冲。      应用一个计数器/计时器时最重要的指标是分辨率和时钟频率。分辨率是计数器所应用的位数。简单地说,高分辨率意味着计数器可以计数的位数越高。时钟 频率决定了您可以翻转数字输入源的速度有多快。当频率越高,计数器递增的也越快,因此对于输入可探测的信号频率越高,对于输出则可产生更高频率的脉冲和方 形波。在我们的E系列数据采集设备中采用了DAQ-STC计数器/计时器,其时钟频率为20 MHz,共有16个24位计数器。在NI 660x计数器/计时器设备中,所用的NI-TIO计数器/计时器最高时钟频率为80 MHz,共有8个32位计数器。        DAQ-STC是NI的一种定制的专用集成电路 (ASIC) , 它是为数据采集应用专门设计的。与应用在数据采集设备上的其他现有计数器/计时器芯片相比较,DAQ-STC是与众不同的。例如,DAQ-STC是一个正 向/反向的计数器/计时器,意味着它可以使用附加的外部数字信号,根据“高”或“低”电平,来正向计数或反向计数。这种类型的计数器/计时器可用于旋转或 线性编码器来测量位置。其它的专有功能还有生成缓冲式脉冲系列、对相同的采样时间进行定时、相关时间戳记、以及采样速率的瞬间改变 。NI-TIO也是一种针对计时应用特定设计的定制的ASIC。它将所有的DAQ-STC计数器/计时器的功能进行合并,并且还加入了新的特点,如自身编码器的兼容性、消除反冲过滤器和两个信号的边缘分离测量。 图7自动润滑检测应用(应用了一个SCXI机箱和在Macintosh上运行的LabVIEW) 软件         软件使PC和数据采集硬件形成了一个完整的数据采集、分析和显示系统。没有软件,数据采集硬件是毫无用处的——或者使用比较差的软件,数据采集硬件 也几乎无法工作。大部分数据采集应用实例都使用了驱动软件。软件层中的驱动软件可以直接对数据采集硬件的寄存器编程,管理数据采集硬件的操作并把它和处理 器中断,DMA和内存这样的计算机资源结合在一起。驱动软件隐藏了复杂的硬件底层编程细节,为用户提供容易理解的接口。        例如,以下的代码片断显示了使用C语言的NI-DAQ功能调用,该功能从MIO-16E-10的一个模拟输入通道读取电压并进行换算。       随着数据采集硬件、计算机和软件复杂程度的增加,好的驱动软件就显得尤为重要。合适的驱动软件可以最佳地结合灵活性和高性能,同时还能极大地降低开发数据采集程序所需的时间。在选择驱动软件时,需要考虑以下几个因素。可以使用哪些功能?      控制数据采集硬件的驱动功能可被分为模拟I/O、数字I/O和计时I/O。尽管大多数驱动都具有这些基本功能,您需要明确驱动不仅仅只是对设备的数据进行存取。请确定驱动有以下功能:* 在前台进行处理时可以在后台采集数据* 使用可编程I/O,中断和DMA来传输数据* 把数据存入硬盘和从硬盘提取数据* 同时执行多个功能* 集成多个数据采集设备* 和信号调理设备无缝地集成* 数据采集驱动的所有这些功能都包含在NI-DAQ中,它可以为用户节省大量的时间。 哪些操作系统可以使用驱动?          请确保驱动软件与您现在和未来打算使用的操作系统兼容。经过设计,驱动也应该可以在各种不同特性和功能的OS上使用。您也可能需要能在多个平台上移 植代码的灵活性,比如说从Windows PC到Macintosh。NI-DAQ可用于Windows 2000/NT/ME/9x 和 Mac OS。由于您对程序无需或者只做少量改动就可以在各种硬件产品或操作系统上使用,NI-DAQ能保护您在软件上的投资。 您可以使用哪些编程语言来调用驱动?        确保可以使用您所喜欢编程语言来调用驱动,而且驱动能在您的开发环境中很好地工作。如Visual Basic这样的编程语言,具有事件驱动的开发环境,为程序的开发提供了各种控件。如果您在Visual Basic环境中开发程序,确保驱动具有能适合这种开发语言编程方式的自定义控件,如NI-DAQ中的控件。 您是否能通过软件来使用所需要的硬件功能?      当用户购买数据采集硬件并通过软件来使用硬件时,常会发现所需要的硬件功能不能由软件来调用处理。如果硬件和软件由不同的厂商开发,就经常会出现这种问题。NI-DAQ驱动软件可以调用NI数据采集硬件产品功能表中所有的功能。驱动是否会使性能受到限制?      由于驱动是一个额外的软件层,它可能会使性能受到某些限制。此外,如Windows 9x这样的操作系统也具有明显的中断延迟时间。如果处理不好,这些等待时间会严重地降低优化,所提供的采集速率能高达10 MS/s。回答这些问题使您可以了解开发人员对驱动软件所做的工作。在理想的情况下,您会希望为您提供驱动软件的公司在开发数据采集软件方面和他们在开发数据采集硬件方面具有相同的实力。应用软件      另一种对数据采集硬件编程的方法是使用应用软件。然而,即使使用应用软件,由于应用软件也使用驱动软件来控制数据采集硬件,所以您仍要了解上面所提 到的问题的答案。应用软件的优势是它为驱动软件增加了分析和显示的功能,同时它也可以把数据采集和仪器控制(GPIB、RS-232和VXI)集成在一 起。       为了让用户能开发出完整的仪器、采集和控制程序,NI提供了传统C编程人员使用的应用软件Measurement Studio,以及具有图形化编程方法的应用软件LabVIEW 。这些产品都有带有专用功能的附加工具包。Measurement Studio还包含能为Visual C++和Visual Basic用户提供完整仪器功能的工具。NI VI Logger是非常灵活的易用工具,它是为您的数据记录应用而专门设计的。 图8 NI 的VI Logger应用软件能帮助用户进行数据记录开发您的系统      为了开发出用于测量和控制的高质量数据采集系统,您必须了解组成系统的各个部分。在所有数据采集系统的组成部分中,软件是最重要的。这是由于插入式 数据采集设备没有显示功能,软件是您和系统的唯一接口。软件提供了系统的所有信息,您也需要通过它来控制系统。软件把传感器、信号调理、数据采集硬件和分 析硬件集成为一个完整的多功能数据采集系统。       图9 通过LabWindows/CVI高级分析库中的信号处理功能,您可以对数据进行频谱分析、滤波和加窗操作      因此,在开发数据采集系统时,您要对软件进行充分评估。通过明确您系统的要求来选择硬件并确保硬件规范满足系统和您的要求。同时,仔细地选择合适的软件——无论是驱动软件或是应用软件——可以为您节省大量的开发时间和金钱。 

    时间:2010-04-13 关键词: 数据采集 基础知识 daq

  • 借助智能DAQ, 获得高级数据采集技术

    概览       多功能智能DAQ设备配有自定义式板载处理功能,最大限度地为系统定时及触发提供灵活性能。 与控制设备功能的固定ASIC不同,智能DAQ采用基于FPGA的系统定时控制器,令所有模拟和数字I/O能够根据特定应用操作接受相应的配置。 本指南展示了:如何使用R系列智能DAQ板卡和NI LabVIEW FPGA,灵活自如地执行数据采集任务入门        NI LabVIEW FPGA模块帮助DAQ系统的开发者灵活自如地进行应用程序编程以实现各类输入/输出操作。 用户无需预先了解VHDL等硬件设计工具,便可将LabVIEW代码嵌入FPGA芯片并获得硬件定时的速度和可靠性。        让我们先从数据采集硬件的常用组件切入论题。 假设您拥有了模数转换器(ADC)、数模转换器(DAC)和数字输入/输出线,则所有I/O便要根据实际操作接受某种方式的定时和控制。 典型的多功能数据采集设备采用功能齐全的ASIC,满足了大多数的功能性需求。         比如:M系列DAQ设备通过DAQ-STC2,控制着各类硬件组件的定时和触发。 智能DAQ硬件(如:R系列DAQ设备)区别于市面上的其他任何数据采集设备,因为在控制设备功能方面智能DAQ用基于FPGA的系统定时控制器取代了传 统ASIC,从而使得所有模拟和数字I/O都能根据特定应用操作接受相应的配置。 可重配置FPGA芯片通过NI LabVIEW FPGA模块进行编程,此时NI LabVIEW的数据流模式仍旧适用,不过采用了一组新函数控制最底层的设备I/O。        LabVIEW FPGA I/O节点并不通过NI-DAQmx函数负责实现常见的任务和功能,而是灵活自如地在各个通道最底层上运行。 通过以下各部分的内容,我们将了解NI-DAQmx的特定实例,并学习如何通过智能DAQ定制各类数据采集任务。定时和触发      实现高级数据采集的智能DAQ主要用于定制定时和触发。 下方的范例程序框图展现了:NI-DAQmx帮助实现的触发式模拟输入任务。 图1. 通过NI-DAQmx实现的触发式模拟输入   如图1所示,智能DAQ并未使用不同函数配置通道,而是通过名为I/O节点的函数读写各路模拟和数字通道。 让我们看看使用NI LabVIEW FPGA中I/O节点所获得的相同功能。 图2. 通过智能DAQ和NI LabVIEW FPGA实现的触发式模拟输入    上图既没有针对全局通道、采样时钟、触发的配置函数,也没有开始、停止和清除等任务。 所有内容都被1个简单的模拟I/O读取所取代;全部定时都为本地LabVIEW结构(如:While循环和条件结构)所控制。由于整个程序框图均在 FPGA硬件内执行,LabVIEW代码的运行便体现出硬件定时的速度和可靠性。让我们更深入地了解一下该程序框图的运行方式。 模拟I/O节点并不指定某个采样速率,而使用For循环采集各个样本。 与之对应的ADC在I/O节点被调用时,负责对输入信号进行实际数字化,因而通过For循环接受定时。 若想在100 kHz的频率下进行信号采样,针对循环的延迟就必须设定为10 µs。 循环的定时器函数从第2轮循环迭代开始便确保着特定的时间延迟,用户因而能够通过顺序结构保证样本之间存在着指定的时间间隔。 NI LabVIEW FPGA中功能强大的条件结构,实际代表了用于封装各类代码的硬件触发。 由于所有的函数和结构都通过逻辑单元在硬件内运行,所以条件结构确保开始具有实时10 µs时间精度的采样。 最后需指出的是,由于操作位于硬件层,只涉及几个层次的抽象处理,因此用户无需清除任务ID或释放内存。    就基于FPGA的智能DAQ硬件而言,其真正的优势是能够定制各类定时和触发,并在硬件中进行信号处理和决策。 现在让我们了解一下:针对某类自定义应用,需对模拟输入触发做出哪些修改。 若我们希望在2路模拟输入通道的某路电压超过指定范围时便触发采集,又该如何修改呢? 借助NI LabVIEW FPGA,此类任务的执行易如反掌。 图 3. 通过智能DAQ和NI LabVIEW FPGA实现的自定义触发式模拟输入    这里,我们已经为程序框图添加了第2个I/O节点和第2个比较函数,以及1个布尔“或”函数。 智能DAQ硬件为所有的模拟输入通道提供专用ADC,因而2路通道能够接受同步采样;同时,只要任何1路通道的电压超过了指定范围,条件结构便会执行 “真”条件,并开始以10 µs时间精度进行采样。 请记住:缺少智能DAQ便不可能生成类似的触发;在其他DAQ硬件上应用时,触发需要具有更高延迟的软件定时来实现。 如果此后我们希望通过扩展将监控范围从2路通道延伸至全部8路通道,甚至希望添加数字触发,就需要简化自定义代码。 添加预触发扫描后,用户便可对输入通道不断进行采样并将数据传送至FIFO缓冲器。 触发器一旦接受读取,FIFO缓冲器和此后的采样便可经由DMA通道,被传送至主机。   如果我们希望借助NI-DAQmx驱动,对第2模拟输入通道进行采样,则该程序框图与图1所示的内容相差无几。然而限制依然存在,因为2路通道均被迫引用 相同的触发器并以相同的时钟频率进行采样。 现在我们来看看:智能DAQ和NI LabVIEW FPGA帮助实现的各类多通道采样。 图4. 通过智能DAQ实现的触发式同步模拟输入    图4(上图)展现了:如何基于模拟输入通道0中的模拟触发器,对2路不同的模拟输入通道进行同步采样。由于智能DAQ设备均配有独立的ADC,在同一 I/O节点中的2路通道可在完全相同的时刻接受采样。 典型的多功能DAQ设备可通过一个ADC多路复用所有通道,因此,各路通道必须共享相同的采样时钟和触发线。 图5(下图)展现了:智能DAQ硬件其实能够以独立的速率,对不同的模拟输入通道进行采样。 在独立回路中放置模拟输入I/O节点后,每路通道会以完全不同的速率进行采样,然后各自通过2条DMA通道读写硬盘。 图5. 通过智能DAQ实现的触发式多速率模拟输入   最后需指出的是,我们若是希望2路通道具有相互独立的采样率和开始触发,则可参照图6,将所有I/O节点都部署在并行循环结构中。该方式充分利用了FPGA的并行性,确保了各项任务能够使用专用资源并在执行时完全独立于其他采集任务。 图6. 通过智能DAQ实现的独立触发式多速率模拟输入 同步   DAQmx驱动程序提供多种同步选择,帮助建立输入和输出的时间相关性。 在下方的程序框图中,模拟输入通道和模拟输出通道借助数字触发实现同步;过程中,需对模拟输入指定数字触发,并使用模拟输入的触发器信号触发产生模拟输出。 图7. 通过NI-DAQmx实现的同步模拟输入和输出   用户可通过智能DAQ硬件轻而易举地执行同步任务,而无需借助任务ID和板载信号路由。 本处即显示了NI LabVIEW FPGA中的内容。 图8. 通过智能DAQ实现的同步模拟输入和输出    此处,我们再次通过条件结构在FPGA芯片上执行硬件触发,而数字通道0上的上升沿则启用了真条件中的代码。 在顺序结构中,模拟输入与输出的节点在同时接受调用的过程中,几乎没有任何抖动;而我们只要简单地在各个独立的While循环内嵌入模拟I/O节点,即可 令其拥有独立的采样速率。 另外值得注意的是: 程序框图中显示的正弦发生器函数是1个Express VI,可帮助用户在查找表(LUT)中交互式地配置正弦值。   图8中的智能DAQ程序框图与图7中的DAQmx VI皆具有相同的功能,而唯有智能DAQ才能为自定义任务提供相应的灵活性。 举例为证:如需添加1个暂停触发,我们只消在内部While循环中添加1个条件结构,并通过另一个数字I/O节点选择真条件或假条件,即可轻松完成任务。 对硬件进行编程的强大功能,实现了各类I/O的定时与同步。   多功能同步的另一例证体现为:通过板载计数器产生有限脉冲并将计数器输出用作模拟输入的采样时钟。 该过程是进行可重触发式有限采样的常用手段。 下图显示了开展此类采集所必需的DAQmx代码。 图9. 通过NI-DAQmx实现的可重触发式有限模拟输入   现在,让我们对下图内容和呈现相同功能的NI LabVIEW FPGA程序框图,加以比较。 图10. 通过智能DAQ和NI LabVIEW FPGA实现的可重触发式有限模拟输入    由于NI LabVIEW代码在硬件层运行,图10中的驱动配置步骤显然得到了极大精减。 我们已经借助简单的数字输入线和For循环结构,创建了硬件可重触发式有限采集。 图9中的程序框图使用2个板载计数器,创建出可重触发的有限脉冲序列;典型的多功能DAQ设备只有2个计数器。 而借助NI LabVIEW FPGA,智能DAQ硬件却能够将任意一条数字线配置成计数器。 我们将在之后的段落里,涉及更多“通过智能DAQ运行计数器/定时器”的内容。    我们能够借助由频率触发的采集,进一步地推进智能DAQ在硬件定时方面的灵活性特性。 用户可通过高速板载决策计算输入信号的频率,而后选择条件结构中所需的代码;这一点是使用典型多功能DAQ设备所无法企及的。 在多设备的同步进程中,智能DAQ还可提供用于PCI板卡的RTSI总线或是用于PXI模块的PXI触发总线。 这些外部定时和同步线还可通过程序框图上的I/O节点接受访问。模拟波形的生成     不少多功能DAQ设备都配有模拟输出通道,能够为了生成连续的模拟波形而需要用到FIFO缓冲。 生成的波形可将FIFO用作循环缓冲区,且无需从主机处接受任何更新数据,即可连续不断地重新生成一系列的模拟值。 通信总线的有无对此影响不大,因为并没有针对设备的频繁数据读写。 而如果波形需要修改,就必须重新启动输出任务并向FIFO写入新数据。 另一个办法是向硬件FIFO设备连续读写数据,而这又会导致输出任务出现时滞。 借助智能DAQ,用户能够将波形输出结果存储于硬件,甚至能够通过硬件触发改变波形,进而创建任意波形发生器。   下方的函数发生器范例通过数字输入线,触发了输出波形中的改动。 通过组合数字I/O线0与1,我们取得了应用于模拟输出的4种不同状态或称条件。 图11a. 配有智能DAQ条件0的函数发生器 – 零输出 图11b. 配有智能DAQ条件1的函数发生器 – 正弦波    当两线皆呈现低电平时,执行条件0;如图11a所示,输出值为0 V常量。而当DIO线0呈现高电平而DIO线1呈现低电平时,条件1将在模拟输出0上执行并生成一个正弦波。用户可通过该正弦生成结构(图11b)中的正 弦发生器Express VI,配置NI LabVIEW FPGA必需的参数,交互地配置正弦波。 图11c. 配有智能DAQ条件2的函数发生器 – 方波   条件2(图11c)能够在While循环的每轮迭代中,轻松切换布尔值。 数值较低时,整数15000便被写入模拟输出AO0,以对应16位DAC内由输出寄存器存放的数值:15000。 16位有符号整数可以包含-32768到32767之间的数值。当输出电压范围介于-10 V和10 V时,向模拟输出AO0写入-32768会生成-10 V电压,而写入32767则生成10 V电压。该例中,因我们的写入值为15000,则生成的电压将低于5 V。(数学公式为: 15000/32767 * 10 V = 4.5778 V) 通常,条件2会输出一个在0 V和4.578 V之间变换的方波。 图11d. 配有智能DAQ条件3的函数发生器 – 锯齿波    当DIO 0和DIO 1均呈现高电平时,便执行最后一个条件(图11d);其间,须借助查找表(LUT)连续生成一个锯齿波。 作为另一类Express VI的查表VI,既能存储任意波形值,也能通过编程建立波形值的索引。 该例中,接受配置的锯齿波可在模拟输出通道0上生成。   通过将所有的值都存储在FPGA上,用户在降低总线依赖性的同时,也确保了波形更新时硬件定时的速度和可靠性。 之前各部分中所描述的模拟输入的触发和同步灵活性同样适用于模拟输出;借助智能DAQ,用户能够以不同速率,完全独立地更新各路模拟输出通道。 这意味着:用户可在不影响其他通道输出结果的前提下,修改单个周期性波形的频率。 请注意:大多数数据采集硬件均不具备此项功能。计数器/定时器的操作    如前所述,典型的多功能DAQ设备只有2个板载计数器,而智能DAQ则能在各条数字线上运行计数器功能。 数字I/O节点能够在NI LabVIEW FPGA中利用名为单周期定时循环的专业结构,帮助用户在2.5 MHz至200 MHz的特定频率范围内执行代码。 例如,借助40 MHz的时钟,用户可使用单周期定时循环,在各条数字线上创建40 MHz计数器。 图12(下图)展现了程序框图的样式。 图12. 配有智能DAQ的简单事件计数器     由于计算值基于U32(32位整数)的数据类型被发送至显示控件,该代码便在FPGA芯片上生成了1个40 MHz的32位计数器。 用户可对其进行数次复制与粘贴,令不同数字线上的多个计数器都能够彼此完全并行地运行。 通过对智能DAQ中参数的设置可以实现定时器操作的自定义。 通过选择,用户能够每隔2个上升沿便进行1次计数器递增,甚至能基于计数寄存器的值触发模拟采集。 许多复杂的计数器操作(如:有限脉冲序列生成和级联式事件计数)均需要使用2个计数器,这意味着使用典型多功能设备中的所有板载计数器。 在总共160条数字线的帮助下,智能DAQ硬件上定时器的最大数量很少受到I/O可用性的影响,而往往取决于FPGA芯片的大小。 由于NI LabVIEW代码运行于硅芯片中,因而用户无需“装备”或“重新装备”通用计数器,即能全面控制计数器的运行。    图13(下图)中的范例使用计数器,生成了一个连续脉冲序列并将暂停触发器置于NI-DAQmx中。    图13. 连续脉冲序列的生成和配有NI-DAQmx的暂停触发器在NI LabVIEW FPGA中,暂停触发器无需接受配置,因为只需简单的条件结构便能在硅芯片中实现相同的功能。 此处是通过智能DAQ运行时所展现的相同功能(图14)。    图14. 连续脉冲序列的生成和配有智能DAQ的暂停触发器      在这种情况下,数字I/O线DIO0用作暂停触发,而脉冲将在数字I/O线DIO1上生成并输出。使用单周期定时循环可令各个脉冲获得25 ns的分辨率,因为这将成为单个计时在使用40 MHz定时源时的值。数字I/O应用      智能DAQ硬件提供多达160条硬件定时数字线,令诸多数字应用成为可能。 我们已经学习了如何使用数字I/O实现触发、同步及计数器/定时器的运行,而智能DAQ还可用于误码率测试、数字模式匹配、脉冲宽度调制、正交编码器和数 字通信协议。 自定义或标准形式的串行接口均能直接通过数字定时框图编程来实现。 举例说明,SPI便是一款与硬件组件(如:微控制器或ADC)进行通信时最常用的串口协议。 图15(下图)展现了在进行16位SPI通信时,3条必要数字线所对应的定时框图。 图15. SPI通信输入定时框图    如定时框图所示,所有16位数据均在每个时钟周期上顺次传递,而片选控制线(chip select line)则呈现低电平。 现在,我们来看看在NI LabVIEW FPGA中,如何通过智能DAQ硬件上的3条数字线进行此类编程。 图16. 16位SPI通信程序框图    图16中,外部While循环确保了所有代码均能连续执行,而写入布尔输入控件则通过条件结构启动着数据传递。 顺序结构中的第一框架将片选控制线(chip select line)设置为低电平,之后由中间框架写入数据位并将时钟线切换16次。 最终,第三顺序框将片选控制线(chip select line)设置回TRUE状态,并将数据线重置为默认的FALSE状态。 这一简单范例只是借助智能DAQ进行数字通信时的一项内容。 用户若想应用数字握手,便需为ACK(备用)和REQ(暂停)线准备2路通道,其中一路通道面向并行运作的时钟信号和数据线。    数字线会时常抖动,在使用机电接触时更是如此,然而用户可通过NI LabVIEW FPGA,选择不同方式,在数字输入线上添加去抖动滤波器。 在消除状态的错误改动时,数字去抖动滤波器确保数值的变化能够保持一段最短的时间,因而规避了因抖动引发的错误读取。 图17展现了如何通过智能DAQ实现此项功能的内容。 图17. 智能DAQ硬件上的数字滤波器程序框图数据传输方式    配备NI-DAQmx驱动程序的传统多功能DAQ和智能DAQ之间的最大差异在于:数据传输的执行方式。 NI-DAQmx驱动程序将承担由设备至主机的各项传输任务,此项操作中NI LabVIWE FPGA会对基于FPGA的所有板载硬件进行编程。 用户可通过多种途径缓冲设备上的板载数据,并使用不同方式(如:DMA通道或中断请求)传输数据。   NI LabVIEW FPGA中的FIFO缓冲区在LabVIEW项目浏览器中接受配置,并能借助板载内存或硬件逻辑获得运行。 图18显示了如何经由项目浏览器,在板载块存储器中配置整数的FIFO缓冲区。 图18. NI LabVIEW FPGA中的FIFO配置   FIFO一经创建,便能用于NI LabVIEW FPGA程序框图上多个循环之间的数据传递。 图19中的范例显示:数据先被写入左侧循环中的FIFO,并随即从右侧循环中的FIFO被读出。 图19. 通过FIFO和多循环实现的NI LabVIEW FPGA程序框图同样通过LabVIEW FPGA FIFO获得应用的直接存储器访问(DMA)通道,在项目浏览器中接受了类似的配置。 图20. NI LabVIEW FPGA中的DMA FIFO配置 图21. 通过DMA FIFO和位组装实现的NI LabVIEW FPGA程序框图    所有的DMA FIFO数据传输宽度均为32位;因此,当其传递源自16位模拟输入通道的数据时,往往能够合并2路通道或2个样本上的数据再进行传输,从而提高带宽使用 率。 这即是图21所展现的位组装。当数据被直接传递到主控计算机的内存后,便可通过在Windows环境下运行的NI LabVIEW主接口函数接受读取(图22)。 图22. 通过DMA FIFO读取和位拆装实现的主接口代码   如图22所示,主接口程序框图引用FPGA终端VI,然后使用While循环连续读取DMA FIFO。 32位的数据被分解为2路16位通道,在波形图表上接受采样和绘制。 主接口VI还能对FPGA VI前面板上的各类显示控件和输入控件进行读写操作;在这种情况下,“停止按钮”输入控件也被写入。结论   尽管DAQ-STC2等固定ASIC能够满足数据采集的大多数需求,然而,唯有借助智能DAQ中基于可重新配置FPGA的I/O定时和控制,方能实 现高度灵活性和完全定制。 借助NI LabVIEW FPGA,触发和同步任务获得了简化,因为通过绘制图形化程序框图即可充分满足用户需求;借助独立的模拟和数字I/O线,智能DAQ可利用FPGA提供的 实际并行。 R系列智能DAQ设备已经针对多速率采样、自定义计数器操作和频率高达40 MHz的板载决策,为多功能数据采集进行了各项可能的修缮。

    时间:2010-04-13 关键词: 数据采集技术 daq

  • NI M系列DAQ中使用的新技术

    概览       NI公司的M系列数据采集设备 (DAQ),以全新的革命性架构,为数据采集硬件功能设定了新标准。这些设备除集成了市面上最先进的技术之外,还吸纳了一些全新设计优势,显著改善其性能,准确性与I/O通道密度:• NI-STC 2 –     自定义的定时控制器ASIC• NI-MCal技术 – 具有革命性的校准和线性化方法• NI-PGIA 2技术   可自定义的增益放大器       NI-STC 2是专门为M系列DAQ设备设计的专用集成电路(ASIC)。它增加了每个设备的I/O通道数目,并将数据总吞吐率提高了1200%。NI-MCal技术 是一种线性化校准工具,可在所有输入范围内获得无与伦比的精度改善。另外,NI-PGIA 2的可自定义放大器技术,提供了更快的采样速率和更高的分辨率。NI-PGIA 2有三个分别针对成本、速度和精度而优化的版本。   图 1新型M系列技术提供了更高性能、更多I/O数与更大价值 NI-STC 2 – 自定义的系统定时控制器ASICNI-STC 2是一款可自定义的ASIC,它可以控制系统的定时、同步以及所有输入输出数据采集操作的路由功能。NI-STC 2 提供了:• 6条DMA通道 – 每个功能都有专属的scatter-gather DMA控制器• 时钟定时的数字I/O (高达10MHz)• 与编码器兼容的32位计数器/定时器• RTSI总线信号路由,用于多个设备的同步• 内部和外部定时信号路由• 用于时钟同步的PLLNI-STC 2 – 6个DMA通道     许多即插式数据采集设备并不受限于它们的采样或更新速率,而是受限于它们将数据传送到PC机内存的速度。老式数据采集设备使用中断请求线路 (IRQ)将数据从设备传送至PC机,并且需要设定跳线以避免内存冲突。IRQ使用计算机处理器来控制数据传输,这样会封锁其它PC机正在处理的操作,从 而使效率下降。现代数据采集设备拥有板上直接存储器存取(DMA)通道,可以不需要通过CPU,直接将数据从数据采集设备传送至PC内存。DMA可以高速 传输数据,并使CPU同时执行其它工作。     新一代数据采集设备(包括M系列设备),都拥有六条DMA通道。将这项技术应用到NI-STC 2的设备系统和定时控制器中,只需一个设备就可以同时执行模拟输入、模拟输出、数字输入、数字输出和两个计数器/定时器操作;同时,PC处理器可以执行其 他一些操作,如数据换算及分析等。因为其它数据采集设备大部分都只有一条DMA通道,所以要同时执行两个或两个以上的操作就必须使用IRQ。随着数据传输 率的增加及更多操作的同时进行,这些IRQ将开始占用PC处理器时间,使系统变慢,最终将导致缓冲区溢出错误。而M系列DAQ设备则采用NI STC 2技术,最多可同时执行六项高速操作,同时将数据丢失或缓冲区溢出的错误造成的错误减到最小。  图 2 NI-STC 2拥有6条DMA通道,可大幅度地提高数据吞吐率 NI-STC 2 – 数字I/O与计数器/定时器    除了16个静态数字I/O线路之外,NI-STC 2还包括了最多可达32个的硬件定时的数字I/O线路,可以以最高10 MHz的速率输入或输出数字模式。每个信号都可独立地设置为数字输入、静态输出或者波型输出。NI-STC 2的数字输入输出有专用的FIFO缓冲区,每个缓冲区都有专用的DMA通道向FIFO和PC内存中读写数据。你可以使用线路组来产生或测量32位宽的数字 模式。这种模式I/O功能对于那些读取条形码或读取模数转换器(ADC)之类的部件定性应用来说是非常有用的;任何要求微秒数量级定时精度的应用中也需要 这种功能。    你还可以将数字线路与其它硬件定时的操作(如模拟输入、模拟输出和计数器等)相关联,使设备上的多个操作同步。为了使信号相关,NI-STC 2内部会安排一根外部或内部信号线,为那些相关的信号提供单一时钟源。所有M系列DAQ设备都包含了两个32位计数器/定时器,用于脉冲生成和频率测量。与常规的24位计数/定时寄存器相比,M系列设备拥有256倍的 测量容量。另外,与老式数据采集设备上常见的20 MHz时间基频相比,板上80MHz的时间基频将脉冲测量精度提高了400%,而且允许测量更高速的波形。基于这个计数器,你可以利用正交编码器或者双脉 冲编码器来进行位置测量,或者利用X1、X2和X4角度编码器来进行角度测量。 NI-STC 2 – 定时与同步   NI-STC 2通过分割80MHz的主频而生成多个时间基频。这些信号可以作为模拟输入、模拟输出、数字I/O和计数器/定时器的时钟来源来内部使用。每个M系列设备 也能够从这个80MHz时钟中生成自身的10MHz的参考时钟,用来同步多个设备。这个10MHz的参考时钟可以通过RTSI总线连接至同一系统中的其它 设备上。   传统上,使用RTSI总线来同步设备将使每个设备的最大时钟频率速率限制在10 MHz上。采用NI-STC 2技术的M系列设备中都有一个锁相环(PLL),它可以让系统中的每个设备将自身的80MHz基频同步到10MHz主频上。有了这项技术,所有设备不仅可 以同步到同一个主频上,还可以利用板上所生成的更快的80MHz定时信号。  图 3 M系列设备生成一个板上80MHz频率与一个PLL,以同步多个设备 NI-MCal技术 – 校准和线性化方法   ADC以及可编程放大器等电子元件,都具有非线性特征以及由于时间和温度影响而引起的漂移。要补偿这些固有误差,就需要设备的自校准。老式的数据采 集设备使用板上的精确参考电压,在某个测量范围内进行两点式修正。这种方法无法避免ADC元件本身的非线性误差,因此降低了设备的测量精度。另外,这种方 法只能在某一输入范围内进行校准,那么对多个不同输入范围的通道而言,测量精度就会受限于电阻网络的容差。M系列设备则采用了NI-MCal技术。这是一种线性化与校准引擎(专利申请中),可以在所有输入范围内校准数千个电压准位。NI-MCal将脉冲 宽度调制(PWM)和高精度的参考电压结合在一起使用。PWM的占空比用来改变电平,以便能在多点进行自校准。在板载EEPROM中生成并存储校准参数, 以模拟ADC元件的非线性特性,并更正后续的测量任务。   与传统的两点式校准相比,NI-MCal技术的实现将测量的精度提高了5倍之多。另外,大部份M系列设备都改善了参考精度,将建议的校准时间间隔由一年提高到两年,从而降低了设备的维护成本。   M系列 老式E系列校准类型 多项式校准,所有输入范围 线性校准,一个输入范围典型自校准时间 7秒 30秒校准间隔需求 两年 一年表1:M系列与E系列的校准比较 NI-PGIA 2技术 – 专用放大器  ADC在快速扫描多个通道时,其建立时间会大幅影响转换精度。所谓建立时间,是指放大某信号使之达到某一特定测量精度标准所需的时间。如果放大器没 有足够短的建立时间,则被测量信号的量化将不准确。更短的建立时间可以在保证精度的条件下,允许进行更高速的采样。因此,对任意给定的分辨率或精度,都需 要更短的建立时间。为了保证测量精度,NI在设计M系列设备时引入了定制NI-PGIA 2技术。M系列的每台设备中NI-PGIA 2技术都针对成本、速度和精度进行了优化。例如,高精度的M系列设备中的NI-PGIA 2技术,针对18位的短建立时间、低噪音、高线性进行了优化。NI-PGIA 2技术通过最小化建立时间,可以在最大采样频率下保证设备的指定分辨率,从而提高了精度。图4表明,高速的M系列NI-PGIA 2在20 V电阶(最糟的案例)情况下,可以在1.5 µs内达到虚零误差。  图 4 NI-PGIA的建立时间比传统产品更短 更多的 I/O 和其他特征   M系列设备为即插式数据采集新增了一些额外功能,以提高测量精度和安全性,并易于使用。尽管12位和16位的数据采集设备已经成为现今的测量标准, 但M系列的设备却有18位的分辨率。18位ADC所能检测到的最小电压变化,仅仅是16位设备的1/4,更是12位设备的1/64。这些18位的设备还包 含一个可编程的低通滤波器,可以避免高频噪声的量化。    M系列设备的数字线路具有过压、低压及过电流保护装置,可以在过高的信号被意外加到数字线路上时,避免对设备及 PC 造成损坏。另外,工业继电器和交换器中常常有数字跳跃(digital bounce)现象,而计数器/定时器线路中的输入滤波器可以避免这种现象。数字保护和计数器/定时器的线路滤波器,对于工业及控制应用都特别有用。    所有M系列设备都具有NI-DAQmx的测量服务及驱动程序软件。NI-DAQmx为数据采集的生产率和性能带来空前的 改进。集成的DAQ助手提供了一个一步一步的向导工具,帮助对测量任务进行配置、测试和编程。另外,NI-DAQmx支持多线程,这样便可以在一块处理器 上同时执行多个操作。    M系列的DAQ设备可以与IEEE 1451.4的智能传感器无缝合作。你可以采用M系列的DAQ设备、NI的信号调理和NI-DAQmx测量服务软件来读取智能传感器的数据。这样便无需手 动输入传感器数据,取而代之,可以自动读取传感器的电子数据表,并用它对传感器测量进行定标。表2中总结了NI的M 系列和老式E 系列的DAQ 设备之间的差异。  M系列E系列模拟输入通道16或32个16或64个采样速率最高1.25 MS/s (16位)最高1.25 MS/s (12位)分辨率16或18位12或16位校准方法NI-MCal (适用所有范围)线性两点式 (试用单一范围)可编程低通输入滤波器有1无模拟输出通道0, 2, 或4个0或2个更新速率最高2.8 MS/s, 16位最高333 kS/s, 16位分辨率16位12或16位输出范围每通道可编程1±10 V, 0到10 V输出偏移量每通道可编程10 V数字输入/输出线路24或48个8或32个速率10 MHz, 时钟同步1软件定时相关数字IO有无线路保护改进的过压/低压保护以及过电流保护—计数器线路2个2个分辨率32位24位计数器基频80 MHz20 MHz正交编码器输入有无计数器去抖动滤波器每线路可编程无系统时钟同步PLL, RTSIRTSIDMA通道6个1或3个连接器类型VHDCI (高密度)SCSI II 总结    随着M系列设备的推出,NI公司一直在扩展其功能,同时降低数据采集的成本。其中,OEM客户会非常感谢M系列设备的扩展I/O功能,因为它使每I/O通道的单位价格下降了30%多。NI-STC 2、NI-MCal和NI-PGIA 2技术提供了以前即插式DAQ设备所不具备的功能,而且M系列可以与NI LabVIEW图形开发环境和NI-DAQmx测量服务软件无缝结合,以提供更佳的性能、更高的价值和更多的I/O。 

    时间:2010-04-13 关键词: 新技术 m系列 ni daq

  • 数据采集(DAQ)基础知识

     简介        现今,在实验室研究、测试和测量以及工业自动化领域中,绝大多数科研人员和工程师使用配有PCI、PXI/CompactPCI、PCMCIA、 USB、IEEE1394、ISA、并行或串行接口的基于PC的数据采集系统。许多应用使用插入式设备采集数据并把数据直接传送到计算机内存中,而在一些 其它应用中数据采集硬件与PC分离,通过并行或串行接口和PC相连。从基于PC的数据采集系统中获取适当的结果取决于图示一中的各项组成部分:• PC• 传感器• 信号调理• 数据采集硬件• 软件        本文详细介绍了数据采集系统的各个组成部分,并解释各个部分最重要的准则。本文也定义了用于基于PC的数据采集系统组成部分的许多通用术语。 图1 典型的基于PC的DAQ系统个人电脑(PC)        数据采集系统所使用的计算机会极大地影响连续采集数据的最大速度,而当今的技术已可以使用Pentium级别以及多核的处理器,它们能结合更高性能 的PCI/PCI Express、PXI/CompactPCI和IEEE1394(火线)总线以及传统的ISA总线和USB总线。PCI总线和USB接口是目前绝大多数 台式计算机的标准设备,而ISA总线已不再经常使用。随着PCMCIA、USB和IEEE 1394的出现,为基于桌面PC的数据采集系统提供了一种更为灵活的总线替代选择。对于使用RS-232或RS-485串口通信的远程数据采集应用,串口 通信的速率常常会使数据吞吐量受到限制。在选择数据采集设备和总线方式时,请记住您所选择的设备和总线所能支持的数据传输方式。        计算机的数据传送能力会极大地影响数据采集系统的性能。所有PC都具有可编程I/O和中断传送方式。目前绝大多数个人电脑可以使用直接内存访问 (Direct memory access,DMA)传送方式,它使用专门的硬件把数据直接传送到计算机内存,从而提高了系统的数据吞吐量。采用这种方式后,处理器不需要控制数据的传 送,因此它就可以用来处理更复杂的工作。为了利用DMA或中断传送方式,您的数据采集设备必须能支持这些传送类型。例如,PCI、USB设备可以支持 DMA和中断传送方式,而PCMCIA设备只能使用中断传送方式。所选用的数据传送方式会影响您数据采集设备的数据吞吐量。       限制采集大量数据的因素常常是硬盘,磁盘的访问时间和硬盘的分区会极大地降低数据采集和存储到硬盘的最大速率。对于要求采集高频信号的系统,就需要 为您的PC选择高速硬盘,从而保证有连续(非分区)的硬盘空间来保存数据。此外,要用专门的硬盘进行采集并且在把数据存储到磁盘时使用另一个独立的磁盘运 行操作系统。        对于要实时处理高频信号的应用,需要用到32位的高速处理器以及相应的协处理器或专用的插入式处理器,如数字信号处理(DSP)板卡。然而,对于在一秒内只需采集或换算一两次数据的应用系统而言,使用低端的PC就可以满足要求。        在满足您短期目标的同时,要根据投资所能产生的长期回报的最大值来确定选用何种操作系统和计算机平台。影响您选择的因素可能包括开发人员和最终用户 的经验和要求、PC的其它用途(现在和将来)、成本的限制以及在您实现系统期间内可使用的各种计算机平台。传统平台包括具有简单的图形化用户界面的Mac OS,以及Windows 9x。此外,Windows NT 4.0和Windows 2000能提供更为稳定的32位OS,并且使用起来和Windows 9x类似。Windows 2000是新一代的Windows NT OS,它结合了Windows NT和Windows 9x的优势,这些优势包括固有的即插即用和电源管理功能。传感器和信号调理       传感器感应物理现象并生成数据采集系统可测量的电信号。例如,热电偶、电阻式测温计(RTD)、热敏电阻器和IC传感器可以把温度转变为模拟数字转 化器(analog-to-digital ,ADC)可测量的模拟信号。其它例子包括应力计、流速传感器、压力传感器,它们可以相应地测量应力、流速和压力。在所有这些情况下,传感器可以生成和它 们所检测的物理量呈比例的电信号。        为了适合数据采集设备的输入范围,由传感器生成的电信号必须经过处理。为了更精确地测量信号,信号调理配件能放大低电压信号,并对信号进行隔离和滤波。此外,某些传感器需要有电压或电流激励源来生成电压输出。图2显示了带有NI SCXI信号调理配件的典型数据采集系统。 图2 用于插入式数据采集设备的SCXI信号调理的前端系统[!--empirenews.page--] 信号调理配件可用于各种重要的应用       放大功能——放大是最为普遍的信号调理功能。例如,需要对热电偶的信号进行放大以提高分辨率和降低噪声。为了得到最高的分辨率,要对 信号放大以使调理后信号的最大电压范围和ADC的最大输入范围相等。又例如,SCXI有多种信号调理模块可以放大输入信号。在临近传感器的SCXI机箱内 对低电压信号进行放大,然后把放大后的高电压信号传送到PC,从而最大限度地降低噪声对读数的影响。        隔离功能——另一种常见的信号调理应用是为了安全目的把传感器的信号和计算机相隔离。被监测的系统可能产生瞬态的高压,如果不使用信 号调理, 这种高压会对计算机造成损害。 使用隔离的另一原因是为了确保插入式数据采集设备的读数不会受到接地电势差或共模电压的影响。当数据采集设备输入和所采集的信号使用不同的参考“地线”, 而一旦这两个参考地线有电势差,就会带来麻烦。这种电势差会产生所谓的接地回路,这样就将使所采集信号的读数不准确;或者如果电势差太大,它也会对测量系 统造成损害。使用隔离式信号调理能消除接地回路并确保信号可以被准确地采集。例如,SCXI-1120和SCXI-1121模块能提供高达250 Vrms的共模电压隔离,SCXI-1122能提供高达450 Vrms电压隔离。       多路复用功能——多路复用是使用单个测量设备来测量多个信号的常用技术。模拟信号的信号调理硬件常对如温度这样缓慢变化的信号使用多 路复用方式。ADC采集一个通道后,转换到另一个通道并进行采集,然后再转换到下一个通道,如此往复。由于同一个ADC可以采集多个通道而不是一个通道, 每个通道的有效采样速率和所采样的通道数呈反比。例如,1MS/s的PCI-MIO-16E-1采样通道为10个,那么每个通道的有效采集速率大约为:        由于模拟信号的模拟SCXI模块采用多路复用技术,一个数据采集设备可以测量多达3,072个信号。       使用AMUX-64T模拟多路复用器,您可以使用一个设备来测量256个信号。所有内置有多路复用器的数据采集设备也具备这一特性。滤波功能——滤波器的功能是指在您所测量的信号中滤除不需要的信号。噪声滤波器用于如温度这样直流信号,它可以衰减那些降低测量精度的高频信号。例如,许多SCXI模块在使用数据采集设备对信号数字化前使用4 Hz和10 kHz的低通滤波器来滤除噪声。       如振动这样的交流信号常常需要另一种被称为抗混叠的滤波器。像噪声滤波器一样,抗混频滤波器也是低通滤波器;然而,它需要有非常陡的截止速率,从而 可以滤除信号中所有高于设备输入波段的频率。如果这些频率没有被滤除,它们将会作为信号错误地出现在设备输入带宽中。专为测量交流信号而设计的设备—— NI 455x、NI 445x和NI 447x动态信号采集(DSA)设备,NI6115同步采样多功能I/O设备,SCXI-1141模块都有内置的抗混频滤波器。        激励功能——对于某些传感器信号调理也能提供激励源。例如,应力计、热敏电阻器和RTD需要有外部电压或电流激励信号。用于这些传感 器的信号调理模块常用来提供激励信号。RTD测量常使用电流源来把电阻上的变化量转化为可测量电压。应力计是阻值非常低的电阻设备,常用于配有电压激励源 的惠斯通电桥。SCXI-1121和SCXI-1122有板载的激励源,可配置为电流或电压激励,从而可用于压力计、热敏电阻器或RTD。          线性化功能——另一种常见的信号调理功能是线性化功能。许多传感器,如热电偶,对被测量的物理量的响应是非线性的。NI的NI-DAQ、LabVIEW、Measurement Studio和VirtualBench等应用软件包包含了应用于热电偶、压力计和RTD的线性化功能。       您需要了解您的信号的特性,用于测量信号的配置以及系统周围环境的影响。根据这些信息,您才可以确定您的DAQ系统是否需要使用信号调理。 数据采集硬件模拟输入       模拟输入的基本考虑-在模拟输入的技术说明中将给出关于数据采集产品的精度和功能的信息。基本技术说明适用于大部分数据采集产品,包括通道数目、采样速率、分辨率和输入范围等方面的信息。      通道数-对于采用单端和差分两种输入方式的设备,模拟输入通道数可以分为单端输入通道数和差分输入通道数。在单端输入中,输入信号均 以共同的地线为基准。这种输入方法主要应用于输入信号电压较高(高于1 V),信号源到模拟输入硬件的导线较短(低于15 ft),且所有的输入信号共用一个基准地线。如果信号达不到这些标准,此时应该用差分输入。对于差分输入,每一个输入信号都有自有的基准地线;由于共模噪 声可以被导线所消除,从而减小了噪声误差。       采样速率-这一参数决定了每秒种进行模数转换的次数。一个高采样速率可以在给定时间下采集更多数据,因此能更好地反映原始信号。       多路复用-多路复用是使用单个模数转换器来测量多个信号的一种常用技术。要了解更多关于多路复用的信息,请参看此文的“信号调理”章节。分辨率-模数转换器用来表示模拟信号的位数即是分辨率。分辨率越高,信号范围被分割成的区间数目越多,因此,能探测到的电压变量就越 小。图3显示了一个正弦波和使用一个理想的3位模数转换器所获得相应数字图像。一个3位变换器(此器件在实际中很少用到,在此处是为了便于说明)可以把模 拟范围分为23,或8个区间。        每一个区间都由在000至111内的一个二进制码来表示。很明显,用数字来表示原始模拟信号并不是一种很好的方法,这是由于在转换过程中会丢失信 息。然而,当分辨率增加至16位时,模数转换器的编码数目从8增长至65,536,由此可见,在恰当地设计模拟输入电路其它部分的情况下,您可以对模拟信 号进行非常准确的数字化。 图3 . 三位分辨率下正弦波的数字化       量程-量程是模数转换器可以量化的最小和最大电压值。NI公司的多功能数据采集设备能对量程范围进行选择,可以在不同输入电压范围下进行配置。由于具有这种灵活性,您可以使信号的范围匹配ADC的输入范围,从而充分利用测量的分辨率。        编码宽度-数据采集设备上可用的量程、分辨率和增益决定了最小可探测的电压变化。此电压变化代表了数字值上的最低有效位 1(LSB),也常被称为编码宽度。理想的编码宽度为电压范围除以增益和2的分辨率次幂的乘积。例如,NI的一种16位多功能数据采集设备——NI 6030E,,它可供选择的范围为0~10V或-10~10V;可供选择的增益:1,2,5,10,20,50或100。当电压范围为0~10V,增益为 100时,理想的编码宽度由以下公式决定:       模拟输入的重要因素-尽管前面所提到的数据采集设备具有16位分辨率的ADC和100 kS/s采样率这样的基本指标,但是您可能无法在16个通道上进行全速采样,或者得不到满16位的精度。例如,目前市场上的某些带有16位ADC的产品所 得到的有效数据要低于12位。为了确定您所要用的设备是否能满足您所期待的结果,请仔细审查那些超出产品分辨率的技术指标。评估数据采集产品时,还需要考虑微分非线性度(DNL)、相对精度、仪用放大器的稳定时间和噪声等。[!--empirenews.page--]         微分非线性度(DNL)——在理想情况下,当您提高一个数据采集设备上的电压值时,模数转换器上的数字编码也应该线性增加。如果您对 一个理想的模数转换器测定电压值与输出码的关系,绘出的线应是一条直线。这条理想直线的离差被定义为非线性度。DNL是指以LSB为测量单位,和1LSB 理想值的最大离差。一个理想的数据采集设备的DNL值为0,一个好的数据采集设备的DNL值应在±0.5 LSB以内。         对于一个编码应该有多宽,我们没有更多的限制。编码不会比0 LSB更小,因此,DNL肯定是小于-1LSB。一个性能较差的数据采集设备可能有一个等于或非常接近零的编码宽度,这意味着会有一个丢失码。对一个有丢 失码的数据采集设备无论输入什么电压,设备都无法将此电压量化为丢失码所表示的值。有时DNL指标显示数据采集设备没有丢失码,这意味着DNL低于–1 LSB,但是没有上边界的技术指标。所有NIE系列设备都保证没有丢失码,并且其技术说明上清楚地标明DNL的技术指标,因此您就可以知道设备的线性度。         如果以上文提到的数据采集设备为例,其编码宽度为1.5 μV,略高于500 μV时会有一个丢失码,此时,增加电压至502 μV的情况将不会被探测到。在这个例子中,只有电压值再增加一个LSB,大于503 μV时,电压改变值才能被探测到。因此较差的DNL会降低设备的分辨率。        相对精度-相对精度是指相对理想数据采集的转换函数(一条直线),最大离差的LSB测量位数。数据采集设备的相对精度是通过连接一个 负的满量程电压来确定的,采集电压,增加电压值,重复这些步骤直至覆盖设备的整个输入范围。当描绘这些数字化点时,结果应是如图4(a)所示的一条近似直 线。然而,当您从数字化值中减去理想直线值,可描绘出这些计算结果所得到的点,如图4(b)所示。距零的最大离差值即为设备的相对精度。 图4.决定一个数据采集设备的相对精度。图4(a)显示了通过扫描输入而产生的一条近似的直线图4(b) 显示,通过减去理论计算的直线数值得到的图形显示实际上并不是直的         数据采集设备的驱动软件将模数转换器输出的二进制码值通过乘以一个常数转化为电压值。良好的相对精度对数据采集设备很重要,因为它确保了将模数转换器输出的二进制码值能被准确地转化为电压值。获得良好的相对精度需要正确地设计模数转换器和外围的模拟电路。         稳定时间——稳定时间是指放大器、继电器、或其它电路达到工作稳定模式所需要的时间。当您在高增益和高速率下进行多通道采样时,仪用 放大器是最不容易稳定下来的。在这种条件下,仪用放大器很难追踪出现在多路复用器不同通道上的大变化的信号。一般而言,增益越高并且通道的切换时间越短 时,仪用放大器越不容易稳定。事实上,没有现成的可编程增益放大器可在2μs时间内、增益为100时,稳定地达到12位精度。NI为数据采集应用专门开发 了NI-PGIA,所以应用NI-PGIA的设备在高增益和高采样速率下具有一致的稳定时间。         噪声-在数据采集设备的数字化信号中不希望出现的信号即为噪声。因为PC是一个有噪声的数字化环境,所以在插入式设备上作采集工作需 要经验丰富的模拟电路设计人员在多层数据采集设备上精心布线。简单地把一个模数转换器、仪用放大器和总线接口电路布置在一个一层或两层板上,这样开发出的 设备会有非常大的噪声。设计者可以在数据采集设备中使用金属屏蔽来降低噪声。恰当的屏蔽不仅用于数据采集设备上敏感的模拟部分,而且体现在设备的板层间使 用接地层。            图5显示了当输入范围为±10 V,增益为10时的一个直流噪声。当1 LSB = 31 μV,20 LSB噪声水平相当于620 μV的噪声电压。图6显示了两个数据采集产品的直流噪声曲线,它们使用的是相同的ADC,两个数据采集产品的质量可由这些噪声曲线来决定——噪声的范围和 分布情况。从图6a的曲线可以看出,NIAT-MIO-16XE-10,在0处有高的采样分布,而它在其它码值上的点数量极少。这种分布为高斯分布,它是 随机噪声。从曲线可以得知,峰值噪声在±3 LSB以内。在图6b中,此产品是另一家厂商生产的数据采集设备,它的噪声分布很不同。设备生成的噪声高于20 LSB,出现了许多非期望值的采样点。 图5当信号通过切换40路DC信号的多路复用器输入仪用放大器时,表现为一个高频率AC信号 图6 尽管采用了相同16位ADC,两种数据采集产品的噪声曲线还是具有明显的不同。       图6(a)是NI AT-MIO-16XE-10;图6(b)是另一家厂商的数据采集产品。[!--empirenews.page--]     对于复杂的测量硬件如插入式数据采集设备,根据所使用设备的不同,您所得到的精度有很大的差别。NI一直致力于提供高精度的产品,在许多情况下,这 些产品的精度甚至比台式仪器还要高。在NI产品的技术规范中有这些精度的说明。同时您要注意那些没有详细说明的板卡;所省略的技术指标可能会导致测量的不 精确。通过评估更多的模拟输入技术指标,而不是简单地参考模数转换器的分辨率,您可以确定所选的数据采集产品对于您的应用是否具有足够的精度。 模拟输出        经常需要模拟输出电路来为数据采集系统提供激励源。数模转换器(DAC)的一些技术指标决定了所产生输出信号的质量-稳定时间、转换速率和输出分辨率。稳定时间——稳定时间是指输出达到规定精度时所需要的时间。稳定时间通常由电压上的满量程变化来规定。需要更多关于稳定时间的信息,请参考模拟输入这一章节。转换速率——转换速率是指数模转换器所产生的输出信号的最大变化速率。稳定时间和转换速率一起决定模数转换器改变输出信号值的速率。 因此,一个数模转换器在一个小的稳定时间和一个高的转换速率下可产生高频率的信号,这是因为输出信号精确地改变至一个新的电压值这一过程所需要的时间极短。         关于应用方面的一个例子是音频信号的产生,它需要上述参数具有高性能指标。数模转换器需要一个高的转换速率和小的稳定时间来产生高频率信号来覆盖音 频范围。与此相对照,另一个应用示例是利用一个电压信号源来控制一个加热器,它不需要高速数/模转换。这是因为加热器对电压值的改变不能很快地响应,没有 必要使用高速数/模转换器。       输出分辨率——输出分辨率与输入分辨率类似;它是产生模拟输出的数字码的位数。较大的位数可以缩小输出电压增量的量值,因此可以产生更平滑的变化信号。对于要求动态范围宽、增量小的模拟输出应用,需要有高分辨率的电压输出。 触发器      许多数据采集的应用过程需要基于一个外部事件来起动或停止一个数据采集的工作。数字触发使用外部数字脉冲来同步采集与电压生成。模拟触发主要用于模拟输入操作,当一个输入信号达到一个指定模拟电压值时,根据相应的变化方向来起动或停止数据采集的操作。RTSI总线       NI公司为数据采集产品开发了RTSI总线。RTSI总线使用一种定制的门阵列和一条带形电缆,能在一块数据采集卡上的多个功能之间或者两块甚至多 块数据采集卡之间发送定时和触发信号。通过RTSI总线,您可以同步模数转换、数模转换、数字输入、数字输出、和计数器/计时器的操作。例如,通过 RTSI总线,两个输入板卡可以同时采集数据,同时第三个设备可以与该采样率同步的产生波形输出。 数字I/O (DIO)       DIO接口经常在PC数据采集系统中使用,它被用来控制过程、产生测试波形、与外围设备进行通信。在每一种情况下,最重要的参数有可应用的数字线的 数目、在这些通路上能接收和提供数字数据的速率、以及通路的驱动能力。如果数字线被用来控制事件,比如打开或关掉加热器、电动机或灯,由于上述设备并不能 很快地响应,因此通常不采用高速输入输出。         数字线的数量当然应该与需要被控制的过程数目相匹配。在上述的每一个例子中,需要打开或关掉设备的总电流必须小于设备的有效驱动电流。然而,通过应用恰当的数字信号调理配件,您可以使用进/出数据采集硬件的低电流TTL信号来监测/控制工业硬件产生的高电压和电流信号。例如,在打 开或关闭一个高阀门时,电压和电流的值可能达到2A、100VAC的数量级。因为一个DIO设备的输出为几个毫安,电压为0~5VDC,所以可以使用如 SSR系列、ER-8/16,SC-206x,或 SCXI模块来开关电源信号,控制阀门。         一个常见的DIO应用是传送计算机和设备之间的数据,这些设备包括数据记录器、数据处理器以及打印机。因为上述设备常以1个字节(8位)来传送数 据,插入式DIO设备的数字线常排列为8位一组,许多具有数字能力的板卡具有带同步通信功能的握手电路。通道数、数据速率和握手能力都是很重要的技术指 标,您需要了解这些指标并且它们要与应用的要求相匹配。定时I/O          计数器/定时器在许多应用中具有很重要的作用,包括对数字事件产生次数的计数、数字脉冲计时,以及产生方波和脉冲。您通过三个计数器/计时器信号就可以实现所有上述应用——门、输入源和输出。门——门是指用来使计数器开始或停止工作的一个数字输入信号。输入源——输入源是一个数字输入,它的每次翻转都导致计数器的递增,因而提供计数器工作的时间基准。输出——在输出线上输出数字方波和脉冲。      应用一个计数器/计时器时最重要的指标是分辨率和时钟频率。分辨率是计数器所应用的位数。简单地说,高分辨率意味着计数器可以计数的位数越高。时钟 频率决定了您可以翻转数字输入源的速度有多快。当频率越高,计数器递增的也越快,因此对于输入可探测的信号频率越高,对于输出则可产生更高频率的脉冲和方 形波。在我们的E系列数据采集设备中采用了DAQ-STC计数器/计时器,其时钟频率为20 MHz,共有16个24位计数器。在NI 660x计数器/计时器设备中,所用的NI-TIO计数器/计时器最高时钟频率为80 MHz,共有8个32位计数器。        DAQ-STC是NI的一种定制的专用集成电路 (ASIC) , 它是为数据采集应用专门设计的。与应用在数据采集设备上的其他现有计数器/计时器芯片相比较,DAQ-STC是与众不同的。例如,DAQ-STC是一个正 向/反向的计数器/计时器,意味着它可以使用附加的外部数字信号,根据“高”或“低”电平,来正向计数或反向计数。这种类型的计数器/计时器可用于旋转或 线性编码器来测量位置。其它的专有功能还有生成缓冲式脉冲系列、对相同的采样时间进行定时、相关时间戳记、以及采样速率的瞬间改变 。NI-TIO也是一种针对计时应用特定设计的定制的ASIC。它将所有的DAQ-STC计数器/计时器的功能进行合并,并且还加入了新的特点,如自身编码器的兼容性、消除反冲过滤器和两个信号的边缘分离测量。[!--empirenews.page--] 图7自动润滑检测应用(应用了一个SCXI机箱和在Macintosh上运行的LabVIEW) 软件         软件使PC和数据采集硬件形成了一个完整的数据采集、分析和显示系统。没有软件,数据采集硬件是毫无用处的——或者使用比较差的软件,数据采集硬件 也几乎无法工作。大部分数据采集应用实例都使用了驱动软件。软件层中的驱动软件可以直接对数据采集硬件的寄存器编程,管理数据采集硬件的操作并把它和处理 器中断,DMA和内存这样的计算机资源结合在一起。驱动软件隐藏了复杂的硬件底层编程细节,为用户提供容易理解的接口。        例如,以下的代码片断显示了使用C语言的NI-DAQ功能调用,该功能从MIO-16E-10的一个模拟输入通道读取电压并进行换算。       随着数据采集硬件、计算机和软件复杂程度的增加,好的驱动软件就显得尤为重要。合适的驱动软件可以最佳地结合灵活性和高性能,同时还能极大地降低开发数据采集程序所需的时间。在选择驱动软件时,需要考虑以下几个因素。可以使用哪些功能?      控制数据采集硬件的驱动功能可被分为模拟I/O、数字I/O和计时I/O。尽管大多数驱动都具有这些基本功能,您需要明确驱动不仅仅只是对设备的数据进行存取。请确定驱动有以下功能:* 在前台进行处理时可以在后台采集数据* 使用可编程I/O,中断和DMA来传输数据* 把数据存入硬盘和从硬盘提取数据* 同时执行多个功能* 集成多个数据采集设备* 和信号调理设备无缝地集成* 数据采集驱动的所有这些功能都包含在NI-DAQ中,它可以为用户节省大量的时间。 哪些操作系统可以使用驱动?          请确保驱动软件与您现在和未来打算使用的操作系统兼容。经过设计,驱动也应该可以在各种不同特性和功能的OS上使用。您也可能需要能在多个平台上移 植代码的灵活性,比如说从Windows PC到Macintosh。NI-DAQ可用于Windows 2000/NT/ME/9x 和 Mac OS。由于您对程序无需或者只做少量改动就可以在各种硬件产品或操作系统上使用,NI-DAQ能保护您在软件上的投资。 您可以使用哪些编程语言来调用驱动?        确保可以使用您所喜欢编程语言来调用驱动,而且驱动能在您的开发环境中很好地工作。如Visual Basic这样的编程语言,具有事件驱动的开发环境,为程序的开发提供了各种控件。如果您在Visual Basic环境中开发程序,确保驱动具有能适合这种开发语言编程方式的自定义控件,如NI-DAQ中的控件。 您是否能通过软件来使用所需要的硬件功能?      当用户购买数据采集硬件并通过软件来使用硬件时,常会发现所需要的硬件功能不能由软件来调用处理。如果硬件和软件由不同的厂商开发,就经常会出现这种问题。NI-DAQ驱动软件可以调用NI数据采集硬件产品功能表中所有的功能。驱动是否会使性能受到限制?      由于驱动是一个额外的软件层,它可能会使性能受到某些限制。此外,如Windows 9x这样的操作系统也具有明显的中断延迟时间。如果处理不好,这些等待时间会严重地降低优化,所提供的采集速率能高达10 MS/s。回答这些问题使您可以了解开发人员对驱动软件所做的工作。在理想的情况下,您会希望为您提供驱动软件的公司在开发数据采集软件方面和他们在开发数据采集硬件方面具有相同的实力。应用软件      另一种对数据采集硬件编程的方法是使用应用软件。然而,即使使用应用软件,由于应用软件也使用驱动软件来控制数据采集硬件,所以您仍要了解上面所提 到的问题的答案。应用软件的优势是它为驱动软件增加了分析和显示的功能,同时它也可以把数据采集和仪器控制(GPIB、RS-232和VXI)集成在一 起。       为了让用户能开发出完整的仪器、采集和控制程序,NI提供了传统C编程人员使用的应用软件Measurement Studio,以及具有图形化编程方法的应用软件LabVIEW 。这些产品都有带有专用功能的附加工具包。Measurement Studio还包含能为Visual C++和Visual Basic用户提供完整仪器功能的工具。NI VI Logger是非常灵活的易用工具,它是为您的数据记录应用而专门设计的。 图8 NI 的VI Logger应用软件能帮助用户进行数据记录开发您的系统      为了开发出用于测量和控制的高质量数据采集系统,您必须了解组成系统的各个部分。在所有数据采集系统的组成部分中,软件是最重要的。这是由于插入式 数据采集设备没有显示功能,软件是您和系统的唯一接口。软件提供了系统的所有信息,您也需要通过它来控制系统。软件把传感器、信号调理、数据采集硬件和分 析硬件集成为一个完整的多功能数据采集系统。       图9 通过LabWindows/CVI高级分析库中的信号处理功能,您可以对数据进行频谱分析、滤波和加窗操作      因此,在开发数据采集系统时,您要对软件进行充分评估。通过明确您系统的要求来选择硬件并确保硬件规范满足系统和您的要求。同时,仔细地选择合适的软件——无论是驱动软件或是应用软件——可以为您节省大量的开发时间和金钱。 

    时间:2010-04-11 关键词: 数据采集 基础知识 电源技术解析 daq

  • 基于DAQ及LabVIEW的虚拟数字电压表的设计

    摘要:为解决实验室建设中成本高、技术更新慢及维护等方面的困难,适应现代测量仪器系统发展的要求,本文在分析数字电压表原理的基础上,利用虚拟仪器技术设计了一种新型数字电压表。虚拟数字电压表除数据采集由DAQ实现外,其他功能均由软件LabVIEW实现。其设计具有较高的灵活性和可扩展性,有利于系统集成。经测试,此数字电压表性能可靠,能达到测试者的要求。 关键词:虚拟仪器;数字电压表;LabVIEW;DAQ O 引言     电子仪器与测试实验室是高等工科院校必备的教学实验条件。为了提供一定的实验规模,保证每个学生得到实际动手能力的训练,传统的教学实验室一般需购置大量的基础测量仪器,如示波器、电压表、信号源等,投资大、技术更新快、维护困难。电压表更是不可或缺的测量仪器之一。     传统的数字电压表采用A/D转换器件和通用集成逻辑器件来设计,这样的设计不便于系统功能修改和升级,缺乏灵活性,接线较复杂,故障率高。以单片机为核心的数字电压表设计是目前使用过最广泛的一种设计方式,但其工作速度较低,功能修改及调试需要硬件电路的支持。     在本文设计中,结合虚拟仪器新技术来完成为数字电压表的设计,使其不但更有利于系统集成,提高系统的测试精度,适用于实验室测量,解决投资、维护等问题,还考虑到该仪器主要用于教学和实验,使用时,学生科通过操作,设置参数,根据自己的需要来定义仪器的功能;同时现代测量仪器系统正向着智能化、自动化、小型化、模块化和开放系统的方向发展,基于虚拟仪器的电子测量仪器可满足这种要求。 1 系统设计及原理 1.1 系统的硬件设计     虚拟仪器(virtual instrument,VI)是20世纪80年代末由美国国家仪器公司(national instrument corp,NI)提出的新概念。它以通用计算机为基础,加上特定的硬件接口,用户通过软件开发平台编写应用程序,以完成传统仪器的功能。虚拟仪器技术已经得到工业界的广泛接受与运用,成为仪器技术的主流。     根据虚拟仪器的总体结构分析,其结构图如图1所示,虚拟仪器的内部功能可划分成数据采集与控制、数据分析、和数据表达式三个功能模块。按照测控功能硬件的不同,VI可分为GPIB、VXI、PXI和DAQ四种标准体系结构。本设计采用PC-DAQ体系结构。     数据采集是LabVIEW的核心技术之一。也是LabVIEW与其他编程语言相比的优势所在。在设计中根据测试系统的特点采用PC-DAQ(Data AcQuisition)体系结构。数据采集部分采用NI USB-6009 DAQ,模拟信号8通道单端输入,最高采样率42kSa/s(多通道合计)。数据处理和数据显示部分在PC机中用LabVIEW 8.2实现。PC机配置为:奔腾4 CPU 2.00GHz、内存256MB、硬盘60GB。其采集系统结构图如图2所示。 1.2 电压表设计原理     基于DAQ及LabVIEW的数字电压表包括直流电压表和交流电压表的功能,直流电压表的设计原理如图3所示,采用电压-时间变换型原理。     电压-时间变换型原理是指测量时将被测电压值转换为时间间隔△t,电压越大,△t越大,然后按△t大小控制定时脉冲进行计数,其计数值即为电压值。电压-时间变换型又称为V-T型或斜坡电压式。     传统的交流电压表按对波形响应的输出量分为峰值电压表、均值电压表和有效值电压表,它们的工作原理类似,只是检波电路的参数有所不同:峰值电压表采用二极管峰值检波器,表头的偏转正比于被测电压(任意波形)的峰值;均值电压表一般都采用二极管全波或桥式整流电路作为检波器,表头偏转正比于被测电压的平均值;有效值经常采用热电变换和模拟计算电路两种方法实现测量,因此,对不同的测量对象必须选用不同的测量仪表。 2 基于LabVIEW的软件程序设计 2.1 虚拟仪器的软件系统     在系统设计中,传统仪器的关键在硬件,而虚拟仪器的关键是软件。其最核心的思想是利用计算机的硬/软件资源,使本来需要硬件实现的技术软件化(虚拟化),以便最大限度地降低系统成本,增强系统的功能与灵活性。因此要完成虚拟仪器的测试功能,软件的设计是关键。     LabVIEW是一种图形化的编程语言,主要用来开发数据采集、仪器控制及数据处理分析等软件,目前在国际测试、测控行业比较流行,在国内的测控领域也得到广泛应用。它大大降低了程序设计的难度,使得测试工程师可以专注于实现仪器功能,而不是跟程序文本代码做艰苦斗争。基于LabVIEW的虚拟仪器测试软件设计包括前面板的设计及后台图形化控制程序的设计。 2.2 基于虚拟仪器技术的电压表的软件实现     根据前面分析的数字电压表的原理及测试方法,系统能完成直流和交流电压的测试功能,本文设计的电压表主要用于实验室教学设备,主要是让学生掌握电压表的电路构成、电压表的工作原理、电压表的测试方法以及交流电压表对正弦波形和非正弦波形的不同响应。则虚拟电压表应具有电源开关控制、输入参数控制、波形显示、峰值、有效值和平均值三种结果显示,且输入信号的采样可调节等功能。 2.2.1 直流电压表的实现     根据对数字电压表原理的分析和程序设计的一般方法,虚拟直流电压表的软件流程图如图4所示。     其前面板如图5所示。     前面板由输入控制和输出显示两部分组成,操作方便,界面友好。输入控制用来控制系统的运行方式,系统可进行仿真和测试两个功能,量程选择用来设定电压量程,针对不同的直流输入,设置检测量程;输出显示用来显示测量的结果,以两个显示控件用来显示待测电压波形和标准电压波形,同时,面板上模拟了指针式仪表的指针,用来指示被测量的大小。两个布尔数组指示灯控件分别显示每次比较结果和是否超出量程。由于测试存在随机性,程序还设计了自动报警功能。 2.2.2 交流电压表的实现     基于对交流电压表原理的分析,在设计的过程中,利用LabVEW提供的工具模块对采集的电压信号通过不同形式的检波、计算等处理分析得出交流电压信号的有效值、峰值和平均值。对于一个纯粹的交流电压,正半周期信号和负半周期信号对称,平均值等于零,所以一般我们不直接测量平均值。在设计时,按Functions>>Nu-meric>>Absolute value取交流电压的绝对值,然后求平均值,即全波平均值;交流电压中的最大值,即为峰值。可以把数据进行比较求出最大值,可通过Waveform MinMax来进行处理;用DC value测量直流分量和用RMS value测量有效值。这样即把有赖于硬件电路的测试全部由软件来实现,提高系统的性能及集成度。其设计的程序框图如图6所示。     在测试中,基于USB6009DAQ设计的电压表,采样正弦信号的最高频率为65000Hz,显示波形的最高幅度为11.35V。 3 系统分析     虚拟直流电压表针对不同的直流输入,其量程的大小影响测试的精度,在测量电压时,应使被测电压在量程的2/3以上。一般量程应选定在被测电压的3倍值以上。当输入直流测试信号在0~3V时,测试的量程应选在10V,其测试的误差基本为O.0012V。交流测试时,利用信号发生器发出测试信号,将虚拟电压表和万用表与示波器的测试值进行比较,虚拟电压表测试值如表1所示。在测试中,应注意合理设置采样率,其是减小测量误差的重要途径。     示波器和数字万用表(三位半)测量值如表2所示。       虚拟仪表测得的正弦波峰值平均值为:11.49801V     万用表测得的正弦波峰-峰值的平均值:(23+23+23+23+23+23+23+23+23+23)/10=23 V,峰值为:11.5V,其两仪表的测量误差在O.00199V。由此可见,设计的虚拟电压表能够满足实验室的测量需求。 4 结束语     基于DAQ及LabVIEW的数字电压表能够实现数字电压表的功能,可视化的前面板控件构造仪器的用户界面,人机交互性强,界面友好。经过调试、运行,该设计能满足实验室用数字电压表的设计要求;且系统功能扩展方便,通过增加部分软件,就可以实现滤波器、信号源等的功能,可解决现有实验设备的技术更新与维护困难等难题。  

    时间:2010-03-24 关键词: LabVIEW 虚拟数字 电压表 daq

  • 使用NI LabVIEW FPGA 与智能 DAQ的自动高电压电击测试

    Author(s):David Hakey - Medtronic, Inc. Patrick J. Ryan - Medtronic, Inc.Johnny Maynes - Medtronic, Inc. Industry:Electronics, Biotechnology Products:NI-VISA, LabVIEW, FPGA Module, PXI-7811R The Challenge:   构成自动化的高电压 (HV) 电击器测试系统,以个别测试 12 组 HV 电击器模块,并可测试不同的产品类型,缩短整体测试时间。 The Solution:   使用 NI LabVIEW FPGA 软件与 NI 智能数据采集 (DAQ) 硬件,建立非同步化的环境;所有的 12 个模块均具有独立通讯埠,并可自动执行作业。 Medtronic 公司的测试工程团队必须研发自动化的 HV 电击器测试解决方桉,且共 12 个测试模块能够个别测试 1 ~ 4 种不同的产品,以缩短整体测试时间。透过 LabVIEW FPGA 与 NI 智能DAQ硬件,团队将模块通讯速度从 20 KHz (平行通讯埠) 大幅提升至 1.7 MHz (FPGA),而缩短整体测试时间。    前款手动系统即透过平行通讯埠同步执行 12 个模块,仅可测试 1 种 HV 电击器,且测试 12 组仪器需耗时 135 分钟。新的自动化系统可透过 FPGA 数位 I/O 通讯功能,非同步执行 12 个模块,并于 48 分钟内测试最多 4 种不同类型的共 12 项装置。重入码测试序列器 (Reentrant test sequencer) 与测试程式可独立控制各测试模块,因此可由自动化装置操作 (Handling) 系统引导进行各组测试作业。执行测试的主机电脑整合自动化装置操作系统,与 HV 电击器测试系统。测试自动化    AeroSpec 测试自动化操作系统将负责从 4 组输入盘 (Input tray) 中取出待测装置 (DUT);透过光学自行辨识 (OCR) 功能读取 DUT 序号;将 DUT 载入或卸载 12 组测试模块之一;最后根据测试结果,将 DUT 置于 12 组输出盘之一。4 项不同的产品可设定于 4 组输入盘中,每输入盘可容纳 20 组装置。    Test executive 系统为主控制器,可提供使用者界面、主导测试模块的负载与卸载程度,并让 Test manager 针对实际装置或装载于测试模块的装置,进行 HV 电击器测试。   Test manager 将决定受测产品,并将该笔资讯送至 Test executive,让操作者选择要进行测试的产品。操作者根据各系统设定以载入产品并开始测试,测试处理器接着将 DUT 载入至测试模块中。一旦载入 DUT,即开始于特定模块中进行测试。Test executive 与测试处理器将于测试期间持续载入剩下的 DUT,Test manager 将跟着测试每组 DUT 直至完毕。Test manager 可动态调用最多 12 组重入码测试序列器 (Test Sequencer),并接着动态调用重入码独立测试程序。Test manager 将依据测试执行档启动测试程序 (Test executive)。    系统将管理于 LabVIEW 图形化程式设计环境中管理所有测试模块与 DUT。各测试模块均具有静态属性集,其中数值将根据产品类型、测试阶段、硬体设定,与其他处理属性而有所变化。当目前 DUT 的测试作业结束,测试系统将关闭记忆体内的测试伫列。Test manager 将监控测试状态,并于 DUT 完成测试时通知 Test executive 测试通过/失败状态。Test executive 将接着让测试器卸载 DUT,并将之放置于输出盘 (Output tray) 中。.接着另 1 组 DUT 将载入至测试模块,以进行下个测试循环。各 12 个测试模块均独立进行 DUT 载入、测试,与卸载循环。自动化测试器则会将载入/卸载作业要求排入伫列。    共 2 组 NI PXI-7811R 模块 则透过序列通讯 (SPI) 与 JTAG,分别沟通测试模块与 DUT。此 2 个 NI PXI-7811R 模块均执行相同的 LabVIEW FPGA 程序,但具有不同的同步机制 (Semaphore) 与 NI-VISA 来源可控制该模块。    Test sequencer 将从测试程式中动态呼叫测试案例 (Test case),以控制 DUT 测试作业。由于记忆体必须容纳测试程式与最多 12 组重入码或 Test sequencer 的独立备份,因此必须牺牲些许系统效能,以囊括所有 subVI 或 subfunction 重入码。仅这些 subVI 即可形成系统瓶颈,或包含可产生重入码的总体 (Global) 功能。此解决方桉则可降低整体系统记忆体的使用率,以提升相关效能。所有 Test sequencer 与测试程式均使用相同 FPGA,因此系统使用同步机制 (Semaphore) 或称为载具 (Token),以控制各 PXI-7811R 模块。    所有 VI 均必须存取 FPGA 程序,以初始化该同步机制。各 FPGA 系统均具有独立同步机制,可让群组 A (1 ~ 6) 中的 1 个模块存取第一个 FPGA 系统;而群组 B (7 ~ 12) 的 1 个模块则几乎同步存取第二个 FPGA 系统。每组 FPGA 的互动作业极为短暂 – 约几个毫秒 (Millisecond);因此该方式适于分配 FPGA 来源程序,以支援 12 组对等程式。各模块的各个测试程序约有 600 个 FPGA 互动作业。FPGAs 可非同步高速执行 12 个模块,以处理系统可负荷的所有流量。

    时间:2009-11-23 关键词: FPGA LabVIEW 自动 daq

  • 基于CCP协议的汽车标定系统DAQ模式的实现

    基于CCP协议的汽车标定系统DAQ模式的实现

    摘   要:CCP协议是一种基于CAN总线的匹配标定协议。 该协议具有通信可靠、传输速度快、通用性好等特点。本文讨论了一种基于CCP协议的汽车ECU标定系统,并详细介绍了该系统的工作原理、数据采集机制以及实现方式。关键词:CCP协议; CAN总线;标定系统 前言随着汽车电子技术的发展,电子控制单元(ECU)的标定已成为汽车电子控制装置开发的一个重要环节。大多数ECU都需要经过匹配标定的过程,从而确定其运行参数和控制参数。目前国内还没有成熟的基于CCP的ECU标定系统,已有的一些系统主要是采用Vector提供的free CCP Driver,或者基于MATLAB的相关工具包,在此基础上作自己的应用软件,并没有独立的CCP 驱动;国外的产品功能强大,但价格昂贵。因此,研究、掌握CCP的核心技术,开发针对不同用户需求提供不同的定制功能,并能适应PCI、USB等不同主机接口的ECU标定软件就具有非常重要的意义。 CCP协议简介CCP协议的通信方式基于CCP协议的ECU标定采用主-从通信方式,主设备通过CAN总线与多个从设备相连,如图1所示。其中主设备测量标定系统MCS(Measurement Calibration System),从设备是需要标定的ECU。根据CCP协议,主设备首先与其中一个从设备建立逻辑连接。 建立逻辑连接后,主、从机之间所有的数据传递均由主机控制,从机执行主机命令后返回包含命令响应值或错误代码等信息的报文。任何一个从机都可以定时地根据由主机通过控制命令所设置的列表来传递内部的数据。所以说数据的传递是由主机初始化,由从机来执行,并且是由固定的循环采样频率或事件触发的。 图1  CCP通信结构图CCP协议定义了两种工作模式:一种是Polling(查询)模式,另一种是DAQ(数据采集)模式。在本文所设计的标定系统中,根据实际需求情况,采用了DAQ模式。CCP协议的通信数据对象CCP协议只采用了两个CAN报文对象,且每个对象根据其数据流向,都有一个唯一的ID标识符进行标识:(1)命令接收对象(主机一从机):简称CRO。CRO用于传递指令代码和内部功能码或主、从机之间交换的存储区数据。(2)数据传输对象(从机一主机):简称DTO。DTO指由从设备反馈的报文。              根据报文PID的不同,DTO又可以分为三种形式:·命令返回消息CRM(PID=255) : 由从设备发送, 针对CRO 的反馈报文。·事件消息(PID=254): 当从设备检测到内部发生错误机制时, 由从设备自行向主设备发送, 报告其当前的运行状态, 并请求主设备暂停当前工作进程以处理发生的错误。·DAQ- DTO(0≤PID≤254): 用在DAQ 模式中, 由从设备组织, 定期向主设备发送。        图2 标定系统工作原理图基于CCP的ECU标定系统实现标定系统工作原理基于CCP的ECU标定系统工作原理如图2所示,对部分控制参数进行调整后,通过一个USB转CAN的驱动模块就可以将数据送到发动机ECU当中,ECU收到控制信号后,通过内部处理又会由驱动模块返回ECU内部重要的数据到平台上显示,标定软件与发动机ECU的通信符合CCP标定协议。CCP通信部分调用CCP Driver,为标定软件实现与ECU的通信,包括将用户指定的标定参数下载到ECU、接收ECU的测量数据供数据显示子窗口使用。 图3  数据描述表标定系统的数据采集机制本文采用的是DAQ模式,从而可以实现从设备按照指定的周期将需要监视的数据上传。DAQ传送的数据由一系列表来组织,这些表被称为ODT(Object Descriptor Tables)。每个ODT表含7 个元素,可描述7 个ECU 内部参数的相对地址及数据长度等属性。这些被ODT 描述的参数,就是需要从设备用DAQ - DTO 帧周期发送给主设备的被监视数据;而这些属性被称为“参数描述”,它们可帮助从设备DAQ 处理代码确定该参数的当前值,如图3所示。ODT 中描述的参数,及各参数的“参数描述”由主设备通过CRO 命令写入。当从设备的DAQ机制被启动时,从设备按主设备要求的周期,将每个ODT 表描述的ECU 参数当前值顺次放入相应的DAQ-DTO 帧中,并发送给主设备。 图4   标定软件运行示意图标定系统DAQ模式的软件实现标定系统的软件设计主要分为两个部分:CAN Drvier和CCP Driver。本方案的ECU采用MC9S12Dg128,因此可以直接应用芯片CAN模块提供的接口发送CAN数据。CCP Driver是标定系统的核心部分,它主要通过调用CAN Driver实现与上位机标定软件的通信,从而进行对ECU的在线标定。标定系统的实现过程如下:1.上层标定软件部分定义List的数目、每个List中的ODT数目、每个ODT中的元素数目。2. ECU按照上层的定义,确定自己的数据结构。即上下层都定义一个三维的数组(List,ODT,Element),用来存放映射关系。3.上层通过协议命令初始化ODT。首先,上层发送GET_DAQ_SIZE命令(参数为List号),得到指定的List大小(number of ODT in this list),并得到该List中DTO的第一个PID号。 然后,上层发送SET_DAQ_PTR命令(参数为List号、ODT号、ODT中的元素号),指定需要初始化的参数单元。 最后,上层根据SET_DAQ_PTR命令设置的具体元素,发送WRITE_DAQ命令(参数为DAQ元素的byte大小,DAQ元素的地址),反复通过SET_PTR和WRITE_DAQ两条命令,初始化完一个具体的ODT表,然后初始化完一个具体的List表,最后初始化完所有的List表格。至此,初始化ODT工作结束。4.开始和停止DAQ数据的传输。上层发送START_STOP命令,指定的ODT数据开始上传。ODT将其中的每个元素复制到其对应的DTO(8个字节,1个PID号,7个存放数据)中,然后以Data Acquisition Message的形式返回给上层的标定系统。DAQ模式到此为止。 结语ECU标定软件运行情况如图4所示,经过多次不断的调试,此标定系统运行稳定可靠,能够对汽车系统中的ECU进行在线标定, 并可以针对不同用户需求提供不同的定制功能。这个采用CCP协议的汽车发动机标定系统具有符合国际通用标准、通用性好、对不同硬件与不同需求适应性强的特点,因此有很好的开发应用前景。  参考文献1.陶恒燕,田江学,屈卫东. 基于MC68736的CCP软件程序设计. 测控技术,2005,3:49-522.李雅博,张俊智. 基于CCP协议的HEV用ECU标定系统设计. 汽车工程,2004,26-4

    时间:2007-11-28 关键词: 汽车 协议 ccp daq

  • USB DAQ家族新增多款产品(安捷伦)

        安捷伦科技为其独立型和模块化 USB 数据采集器(DAQ)解决方案家族推出多种新产品,从而使客户能建立更灵活的可扩展的测量系统。     Agilent DAQ 家族集多功能 DAQ 和数字输入 — 输出装置于一体,既可独立使用,也可作为模块化一起使用。当在 Agilent U2781A 模块化主机中使用时,更可方便地扩展到 384 个通道。主机能装入不同功能的模块,从而帮助用户实现各种装置和应用的同步。     无论采用何种配置,各 DAQ 装置均通过 USB 接口及捆绑软件进行快速和容易的设置,因此用户能立即开始测量。经由所带的 IVI 驱动程序,用户也能选择使用 Agilent VEE 或任何其它流行的应用程序开发环境实现测量和控制的自动化。 •    Agilent USB DAQ 家族包括: •    Agilent U2500A 系列同时采样多功能 DAQ 装置,它最适合对相位敏感的应用。  •    Agilent U2300A 系列多功能 DAQ 装置,它提供每通道达 3Mpts/s 的高采样率,最适合要求电参数和物理参数测量的机电应用。 •    Agilent U2100A 和 U2600A 系列隔离数字输入—输出装置,它最适合与各种传感器及执行器一道工作,以实现完美的机器控制与自动化。 •    Agilent U2781A 6 槽模块化仪器主机,它为 U2300、U2500 和 U2800 系列模块提供通道扩展。   •    Agilent U2802A 热偶输入装置与 U2355A/U2356A DAQ 模块在一起进行温度测量。     Agilent U2300A 系列提供达 64 通道的高采样率和高模拟输入电压。U2500A系列的每一路输入都有自己的 ADC,因此消除了传输延迟,实现精确的相位信息采集。     64 通道输入 的U2600A 系列和 32通道输入的 U2100A 系列装置提供达 35V 的高输入∕输出电压,并有高达 1,500Vrms 的隔离电压。U2802A 热偶输入装置与 U2355A 或 U2356A DAQ 装置一起提供达 10V 的电压或温度测量。U2781A 主机为所插入的模块提供同时触发和星触发总线同步。     捆绑的安捷伦模块化仪器测量管理器软件提供容易的机外配置、采集,以及产生简单函数波形或任意波形的功能。除 Agilent VEE 外,这些 DAQ 装置还与 LabView 及 Microsoft® Visual Studio® 兼容。

    时间:2007-11-19 关键词: 产品 USB daq

  • 基于多功能DAQ卡的虚拟数字示波器的设计

    摘 要:简要介绍了虚拟仪器的组成,基于Labwindows/CVI和NI公司的PXI-6670E数据采集卡,设计了一个虚拟数字示波器。该系统功能强大,不仅具有实时采集功能,还具有频谱分析、加窗处理、滤波功能和数字存储等功能。 关键词:虚拟仪器;Labwindows/CVI;数据采集卡;频谱分析引言     虚拟仪器中有一类是基于多功能DAQ卡的虚拟仪器,结构简单,开发成本低,目前已经得到了广泛的应用。本文以一个基于多功能DAQ卡的虚拟数字示波器为例,来说明如何开发基于多功能DAQ卡的虚拟仪器。  虚拟数字示波器的结构与组成     虚拟数字示波器由一块PXI总线的多功能数据采集卡和相应的软件组成。将它们安装在一台运行Windows的PC上,即构成一个功能强大的可存储数字示波器。数字示波器的前面板如图1所示。 ● 数据采集卡 设计中所采用的是NI公司生产的多功能数据采集卡PXI-6670E,其主要功能如下:     64路单端/32路差分模拟输入;12位精度;1.25MSPS采样速度;1.25MSPS磁盘写入速度;±0.05~±10V输入范围;两路12位模拟输出;8条数字I/O线;两路24位计数器/定时器。 ● 仪器功能。     本例虚拟数字示波器具有实时数据采集、频谱分析、加窗处理和滤波等功能。在虚拟数字示波器主面板上有数据采集、频谱分析、加窗处理、滤波功能等功能键,按相应的功能键就可进入相应的子面板。 软件的设计与实现 ● 软件开发环境。     虚拟数字示波器软件设计采用了基于C语言的编程环境LabWindows/CVI。LabWindows/CVI支持数值型、布尔型、文本型和串等数据类型,而且最大优点是能够通过对话框形式的交互式操作生成标准C程序代码。另外LabWindows/CVI提供了非常丰富的调试工具,包括单步执行、断点、变量查看、监视窗口等,这些功能使程序的调试变 得更为容易。 ● 主要功能模块。     虚拟数字示波器主要由软件控制完成信号的采集和显示处理,功能结构框图如图2所示。      在数据采集面板中主要完成以下功能:设置通道、设置采样频率、设置产生方式、显示波形等,其软面板如图3所示。     在数据采集面板中主要完成以下功能:对实时采集的信号和自行产生的信号进行频谱分析,查看谱线等功能,其软面板如图4所示。       加窗处理面板对实时采集的信号和自行产生的信号加窗处理(包括海明窗、汉明窗、平滑窗和布拉克曼窗等),其软面板如图5所示。      在滤波处理面板中包括以下功能:对实时采集的信号和自行产生的信号进行滤波处理(包括单步滤波法、多步滤波法和传统方法等),其软面板如图6所示。 ● 源程序文件的生成。       当完成面板各个控件的设置后,就可以产生程序的代码函数了。具体方法为:把已完成的面板定为当前响应状态,在[Code]菜单中,选中[Generate]中的[All Code],在弹出的对话框中选定函数主面板和退出函数,就能产生与用户接口文件相对应的框架代码函数。 ● 添加程序代码。      上一步自动生成的是控件对应的函数的框架,要使控件完成一定的功能,必须添加程序代码来控制控件。其中main()函数是程序的入口,它的功能是初始化程序,装载用户面板并显示,如要完成其他功能须添加代码。以下这段代码实现数据采集功能,程序通过调用数据采集按钮的回调函数SHOU进行外部采集。 int CVICALLBACK SHOW(int panel,int control,int event,void *callbackData,int eventData1,int eventData2) { int NumChan;/*定义所用通道*/ double ActScanRate;/*定义采样速率*/ switch (event) { case EVENT_COMMIT: nidaqAICreateTask(“daq::1!(0)”, kNidaqWaveformCapture, &NumChan,&AiTask);/*创建采样任务*/ nidaqAIConfigScanClockRate(AiTask,400000,&ActScanRate); /*设置采样速率*/ nidaqAIConfigBuffer(AiTask,1000,kNidaqFinite);/*设置采样数据缓冲区*/ nidaqAIStart(AiTask);/*启动采样*/ nidaqAIRead(AiTask,“daq::1!(0)”,1000,-1.0,wave);/*读取采样数据*/ nidaqAIStop(AiTask);/*结束采样*/ DeleteGraphPlot(EEpanel,EEPANEL_WAVEGRAPH, -1,VAL_IMMEDIATE_DRA);/*删除显示的波形*/ PlotY(EEpanel, EEPANEL_WAVEGRAPH, wave, 1000, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_YELLOW); /*显示波形*/ break; } return 0; }     限于篇幅,其他功能模块的实现这里就不一一介绍了。 ● 保存项目文件,然后编译运行。 结论     本文设计的虚拟数字示波器不仅具有一般台式数字存储器的功能,而且充分发挥了微机强大的功能和软件设计的灵活性,而且此虚拟数字示波器的设计包含了基于多功能DAQ卡的虚拟仪器设计的基本思路和方法,用户可以参照这种方法来设计其他虚拟仪器。 参考文献 1 杨乐平,李海涛.虚拟仪器技术概论.电子工业出版社 2 刘君华.LabWindows/CVI基础教程.电子工业出版社 3 National Instruments Corporation.PXI-6670E User Manual.2001  

    时间:2006-08-29 关键词: 多功能 示波器 虚拟数字 daq

  • 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)的最优化结合。   表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使用多线程设计解决了这个问题,这样多线程就可以同时访问驱动器。 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,用户可以更轻松地找到特性。由于这两方面的特性,用户可以用更少的时间开发出应用程序。   图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或更高 ·    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并继续提供它的技术支持。 问:NI-DAQmx与NI-DAQmx Base有何不同? 答:比较这些软件工具的最好方式是在ni.com/dataacquisition/software上使用驱动程序比较图。这儿提到的是其中一些不同之处。   虽然NI-DAQmx和NI-DAQmx BASE具有相似的API,但是这两种API具有完全不同的体系结构。NI-DAQmx 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助手?  答: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之上,并且可以作为一个配置工具和学习工具来加快您在新的NI-DAQmx API上的学习速度。 在配置之后,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助手和应用程序中使用它们。 可编程地保存任务、通道和量程简化了系统配置和多种场合的应用,并且减少了发生错误的可能性和调试的需要。 欲想了解更多关于如何使用此特性以及观看例程,请访问http://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属性节点。     图6.使用NI-DAQmx属性节点实现高级的自定义任务 对于大多数应用程序,NI-DAQmx VI提供了所需的功能。然而,对于更高级的应用程序,您可能需要属性节点来得到较少使用的驱动属性和特性。 问:我应该怎样过滤属性节点列表?   答:当您第一次打开并浏览一个属性节点时,属性列表的显示也许会看起来令人难受。为了更容易地浏览这些列表,可以通过如下所示的对话窗口来利用一些过滤属性。   要进入该对话框,右击属性节点并单击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。 问:什么是NI-DAQmx仿真设备? 答:利用NI-DAQmx 7.4版本和更新版本,您可以创建NI-DAQmx仿真设备。您可以选择任意NI-DAQmx所支持的设备并且作为一个仿真设备在MAX里添加到您的硬件配置中。这使得设备通过应用软件即可使用。   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的性能。 问:为什么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任务状态机能跟踪保存在数据采集或生成可以开始之前您所需要完成的配置操作。配置操作包括检查配置(检验)、保存资源(保存)以及对硬件编程(实施)。 NI-DAQmx使用状态机来确保代价高昂的操作如任务检验、资源保存及硬件编程仅在需要时执行。当在主采集或信号生成循环外执行显示配置操作时,一个DAQ应用程序可从改进的性能中受益。NI-DAQmx提供了显示命令,可以引起一个将要执行的检验、保存或实施。当一个任务显示地在采集或生成循环外检验、保存、实施或开始时,NI-DAQmx并不在每个循环重复这些操作。因此从总体上来说,应用程序运行得更快。     欲想了解更多关于每个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设备。对于这些母板,桥片可能会限制所有连接总线的总吞吐量。 问: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使用了极为简单的压缩形式。采样末端的位被简单的丢弃而后将所得的采样打包送入内存。NI-DAQmx并没有使用其他无损失或损失性压缩算法如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和功能之间的相似之处和不同之处。   第二个指南,学会NI-DAQmx里的10个功能并解决80%的数据采集应用程序,描述了您如何利用NI-DAQmx里的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的信息,请访问 http://ni.com 。 此外,NI网站在http://ni.com/examples上提供了数以千计的DAQ例程。数以百计的例程说明了如何使用NI-DAQmx来完成最为常见的DAQ任务。 问:我能同时使用传统NI-DAQ和NI-DAQmx吗?  答:如果您拥有两个DAQ设备,并且其中之一使用传统NI-DAQ而另一台使用NI-DAQmx,那么您可以同时使用传统NI-DAQ和NI-DAQmx。如果您仅有一台设备,您仍然可以既使用传统NI-DAQ又使用NI-DAQmx,但是只能顺序地使用——不是同时。在这个顺序中,您需要重设您的设备以在传统NI-DAQ和NI-DAQmx驱动之间转换。   在LabVIEW中,在传统NI-DAQ)序列的末端使用Device Reset VI,在您NI-DAQmx序列的末端使用DAQmx Reset Device VI。您仍然需要创建一个传统的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的传统软件。 问:没有NIConfig.DAQ文件,我该如何在机器间转移我的配置? 答:您现在可以使用NI-DAQmx里的导出功能来在机器间转移您的硬件配置。   进入MAX并选择File»Export以启动配置导出向导。使用这个向导,您可以选择希望导出的配置并保存它们至您所选择的用于导出的文件。为了导入配置,进入MAX,File»Export并从配置导出向导所生成的文件中导入配置。    问:我现在该如何使用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以帮助您熟悉从前者到后者的转变: 传统NI-DAQ    NI-DAQmx Counter Group Config VI    DAQmx Create Channel VI Counter Set Attribute VI    DAQmx Channel Property Node VI Counter Source (TIO) VI    DAQmx Trigger Property Node VI Counter Source (STC) VI    DAQmx Property Node VI Counter Control VI    DAQmx Start VI Counter Get Attribute VI    DAQmx Read VI Counter Control 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会按照要求找回采集到的数据。   问:我该如何使用NI-DAQmx来配置SCXI模块? 答:您依旧可依在MAX中通过选择NI-DAQmx Devices、右击SCXI机箱并选择Properties来设置SCXI模块属性。您可以看到每个安装在机箱中的模块并且您可以通过单击详细信息来设置每个模块的属性。   MAX中唯一没有显示的属性是增益设置。NI-DAQmx可以使用基于信号的I/O极限来自动地配置设备以达到最优的增益设置。 问:NI-DAQmx里的脉冲序列极性和占空比控制功能的变化? 答:在NI-DAQmx里,您可以通过使用通用的DAQmx创建通道函数并选择Counter Output»Pulse Generation»Frequency来简化您的程序。在传统NI-DAQmx里,您必须使用生成脉冲序列函数来定义脉冲序列的极性、频率和占空比。除了频率和占空比之外,NI-DAQmx使用空闲状态参数来配置脉冲序列的极性。     问:使用NI-DAQmx我该如何完成远程数据采集(RDA)?   答:NI-DAQmx不提供RDA特性。要想远程控制您的DAQ设备,您可以使用LabVIEW 7或更高版本里的远程前面板特性。利用这一特性,您可以通过因特网远程控制DAQ应用程序。 问:我可以无需重启任务就能改变NI-DAQmx里生成的脉冲序列频率吗? 答:可以。您可以在任何时候更新一个连续脉冲序列的频率和占空比,包括在任务运行的时候。这对于需要脉冲宽度调节的应用十分有益,如PID环控制应用程序。在DAQmx写功能里,频率和占空比参数可以在任务运行的时候自动更新脉冲序列。在更新脉冲生成速率的时候,在新的速率起作用之前,一个当前速率的完整周期会生成。     © 2005 National Instruments公司。版权所有:CVI、DAQCard、LabVIEW、Measurement Studio、NI、ni.com、NI-DAQ、RTSI、SCXI和SignalExpress。 

    时间:2005-04-04 关键词: Linux ni 解答 daqmx 常见问 daq

发布文章

技术子站

更多

项目外包