王子权,陈伟男,吴开祥,姚潇骏
(上海卫星装备研究所,上海 200240)
航天产品生产、制造过程必须保证环境温湿度在要求的范围内,因此对环境温湿度的检测极为重要[1-2],同时为测量或监测控制产品的温湿度,从而通过试验方法得出温湿度的变化规律等,通常需研制某些温湿度测量设备,以供监测使用[3-7]。目前,常用的温湿度同时测量设备主要采用目前较成熟的温湿度测量一体机,各行业工程技术人员或学者对工业用温度、湿度检测设备的研制及研究层出不穷,其主要研制思路基本可概括为以某种类型的微控制器作为通信与数据处理的核心,以某种类型的传感器或变送器作为设备的末端敏感装置,以某种界面设计系统进行设备的人机交互设计[8-14]。而温湿度监测设备常用的通信协议或通信接口为串行通信的RS232、RS422 或RS485 等,其中以串口DB-9的RS232 接口最为常用,总线仅需连接RX、TX 和GND 即可完成异步串行通信,而无需额外的通信芯片,因此可基于RS232 通信协议,进行本文的软件设计,以兼容市面上大多数的温湿度监测终端机。在C#编程语言及Visual Studio 中,提供了一种IO端口串口通信类System.IO.Ports.SerialPort,通过该类可实现对计算机串口的配置,包括串口端口、波特率、奇偶检验位、数据位数、停止位数,并可将串口读写数据通过字符或字符串的方式保存或发送,实现软件与终端设备的串口通信功能,同时通过Visual Studio 窗体开发工具,可方便地进行软件界面的开发,为本文的软件系统设计提供了有利保障。
本文为实现对部组件级航天产品温湿度监测与实验研究,并对温湿度监测终端机发出的温湿度量进行曲线显示、开环或闭环控制,基于C# 编程语言开发了一种温湿度监控系统软件,软件以RS232为与终端机通信的接口协议,在Visual Studio2013中设计了软件的主界面、串口调试助手界面、控制参数设置界面、温湿度监控界面、开环控制系统界面、闭环控制系统界面等,为航天产品的温湿度监控提供了一种兼容性良好的上位机系统。
启动软件进入主界面,如图1所示。主界面包括菜单栏 “文件”、“串口配置”、“参数设置” 组成;“文件”下拉菜单栏包括“退出”、“关于系统”,通过“退出”退出整个软件,通过“关于系统”查看关于系统信息;“串口配置”下拉菜单包括“串口调试”、“查看配置信息”,通过“串口调试”打开串口调试助手界面,通过“查看配置信息”查看串口配置信息;“参数设置”下拉菜单包括“开环控制参数”、“PID 控制参数”,通过“开环控制参数”进入开环控制参数设置界面,通过“闭环控制参数”进入闭环控制参数设置界面;界面中包括“串口配置”组框,组框中包括“端口”、“波特率”、“校验”、“数据”、“停止位” 文本框及其对应下拉列表框;“端口”下拉列表用于显示串口号信息(“COMi”,i=1,2,…,20),最大显示20个可用串口;“波特率” 下拉列表用于显示串口波特率信息("600","1200","2400","4800","9600","14400","19200","115200");“校验”下拉列表用于显示串口奇偶校验位信息("None","Odd","Even");“数据”下拉列表用于显示串口数据位信息("5","6","7","8");“停止位”下拉列表用于显示串口停止位信息("1","1.5","2"); 系统默认串口配置为:COM1,115200,None,8,1,并将配置信息保存至文件“config Pro.ini”;通过“打开串口”按钮将串口打开,若串口打开成功则“打开串口”按钮的文本显示为“关闭按钮”,否则弹出"串口打开错误"提示框;从主界面可选择进入子界面,通过“串口调试助手”按钮进入串口调试界面;通过“控制参数设置”按钮进入开环或闭环控制参数设置界面,系统默认第一打开为开环控制系统界面,若用户通过“PID 控制参数”下拉菜单功能进行了PID 控制参数的设置,则通过“控制参数设置”按钮打开闭环控制参数设置界面,则通过“开环控制系统”按钮进入开环监控界面;通过“闭环控制系统”按钮进入闭环监控界面。
图1 软件主界面Fig.1 Main interface of software
如图2所示,串口调试助手界面,进行串口收发数据显示;收发模式均包括数值型和字符型;通过“清空发送区”按钮清空发送区的可编辑文本框内所有数据;通过“清空接收区”按钮清空接收区的不可编辑文本框内所有数据;通过“发送”按钮将发送区的数据发送至终端机;通过“关闭调试”按钮关闭串口调试助手界面。
图2 串口调试助手界面Fig.2 Interface of serial port debugging assistant
如图3所示,其中图3(a)为开环控制参数设置界面,包括“温度控制参数”组框、“湿度控制参数”组框、“闭环控制参数”组框,但“闭环控制参数”组框失能,“控制温度”和“控制湿度”文本编辑框失能;通过可编辑文本框设置开环温度、湿度控制参数的最小、最大控制温度、湿度;通过“锁定温度参数”和“锁定湿度参数”按钮将最小温度、最大温度、最小湿度、最大湿度文本编辑框失能,此时“锁定温度参数”和“锁定湿度参数”按钮文本显示为“解锁温度参数”和“解锁湿度参数”,此时最小温度、最大温度、最小湿度、最大湿度文本编辑框使能;通过“发送至控制器”按钮将开环温度、湿度控制参数发送至终端机,若串口未打开,则弹出“串口未打开!请在主界面打开串口”提示框,否则判断文本编辑框中的文本是否为浮点型数据,若不为浮点型数据,则对应弹出数据非法提示框,否则最小、最大温度数据分别以“A”和“B”开头,最小、最大湿度数据分别以“D”和“E”开头,并同时开启5 s 定时器线程,当系统在5 s 内接收到“Done”字符串则弹出“发送并接收完毕! ”提示框,否则弹出“发送接收任务错误或超时! ”提示框。
通过“取消”按钮退出参数设置界面;通过“退出”按钮退出参数设置界面,若未向终端机成功发送控制参数,则弹出“未向串口发送数据”提示框。
如图3(b)所示,闭环控制参数设置界面,相对开环控制参数设置界面,将 “控制温度”、“控制湿度”可编辑文本框和“闭环控制参数”组框使能,可进行控制温度、控制湿度以及温度PID 和湿度PID参数的设置,其余功能与开环控制参数设置界面一致。
图3 PID 控制参数设置界面Fig.3 Interface of PID control parameter settings
在参数设置界面左下角最后一行,显示了该界面操作的使用说明书字段,如“设置温度和湿度开环控制参数,PID 闭环参数,并发送至控制器”。
如图4(a)所示,通过主界面“开环控制系统”按钮进入开环控制系统界面;界面中显示了最小温度“TMin”、最大温度“TMax”,控制温度“TCon”,但“TCon”指示灯为灰色,表示不进行状态显示;显示了最小湿度“HMin”、最大湿度“HMax”,控制湿度“HCon”,但“HCon”指示灯为灰色,表示不进行状态显示; 显示了温度控制和湿度控制的PID 参数,但不进行PID 监控;通过温度和湿度显示图控件显示温度和湿度变化曲线;通过可编辑文本框设置显示图控件的Y 轴坐标量程;通过可编辑文本框显示当前温度和当前湿度数据;通过“退出”按钮退出开环控制系统界面;若当前温度在最小温度和最大温度之间时,最小温度和最大温度指示灯为蓝色,若当前温度小于最小温度,则最小温度指示灯为红色,最大温度指示灯为蓝色,否则最小温度指示灯为蓝色,最大温度指示灯为红色;若当前湿度在最小湿度和最大湿度之间时,最小湿度和最大湿度指示灯为蓝色,若当前湿度小于最小湿度,则最小湿度指示灯为红色,最大湿度指示灯为蓝色,否则最小湿度指示灯为蓝色,最大湿度指示灯为红色。
如图4(b)所示,通过主界面“闭环控制系统”按钮进入闭环控制系统界面,界面除开环控制系统界面有的功能外,控制温度“TCon”和控制湿度“HCon”使能,并开启温度和湿度的PID 监控;若当前温度与控制温度的差值绝对值小于0.5 时,控制温度指示灯为红色,否则为蓝色;若当前湿度与控制湿度的差值绝对值小于5 时,控制湿度指示灯为红色,否则为蓝色。
图4 PID 控制系统界面Fig.4 Interface of PID control system
如图5所示,实验调试系统包括PC 机、具有温湿度开环输出的冷气机、STM32 温湿度测控系统开发板、多层隔热组件等。其中PC 机负责运行温湿度监控软件,并与STM32 单片机通过串口连接;STM32 开发板包括USB 供电电源及转串口电路、STM32 控制核心、传感器连接板、温湿度传感器等;冷气机为可手动设置出气温度的设备,但不具备温度的控制功能,同时输出一定的含水氧气体,导致环境湿度增加;多层隔热组件为阻隔冷气机输出的冷气与外界环境产生对流换热,使得温湿度梯度变化明显,能够获得较好的实验效果。
图5 实验系统组成Fig.5 Composition of experimental system
设置冷气机输出温度为24.6 ℃,设置温度开环控制参数的最小温度为30 ℃、最大温度为80 ℃;最小湿度为30%RH、最大湿度为55%RH,如图4(a)所示,此时温度控制“TMin”指示灯文红色,“TMax”指示灯为蓝色;湿度控制“HMin”指示灯为蓝色,“HMax”为红色。得到系统监测的温湿度变化曲线如图6所示。由图6(a)可知测量得到的温度数据基本稳定在24.65 ℃左右,最大温度为24.67 ℃,最小温度为24.62 ℃,温度变化曲线不呈现明显的直线变化规律,这与环境干扰、多层隔热组件组成的气流流道不规则等因素有关,但测得的温度基本与24.6 ℃一致,误差不超过0.1 ℃;由图6(b)可知测量得到的湿度数据基本稳定在60.6%RH 左右,最大湿度为60.75%RH,最小湿度为60.31%RH,湿度变化曲线不呈现明显的直线变化规律,与温度数据相对应,在温度较高时,湿度则较低,在温度降低时,湿度则有所增大,与实际温湿度变化趋势一致,符合实际情况。
图6 温湿度变化曲线Fig.6 Curve of temperature and humidity change
调试结果表明,软件系统与STM32 开发板终端机实现了良好的RS232 通信,通信过程稳定可靠,无数据失帧、采传失败等现象,同时软件系统很好地实现了字符串收发,并向浮点型数据的转型,实验获得的温湿度变化曲线符合实际温湿度变化趋势,为基于C# 语言的监控系统上位机软件设计提供了参考。
开发了一种基于C# 的温湿度监控系统软件,可兼容以RS232 串口为通信协议的终端机发出的温湿度数据进行曲线显示、开环或闭环控制等功能。设计了软件系统的主界面、串口调试界面、控制参数设置界面、监控系统界面等,介绍了软件界面的使用方法、操作逻辑。通过开环监控实验验证了软件系统的稳定性,系统可应用于多种需温湿度监测的工业生产现场。