杨志强
(青海师范大学 计算机学院,青海 西宁 810008)
计算机科学和微电子技术的迅速发展和普及,电子产品的更新换代越来越快,传统的实验是基于实验室的物理环境来进行的。首先,受实验场地、实验条件、实验经费、实验时间等限制,难以保证实验效率和时间;其次,电路设计越来越复杂,设计阶段根据新的计算方法要求不断更新,产品形成后难以升级,满足不了科研人员的要求,给科研工作带来额外的科研成本[1]。由计算机、应用软件和仪器硬件构成的虚拟仪器具有灵活、经济、高效、功能强、技术新等特点,已得到广泛应用[2]。常用的仪器开发软件有 VB、VC、Del-phi、LabVIEW、LabWindows/CVI、VEE 等,其中,Lab Windows/CVI是为熟悉C语言的开发人员准备的、在Windows环境下的标准ANSIC开发环境。而LabVIEW是目前惟一的编译型图形化编程语言,界面友好、编程方便、功能强大,成为虚拟仪器系统开发应用最为广泛。
LabVIEW(Laboratory Virtual instrument Engineering)是美国国家仪器公司(National Instruments,简称 NI)开发研制,专门用于虚拟仪器开发的图形化软件编程平台,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境,用图标代替文本行创建应用程序的图形化编程语言,能够实现标准的数据采集和仪器控制功能[3-4]。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。目前最新版本为LabVIEW 2012。其特点是摆脱繁杂的代码。利用软件提供的各种新工具和资源,包括模板和范例项目、在线自学培训、更高的稳定性等,助您完成高质量测量或控制应用,意味着用户可快速进行大胆创新,在提高效率的同时仍可开发出高品质的可靠解决方案。
LabVIEW是一种图形化的编程语言。图形化的源代码,又称为G(Graphics)代码。LabVIEW的图形化源代码在某种程度上类似于数据流流程图,即程序框图代码[5-6]。使用这种语言编程时,基本上不写程序代码,取而代之的是标准流程图和图形化程序图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率,加快开发速度。
1)用LabVIEW开发平台编制的程序称为虚拟仪器程序(VI), 它包括前面板 (front panel)、 源代码的数据流程图(block diagram)以及图标/连结器(icon/connector)三部分。 用户只需将各个图标连在一起创建各种流程图表,即可完成虚拟仪器程序的开发[7]。
2)LabVIEW内建了600多个分析函数,功能十分强大。通过图形化的编程环境和操作界面,完成对待测对象的信号调理、过程控制,数据采集、数组、文件处理、波形处理、信号处理、数据表达、数学运算、分析、显示和存储,故障诊断以及网络通信等功能。
3)LabVIEW还提供了专门用于程序开发的工具箱,使得用户能够设置断点又可以设置探针,可在程序运行中观察数据流的变化,以方便进行调试。
4)通过 DLL、CIN 节点、ActiveX、.NET 或 MATLAB 脚本节点技术,用户在LabVIEW平台上能调用其他软件平台编译的模块,提供对对象链接和嵌入(简称OLE)技术的支持,实现与其他编程语言混合编程,成为一个完全开放式的开发平台。
5)LabVIEW还直接支持动态数据交换(DDE)、结构化查询语言(SQL)、TCP和UDP网络协议等。
6)LabVIEW提供大量的驱动与专用工具,几乎能与任何接口的硬件轻松连接。
温度监测仪可监测人体体温、炉温、土壤温度、粮仓温度等。根据需求可设定上、下线,温度超过上限报警值、低于下限报警值、超出上限与下限设定的区间报警值,并输出开关量信号,可以控制加温或通风换气设备。采用先进的微处理器进行智能控制,适用于温度、湿度、压力、液位、瞬时流量、速度等多种物理量检测信号的显示控制,可巡回检测多路测量信号。
2.2.1 创建前面板
前面板是VI的交互式用户接口,直接面向用户,包含旋钮、刻度盘、开关、图表、图形和其他界面工具,允许用户通过键盘或鼠标获取数据显示结果。用于输入量控制和输出量的显示,输入数值和观察输出量。设计这部分时,主要考虑界面美观、操作简洁,用户能通过面板上的各种按钮、开关等来控制。
温度监测仪前面板设置,选择 “控件|新式|图形|波形图表”,作为温度的显示器。选中该控件,单击鼠标右键,对其属性进行设置,如根据被显示的文字工具,显示器横(时间)、纵(温度)坐标的刻度重新设置。用于显示温度波形图。选择“控件|新式|数值|数值显示控件”,显示温度数值。选择“控件|新式|布尔|圆形指示灯”,用于报警。 选择“控件|新式|布尔|停止按钮”,终止程序运行。前面板设置如图1所示。
2.2.2 编辑程序框图
每一个程序的前面板都对应着一段程序框图,程序框图用LabVIEW图形编程语言编写,可以把它理解成传统程序的源代码。流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须需要的如函数、结构和连线等。在程序框图窗口放置节点、图标等,按照一定原则使用连线工具将端口、节点、图标依次相连。其中端口被用来实现程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义框图内的数据流动方向,实现数据从源头到目的终点的流向。温度监测仪程序框图如图2所示。
图1 前面板Fig.1 Front panel
图2 程序框图Fig.2 Program diagram
2.2.3 运行调试
单击前面板窗口运行按钮(Run),运行VI程序,在前面板波形图表中可实时显示温度曲线图,温度值控件中显示温度值,当温度高于设置值(39摄氏度)时,报警灯亮,单击停止按钮可终止程序运行。一边修改程序框图中的参数一边运行程序,直至得到最佳的实验结果。
采用温度传感器和数据采集(DAQ)卡等把设计的温度检测仪转为实际的产品。温度传感器采集数据,数据采集卡将采集到并经处理的电信号转换成数字信号送入计算机系统。采集到的信号在PC机中利用LabVIEW平台上编写的程序,对信号进行分析和显示。一般数据采集卡的功能有模拟输入、模拟输出、数字、计数器/定时器操作等,这些功能分别由相应的电路模块来实现。如果需要进行数据的实时采集,那么就要选择适当的数据采集卡(DAQ)插入PC机插槽,通过相应的驱动程序和硬件模块连接便可以实现。设计流程如图3所示。
图3 设计流程Fig.3 Process of design
基于开放式的LabVIEW虚拟仪器开发平台的虚拟测试技术,在编程特性、图形界面、扩展功能、虚拟仪器技术等各方面作为数字逻辑电路设计具有很大的优势。通过温度监测仪的设计,进行了研究和分析,能够较准确的完成了数据的采集、处理、显示。证实了它具有良好的可设计性和可操作性。不但使测试工作更加简便、快速,而且使测试更加直观。因此,使用LabVIEW来设计数字逻辑电路,可以利用其强大的数据分析处理工具,灵活地加以各种智能算法进行参数的自整定,并可显示各种过程参数。使开发周期缩短,费用降低,测试速度、准确度及可复用性提高,易于测量和调试,且更便于维护和扩展。为数字电路设计和仿真、电器测量、数据采集与处理,提供了另一个高效易用的软件平台。
[1]程雪敏,仲蓁蓁.基于LabVIEW的虚拟仪器实验教学系统的设计[J].广西轻工业,2010,10(10):90-91.
CHENG Xue-min,ZHONG Zhen-zhen.The design of virtual instrument experiment teaching system based on LabVIEW[J].Guangxi Light Industry,2010,10(10):90-91.
[2]田野,吕蔷华,万维龙.基于LabVIEW的虚拟仪器在《信号与系统》实验教学中的应用[J].哈尔滨师范大学自然科学学报,2005,6(6):50-52.
TIAN Ye,LV Qiang-hua,WAN Wei-long.The virtual instrument based on LabVIEW in 《Signal and System》applied in experimental teaching[J].Natural Science Journal of Harbin Normal University,2005,6(6):50-52.
[3]谢国善,熊鹏俊.基于LabVIEW的虚拟仪器设计研究[J].舰船电子工程,2010,10(10):126-128.
XIE Guo-shan,XIONG Peng-jun.The virtual instrument design and research based on LabVIEW[J].Ship Electronic Engineering,2010,10(10):126-128.
[4]张芳兰,马捷中.基于LabVIEW的虚拟仪器设计及远程测控[J].微处理机,2008,2(1):144-146.
ZHANG Fang-lan,MA Jie-zhong.Design ofa virtual instrument design based on LabVIEW and remote control[J].the Microprocessor,2008,2(1):144-146.
[5]钱声强,王露.基于LabVIEW的数字电路课程远程实验平台开发[J].常州信息职业技术学院学报,2010,2(1):63-65.
QIAN Sheng-qiang,WANG Lu.Theremoteexperiment platform of digital circuit based on LabVIEW[J].Journal of Changzhou College of Information Technology,2010,2 (1):63-65.
[6]李海澜,刘源.一种基于Labview的虚拟仪器测试分析系统[J].山西电子技术,2007,5(5):23-24.
LI Hai-lan,LIU Yuan.A virtual instrument test analysis system based on LabVIEW[J].Shanxi Electronic Technology,2007,5(5):23-24.
[7]陈锡辉,张银鸿.LabVIEW8.20程序设计从入门到精通[M].北京:清华大学出版社,2007.
[8]林君,谢宣松.虚拟仪器原理及应用[M].北京:科学出版社,2006.