当前位置:文档之家› 基于LabVIEW的几种简单测量与控制系统.

基于LabVIEW的几种简单测量与控制系统.

基于LabVIEW的几种简单测量与控制系统
李鹏雄徐熙炜
指导老师:俞熹
(复旦大学物理系上海 200433)
摘要:本文介绍了虚拟仪器的概念,LabVIEW的概念、来源、特点以及应用,着重讨论了几种简化的实用测量与控制系统。

对红绿灯系统提出改进,使其更接近于生活中的实际情况。

最后有对本实验的理解。

关键词:虚拟仪器 LabVIEW 计算机实测与控制温度计光强红绿灯
一.引言
虚拟仪器(Virtual Instruments)指的是用计算机软件将计算机硬件与仪器硬件结合在一起,利用计算机强大的计算以及模拟能力和仪器设备实现控制和测量的目的的工具。

区别于传统的仪器,虚拟仪器没有一套固定的设备、固定的外观和功能等,其很大一部分功能是依赖于计算机来实现的。

所以虚拟仪器往往能缩小体积,减少硬件成本。

LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器公司(NATIONAL INSTRUMENTS,简称NI)的创新软件产品。

其功能是用编程的方法创建虚拟仪器,但是和传统的编程不同的是,它使用的是图形化的程序语言,称为“G”语言,编写的程序后缀为.VI。

使用这种语言编程时,基本上不写程序代码,取而代之的是图标和流程图。

它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。

LabVIEW集成了与满足GPIB、VXI、RS-232 和RS-485协议的硬件及数据采集卡通讯的全部功能。

它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。

这是一个功能强大且灵活的软件。

使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。

它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。

它也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。

二.LabVIEW下的几种简单测量与控制系统
使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。

VI包括三个部分:程序前面板、框图程序和图标/连接器。

程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。

而每一个程序前面板都对应着一段框图程序。

框图程序用LabVIEW图形编程语言编写,可以把它理解成传统程序的源代码。

图标/连接器是子VI被其它VI调用的接口。

1.温度计
温度计程序是一个典型的测量用虚拟仪器。

图1就是温度计程序的前面板,可以看到上面有酒精温度计的图案,数字显示,还有两个显示电压和温度的框,以及一个停止按钮。

图2温度计的框图
图2就是温度计的框图,就相当于程序语言,只不过是图形化了的。

它描述了一个电压信号转变为计算机数字信号并输出的过程。

这是个典型的测量用虚拟仪器,计算机连接了一个温度计。

2.光强
这个程序包括了手动控制和测量。

图3中,旋钮控制
电压以调节光强,而仪
器又有测量光强的部分
测到后显示出来。

而从
图4可见,测量光强得
到的电压信号经过换算
变成了光强信号,并有
一个强度曲线输出。

图4 光强虚拟仪器的框图
3.红绿灯
这是个自动控制虚拟仪器。

图5中,有红黄绿灯时间的设置以及停止按钮,其
它部分模仿真实红绿灯的样子。

图6 的框图比之前的框
图复杂,因为加入了case 结构,有选择性。

这样在每个
循环之后都有一个判断,就会按照设置好的时间来显示
红黄绿灯。

图6 红绿灯的框图
三.红绿灯系统的改进
在生活中遇到的交通灯在运作的时候,往往可以看到其绿灯部分在最后几秒或黄灯会闪烁以提醒车辆或者行人。

而本文前面提到的红绿灯没有这个功能,这里给出改进方案。

首先,因为每两秒闪一次显得太长了,需要每一秒闪一下,那么,整个循环的时间间隔应该从1000ms改成500ms。

而这又导致了数据类型的问题,需要从整数改成浮点数。

而交通灯是不会显示半秒的,所以显示部分还需要取整。

然后,为实现闪烁功能,需要将绿灯的开关设置成T和F交替循环,也就是每500ms换一次。

这个就要加入case结构框。

在数量较少的时候,可以直接输入所有特殊情况,其他的放到default里面去。

具体改法见图7。

图7 改进后的红绿灯框图
当然,如果需要的话,还可以把数字显示部分改成两位数的,用于某些有需要的道路口。

这里就不作具体分析了。

四.总结及进一步的想法
LabVIEW系列实验其实并没有具体测量什么数据或者验证什么理论。

其主要目的还是了解学习LabVIEW的使用。

在实验过程中,也遇到了很多问题。

比如初始值的设定一定要手动输入,淡蓝色的框里面的“0”不是真正的初值“0”,而是表示没有值的意思。

赋值的时候要考虑顺序问题,不然会出现程序运行出错,比如红绿灯的程序case框里面的time赋值要优先,不然后面运行不下去。

经过了初步的了解学习,这里提出一个想要做的方案:自动散热以及过热警报系统
这种系统在目前的个人计算机中几乎都有,CPU的散热系统就是这样的。

要做这样的虚拟仪器,就需要结合温度测量,风扇控制,警报系统控制(如鸣叫或发光等)。

这里给出此类虚拟仪器的大致想法与构造。

整个风扇程序作为子VI镶嵌在温度计程序中,实现控制。

比如编写三种转速的风扇控制程序,低、中、高三速。

然后在温度计程序中加入case框,根据温度选择三档中的一档来运转。

另外在温度计程序中用if加入一个过高温度的警报。

五.致谢
非常感谢俞熹老师以及合作者徐熙炜。

他们在我的实验过程中给予了我很多帮助,并且一起解决了很多问题。

参考文献
复旦大学物理实验中心 LabVIEW入门教程
复旦大学物理实验中心计算机实测与控制讲义
北京迪阳数字实验有限公司迪阳U18集成数字实验设备使用说明书。

相关主题