基于电力载波通信的机房监控系统设计
2016-07-10李光
摘 要:本文将电力载波技术引入到机房监控系统中,利用机房丰富的电力线缆资源实现大量散布式传感器组网通信,在保证通信质量的基础上,大幅度地降低机房监控系统改造难度和部署、维护成本,具有很高的实用价值。
【关键词】电力载波通信(PLC) 机房监控系统 嵌入式WEB服务器 Modbus RTU协议
1 引言
随着信息技术的发展,机房中安装的设备不断增多,机房环境安全状况的重要性也日渐凸现。为了节省人工成本,提高监控效率,提升机房管理水平,机房环境监控系统应运而生。
机房监控系统主要监控对象包括精密空调、UPS、电量检测、温湿度检测、漏水检测等。由于监控对象种类多、位置分散,目前主流的机房监控系统一般以嵌入式监控主机为核心,各类采集控制设备就近部署在监控对象附近,两者通过串口、网络、Zigbee、Wi-Fi等多种有线/无线手段进行通信。
然而,上述通信手段均存在一些局限:对于串口、网络等有线通信手段,系统部署时需要增加大量布线,显著加大了机房建设、改造的难度和成本;对于Wi-Fi、Zigbee等无线通信手段,机房中普遍存在的金属壳体对电磁波产生漫反射,不仅影响通信质量,也干扰了机房电磁环境。
电力能源是电子设备运行的基本要素,机房中四通八达的电力线缆为监控系统通信提供了丰富可靠的信道资源。采用电力载波通信技术可以有效解决现有机房监控系统通信手段带来的各种问题。
2 系统结构
本系统由监控主机和采集控制设备组成。采用MODBUS RTU协议,每台监控主机最多可与255台采集控制设备组成一主多从的电力载波通信网络。监控主机既可作为Socket客户端实现多台监控主机TCP/IP组网,也可作为Web Server向远端提供查询和配置等服务。采集控制设备采用模块化设计,其主体由开关电源和电力载波通信模块组成,同时开发了多种传感接口以适配监控对象。其系统组成如图1所示。
3 硬件设计
本系统硬件主要由监控主机和采集控制设备组成。
监控主机是监控信息汇聚节点,负责将采集控制设备搜集到的监控数据统一处理,打包成格式化数据并展现给远端用户,本文使用意法半导体公司的STM32F407作为主控制芯片。
采集控制设备主要由主控制器、电力载波通信模块、开关电源和传感控制模块组成。其中主控制器、电力载波通信模块和开关电源等封装在一块主控板上;传感控制模块按功能可分为电力监测模块、温度传感模块、湿度传感模块、水浸传感模块、串口控制模块、风扇控制模块等,作为可替换的扩展模块通过金手指与主控板对接。采集控制设备主控制芯片选用ATMEL公司的ATmega16单片机。
3.1 电力载波通信
电力载波芯片采用SGS-Thomson公司的ST7538,ST7538是一种新型的半双工、同步/异步FSK(调频)调制解调器。电力载波通信原理如图2所示,模拟主要由耦合电路、滤波电路和保护电路组成。滤波电路采用电流并联谐振电路,滤除噪声和无用信号,电力线耦合部分采用1:1宽带通信变压器进行隔离。数字方面,ST7538可提供同步三线串行通信方式。
3.2 开关电源
考虑到开关电源中高频变压器工作频率与ST7538工作频率相近,容易产生串扰,因此选用了金升阳公司小体积模块电源LD03-10B5R2,该模块EMC及安全规格满足国际IEC6100、UL60950和EN60950标准。
3.3 电力监测模块
电力检测模块选用ADE7753功率检测芯片,ADE7753利用检测的瞬时电压电流信号,计算出交流信号的电压有效值、有效值以及有功、无功和视在功率。
3.4 温度传感模块
温度是机房电子设备有效运行的关键指标之一,由于机房内电子设备发热效能差异很大,因此在同一机房内,温度的局部差异较为明显。本文采用了基于1-wire总线的DS18B20数字温度传感器。每只DS18B20均内置唯一的64位序列号,多只DS18B20可在一根数据线上完成身份识别、采集控制、数据传输、电源充电等动作。经实测,在不外加电源的情况下,单根30m长的数据线上至少可串接64只DS18B20,完全能满足对机房内温度微环境的密集监控要求。
3.5 风扇控制模块
风扇控制模块采用双向可控硅作为交流开关的执行器件。由于系统中使用的风扇属于感性负载,且对抗干扰要求较高,因此采用了隔离型可控硅电路。ATmega16单片机根据控制信号,通过光耦隔离元件驱动可控硅,改变可控硅的导通角,从而调节输出至风扇的电压有效值。
4 软件设计
4.1 Modbus通信协议
监控主机与多台采集控制设备通过电力载波进行组网通信时,需要建立有序的通讯机制以防止相互干扰,本文采用了一主多从的Modbus通信协议。
传统的Modbus 协议帧由从机地址、功能码、数据内容和校验码组成。机房监控系统中,常涉及到多个机房多台监控主机协同工作的情况,除通过选择不同传输频率进行区分外,同时在传统Modbus协议帧头加入主机地址码,在系统部署时可通过拨码开关配置采集控制设备所属主机,通信时采集控制设备只有接收到所属主机请求信息后才给予回应。
4.2 基于Ajax的嵌入式Web服务器
由于监控数据量较大,为了提高监控主机数据处理和转发效能,主控芯片STM32上不使用操作系统,监控主机采用LwIP协议栈完成网络传输。
LwIP协议栈提供完整的基于Socket的TCP/UDP通信机制,但不提供Web服务。本文在LwIP协议栈基础上通过开源代码构建了嵌入式Web服务器。服务器通过接收、解析浏览器请求报文,获取其请求方式(Get方式或Post方式)、请求类型(是否包含数据交互)及请求资源名称。若请求包含数据交互式请求,如Html脚本中表单提交操作,则提供基于CGI的回调机制,完成服务器与浏览器端的数据交互;若请求为网页访问,则通过文件系统接口直接调用相应网页资源。报文解析处理完成后,服务器将本地端网页资源封装为Http报文发送回浏览器端,浏览器将按协议解析报文,获取网页脚本,并在浏览器页面中展现给用户。
由于CGI仅提供基于整体页面的交互式刷新机制,页面在数据交互时必须从服务器端获取完整的网页脚本并整体刷新,造成网页闪烁、服务器资源耗费高等问题。Ajax是一种基于异步响应的快速动态网页交互技术,即浏览器在刷新页面时,仅需从服务端获取待更新的网页脚本,而无需重载整个页面。在Http报文交互时,本文通过增加对Ajax报文帧的解析和封包,构建了基于Ajax的应用程序回调机制,解决了CGI刷新页面的闪烁问题,并有效降低了服务端资源耗费。Web服务端流程如3所示。
在网页端,Ajax要求将网页拆分为静态的主体网页部分及动态子网页部分,主页面通过div调用子网页;主网页Ajax部分基于XMLHttpRequest对象与JavaScript技术,前者实现Ajax数据交互的基本功能,后者实现Ajax主体框架。
Web资源方面,利用意法半导体提供的Fat32文件系统动态链接库,通过对文件系统相应接口添加板载NAND flash驱动的方式,可构建标准的stdio文件输入输出机制,为浏览器提供丰富的Web资源存储。
5 结论
本文结合传统机房监控系统特点,设计开发了一种基于电力载波的机房监控系统。利用机房丰富的电力线缆资源,实现大量散布式传感器的组网通信。经验证,本系统通信稳定、针对性强、成本低、维护难度小、展现手段丰富,且具有节能降耗的特点,具有很高的应用价值。
参考文献
[1]郑伟.嵌入式机房环境监控系统的研究与设计[D].昆明理工大学,2013.
[2]魏建国,黄中,周勇.一种基于双向可控硅隔离型延时可控电路的实现方法[J].机械与电子,2008(9):74-76.
[3]廖桂华.基于1-wire总线的温度传感器网络[J].信息化研究,2009,4(35):55-57.
[4]邱建东,李虎成,张帅.基于STM32和嵌入式Web服务的智能温度监测系统[J].宁夏大学学报,2015,1(36):46-49+56.
[5]杨秋虎.基于LabWindows/CVI的Modbus通信实现[J].电子科技,2015,2(28):156-159.
[6]赵莹,杨伟鸿,李艳娟,曲萍萍.具有负载识别功能的数字电能表设计[J].北华大学学报(自然科学版),2015,2(16):263-267.
[7]黄涛,黄英.基于ST7538的电力线载波通信系统设计[J].自动化技术与应用,2010,3(29):58-59+62.
作者简介
李光(1980-),男,现为海军装备部信息系统局工程师。
作者单位
海军装备部信息系统局 北京市 100841