账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
以任意语言在汇流排上执行仪器控制(下)
PC-Based量测自动化专栏(9)

【作者: 小樵】2005年10月01日 星期六

浏览人次:【9417】

应用程式语言技术


以上所叙述的所有技术都被整合至测试与量测领域中,多介面以及多厂商的系统变得越来越普遍。如果想要大幅利用最新的技术与最快的汇流排,就需要有一个可支援这些技术、可重复且容易使用的软体​​架构。最好的方式就是使用一个有阶层组织的软体架构、可自动简化以及隐藏不同汇流排的通讯协定,可简单地把量测硬体整合到整个系统内。最佳的软体架构(图一)包含了强大且有弹性的应用软体,可利用I/O软体以及工具使用仪器驱动程式,或是直接I/O通讯能力来设定以​​及控制仪器。



应用软体


在选择适合仪器控制系统的软体开发环境时,选择一个有内建仪控功能软体是十分重要的,它须包含仪器驱动程式以及直接I/O通讯能力。选择一个对的开发环境可确保成功,并有足够的工具来更快地开发高品质产品。



确保系统成功的关键是拥有一个提供内建仪器控制功能的软体方案。所需要的软体必须提供一系列的仪器I/O函式库及工具,以简化与仪器通讯软体的撰写。如果没有内建I/O函式库,则必须撰写低阶语言,使与作业系统能与I/O汇流排沟通,除此之外,选择的开发环境也需提供一组完整的内建函式库。即便某些软体可提供基本I/O通讯,一个完整的开发环境还是拥有相当大的好处,例如客制化、应用整合、系统连结以及完整的分析与呈现能力。当从仪器撷取资料之后,这些功能都可加以分析以及呈现资料,最后再把资料整合到整个量测系统中。



更多关于最佳的I/O函式库以及工具的资料,都已经透过仪器驱动程式,以及直接I/O通讯整合至开发系统中了。



《图一 仪器控制系统的软体架构》


仪器驱动程式


当选择好开发环境后,便可以透过仪器驱动程式或是直接下I/O指令来控制仪器。大致上,如果此仪器有提供仪器驱动程式,直接使用其驱动程式会是最简单以及最省时的方式。一个仪器驱动程式是一个函式库,提供了高阶功能可直接控制单一仪器或是一系列的仪器。仪器驱动程式是快速开发测试与量测应用的关键,由于它提供了简易使用的高阶模组化函式库,它移除了学习复杂低阶通讯协定的必要。每个仪器驱动程式都有一系列的函式可用,它包含了设定、读取、写入以及触发仪器,除此之外,大多数的仪器驱动程式都有类似的架构,当学会一种仪器驱动程式的撰写方法,就能够很快地学会另一个。



有两种不同的仪器驱动程式给不同需求的控制与测试应用:随插即用以及IVI驱动程式。随插即用仪器驱动程式简化了控制,可使用一个标准的电脑语言来与仪器沟通。可替换式虚拟仪器(Interchangeable Virtual Instruments)或IVI驱动程式提供了更完整的功能以达到更高的效能以及弹性,如仪器的可替换性、状态储存以及仪器模拟,可使用仪器所支援的任何驱动程式,除非应用需要使用到IVI的高阶功能,否则使用随插即用仪器驱动程式即可。



LabVIEW随插即用驱动程式


LabVIEW随插即用仪器驱动程式是一组VI(虚拟仪器程式档),用来控制可程式仪器,并与其沟通。每个VI对应到一个功能,例如设定、读取、写入或是触发仪器。 LabVIEW随插即用仪器驱动程式规范了程式特性、错误处置、人机介面、程式方块图与线上支援。由于LabVIEW随插即用驱动程式使用一个共同的架构与介面,所以可以快速地连结到仪器而不需撰写过多的程式码。除此之外,由于每个LabVIEW随插即用驱动程式架构相同,学习另一个仪器的驱动程式非常容易,缩短很多学习时间。



LabWindows/CVI随插即用驱动程式


LabWindows/CVI随插即用驱动程式是一组ANSI C函式库,用来控制可程式仪器,并与其沟通。每个函式对应到一个功能,例如设定、读取、写入或是触发仪器。 LabWindows/CVI随插即用仪器驱动程式规范了程式特性、错误处置、函式介面、函式树状结构与说明档。由于LabWindows/CVI随插即用驱动程式使用一个共同的架构与介面,因此可快速连结到仪器而不需撰写太多程式码。此外,由于每个LabWindows/CVI随插即用驱动程式架构相同,因此学习另一个仪器的驱动程式非常容易,可缩短许多学习时间。



可替换式虚拟仪器(IVI)驱动程式


IVI驱动程式是较先进的仪器驱动程式,提供了更大的效能与弹性,符合更复杂的需要,如可替换性仪器的使用、状态储存以及仪器模拟的测试应用。 IVI驱动程式是由IVI协会所开发的业界标准,IVI协会的目的是创造出一个基于VXI随插即用标准上的驱动程式,也要支援更进阶的功能,例如仪器可替换性、模拟、状态储存以及安全多绪。IVI协会制定了两个IVI驱动程式架构,一个是架构于ANSI-C上,另一个则是架构于Component Object Model(COM)技术,IVI-C驱动程式与IVI-COM驱动程式可同时被使用在同一个应用里。虽然IVI-C与IVI-COM的底层技术不同,但无需在意它的架构,只需要专注在两个重点上:一、此仪器驱动程式是否架构在一个寿命长的技术之上;二、此驱动程式在开发系统上是否可用。



《图二 仪器驱动程式选择:IVI、随插即用与直接I/O通讯》


架构之寿命


架构的寿命对于IVI驱动程式的使用者而言非常重要。仪器可替换性是IVI驱动程式的最大功能之一,而此功能最主要的目的就是可以在需要运作10至20年的系统上更换仪器。若仪器驱动程式的架构每几年就必须更改一次,即使拥有共同的应用程式介面也是不足够的,因此,IVI-C架构是个非常好的选择。 ANSI-C是个已经开发成熟的标准,在每个平台上都支援,而且未来也会持续如此。相较起来,COM就不是每个平台都支援,已被.NET取代。



可使用度


开发IVI-COM驱动程式的最大动力就是想要开发一个能够自动在任何开发环境下,都可使用的驱动程式。然而,如此一来将会牺牲掉可使用度。 IVI-COM驱动程式只能在Microsoft Visual Basic 6.0展现出最佳效能(VB 6.0又被.NET取代)。最完美的状况是驱动程式应该在每个开发环境都能展现出最佳效能。例如,仪器驱动程式应该包含:提供LabVIEW使用的一组LabVIEW VI,一组给Microsoft Visual C++的C++函式库,以及一组给Microsoft Visual Basic.NET或Visual C#用的函式库。



虽然IVI-C驱动程式为开发可替换性测试系统的最佳选择,但当仪器只提供IVI-COM或VXI随插即用,建议还是使用它。毕竟,最大目标为可简易地与仪器沟通,并非在意其属于哪种驱动程式技术。



直接I/O通讯


若找不到仪器的仪器驱动程式,或是不需要使用仪器驱动程式时,互动式的工具可协助工程师直接下I/O指令,来控制仪器。一些不需使用仪器驱动程式的原因包含:




  • * 只需下传少数指令给仪器;



  • * 仪器驱动程式并不存在;



  • * 不需分享指令与其他开发者。





无论原因是什么,都应该利用内建在开发环境里的互动式I/O功能。软体需提供仪器I/O小帮手,内建VISA与汇流排介面,以及在下文会提到的Measurement and Automation Explorer里的一些除错工具包含NI Spy、Interface Bus Interactive Control(IBIC),与VISA Interactive Control(VISAIC)。



仪器I/O小帮手


仪器I/O小帮手提供人机介面,可互动式的写指令给装置,从其装置读取资料回来,以及如何把读取回来的资料加以解码,它支援所有NI开发环境。仪器I/O小帮手简化了撰写仪控程式的挑战,它可自动产生设定的程式码在开发环境中。仪器I/O小帮手可将复杂的资料解码,很多时候解字串码的过程十分繁复,不过使用互动式的解码视窗,可省下许多宝贵时间。



《图三 仪器I/O小帮手互动对话视窗》


I/O软体及工具


无论使用直接I/O通讯或是仪器驱动程式,这两种的底层都是使用同样的技术来与仪器沟通。除此之外,厂商更需提供许多工具来协助开发,协助仪器的设定以及协助除错应用程式。



VISA I/O软体


在早期1990年代时,有许多提供GPIB、序列埠与VXI使用的非标准I/O软体存在。虽然之中有许多非常高品质且好用的I/O软体出现,但最后还是有订定共同标准,可在所有汇流排上使用。为了达到这样的目标,VXI随插即用系统联盟开发了一个I/O软体标准-Virtual Instrument Software Architecture(VISA)。 VISA提供了一个开发的共同基础,可给仪器驱动程式、软体人机介面以及应用程式所使用。由于VISA提供了一个共同的开发介面,当使用新的汇流排介面时,可持续使用相同的程式码。



如今VISA定义了一个可由GPIB、序列埠、USB、乙太网路、PXI以及VXI连结到仪器的I/O介面。使用者可利用几乎相同的写法来撰写由任何上文中所提的汇流排仪器控制程式。除此之外,假设使用仪器驱动程式控制一个使用GPIB介面的仪器,如果此仪器驱动程式底层是用VISA撰写的,未来此仪器支援乙太网路,也可以使用乙太网路控制,只需简单的修改程式,做仪器设定即可。



特定汇流排I/O软体


除了VISA之外,一些特定汇流排I/O软体也可以使用。包含了提供GPIB介面使用的软体​​撰写介面,与标准488.1以及488.2相容。许多厂商均提供GPIB I/O驱动程式软体,提供稳定的软体撰写介面,从1980年代开始支援一系列的作业系统与大部份的汇流排。



I/O软体工具


无论使用哪种I/O软体,其工具都可协助简化开发过程。包含设定工具与硬体除错工具、互动式控制以及沟通、汇流排分析等。以上所有工具都可大幅缩短开发时间。



仪器控制之软体解决方案


下文将探讨一系列符合以上所有类别的软体方案。



应用软体


LabVIEW


LabVIEW是个图控式开发环境,具有高互动性,开放式开发环境可用于快速原型设计、量测自动化、即时内嵌式系统与硬体设计之程式撰写。 LabVIEW提供所有传统文字语言的优点,再加上革命性的图形化开发环境,加快程式撰写。使用LabVIEW可设计客制化的虚拟仪器,其人机介面具有以下优点:




  • * 操作仪控程式;



  • * 控制硬体;



  • * 分析资料;



  • * 呈现资料。





可客制化人机介面之原件包含了旋钮、按钮与图表等,可模拟传统​​仪器之介面。由于LabVIEW图控式撰写方式与传统流程图类似,与传统文字语言比较起来,可缩短学习时间。



撰写程式时,可直觉地把每个函式方块连结起来成为一个完整程式,思考逻辑与工程类似。使用图形式开发环境,可比使用传统语言更快速地开发,具弹性且高效能的应用软体。



LabWindows/CVI


LabWindows/CVI也是一个完整的开发环境,不过它是基于ANSI C之上。有如LabVIEW专为量测自动化所最佳化一样,LabWindows/CVI也是同样用途。 LabWindows/CVI不但提供了ANSI C的开发环境,也包含了设定小帮手,除错工具,以及互动式执行。内建的量测函式库让您快速的开发复杂的量测应用程式,包含汇流排支援,分析函式,以及人机介面。



Microsoft Visual Studio


Microsoft Visual Studio,包含Visual C# .NET、Visual Basic .NET、Visual Basic 6.0与Visual C++也是个完整的开发环境。不过,它与LabVIEW以及LabWindows/CVI不同的是,Microsoft Visual Studio开发环境是给普遍开发用途,并没有在量测自动化领域最佳化。也就是说它并不会包含量测自动化领域所需的函式,例如仪器控制、量测分析与资料呈现等。不过Measurement Studio外挂式软体可帮助工程师,其外挂在Visual Studio之上,提供一系列的量测自动化领域中所需的函式,以方便由Visual Studio开发量测自动化应用程式。



SignalExpress


SignalExpress是个专为测试工程师所开发出来的互动式软体,可让工程​​师们快速的撷取以及分析电子讯号。 SignalExpress提供了一个拖曳拉至的无程式撰写环境、快速设定量测与模拟讯号整合,再配合LabVIEW增加功能。除此之外,SignalExpress提供了一个可直接与上百种仪器沟通的功能,而且是透过IVI-C仪器驱动程式。



仪器驱动程式


这些驱动程式包含了LabVIEW随插即用、LabWindows/CVI随插即用,以及IVI驱动程式。支援的仪器有NI、Agilent、Tektronix、Keithley以及其它厂商的示波器、数位电表、RF讯号产生器以及切换器。



直接I/O通讯


如前文所提及的仪器I/O小帮手可提供直接I/O的功能。仪器I/O小帮手可控制任何仪器,只要它支援ASCII码并且回传文字即可。它也可简化解码过程,并内建在所有开发环境里,包含LabVIEW、LabWindows/CVI以及专为Microsoft Visual Studio设计的Measurement Studio。



I/O软体与工具


随着应用开发环境不同,现有两种主要I/O软体套件:



NI-VISA


NI-VISA是NI版本的VISA标准。它支援的仪器通讯介面有GPIB、序列埠、乙太网路、USB、PXI以及VXI。 NI-VISA包含在软体开发环境以及所支援的硬体里,例如GPIB控制器。



NI-488.2


NI-488.2是NI版本的GPIB驱动程式,常被其它厂商所模拟。提供了基本的IEEE 488.1指令,例如ibwrt与ibrd等。它也支援比较不常用的IEEE 488.2指令,与任何NI GPIB控制器相容,包含内插式介面卡,例如PCI-GPIB或PCIe-GPIB,或外接式GPIB控制器,例如GPIB-USB-HS或GPIB-ENET/100。



互动式控制


NI-VISA与NI-488.2两者都包含了互动式工具,可互动式地与仪器沟通,用来确认硬体是否良好。它提供基本的介面,十分适合用来做初步设定以及检测。若欲做更进阶的控制,建议使用仪器I/O小帮手。



NI Spy


NI Spy包含在I/O软体里。它可监听所有在488.2、VISA、IVI与模组化仪器上的对话。



快速上手以及除错


488.2包含了快速上手以及除错精灵。它可协助安装GPIB控制器,出现错误时,也可协助除错。



GPIB分析器


488.2包含了GPIB分析器,可与有分析功能的GPIB控制器(例如PCI-GPIB+)搭配使用。它可监控在GPIB八条资料线以及八条控制线上的电子讯号,对于进阶除错时非常有用。



总结


即便可以从许多种类的汇流排以及软体技术中,选择最合适的仪器控制应用,重要的是在选择适合的汇流排时,不会因软体不同而被限制;相反的,在选择软体时,也不会因汇流排不同而被限制。



市面上虽有许多新式硬体汇流排,但较成熟的旧式汇流排在市面上仍有一席之地。可随意地利用新的汇流排技术,而不需重新撰写软体的关键,在于使用有阶层的软体架构,提供稳定的软体开发环境、仪器驱动程式、直接I/O功能,以及强大的支援多汇流排的I/O软体与工具。这些更具弹性的仪器控制软硬体工具,包含了业界标准最佳化的开发环境,最多选择的仪器控制与量测硬体,以及非常扎实的仪器驱动程式组。



(作者任职于NI美商国家仪器)

















延 伸 阅 读


















无论是开发何种测试与测量应用,都需要依靠成熟的仪器控制技术,以在不分任何程式语言以及任何汇流排介面下,协助连接仪器。相关介绍请见「以任意语言在汇流排上执行仪器控制(上) 」一文。
在过去二十年里,个人电脑应用的迅速普及,促进了量测与自动化仪器系统的革新,其中最显著的就是「虚拟仪控」观念的出现与发展,为工程师和科学家们提高生产率、量测精准度及系统功能等方面的贡献。你可在「 虚拟仪控白皮书」一文中得到进一步的介绍。
PCI Express可谓是PCI汇流排的进化版,保留与PCI的软体相容性,但是使用高速(2.5Gbps)序列汇流排取代平行汇流排。在「PCI Express-扩展虚拟仪控的世界 」一文为你做了相关的评析。

















相关网站





















NI仪器驱动程式下载网站


太克科技网站



安捷伦科技网站





相关文章
数位分析不可或缺 逻辑分析仪为除错而生
新用户设备加速进入 毫米波市场稳定茁壮
无线技术复杂度飙升 频谱分析持续进化
从设计到制造 模组化仪器高弹性优势完全发挥
5G专网方兴未艾 智慧工厂先蒙其利
comments powered by Disqus
相关讨论
  相关新闻
» Tektronix频谱分析仪软体5.4版 可提升工程师多重讯号分析能力
» R&S展示蓝牙通道探测信号测量 以提高定位精度
» 太克收购EA Elektro-Automatik 为全球电气化提供扩展电源产品组合
» 安立知全新模组可模拟MIMO连接 打造稳定5G/Wi-Fi评估环境
» 攸泰科技倡议群策群力 携手台湾低轨卫星终端设备夥伴展现整合能量


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84T1449BQSTACUKO
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw