童惠彬,高伟,苏俊杰,陈聪伟,郭谋发
(福州大学 电气工程与自动化学院,福建福州 350108)
一般采用巡检的方式对变电站的环境进行监测,具有一定的随机性和局限性。尤其在山区、郊区等偏远人稀地带,恶劣的工作环境对变电站运行设备的安全运行构成威胁,严重时可能引起闪络。因此,本文提出一种基于ZigBee无线网络的变电站环境监控系统[1],采用ZigBee通信和以太网通信相结合的方式,实现变电站环境的实时监测,并在环境温湿度越限时通过控制防潮控温设备的启停来调节变电站环境温湿度。
系统结构如图1所示,智能控制器对变电站环境温湿度进行实时采集,根据控制策略来控制站内的加热器、抽湿机和空调等防潮控温设备的启停以达到调节变电站环境温湿度的目的。同时将环境温湿度以及设备的运行状态通过ZigBee无线网络发送到位于主控制室的通信管理机,并执行通信管理机器下发的控制命令。通信管理机对底层各个控制器发来的数据进行管理并进行规约转换,通过以太网传送到WEB服务器,并接收WEB服务器下发的控制命令。管理人员可以通过采用Delphi开发的上位机软件对现场的温湿度以及空调、抽湿机、风机等设备的运行状态远程进行实时监测与控制。
图1 系统结构图
智能控制器[2]由微处理器、温湿度传感器、开关量采集、继电器输出以及ZigBee无线通信等模块组成。主要介绍微处理器、ZigBee无线模块。硬件构成如图2所示。
控制器选用Microchip公司的PIC24FJ64GA004作为主处理器。该CPU采用16位的改进哈佛结构,单指令预取机制可帮助其维持吞吐量,集成有 UART、定时器和A/D转换器等外设。在满足控制器功能要求的同时CPU资源也得到了充分的利用,并且由于其最高运行速度达到16 MIPS,性能裕量适中。
ZigBee无线通信采用美国Digi公司的XBee模块,是一种远距离低功耗的数传模块,可组Mesh网络。每个模块都可以作为路由节点、协调器以及终端节点,ZigBee通过DIN与DOUT与CPU进行通信。硬件原理如图3所示。
ZigBee传输设备在整个系统中用于实现底层数据向通信管理机汇总,当ZigBee设备从采集终端接收到监控数据后,通过自组建的无线网络将数据发送到监控中心。同时,监控中心也可通过ZigBee网络对各个监控节点发出控制指令,从而实现数据的双向通信以达到遥测和遥控的目的。
图2 智能控制器硬件框图
图3 XBee RF硬件原理图
通信管理机[3]由微处理器、以太网通信、ZigBee无线通信、GPRS无线通信等模块组成。主要介绍微处理器、以太网通信和 ZigBee无线通信模块。硬件构成如图4所示。
通信管理机采用Digi公司的Rabbit 6000芯片作为主处理器。Rabbit 6000支持10/100 Base-T以太网、安全的802.11 b/g和 WPA2能实现最高水平的安全性。其扩展板RCM6710带有多达4 MB的串行WEB页面的数据记录存储,而且带有RJ45以太网接口。并且可嵌入μC/OS-II操作系统[4]。具有信息处理能力强、运算速度快、集成度高等特点。
基于TCP/IP的以太网技术具有应用广泛,软硬件资源丰富,很容易将控制现场的数据与信息系统上的资源共享,数据的传输距离长、传输速率高等特点。RCM6710模块通过Tx+、Tx-、Rx+和Rx-这四根数据线实现以太网通信。
考虑到通信距离问题,通信管理机的无线通信模块选用增强型无线通信模块XBee Pro ZB模块,外接5 dB全向天线。模块通过一个逻辑电平的异步串口连接到MCU。数据以异步串行信号通过DIN引脚进入模块,从DOUT引脚输出。
图6 通信管理机程序结构图
图4 通信管理机硬件框图
对环境信息采集处理和判断的依据主要通过与设置的露点凝露值比较,实际上对开关柜的环境温湿度进行监测目的是为了防止温湿度达到露点而影响开关柜内的设备运行。程序流程如图5所示。
图5 智能控制器程序流程图
首先是初始化,包括串口、定时器和I/O口等,接着判断是否有接收数据指令。如果收到数据,CPU则按照通信协议进行解析,并执行相应的命令及应答;然后判断2 s定时是否已到,如果定时时间到,则CPU向温湿度传感器发出采集数据指令。采集完成后,CPU对数据进行处理比较决定是否启动继电器从而控制加热器、抽湿机等设备,而空调则采用与CPU串口相接的红外控制器进行控制。最后将采集的数据及设备的工作状态通过Zig-Bee无线网络发送到WEB服务器。
在RCM6710通信模块中有UDP通信协议与TCP通信协议[5],UDP协议可靠性较低,常应用在速度和性能比可靠性要求更高的应用程序中。而TCP协议中提供了有保证的传输、错误校正和缓冲,保证了数据传输的可靠性,因此在设计中选用了TCP为传输层协议。
系统的实时性能是通过设定时钟节拍来切换任务的。在此设定为每秒钟切换50次任务,即每个任务运行的时间为20 ms,时间到了必须强制把CPU的控制权交给优先级高的任务。程序结构如图6所示。
系统共创建如下三个任务:
1)Task_TimeDeal任务主要负责设定TCP通信与ZigBee通信的延时重发和超时判断的时间;负责TCP数据的发送处理。TCP的数据发送是通过设定每250 ms查询一次各个缓冲区是否有数据,如果有就调用 sock_wr(&S,(char*)DataBuf[i].Len)函数将数据发送出去。此任务的优先级设为最高。
2)Task_ZBDeal负责ZigBee数据的接收和发送以及参数变更的存储;调用TRXPackF()函数对ZigBee数据进行接收并处理;通过调用ZBPardeal()对参数的变更进行处理,将变更的参数下发;事件的超时通过调用ZBTimeOut()函数进行处理。
3)Task_TCP任务主要负责获取上位机下发的控制命令,然后进行解析,此过程是在TCP/IP协议上进行数据传输。TCP数据打包也是在Task_TCP任务里面完成的,但是数据发送是放在Task_TimeDeal任务里面。
最后调用OSStart()函数开始多任务的调度。系统根据任务及事件的优先级对CPU控制权进行实时的分配。
采用Delphi[6]开发的人机界面可以实时监控现场的温湿度以及设备的工作状态。上位机包括的模块有:参数设置、设备管理、当前数据、数据召唤、历史数据查询、状态查询、告警事件以及打印服务等模块。
主要介绍以下几个模块:参数设置模块实现加热器、抽湿机和空调等设备启停的温湿度阀值设置;设备管理模块可以根据实际情况需求现场添加管理机或者控制器,并选择所要控制的开关柜房间和通信管理机的IP地址;历史数据模块方便用户查询开关柜历史温湿度信息,通过图形分析变电站的运行情况。
智能控制器通过ZigBee模块与通信管理机进行通信[7-8]。ZigBee模块采用应用编程接口API的通信方式。因此,智能控制器与通信管理机之间的数据传输遵循API模式的固定帧格式,API数据包结构如表1所示。ZigBee网络中的每个节点都有一个16位网络地址和一个64位物理地址,当各节点加入网络时,使用64位地址进行通信,成功加入网络后,网络会为各节点分配一个16位的网络地址,如果传输时目标网络地址未知,设为0xFFFE。
数据域存放用户要发送给目的节点的数据,可由用户根据实际需要自定义数据域中的数据格式。本系统自定义API帧数据域格式如表2所示。其中地址域为底层设备的源地址,采用4个字节BCD码表示。控制码表示具体的通信行为,包括数据传输方向标志位、子站应答标志位、读写标志位和具体功能码。数据域的信息和长度由功能码决定,通过具体功能码可以表示不同的控制命令。
表1 API数据包结构
表2 API帧数据域格式
上位机通过以TCP/IP协议为基础的以太网与通信管理机进行数据交换。通信数据帧格式如表3所示,其中地址域占四字节,分别为目的地址和源地址。控制码表示具体通信行为,不同的控制码对应的数据帧长度及数据域信息也不同;数据域包括上位机所需现场设备运行状况的信息或者上位机下发的设备工作的阈值。
表3 通信数据帧格式
本系统采用ZigBee和以太网相结合的通信方式,实现变电站环境的远程实时监测和控制。该方案已申请实用新型专利,并在部分变电站中投入运行。实际应用中,系统通信稳定可靠,能实时并准确监测与控制环境温湿度以及开关柜设备运行状态,保证变电站安全运行。
[1]武风波,强云霄.基于ZigBee技术的远程无线温湿度测控系统的设计[J].西北大学学报(自然科学版),2008,35(15):731 -734.
[2]李文仲,段朝玉.PIC单片机与ZigBee无线网络实战[M].北京:北京航空航天大学出版社,2007.
[3]贺鹏程.基于RCM5700的分布式仪表设计[J].电子设计工程,2011,18(19):130-133.
[4]陈媛,黄贤英,李卫东.μC/OS-Ⅱ中任务调度与中断处理的实现机理[J].自动化与仪器仪表,2004,11(01):49 -50.
[5] BehrouzA.Forouzan.TCP/IP协议族(第3版.中文导读英文版)[M].北京:清华大学出版社,2009.
[6]曹曦,夏安邦,赵书红.基于Delphi的多功能电表人机界面的数据处理[J].工业控制计算机,2007,20(9):49 -50.
[7]任秀丽,于海斌.ZigBee无线通信协议实现技术的研究[J].计算机工程与应用,2007,43(6):43 -45.
[8]曾志宏,郭谋发,杨耿杰.采用ZigBee技术的智能家居用电信息采集系统[J].电工电气,2011,23(10):25-29.