2015年(62)
分类: 嵌入式
2015-07-04 23:26:47
0 引言
一直以来,我国低压电网用电侧处于无法远程监控状态,无法获知漏电流越限信息及故障跳闸原因,更无法对故障进行定位和自动隔离,增加一线员工的工作量。若要解决此问题,必须装设带通信型漏电流动作保护器(下称智能断路器),并把信息实时上传到主站系统进行分析管理。目前常规的智能断路器是通过RS-485总线或GPRS模块无线公网直接与主站进行数据交换,但RS-485总线传输距离短、布线不方便且维护量大,GPRS模块无线公网由于智能断路器的GPRS模块节点多,通信费用高且与主站连接造成多并发问题。
本文设计一种用于低压配网负荷及漏电流监控的通信管理机,可与分散在一定区域范围内的智能断路器通过自组网的ZigBee模块无线传感器网络进行数据通信,统一管理各个分散的智能断路器数据,并可通过GPRS模块无线公网与监控主站进行数据交换,实现对智能断路器的远程监测、分合控制以及运行参数的设置。
通信管理机担负ZigBee数据采集、命令转发、数据及状态量存储等工作,其具体功能包括:定时采集并存储低压线路智能断路器的电压、电流、漏电流数据,并定时上传主站;接收主站命令,向智能断路器发遥控命令实现智能断路器的参数设置、手自动设置及开关分合控制;存储告警事件并立即上传主站。
1 通信结构与智能断路器
1.1 通信结构
通信管理机通信结构如图1所示。与智能断路器间为ZigBee模块无线传感器网络,各个智能断路器作为ZigBee无线数传网络节点,通信管理机为ZigBee无线数传网络的协调器,数据传输遵循智能断路器厂家提供的通信协议。与主站间为GPRS模块无线公网,主站拥有固定的IP地址,通信管理机上电即自动向特定IP的主站申请连接,待主站对连接响应后,主站和通信管理机便建立起透明的数据连接。
图1 通信管理机通信结构图
1.2 智能断路器
智能断路器是具有数字化接口,能接收分合闸命令并能将位置信息、状态信息等与其它设备进行传输的设备,集保护、测量、监控于一体,具备人机对话显示、存储和记忆等功能。本文使用的三相和单相智能断路器选择适用于低压电网的通信型剩余电流断路器,可运行在手动或自动控制方式下,自动控制方式下突变漏电流、缓变漏电流、电流或电压越限智能断路器自动跳闸,并在实时数据帧的数据位最后一位表示自动跳闸原因,手动控制方式下不跳闸;其主要外设包括低压线路的输入口和输出口、状态指示灯、分合闸按钮、RS-485接口和交流电源;该系列断路器的功能如表1所示(只列出主要功能),包括读数据、读参数、设置参数、智能断路器分合闸及设置手自动运行方式。智能断路器通过RS-485接口外扩ZigBee模块实现与通信管理机的ZigBee无线通信,外扩的ZigBee模块包括RS-485接口、RS-485转UART芯片。ZigBee模块无线传感器网络通信具有自组网、低功耗和抗干扰能力强等优点,方便通信管理机对智能断路器进行数据查询及控制。
表1 智能断路器主要功能
2 通信协议设计
通信管理机与智能断路器数据传输遵循智能断路器厂家提供的通信协议(具体参见标准DL/T 645-2007),下称“终端规约”。主要介绍通信管理机与主站的通信协议,下称“主站协议”。
通信管理机与主站数据传输规则采用应答方式,主站主动召唤数据或者通信管理机在正常工作状态下每隔N 分钟(时间间隔可设置)主动上报一次数据,当产生告警信息时,通信管理机即时上报告警事件。
每帧由帧起始符、数据长度、地址域、数据单元标识域、数据单元域、校验域等组成,如表2所示。
表2 主站协议通信帧格式
数据传送,低字节在前,高字节在后。起始符值为68H,标识一帧数据的开始;数据长度为原始数据除开始码、数据长度、校验和及结束码外的所有数据的字节数;地址域为通信管理机地址,数据单元标识为传输数据的类型;数据单元为传输的数据;校验和为数据长度开始到校验和之前所有字节的累加和,不计溢出位;结束符为16H,标识一帧数据的结束。对启动站发送的无需数据返回的命令,从动站校验通过后一律返回接收正确命令,即系统应答报文。对SOE事件的确认必须加上当前上报的事件计数器。主站协议部分数据单元标识如表3所示。
表3 主站协议部分数据单元标识
3 硬件设计、
3.1 系统部分
系统部分主要包括中央处理器、存储系统及其外围电路。
3.1.1 中央处理器
中央处理器选用digi公司工业级RCM6710模块,工作频率可达162.5 MHz。相对于C51、DSP芯片,该模块具有数据处理能力强、串口多、外设丰富、抗干扰能力强及较高性价比等优点,满足配电网通信规约转换器要求。
RCM6710模块拥有一个USB接口、一个以太网口及6个高速UART接口。主要硬件资源及外设如图2所示。6个高速UART接口的设计分别为:串口A通过SP3232芯片提供RS-232通信接口,作为调试及程序下载口;串口B和D不作开发;串口C接ZigBee模块,实现与智能断路器通信;串口E与中兴ME3000GPRS模块模块连接,实现与主站间的数据交换;串口F通过RSM3485CT芯片提供隔离RS-485通信接口,作为预留。预留接口是考虑到系统电路设计的通用性及可扩展性,调试成功后可用于其它项目。该模块外设的串口状态指示灯显示各串口是否处于工作状态,板载实时时钟确保上传数据附带精确时间。
图2 通信管理机硬件框图
3.1.2 存储系统
存储系统包括芯片内置存储器SRAM和板载存储器。内置的SRAM空间1 MB,用于程序运行;模块板载1 MB Serial Flash和4 MB Serial Flash,分别作为程序存储器和数据存储器,数据存储器存储的内容包括:通信管理机地址、IP和主动上传时间间隔及智能断路器的历史数据、实时上传数据、运行状态和设置参数等。所存储的设置参数控制着通信管理机的运行,通信管理机启动时,将设置参数加载到RAM中进行参数配置,一旦主站对参数进行更改,参数区数据立即进行更新并保存其最新状态到Flash中。主站查询智能断路器的数据、设置参数及运行状态只需访问通信管理机的存储系统,无需再下发智能断路器。
3.2 接口部分
接口电路包括主要包括GPRS模块模块、RS-485通信电路和ZigBee模块等。
这里主要介绍GPRS模块模块。
通信管理机GPRS模块模块选用中兴ME3000模块,该模块拥有高速UART接口、Audio接口、SIM卡接口、天线接口和RTC接口。与RCM6710的接口电路如图3所示。RCM6710串口E与该模块高速UART连接实现数据交换,RCM6710的GPRS模块_RST和GPRS模块_IGT分别实现中兴ME3000模块的复位和上下电,其中GPRS模块_IGT引脚低电平持续时间超过1 500 ms时模块开启,低电平持续时间超过2 s时模块关闭。该模块与RCM6710采用双线模式通信,故使中兴ME3000模块的UART控制引脚/RTS和/DTR处于低电平。
中兴ME3000模块可通过标准AT命令进行控制和数据传送,支持内嵌TCP/IP协议,用户可以直接进行透明的数据传输,不用再考虑复杂的网络协议。
图3 中兴ME3000模块硬件原理图
4 程序设计
通信管理机实现的功能包括ZigBee数据采集、数据存储、规约转换、参数设置和数据传输等,因此采用能处理多任务的μC/OS-Ⅱ操作系统。设计时,按照功能划分任务,并根据任务的实时性要求确定任务优先级,还要按照每个任务所处理的数据量的大小,给每个任务分配大小合适的堆栈。
按功能将任务划分为定时管理、GPRS模块通信、数据解析和ZigBee通信任务。任务创建程序如下:OSInit();OSTaskCreate(TimeDeal,(void*)0,2048,10);OSTaskCreate(GPRS模块,(void*)0,2048,11);OSTaskCreate(DataCom,(void*)0,4096,15);OSTaskCreate(ZBDeal,(void*)0,4096,20);OSStart();定时管理任务是最需保证准时运行的任务,所以优先级最高。其次为GPRS模块通信任务、数据解析任务,最后为ZigBee通信任务。当多个任务同时要执行时,优先级高的先运行。
各任务分别编写,不仅能够提高开发效率,更有助于日后的升级维护。任务操作对象为缓冲区及全局变量,程序在RAM中开辟了8个GPRS模块发送缓冲区和1个GPRS模块接收缓冲区,数据顺序为FIFO(First InFirst Out)结构,采用环形队列实现。数据发送时必须先申请一个空闲的缓冲区,故要对缓冲区进行忙校验,申请缓冲区时也需要对缓冲区的大小进行合理设定。
任务创建后,根据各任务要求执行的频率,在每个任务建立的循环中写入延迟执行命令:OSTimeDlyHMSM(h,m,s,ms)。各任务间的关系如图4所示。
图4 通信管理机任务
定时管理任务主要负责计时和延迟,包括GPRS模块重发延迟、GPRS模块发送延迟和心跳包发送延迟功能,主动上传数据和心跳包上传时间间隔分别默认为5 min和2 min。下面主要介绍数据解析任务、ZigBee通信任务和GPRS模块通信任务。
4.1 数据解析任务
数据解析任务主要负责与主站服务器间的数据交换,操作的对象为全局变量、GPRS模块发送缓冲区和GPRS模块接收缓冲区,物理层按照GPRS模块协议进行数据传输,协议层根据主站规约进行解析和打包。如图4所示。
数据解析任务首先对GPRS模块接收缓冲区数据根据主站规约进行解析,可分为应答、上行和下行三类处理。应答帧主要为主站对通信管理机主动上传数据、心跳包和告警事件回复的确认帧。上行部分主要为查询数据,含通信管理机的地址、时间、定时上传时间间隔、低压线路的实时数据以及智能断路器参数、开关状态和控制方式。将上行的回复数据按主站规约处理形成回复报文存入GPRS模块发送缓冲区。下行部分主要为智能断路器的参数设置、手自动设置及分合闸命令,更改对应的变更标志,即全局变量,按规约形成回复确认帧存入GPRS模块发送缓冲区。
接着处理通信管理机主动上传数据和心跳包,主动上传数据包括三相智能断路器的三相相电流和三相漏电流以及单相智能断路器的相电压和单相漏电流,上传数据根据主站规约打包,定时存入GPRS模块发送缓冲区。
4.2 ZigBee通信任务
ZigBee通信任务负责与智能断路器的数据交换。通信协议为智能断路器厂家提供的通信协议,ZigBee通信任务的操作对象为全局变量、ZigBee模块数据接收缓冲区和ZigBee模块数据发送缓冲区,如图4所示。
ZigBee通信任务分为下发数据和接收数据两部分。下发数据又分为两类:第一类为每10 s主动下发一次的ZigBee数据采集任务;第二类为变更任务,智能断路器无手动模式参数设置,手动模式数据越限不上传告警事件,故在ZigBee通信任务设计手动模式下的参数设置,若为手动模式的参数设置变更标志,则立即保存新的越限告警参数并上传手动模式参数设置成功告警事件,若为其它变更标志则将变更数据按终端规约打包存入ZigBee发送缓冲区,若通信管理机重发三次变更命令帧至智能断路器未收到确认帧,则立即上传变更失败告警事件。该部分变更内容包括自动跳闸动作值设置、手自动设置和分合闸。接收数据处理流程:从ZigBee数据接收缓冲区接收一有效帧,根据终端规约解析,分为采集数据应答帧和变更设置应答帧。采集数据应答帧中数据位的最后一位为自动跳闸原因,首先对该位进行判断,若有跳闸则将带自动跳闸原因告警事件存入GPRS模块发送缓冲区,并把采集的其它数据位进行存储。变更设置应答帧代表参数设置成功,将相应的变更设置重发次数清零,并把相应的设置成功告警帧存入GPRS模块发送缓冲区。由于智能断路器无运行状态查询功能,ZigBee通信任务对设置成功告警事件进行存储,主站可以通过访问通信管理机的存储区数据以得到智能断路器的运行状态及参数。
4.3 GPRS通信任务
GPRS模块通信任务主要为GPRS模块的登陆和退出连接。首先判断是否因为通信管理机地址或主站服务器地址及端口更改而需要重连网络。如果需要重连网络,必须向主站发送退出登录包后关断连接,同时清除发送和接收缓冲区,清除GPRS模块登录过程中的错误记录。重连后便可进行GPRS模块数据的接收和发送。
各状态变更的流程图如图5所示。在GPRS模块通信中,将通信管理机与主站之间的连接分为四种状态:GPRS模块_OFF(代表模块没有正常工作)、GPRS模块_WORK(代表AT指令正常)、GPRS模块_GW(代表GPRS模块网关连接正常)、GPRS模块_SOCK(代表SOCK链接正常)。每一次执行GPRS模块通信任务时都会进行连接状态的判断,当连接状态为GPRS模块_SOCK才可以正常收发数据。
图5 GPRS通信状态流程
5 结语
本文提出一种可实现低压电网负荷及漏电流综合管理的ZigBee模块通信管理机设计方案,该通信管理机可与主站及多台带通信功能的智能断路器组建成漏电监控系统,实时监控多条低压线路,保障低压电网更加安全、可靠的运行。通信管理机系统程序设计采用多任务的设计思路,提高开发效率,也有助于日后的升级维护。本文所设计的ZigBee模块通信管理机在现场经过数月的运行,通信稳定,数据及命令转发准确,具有很高的可靠性。