金玉龙 赵何丽莎 郝岩 樊金学
【摘 要】基于LabView的温度测控系统开发软件能够完成对温度的精确测控,该软件具有数据的采集、分析、处理、显示及温度的报警功能,仿真实验表明,该测控系统开发过程简洁、测温准确、运行稳定可靠,且成本低廉,具有较高应用价值。本文主要对基于LabView的无线测控系统的实现进行了分析探讨。
【关键词】LabView;无线测控;系统实现
一、中央控制系统的功能
中央控制系统作为整个测控系统的核心,需要具备下面几个基本功能。
1、数据传输功能
由负责数据采集的传感部件采集到的各种数据,经过网关汇总后,要实时的传输到中央控制系统中。这个传输过程,可以采用多种方法进行。近距离的可以通过有线和无线的局域网络完成,远距离的可以通过Internet或移动通讯的2G/3G网络完成。
2、显示功能
由传感部件传输来的数据,经过变换解析,还原出各种被测参数,通过直观的人性化的界面,提供给操作人员。在程序设计中,不仅要合理的进行界面布局,菜单层次设计,还要充分利用各种显示元素的特性,最人性化的显示各种测量参数的数值。
如用温度计显示温湿度实时测量值,用曲线显示历史数据,用发光二极管显示阈值报警或状态值等等。
3、控制功能
接收操作人员的指令,或者根据预先设定的控制程序,完成对现场的生产要素的调控。为了实现方便清晰的控制功能,要求能够实现开/关、计时、定时、状态回显、操作锁定等等功能。
4、记录功能
系统应该能对实时采集到的监测数据、传感网络的运行状态信息、操作人员的登录信息和控制指令等各种生产要素进行记录。数据记录的结构设计,会对数据的整理分析以及与其他系统的信息交换的便利性产生影响。这里采用通用数据库MySQL进行数据的存储。
二、软件平台的选择
1、软件开发平台的需求
与办公或工具类的桌面应用软件不同,测控系统的软件要有快速的事件响应,并且需要长时间稳定可靠的运行。开发平台的选用,需要考虑以下几个因素。
1.1运行稳定可靠
这就要求软件有很好的进程管理和内存调度能力,并有较高的自查错自纠错能力,最好编程平台的基础模块都是经过长期运行和实践验证的模块。
使用如C语言这类的语言编程,往往会因为考虑不周,导致一些不可预料的内存冲突或进程崩溃。那么,开发平台是否有完备的基础库函数,例如时序控制、通讯管理、接口控制、内存调度、数据库接口等等模块,对开发实时测控类程序是十分必要的。
1.2易于实现并行计算
从软件功能的分析可以看出,测控系统是一种实时软件,对及时性的要求是非常高的。
程序运行时,需要同时进行测量数据的传输、数据的处理和记录、控制指令的执行、设备状态的巡检、程序界面监控和数据的显示等多个处理进程。这就要求软件开发平台具备实施并行计算的机制,能够很好地协调进程之间对处理器、内存、IO接口等资源的争用,能够有效地管理资源的分配和释放。
1.3清晰的数据结构和程序结构
中控系统软件的开发,需要定义各种数据,如监测数据,控制指令、设备状态信息等等,这些数据的结构非常复杂,可能在一个结构体内就包含了整型、实型、布尔、日期、引用、类和变体等等。要求开发系统能对复杂的数据结构进行清晰的定义。从程序结构方面看,要求能够实现循环、条件、事件、顺序等结构,能够实现定时、队列、通知、同步的机制,并且具有完备的功能模块,如TCP通讯、ODBC接口等功能模块。
1.4易于维护
中控系统因为涉及很多因素,所以往往程序的体量很大。程序的开发平台,应该自身具备软件维护的工程方法,各种基础模块的功能和接口表述简洁清晰,模块易于进行调用和重组,所产生的程序代码易读易懂。
2、开发平台的选用
基于以上对开发平台的需求,我们选用了Labview程序设计系统。这是一款由美国NationalInstrument公司推出的图形的软件开发平台。
NI公司的这款LabView软件,虽然是针对它的专业的硬件模块的集成应用而开发的,但是这并不是说离开了NI提供的硬件,这款软件就没有用武之地了。通过我们的实践,证明LabView完全可以脱离NI的硬件来构建自己的测控系统,甚至可以用它来开发纯软件产品。
LabView的开发环境提供了图形化编程方法和前所未有的硬件集成,旨在帮助工程师和科学家快速设计和部署测量和控制系统,提高生产力。借助这一灵活的平台,工程师可以完成从设计到测试等一系列步骤以及开发大中小型系统,同时重用IP和简化流程,实现性能的最优化。
三、测控软件
1、软件整体说明
如图1所示,该软件由四个小模块组成:(1)程序运行过程控制可以控制数据开始采集、暂停\继续采集、退出采集、设置图标显示方式以及对图表的清除;(2)数据采集及溫度曲线设置实现对温度数据采集间隔、报警上下限以及对实时温度曲线、温度上下限曲线、平均温度曲线显示颜色的设置;(3)温度及报警显示模块显示实时采集的温度数据以及对超过设定温度上下限的温度值进行报警;(4)温度曲线的显示模块,其中包括测试温度变化曲线、温度上限值、温度下限值、平均温度。
2、软件操作
图2中6个按钮控制数据开始采集、显示方式为层叠、显示方式为分格、清除图表、退出数据的采集和暂停\继续数据采集。
(1)按下开始采集按钮,系统开始自动模拟采集温度数据。(2)按下层叠显示或分格显示按钮来改变数据显示方式。(3)按下清除图表按钮来清空数据,以便系统开始重新采集温度数据。(4)按下退出程序按钮来安全退出温度测控系统。(5)打开或关闭连续、暂停按钮来控制系统对温度数据的采集。
如图3所示,这七个下拉列表分别控制温度数据采集间隔、设置温度报警上限(高温报警)、设置温度上限曲线的颜色、设置报警下限(低温报警)、设置温度下限曲线的颜色、设置实时温度曲线的颜色和对平均温度曲线颜色的设置。
如图4,两个指示灯实现过高温和过低温的报警,现为不报警状态,若温度过高,则高温报警指示灯变为红色,若温度过低,则低温报警指示灯变为蓝色。
四、测控系统
(1)如图5所示为温度测控系统总原理图。
(2)温度数据的采集间隔如图6所示,这部分用隨机数模拟-20℃~170℃范围的温度数据源,设置一定长短的时间延迟来设置温度数据的采集间隔,来有效的在图像上表现出平均温度的变化趋势。
(3)温度报警的上下限如图7所示,这部分是用下拉列表设置温度报警的上下限,通过下拉选择,能够测控不同的温度,满足实验内容所需要求。
(4)温度数据求和
如图8所示,由于有时候需要求出某一段时间内的平均温度数据,所以本程序使用移位寄存器将此次采集数据之前连续四次数据进行求和,然后再与本次采集的数据求平均温度。
(5)暂停/继续显示设置
通过判断所采集的温度是否在报警区间内,来实现温度采集的暂停与继续。假如采集到的温度超过设定的上限值或下限值,则系统将报警并停止对数据的采集。
(6)各条颜色曲线的设置
这部分是以下拉列表的方式通过修改图表属性节点中指定活动曲线颜色来对各条曲线颜色进行设置,优化系统界面,有利于对温度变化和温度平均值变化的有效区别。
(7)曲线的显示格式设置
使用时间结构控制选项卡控件选项卡的切换来实现曲线显示为层叠显示还是分格显示。既可以对所有数据进行对比,也可以对单一数据进行分析。
(8)清除图表:通过给图表属性节点中历史数据赋零值的方式对温度曲线进行清除。
(9)系统的停止控制程序如图9所示。
结束语
使用图形化的设计方法开发测控系统,具有开发周期短、运行稳定可靠、程序功能强大、扩展能力强、后期维护方便等诸多优点。LabView还具备状态图设计模式、消费者/生产者循环等多种独具特色的程序设计模式,便于进行各种类型的程序开发。掌握LabView的虚拟仪器设计思想,熟练应用各种设计模式,对于实时测控项目的开发有着很大的实际意义。
参考文献:
[1]侯国屏,叶齐鑫,王坤.LabVIEW7.1编程与虚拟仪器设计[M].北京:清华大学出版社,2005.
[2]岂兴明,田京京,夏宁.LabVIEW入门与实践开发100例[M].北京:电子工业出版社,2011.