石毅壮
(赤峰市农牧业机械化研究推广中心,内蒙古 赤峰 024000)
在控制领域中,温度的检测与控制占有很重要的地位,温度监控在各个领域中都得到了广泛的应用。本文实现的是一个温度监控系统的上位机系统设计,由VB 编程实现。通过RS-232 串口通信,上位机接收下位机在线采集的温度数据,进行实时显示,同时根据温度设定值,计算控制参数,并传递给下位机进行温度控制。串口通信采用mscomm32控件实现,简单方便。温度曲线的实时显示包括数字显示和曲线显示两部分,不仅显示当前温度采样值,同时显示实时曲线,便于实现对温度的实时监控。
温度监控系统下位机采集检测的温度为本上位机提供了数据,VB 软件编程实现的人机对话界面将实现对这些数据的显示、调节、趋势图、等处理功能,建立一个易于使用、易于管理的人机交互界面。
上位机设计的目的是对下位机检测的数据进行后处理。VB 软件编程实现的人机对话界面主要包括以下功能:
1)与温度控制系统下位机进行数据通信。
2)实现温度信息的显示、调节、趋势图等处理功能。
VB 软件编程实现的人机对话界面总体框图如图1所示。
图1 人机对话界面总体框图
上位机的主界面采用MDI菜单形式设计,通过下拉菜单,可以进行系统功能即与下位机进行串行通信,将接收到的温度信息进行显示、调节、删除、趋势图表等操作。VB软件编程实现的人机对话界面运行在PC 上,开发平台采用Microsoft Visual Basic6.0软件来实现操作。
本文采用Microsoft Visual Basic6.0 集成环境下对人机对话界面的进行设计。
为了使设计的人机对话界面方便、易懂,本文设计一个系统的主界面,在主界面上,基本能把所要实现的所有系统功能都显示出来,即在主界面上就可以完成所有的操作。
主界面主要由窗体、菜单栏和实现具体功能的控件等组成。菜单栏是通过VB 中的菜单编辑器设计的,可以通过选择菜单栏里的下拉菜单,选择系统的附加小功能;系统的主要功能都是通过窗体中添加的各个控件来完成的。菜单编辑器包括三个区域:菜单属性设置区、菜单编辑区、菜单列表区,如图2所示。
图2 菜单编辑器“Serial”模块设计
本文的“Serial”模块主要是完成设置串口参数的功能,设置的串口参数包括串口通道、波特率、检验位、数据位和停止位,通过主界面的下拉菜单进入“Serial”模块,进入“Serial”后就可以随时改变串口通信参数,简单方便。同时还在“Serial”模块中加入了串口引脚接线图,增加了该功能的可读性。在“Serial”模块中一共添加了5 个Label 控件、1 个Frame 控件、1 个Command 控件和5 个Comb控件(复选框控件,用来选择要刚改的参数)。“Serial”模块界面如图3所示。
图3“Serial”模块界面
分别完成各项功能之后,为了使应用程序能够脱离开发环境而直接在Windows 环境下运行,就必须将应用程序编译成可执行文件(.exe 文件)。
编译方法是:依次选择“文件”菜单的“生成工程1.exe”命令(这里的“工程1”是工程名),弹出“生成工程”对话框,选定保存位置,输入可执行文件的名字,单击“确定”按钮即可在指定位置建立一个可执行文件。
对于一个上下位机都要采用的系统中,系统调试的成功当然是一个不可忽视的部分。只有系统调试正常,才能完成最终设计任务。上位机通过编译、连接找出程序中的错误,当上位机程序中没有错误通过编译后,就与调试好的下位机系统进行联调。上、下位机通过串口线连接起来,使用串口线把下位机和计算机COM1 串口连接起来,下位机的电路板加上5V 电源,然后运行VB 程序。首先单击上位机系统的主界面中的联接按钮,当界面中的“通讯”指示灯变红时,证明上下位机已经联接上了,即串口联接成功。本文应该对水温进行加热,但由于水温加热速度慢,本文用灯泡代替水,并对其进行温度监控。
当上、下位机联接好后,上位机主界面中的“当前温度”位置就会显示出温度值,“接收数据”位置可显示温度值和温度传感器的序列号,温度测试部分成功。然后我们上位机主界面设定一个温度值,在“控温”处打对号,如果当前温度低于上位机设定的温度,上位机就会控制下位机对灯泡进行加热,即打开继电器,此时上位机界面的“开关状态”指示灯变红,且“温度曲线”部分显示上升曲线,这证明控制部分也是成功的。当温度达到上位机设定的温度值时,上位机控制下位机停止加热,继电器停止工作,“开关状态”指示灯也会变黑。上、下位机的调试结果图如图4所示。
图4 上、下位机调试结果图
本文主要设计了基于单片机温度控制系统的上位机,通过VB 软件进行编程,设计了良好的人机对话界面,在上位机的人机对话界面上,设计了串口通信、温度显示、目标温度值设定、曲线显示等主要部分,还设计了附加小功能模块、如“Help”模块和“Sertal”模块。
本文设计的控制系统实现了上、下位机联调控制水温,对水温进行实时测量和控制,实现上位机与下位机的通信,完成温度信息的上传与温度给定值的下传;采用VB 语言编程对温度信息管理系统的设计从而完成对水的温度的进行显示、调节、趋势图等功能,并使系统简单、方便、易操作。上位机良好的人际对话界面使操作人员轻易的就可对系统进行操作。
[1] 李江全,张丽,岑红蕾.Visual Basic 串口通信与测控应用技术实战详解[M].北京:人民邮电出版社,2007: 150-155.
[2] 陈紫红,安剑,孙秀梅,等.Visual Basic 项目开发全程实录[M].北京:清华大学出版社,2008: 115-124.
[3] 李怀明,等.Visual Basic 6.0 中文版参考详解[M].北京:清华大学出版社,1999: 98-103.
[4] 马壮,吴铮,王永强.基于VB 的PC 机与单片机串行通信系统研究与实现[J].唐山学院学报,2008,21(4): 124-132.
[5] FAWZI A.RADWAN and TERRY W.Martin.Real- time Monitoring and Controlling of an Allen-bradley SLC 500 through the internet.[J] Restrictions apply.2009,19(7): 387-392.