您现在的位置是:首页 > 工控

基于网络的温湿度监控传输系统的设计

2020-01-02 03:02:23

本文通过比较和方案论证,确定了一种新型的基于网络的温湿度监控系统,即将所采集的一个或多个温湿度传感器测量结果通过Intemet以网页的形式动态发布,同时,任意一台上位机都可以根据管理员的授权通过网络对温湿度控制装置下达指令,对任一节点进行控制。对于这种方案,能接入Intemet的任何一台PC机可以实现对各个传感器工作状态的监控与管理,实现了无距离限制的测控网络,非常方便灵活。

1 系统总体结构
    该系统总体结构如图1所示,各个温湿度测试控制模块都带有网络接口,通过路由器与中心服务器相连。中心服务器包括IIS信息服务器系统和SQL数据库服务器,前者负责与处于联机状态的温湿度测试节点通信获取温湿度测量结果,然后通过Intemet以网站的方式向客户广播接收到的温湿度检测数据,并将接收到的数据(测试节点编号、温度、湿度、测量时间等)存入SOL数据库中,同时客户根据不同的权限可以通过中心服务器向各个测试控制模块发指令,改变某个温湿度控制的参数。


    温湿度测试模块的结构如图2所示,其结构包括:主控制器(MCu)、温湿度传感器、数显及按键、Flash存储器、网络传输模块、时钟器件、蜂鸣器。其测试控制过程为:每隔一定时间MCU进行一次温湿度测量,如果与中心服务器连机,将结果通过网络上传至中心服务器,否则将结果和当前时间存储在板上的Flash;再将湿度测量值与用户设定值比较,根据比较的结果进行不同的处理。例如,当测试湿度高于设定值时,通过控制除湿材料吸收湿气来降低湿度,如果达到设定湿度值后,通过一定的反馈控制使柜内的湿度保持于设定范围内。如果温度或者湿度高于危险门限,系统通过蜂鸣器报警。



2 温湿度测试控制模块
2.1 温湿度传感器的选择

    由于温湿度测量精度是决定系统性能的关键,因此,这里选取瑞士Scnsirion公司生产的数字温湿度传感器SHl75实现温湿度测量。该器件的特点为:出厂前,每只传感器都在极为精确的湿度室中做过精密校准,校准系数被编成相应的程序存入校准存储器中;高度集成,内部集成有温度测量、湿度测量、信号变换、A/D转换和加热器等功能;提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;测量精度可编程调节,内置A/D转换器(分辨率为8~12位,可以通过编程设置其内部寄存器进行选择),测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能等,湿度精度在±4%以内,温度精度在±0.4℃以内。2.2 检测数据存储方案
    当温湿度检测控制模块没有与控制主机联机时,需要保存检测数据,以备检查。因此该系统选用存储容量为16 Mb的SST25VF016B,它属于NAND型非易失性闪速存储器。该存储器具有速度快、成本低、密度大的特点,广泛应用于传感器测量系统,其读/写操作是以字节为单位,而擦除操作则以块为单位进行操作,读、写和擦除操作均通过命令完成;不能字节擦除,在每次改写操作之前需要先擦除一整块;每一块的擦除次数有限,为10万次左右。根据系统存储数据类型的需要,将Flash分为2部分:一部分(2块,每块32 kh)存储该控制块的系统信息,包括编号、温度校正信息、湿度校正信息、湿度控制范围等;另一部分(62块,每块32 kb)存储实时的温度测量结果,包括测量时间、温度、湿度,以及该记录是否上传。Fhash擦、写的控制算法为:开机时,系统读取系统信息,获得各种控制参数;然后找出上一次温湿度记录的存储最后位置及每块的使用情况,继续写入新的测量信息。当前记录块写满以后,在系统信息中更新块使用情况记录,找一个新的块写入。如果存储信息达到系统容量,选择62块中所存信息最早的块擦除,重新使用。这种设计参考了u-cos文件管理系统,但由于传感器测量记录的长度是固定的,简化了每条记录的读写算法。
2.3 湿度控制算法
    对于温湿度的监测和控制,如果仅通过简单的反馈控制(即湿度高于设定值,吸湿装置吸收潮气,饱和后将向外排放潮气,如此反复来达到湿度的控制)很难达到理想的控制,原因是温度控制器件和吸湿装置的工作曲线通常都是非线性的,这种非线性使得控制时间的推算变得不确定。经过反复研究、实验,本文在温湿度检测控制系统中使用了模糊控制的方法获得较好的效果。即根据监控节点内一段时间内温湿度测量值,得到吸湿装置和温度控制装置能力的模糊估计(分为5类:强、较强、中、较弱、弱),并根据湿度和设定范围的差值,得到目前湿度值的模糊估计(远大于,接近,范围以内,低于,远低于),然后根据设定的模糊控制规则控制外部各个固态继电器动作,以达到温湿度的良好控制。
2.4 网络接口实现
    温湿度检测控制模块与中央服务器的网络连接通过Conextop公司的NePort网络串口转换模块实现,其体积约为两个标准RJ45插座,拥有10 M/100 M的以太网接口,并可同时传送TCP/UDP包给多个数据接收设备,提供1~2个高速串口,波特率可达921 600 b/s。MCU通过标准串口同NePort连接,NePort通过路由器与中央服务器相连。每个温湿度监控系统都有唯一的系统编码,通过一定的命令格式与中央服务器连接。主要的功能包括:每隔5 s上传温湿度测量信息;每天同步温湿度监控系统时钟和服务器时钟;通过网络设置温湿度校正信息和湿度控制信息等。

3 网络监控系统的设计
3.1 中央服务器

    中央服务器架设有IIS信息服务器和SQL数据库服务器,用ASP.net语言实现了 B/S结构的温湿度监控系统和网络服务。B/S结构的优势在于系统内任何接入Internet的计算机都能成为监控客户端,并且通过IE浏览器就可以实现监控和管理,不需安装任何软件。实现的主要功能有:对各个温湿度监控系统进行登记管理;将各个温湿度监控系统的温湿度数据存入数据库并能查阅和删除,以及产生历史曲线和生成报表等;通过网页向Internet用户报告实时温湿度测量信息;用户的登记和权限管理等。
3.2 AJAX实现温湿度数据的异步传输
    传统的B/S结构中,当用户需要某特定信息时,用户通过浏览器向服务器发送请求(例如点击某项链接),服务器将此链接指向的网页发送至用户端浏览器,此过程必须有用户的参与。对于传感器网络监控系统,传感器测量数据实时更新,只能由服务器端自动定时将新数据发送至浏览器,而不能采用点击更新的方法;此外,传统的网页传输过程,是将某网页内容完全由服务器传送至客户端浏览器,但是传感器的网络监控页面每次更新的仅仅是部分测量新数据,而监控背景画面和各台机器的参数信息都是固定的。如果采用传统的同步更新方法会有大量重复内容被传输,降低了系统的响应速度。本系统选用了AJAX技术克服了这些问题。
    AJAX技术使用了一种异步更新方案,在这种数据传输方案中允许浏览器可以更新网页中的部分信息。而每次只需更新传感器测量信息,减轻了网络通信负担,实现了快速刷新。AJAX的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约带宽的目的。
    本系统在实施温湿度监控的页面上用传统的HTMLl静态页面绘制出监控背景,各个温湿度监控节点的参数等静态内容,后台则用JavaSc-ript来创建XMLHttpRequest类向服务器定期发送一个HTTP请求,要求传输当前温湿度的测量结果。服务器收到该请求后通过一个网络服务(Web Service)获得各个传感器的测量信息,并将结果返回至请求的页面,网络传输的仅仅是需要更新的测量数据,因此响应速度很快,不需用户参与。3.3 VML实现温湿度数据显示
    当浏览器接收到服务器端回传的测量数据后必须以清晰、友好的界面显示。为了减轻服务器负担,应该避免在服务器端绘制图表(传统的ASP.NET图表实现方法)而应在浏览器端实现。实现的方案也较多,比如AcTIveX、Java applet、SVG、VML等。AcTIveX和Java applet是在网页上插入二进制形式的组件实现动态、交互式的多媒体网页,但是二进制形式的代码对浏览器端是一个安全威胁,因此一般的AcTIveX或Java applet需要经过数字签名才能被用户接受;此外微软操作系统的版本改变也会影响对AcTIveX和Java applet的支持。而SVG和VML则是通过特定的脚本语言实现在浏览器端的作图,其代码对客户端是开放的,因此不存在安全问题。SVG需要浏览器安装相应的插件才能工作,而VML得到目前主流浏览器IE的支持不需要任何安装,因此本系统选取VML的实现方案。VML(Vector Markup Language)是一种用矢量描述图形的语言,其图形可以任意放大缩小而不损失质量,在VML里面,标记使用的是XML扩展。结合Javascript脚本语言,VML可以动态显示图形。VML避免了由第三方提供数字签名,也不需要安装IE新插件,实现结果如图3和图4所示。图3是将各节点上传的温湿度测量值绘成的曲线图,客户可以一目了然地了解每个节点在一段时间内的温湿度变化情况。图4是动态更新的同时显示多节点的实时温湿度测量值。




4 结束语
    本文主要介绍了一种新型的基于网络的温湿度监控传输系统的研制,其创新的技术特点体现在:通过采用高性能的温湿度测量器件达到了更高的测量精度;采用模糊控制技术进行湿度调控,减少了系统的状态切换,控制效果好;Flash文件存储方案,完成了测量数据的保存、擦除。此外,网络监控方案采用了AJAX技术,实现了传感器测量数据的异步传输,提高了系统的响应速度;并采用了VML实现了测量数据的动态显示。这种方案也可以推广应用于其他传感器的网络监控系统。