当前位置:首页>> >>


远程粮仓湿度监测系统设计与实现2.rar

收藏

资源目录
    文档预览:
    编号:20181030002156676    类型:共享资源    大小:6.45MB    格式:RAR    上传时间:2018-10-30
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    25
    金币
    关 键 词:
    远程 粮仓 湿度 监测 系统 设计 实现
    资源描述:
    电子测量与仪器学报 2007 年增刊 519基于 LabVIEW 的仪器控制方法与实现 刘 枫1,2吴海涛1卢晓春1 ( 1 中国科学院国家授时中心,西安 710600; 2 中国科学院研究生院,北京 100039) 摘 要: 仪器控制在自动测试领域有着广泛的应用。 本文介绍了仪器控制的概念, 并使用图形化编程语言 LabVIEW 为 CNT-90计时器 /计数器 /分析仪开发了控制程序。所开发的程序基于 VISA 技术与设备通讯,提供了对不同接口( USB 和 GPIB)的支持。除了可设定仪器工作参数,读取并显示测量结果外,程序还增加了数据记录和后期处理模块,对仪器功能进行了扩展。文章最后讨论了使用 LabVIEW 开发仪器控制程序的一般方法,在测试工程中具有普遍的意义。 关键字: 仪器控制 LabVIEW VISA CNT-90 模块化编程 中图分类号 : TP273.5 TN06 文献标识码 : A Approach and Realization of Instrument Control Based on LabVIEW Liu Feng1, 2Wu Haitao1Lu Xiaochun1(1 National Time Service Center, Chinese Academy of Sciences, Xi’an 710600, China) (2 Graduate University of Chinese Academy of Sciences, Beijing 100039, China) Abstract: Instrument Control is extensively used in the field of automatic measurement and test. The concept of Instrument Control is introduced in this paper. Control software for Timer/Counter/Analyzer CNT-90 developed by graphical programming language LabVIEW is introduced too. The software communicates with instrument by means of VISA, so it will support different types of physical connections. The software can not only set the work parameter of CNT-90, read and show the measurement results, but it also expands the instrument’ function by data record and post-process modules. The general approach to develop instrument control software is discussed at the end of the paper. There is universal significance in testing engineering. Keywords: Instrument Control, LabVIEW, VISA, CNT-90, modular programming 仪器控制指的是通过计算机上的软件来控制仪器工作。其本质是将与仪器手动操作相对应的各种命令,通过总线转接卡和信号传输总线传递给仪器,让仪器执行相应操作、实现自动测试并读出测量结果。仪器控制程序的软件编写相当于将手动操作翻译为各种顺序关联的命令函数并写入仪器[1]。 美国国家仪器( NI)公司提供的行业标准图形化编程软件—— LabVIEW,提供了对不同仪器总线(如 GPIB、 USB、 PXI 等)的支持,具有丰富的可与仪器进行数据通讯的函数,可以方便的实现对各种仪器的控制,同时能提供强大的后续数据处理能力,并将结果显示给用户。使用 LabVIEW 软件来开发仪器控制程序,方便快捷,程序功能丰富,在自动化测试与控制领域被广泛采用。 本文以瑞典 Pendulum 公司的 CNT-90 计时器 /计数器 /分析仪(以下简称 CNT-90)为例,开发了它的控制程序,并给出了使用 LabVIEW 开发仪器控制程序的一般方法,在测试工程中具有普遍的意义。 1 LabVIEW 中 VISA 技术简介 LabVIEW 提供了各种总线的驱动模块,可以用来编写各种总线形式的仪器驱动程序。但每一种总线的驱动函数会有所不同,需要开发人员对各种总线相当熟悉, 而且由于和总线紧密相关,编写的控制程序重用性和可互换性差,为了解决这个问题, LabVIEW 提供了一种通用方式——VISA。 VISA 是虚拟仪器软件结构体系( Virtual Instrument Software Architecture)的简称,实质上是 I/O 接口软件库及其规范的总称,是 VXI 即插即用系统联盟统一采用的标准。 VISA 是在LabVIEW 开发平台上控制 VXI、 GPIB、 PXI、 PCI、USB、串口以及其他种类仪器的程序库,是对各种总线驱动函数进行的一个统一封装的高层应用电子测量与仪器学报 2007 年增刊 520编程接口 ( API) , 通过它可以直接访问仪器设备。采用 VISA 标准的好处是仪器驱动软件可以相互兼容,不用考虑仪器实际的数据传输介质,可以同时支持各种接口类型。另外, VISA 是一个面向对象的 API,很可能被将来开发的新仪器接口所采用,非常易于将应用程序移植到新的接口上[1]。 基于 VISA 技术完成计算机与仪器通讯,使用最频繁的是 VISA Write 和 VISA Read 函数。VISA Write 将字符串类型的仪器控制指令写入仪器的缓冲区,让仪器执行。 VISA Read 从仪器读取指定字节的数据,通过 read buffer 端口输出,通常在使用它之前需由 VISA Write函数指定读取仪器的何种参数。 本文中 CNT-90控制程序的开发即基于 VISA技术,可以同时提供对多种总线的支持。 2 CNT-90 计数器控制程序的实现 2.1 系统硬件结构 CNT-90 是瑞典 Pendulum 公司生产的高分辨率、高速率的计时器 /计数器 /分析仪。它提供了对时域信号的频率、时间及相位等参数的测量、分析与计算。是一款功能强大的时频测试仪器。CNT-90 支持 SCPI(可编程仪器标准指令) ,可以方便地通过软件对它进行控制和数据通讯[2]。 本文为 CNT-90 所开发的控制程序控制仪器工作的系统硬件结构如图 1 所示: 图 1 系统工作硬件结构图 CNT-90 提供了 GPIB 和 USB 两种接口,可以通过 USB数据线或者 USB/GPIB接口卡与计算机相连,所开发的控制程序基于 VISA 技术,同时支持这两种接口。使用 GPIB 接口卡与计算机相连时,需为仪器分配 GPIB 地址。 2.2 系统软件实现 基于 LabVIEW的 CNT-90控制程序采用模块化的思想来编写,根据 CNT-90 的功能和特点,将控制程序划分为各个模块,每个模块实现一部分功能,由主控模块在高层管理并调度各个子模块工作,实现仪器参数控制与数据读取、处理、显示、记录等功能。软件系统的构成如图 2 所示。同时, LabVIEW 图形化编程语言能方便而高效地按照系统的功能要求编写友好的操作界面,CNT-90 控制程序软件的主操作界面如图 3 所示。 图 2 系统软件构成 ( 1)主控模块 主控模块完成仪器的初始化,通过与其他模块的通讯触发各模块工作,调度各模块的执行,当程序运行结束后,释放资源,关闭设备。 ( 2)参数控制模块 CNT-90 提供了强大的参数设置功能, 用来完成各种复杂的测量工作。参数控制模块在程序面板上提供各种设置选项来代替仪器面板上的各种菜单设置。按仪器功能将这些设置分为三类[2]: a.测量功能配置 选择测量函数和输入通道。通过不同的指令流控制仪器完成不同的函数测量。如 :MEAS:FREQ (@1)指令设定仪器完成对 A 端输入信号频率的测量, :MEAS:TINT (@1),(@2)指令设定仪器完成 A、 B 端输入信号时间间隔的测量[3]。 b.输入通道配置 配置仪器输入通道的参数,如阻抗、衰减、耦合方式等。程序通过不同的指令流设置不同的被测对象 CNT-90 计算机 Agilent 82357A USB/GPIB接口卡USB 数据线 主控模块 初始化设备参数控制模块数据读取模块数据处理模块数据显示模块数据记录模块错误处理模块关闭设备电子测量与仪器学报 2007 年增刊 521参数, 如 :INP1:COUP AC 指令设定 A 通道信号的耦合方式为交流。 c.工作参数配置 设置仪器的另外一些高级工作参数,如Trigger、 Arming 等。 图 3 CNT-90控制程序操作界面 ( 3)数据读取模块 数据读取模块将仪器产生的测量数据读取到计算机, 是完成程序与仪器数据交互的核心过程。其主要工作原理为:测量参数配置确定之后,使用 :INIT 指令启动测量操作,当 *OPC?(操作是否完成)指令返回 True 值后,使用 :FETC?指令从计数器的测量结果缓冲区中将数据读取出来。此过程置于循环结构中,控制仪器连续地进行测量并连续地读取数据。 ( 4)数据显示模块 CNT-90 与传统计数器相比, 一个突出特点即是自带图形显示功能。而这部分工作由软件来处理,实现更为方便,功能更为强大。数据显示模块将读取到的测量数据实时地在程序面板显示,同时将数据送入 Waveform Chart(波形图表)中构图,其纵坐标为数据值,横坐标为数据采样序列,可以方便地观察测量数据的趋势走向和变化规律。图形动态更新,并提供了分段查看和图形缩放等功能。 ( 5)数据处理模块 CNT-90 内置的计算功能可以完成多种对测量结果的处理,本模块控制仪器完成这些功能,并读取结果。 a.数学运算( Mathematics) 为了更好的表征信号的特征,提取用户关注的信息,在显示测量结果之前, CNT-90 可以通过四个数学公式对其进行处理,分别为: K*X+L;K/X+L; K*X/M+L; (K/X+L)/M。其中, X 为测量结果, K、 L、 M 为计算参数。程序向仪器写入 :CALC:MATH:STAT (ON|OFF)指令来激活或屏蔽计算功能, 将 K、 L、 M 三个参数通过 Format Into String 函数格式化后使用 :CALC:MATH 指令写入仪器,来设置参数并指定完成相应的计算。 b.统计计算( Statistics) CNT-90 提供了样本统计功能, 计算测量结果的各种统计函数。但由指令读取统计函数时,只能得到最终的统计结果,而不能得到原始的测量值。本程序利用软件来替代设备的统计功能,当采样结束后,由软件方法生成统计结果,主要使用了 LabVIEW 提供的 Statistics Express VI。同时生成统计结果分布的直方图( Histogram) 。 c.数值界限( Limits) CNT-90 的 Limits 模式可以对测量数据进行上下限设置,当判断数据越界时,向用户报警。程序使用 :CALC:LIM:STAT ON 指令开启界限模式,使用 :CALC:LIM:(UPP|LOW)指令设置上下限, 并使用 :CALC:LIM:FAIL?指令查询判断结果,数据越界时,由程序面板上的指示灯报警。 需要指出的是,程序对数据处理结果的读取与对直接测量数据的读取有所不同,使用 :FETC?指令读取测量数据,而使用 :CALC:DATA?指令读取数学运算与统计计算结果[3]。 ( 6)数据记录模块 数据记录模块是使用软件的特点对仪器功能的扩展,将测量结果存储到计算机磁盘中,便于日后分析处理。 ( 7)文件处理模块 文件处理模块同样是对仪器功能的扩展。使用该模块将记录到文件中的历史数据读取出来并进行分析处理,仍是完成数据处理模块中数学运算、统计计算、数值界限等功能,而用软件来实现,处理更为灵活,功能更为丰富。其中数学运算依靠 LabVIEW 的公式节点( Formula Node)结构实现,统计计算主要使用 LabVIEW 提供的Statistics Express VI 实现。文件处理模块是相对独立的一个模块,由主程序直接调用 Read File可执行文件来完成。 电子测量与仪器学报 2007 年增刊 522( 8)错误处理模块 该模块使用 :SYST:ERR 指令查询仪器工作状态是否发生故障,当有错误发生时,返回仪器内置的错误编号和错误描述,从程序界面显示通知用户。 根据模块化的编程思想,使用 LabVIEW 图形化编程语言实现的 CNT-90 控制程序代码如图 4所示。 图 4 CNT-90控制程序软件代码 2.3 程序工作测试 本控制程序开发完成后,控制 CNT-90 计数器对国家授时中心某大型设备内部时钟与秒脉冲之间的时延值进行了长期观测, 记录了测量数据,并对结果进行了分析处理。程序功能完整,运行稳定。 在实际工作中发挥了一定的作用。 3基于 LabVIEW 开发仪器控制程序的一般方法 通过以上 CNT-90 控制程序的开发,可以总结出使用 LabVIEW 软件开发仪器控制程序的一般方法和实现步骤: ( 1) 熟悉仪器的各种功能和各种手动测量操作过程; ( 2)熟悉仪器的编程指令,了解与手动操作相对应的各种指令功能以及与之相关联的指令,并了解仪器的对外数据传送格式,这样在控制仪器时才能找到相对应的指令函数并合理使用; ( 3)根据仪器的特点,将仪器功能分解为基本的操作过程和处理模块,也可利用软件的实现特点为其增加一些扩展功能模块,然后使用LabVIEW 的模块化属性分别将它们编写成子 VI(子程序) , 并提供相应的参数设置端口,这样可以提高软件编写速度,并保证软件结构清晰; ( 4)充分利用 LabVIEW 的分层设计特点,根据应用要求,在高层模块调用并管理各子 VI,组成完整的程序功能控制。 另外,在使用 LabVIEW 开发仪器控制程序时,在能够使用 VISA 的情况下尽量使用 VISA,它提供了各种总线的通用软件接口,所开发的程序具有良好的兼容性和扩展性。 4 结语 本文基于 LabVIEW软件为 CNT-90计数器开发了可同时支持 USB 与 GPIB 接口的控制程序, 并给出了开发仪器控制程序的一般方法。程序日后增加网络通讯功能,可以实现仪器的网络化远程监控。还可与其他仪器互联构成较大规模的计算机控制的自动化测试系统。 使用软件程序来控制仪器工作,替代传统的人工操作方式,排除了人为因素造成的测试测量误差。可以方便的实现自动测试,提高了测试效率。在测试与控制工程领域具有良好的实用价值,发挥着重要的作用。 参考文献 [1] 戴鹏飞等,测试工程与 LabVIEW 应用,电子工业出版社,北京, 2006 [2] Pendulum Instruments AB, Timer/Counter/Analyzer CNT-90 User's Manual, 2004 [3] Pendulum Instruments AB, Timer/Counter/Analyzer CNT-90 Programmer's Handbook, 2004 [4] 陈锡辉等, LabVIEW 8.20 程序设计从入门到精通,清华大学出版社,北京, 2007 [5] 张瑞香等, 基于 LabVIEW 的 Agilent33220A 控制系统,装备制造技术, 2006,第 3 期, P63-65 作者简介 刘 枫: 男,硕士研究生,研究方向为测试计量技术与虚拟仪器。
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:远程粮仓湿度监测系统设计与实现2.rar
    链接地址:http://www.gold-doc.com/p-254854.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    [email protected] 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开