基于Delphi的温度监测软件的设计

2013-11-19 11:27
商洛学院学报 2013年6期
关键词:警报控件串口

杨 琳

(商洛学院 物理与电子信息工程系,陕西商洛 726000)

在生产生活诸多环境中,温度成为衡量环境质量的一项重要的指标。在林区,温度过高容易引发火灾;在粮仓,温度过高会导致食物变质;在厂房,温度过高可能会损坏设备等。这些问题都会对社会造成巨大的经济损失并威胁到人身安全。因此对温度具有重要的现实意义。而对场区的温度进行实时的监测,在温度超过一定的限度后,做好相关的措施,便可减少上述问题的发生。最初,通过人工巡查来测量场区温度,这种方式效率低,造成人力资源的浪费。卢超[1]所设计的分布式温度采集系统改进了这个问题。在这个系统中,在设备上放置传感器,通过总线网络的方式,将设备的温度信息传递到服务器监控站,工作人员在监控站可以直接看到场区设备的温度,这在很大程度上提高了效率,节省了人力。但该系统存在功耗高、布线难、不易操作等不足。庞建莹[2]所设计的基于红外传感器的电气火灾预警系统中,节点之间通过红外线的方式传输,实现了无线传输,克服了布线的问题,但红外线只能实现点对点的通信,两个通信点之间不能有阻碍物,否则会影响通信。鉴于此,本文采用zigbee[3]来实现节点间的通信,这种方式能耗低、成本低,能实现无线传输;并利用Dephi7[4]软件制作温度监测软件。该软件的警报系统提高了工作效率;历史记录功能实现了查询某个节点在某一段时间内的温度变化状态。该系统不仅克服了红外只能点对点通信的弊端,还实现了足不出户地监测场区温度,保证场区处于合理的温度状态,从而有效地预防森林火灾、设备过热引发的劳损、粮仓过热引发的食物变质等问题的发生。

1 温度测量系统的组成

无线温度测量系统由监测平台、协调器节点、传感器节点组成了星状网络结构[5],系统结构如图1所示。

系统中的传感器节点由数字温度传感器DS18B20与无线发送模块CC2430组成,分布在被测位置,如冷库、粮库、林区、机房等应用场所,用于采集被测点的温度信息,并将信息传输给协调器节点。传感器节点与协调器节点之间以zigbee方式传输信息,该方式具有低能耗、低成本等特点。

协调器节点由无线接收模块CC2430与串口通信模块RS232组成,放置在传感器节点与监测平台之间,用于接收传感器节点的温度信息,并将其传输给监测平台PC机的监测软件。

监测平台中的监测软件通过串口通信接收来自于协调器节点的温度信息,并实现温度的存储、显示、查询以及报警功能。

图1 系统结构图

2 需求分析

作为无线温度测量系统中的一部分,监测软件的作用是使监测者在监控中心方便地看到被测位置的温度。需通过串口将被测点的温度、连接状态等信息传输给监测软件,监测软件将收集到的信息存储到数据库中,然后以曲线、列表等形式呈现在软件界面当中。基于以上的分析,本文所述的监测软件需要有如下功能:温度信息接收、存储;温度的曲线、列表显示、历史记录查询;报警、串口配置等。

监测软件有两类模块。第一类是非功能模块,实现串口配置和密码登录;第二类是功能模块,实现节点的温度等信息的显示、历史记录查询、报警等功能,如图2所示。

图2 监测软件模块划分图

1)串口配置,为了保障串口正常工作,实现串口参数的配置,从而有效地接收信息。

2)密码登录,保证系统的安全性。

3)连接状态显示,以指示灯的形式显示各个被测点的连接状态。

4)温度信息显示,包括列表显示、曲线显示以及历史记录查询。

5)报警功能,当某一节点连接状态不正常,或者温度超出限定的温度范围,需系统发出警报。警报的方式有三种,分别是警鸣音效、弹出对话框提示简要信息、警报报告说明详细信息。

3 数据库设计

本监测软件使用Access数据库,该数据库有温度表(T-temperature)、温度限度表(T-limit)、用户表(T-user)、警报表(T-warning)四个表。温度表存储温度值,温度限度表存放温度的范围,警报表存放警报信息,用户表存储用户名和密码。

在该软件中对数据库的访问是通过ADOConnection控件实现。具体操作过程如下:

1)在界面中添加ADOConnection控件。

2)将其 ConnectionString属性修改为Use Connection string…/BUILD/Microsoft Jet 4.0 OLE DB Provider[6]。

3)打开数据库所在目录,点击其文件名称,测试连接。

4)将控件的 Connection属性设置为ADOConnection控件的名称,即可完成该控件对数据库的调用[7]。

4 软件设计

4.1 登录窗体

登录功能[8]可提高系统的安全性。工作人员必须填写正确登录名和密码才能够进入监测软件的主窗口,继而使用软件完成监测。登录窗体中需要用到TEdit、TButton、TADOConnection、TADOTable四种控件,其作用分别是输入框、按钮、数据库连接。

4.2 主窗体

主窗体,即登录成功之后即进入到的主界面,该界面如图3所示。主窗体是监测软件中最重要的窗体,用于获取、显示被测点的信息。

主窗体所用的主要控件及其功能如下,TTimer用于获取时间,TPagecontrol是选项卡面板,TDBGrid是实时数据显示表格,TDataSource用于装载实时数据源,TShape是连接状态显示灯,TDBChart是实时曲线图表,TDBGrid是历史查询表格,TComboBoxEx是节点选择下拉框,TDateTimePicker存放起始时间,TDateTimePicker存放结束时间,Tbutton是查询按钮,TComm是串口工具,TMediaPlayer播放警报音。

图3 主窗体界面

4.3 串口通信

串口配置用于设定串口的数据位、串口名、波特率、校验位等参数。这些参数的配置是通过SPComm第三方控件实现的,SPComm控件的属性、方法和事件,使编程更加有效和方便[9]。配置串口参数的操作非常简单,只要在相对应的下拉列表中选择合适参数值即可。

在串口配置窗口中,串口的串口名、数据位、校验位、波特率、停止位是通过设置SPComm控件的 CommName、ByteSize、Parity、BaudRate、StopBits属性来完成的。该界面中的下拉列表通过ComboBoxEx控件来实现的。SPComm控件的StartComm方法可以实现打开窗口,StopComm方法可以实现关闭串口[10]。在SPComm控件的OnReceiveData事件中添加处理过程,先将接收到的温度信息存放在预先定义的数组变量里,然后按照如下过程进行数据处理。将下位机发送过来的相邻的两个8位数据合并成为一个16位的数据,前一个字节是高8位,后一个字节是低8位。然后再将16位数据除以4,得到的就是十进制的温度信息数据 。

串口接收来自于协调器节点的信息的程序如下:

var

receivemessage:array of byte;

begin

sleep(100);//延时 100ms,从而保证接收到所有数据。

move(buffef,receivemessage,bufferlength);//将接收缓存区中的数据转移到数组

end;

4.4 连接状态窗口

连接状态窗口用于显示被测点的连接状态,通过TShape控件的颜色属性来实现。TShape控件的颜色属性随着表征连接状态的数据改变而改变。其中用绿色表示“正常连接”,用灰色表示“未连接”,而用黄色表示“正在连接”。

4.5 温度信息显示

1)实时显示,被测点的温度数据以动态的形式在此选项卡中显示出来。该功能通过Query_real查询到的数据库中的温度信息,然后通过DBgrid_real控件以列表形式将这些信息显示出来。

2)曲线显示,指定节点的温度信息在该界面中以曲线的形式显示出来。该功能通过TQuery控件查询到指定节点的温度信息,再通过TDBChart控件将信息以曲线图的形式显示出来。

3)历史记录查询,这一功能用于实现查询指定节点在限定的时间范围的温度信息。该功能通过TQuery类控件查询指定节点的温度信息,通过DBGrid_history控件以列表方式显示。

4.6 警示系统

当节点温度超出指定的范围或者连接状态不正常,警示系统启动,对工作人员发出警示信号。该警示过程分为三个步骤。第一,播放警鸣提示音,该功能通过TMediaPlayer控件来播放警报音效的音频文件来实现;第二,弹出对话框,显示出简单的警报信息,该功能通过Application.MessageBox语句来实现;第三,产生警报报告,说明出现异常节点的详细信息,也可以查询历史警报记录,该功能通过AssignFile语句来实现。

5 系统测试

为了验证调试本软件的基本功能,进行测试。首先做好准备工作,包括将传感器节点放置在被测点,将协调器节点放置在PC机旁,并连接好串口连线,以及配置好无线传输模块的参数。然后登录到软件中,在设置温度上下限、配置串口后点击开始监测,此时可以在窗口中看到每个节点的温度、连接状态等信息。当某个点的温度超标,系统会发出警报。系统运行效果如图4所示。通过测试,本软件运行稳定,达到监测温度的目标。

6 结语

本文主要从系统组成、需求分析、数据库设计、界面制作等方面介绍了无线温度测量系统中的温度监测软件的设计,该软件实现了远程监测被测点的温度信息。这不仅提高了系统的自动化水平,还降低了系统运行的成本,有广泛的应用前景。

图4 系统运行效果图

[1]卢 超.基于PC机与单片机分布式温度采集系统的设计[J].仪表技术与传感器,2007(6):35-37.

[2]庞建莹,施云波,修德斌,等.基于红外传感器的电气火灾预警系统[J].仪表技术与传感器,2010(3):64-66.

[3]邢劭谦,宋 哲.ZigBee无线传感与卫星定位技术在森林火灾预警中的应用[J].森林工程,2011,27(6):36-39.

[4]张 琼,雷 鸣.用Delphi开发热辊温度和速度实时监控系统[J].自动化与仪表,2004,19(1):69-72.

[5]吴 键,袁慎芳.无线传感器网络节点的设计和实现[J].仪器仪表学报,2006,27(9):1120-1124.

[6]何 娣,马慧斌,韩凯旋.基于Delphi与Access的人力资源信息管理系统设计[J].现代电子技术,2012,35(12):58-62.

[7]陈豫龙.Delphi数据库系统开发实例导航[M].北京:人民邮电出版社,2003:10-12.

[8]于春风,张天开,刘 艳.基于Delphi7.0的温控仪数据采集系统的研制[J].自动化仪表,2007,28(6):21-23.

[9]桑开勇,陈铁军.Delphi环境下利用SPComm控件进行单片机串口通信[J].现代电子技术,2006,29(15):26-28.

[10]司文慧,魏建平.用Delphi实现工业控制中上位机的串口通信[J].工业控制计算机,2007,20(3):20-21.

[11]朱桂凤.基于MSComm的串口通讯及PLC系统监控软件开发[J].计算机工程与设计,2006,27(6):1101-1104.

猜你喜欢
警报控件串口
基于北斗三号的人防警报控制系统及应用
浅谈AB PLC串口跟RFID传感器的通讯应用
假期终结者
关于.net控件数组的探讨
是谁的责任?
拉响夏日警报定格无痕迹美肌
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
ASP.NET服务器端验证控件的使用