APP下载

基于物联网的智能用电管理系统研究与实现

2015-01-18刘志刚

湖北工业大学学报 2015年5期
关键词:链表线程智能网

刘志刚

(无锡职业技术学院,江苏 无锡214002)

1 ZigBee技术及电力线载波(PLC)概述

ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用[1]。ZigBee网络拓扑结构见图1。

图1 ZigBee网络拓扑图

电力线载波(Power Line Carrier)技术是指利用现有电力线,通过载波方式将模拟或数字信号进行高速传输的技术。

PLC的最大特点:不需要重新架设网络,只要有电线,就能进行数据传递,无疑成为了解决校园内数据传输的最佳方案之一。同时因为数据仅在校园这个范围中传输,束缚PLC应用的3大困扰(变压器对信号有阻隔作用,三相电力线间信号损失大,电力线负荷重时阻抗过高)将不复存在,PLC调制解调模块的成本也远低于无线模块。

2 系统设计与实现

2.1 系统整体方案

基于物联网技术的智能用电管理系统,利用先进的数据采集技术、方便的网络传输技术及开源稳定的嵌入式系统为基础,采用时间策略、功率策略、总功策略等对各个用电终端实现智能化的管理,并实时在线监控各个用电终端的状态,方便消除各种用电安全;系统采用预付费方式对各车间或设备用电进行管理,这将有利于降低电能浪费。智能网关是整个系统的核心部件,该网关支持TCP/IP协议、ZigBee协议和PLC协议,智能网关采用ARM926EJ-S为控制核心,实现了TCP/IP协议栈与ZigBee协议栈之间的转换,使得不同网络中的数据可以实现互通;网关内置电力载波通信Modem,支持电力载波通信,内置GPRS模块支持无线上网。系统整体结构见图2。

图2 系统结构图

2.2 系统硬件原理图

系统核心的硬件为智能网关的设计,该网关采用ARM926EJ-S为控制核心芯片(8Kbtye数据缓存,MMU单元180MHz频率时200MIPS指令运行速度,MMU内存管理单元,保证了网络数据处理的效率),内置以太网控制器、ZigBee核心芯片CC2430、PLC通信 Modem、GPRS网络通信模块。智能网关硬件原理见图3。

网关网络外置一个RS232串行口,方便主机对网关程序的调试处理;标配1个10/100M以太网控制器,方便支持局域策略控制及各种基本参数配置;配置一个GPRS模块外接天线,保证GPRS网络的稳定性;PLC通信Modem通过外置220V电源接口,以电力载波技术实现数据采集与控制信息传输;外置一个ZigBee天线接口,通过CC2430模块接收或发送数据帧到传感节点。

图3 智能网关硬件原理图

2.3 系统软件原理图

管理系统软件采用三层模式实现,至底而上分别为控制终端程序、网关控制程序、上位机管理程序三个部分,三部分程序在实现逻辑上相互独立,功能上相互协作,共同完成整个用电系统的智能监控功能。系统软件原理见图4。

图4 系统软件原理图

上位机部分包括监控系统、数据库、同步程序三部分。监控系统实现了对现场终端各种信息的监视和对系统基本信息的配置功能,监控子系统显示数据库中实时现场数据,同时将所有配置信息、控制信息保存到数据库,当配置信息写入时将更新数据库版本。同步程序一直监视数据库的版本,如果发现数据库为新版本,则会通过智能网关将数据同步更新到现场实时数据库中。数据库为监控系统与同步程序数据交换池,实现两部分数据的传输。

智能网关软件采用多线程方式实现,主要包括一个主线程,四个监视线程。主线程监视RJ45的下载数据,包括终端下载消息、策略下载消息、控制信息、查询信息等。三个监视线程分别为:监视GPRS下载线程,包括终端下载消息、策略下载消息、控制信息等;PLC Modem上报线程,专门用来接收终端自动上报的各种信息;GPRS上报同步线程,当终端状态信息发送改变后,集中控制利用GPRS上报同步线程将新的数据同步到上位机数据库中;协议栈转换线程,专门用来完成TCP/IP协议数据与ZigBee协议数据之间的转换,实现不同网络之间数据的交互。

现场终端部分根据消息的目标地址和路由包信息,进行消息的转发。当为本终端最终处理消息,则本终端进行处理,同时上行路由策略,给集中控制发送返回消息;非本终端最终消息,则解析路由包按照路由包信息,将消息进行转发,完成消息的路由。

终端组网过程在施工过程中完成,每次安装完成一个终端后,该终端主动发送组网请求消息,所有终端收到该请求消息后先判断自己是否已转发过该消息,如果没有转发则转发该消息,同时设置本终端已转发该消息;如果已转发过该消息则不处理。集中器收到终端的组网请求消息后,将消息的路径作为该终端的路由过程,每次集中器收到该终端其他路径上传的消息,都需要将该路径与已保存的路径相比较,选择一条最短路径作为该终端的主路由,再选择一条跟主路径完全不相同的路径作为备份路由。当集中器完成终端的主、备路由后,表示该终端组网完成,集中器给对应终端下发组网成功确认消息。

为了保证三层之间通信的可靠性,系统启用控制表为消息传递可靠性提供保证机制。系统每个终端分配一个控制表,当需要对该终端进行消息交互时,就将该控制表插入到等待扫描链表的尾部等待扫描发送任务来扫描发送。扫描线程以10ms为周期扫描等待链表,每次扫描都是从链表的Current-RecNo处开始扫描控制表。同时启动一个100ms定时器从WaitRecNo处开始扫描等待发送链表,把那些超时重发的控制表调整到链表尾部TailRecNo处,等待再次发送。总共定义了四条链表来维护整个控制表:扫描链表(ScanList)、删除链表(DeleteList)、无任务链表(NoneList)和空闲链表(FreeList)。链表的结构见图5。

图5 控制表链表结构

图5 的链表由三部分组成,链表头部节点HeadRecNo到WaitRecNo节点之间是已经发送了但是还没有收到响应消息的控制表,100ms定时器就是扫描该部分控制表,并移到链表尾部TailRec-No处,等待下次再次发送,同时将WaitRecNo节点后移到CurrentRecNo处;节点 WaitRecNo到节点CurrentRecNo之间是已经发送但是还没有超时的用户,等待返回响应消息或超时处理;节点Current-RecNo到节点TailRecNo之间的控制表是还没有发送(等待发送)的控制表,每隔10ms定时扫描线程扫描CurrentRecNo到节点TailRecNo之间等待发送的控制表,通过电力线或GPRS或ZigBee发送出去,同时CurrentRecNo节点需要后移发送的节点个数。

链表有扫描链表、删除链表、无任务链表、Free链表,在系统初始化时,控制表还没有与任何终端关联,则所有的控制表都处于Free链上,当需要对终端进行操作时,从Free链表中获得一个空闲控制表,该控制表与该终端关联起来,同时将该控制表从Free链中移到扫描链表中;当收到返回响应消息,且发送成功后,该终端对应的控制表将从扫描链表中移到无任务链中;当该终端离开本网络了,则需要同步删除该终端对应信息,这时就将该终端对应的控制表移到删除链表中,如果收到返回响应消息,且删除终端信息成功,则将该控制表释放,不与任何用户关联,同时将该控制表移到Free链上。

消息传递的可靠性使用控制表来保证,当需要操作终端时,从Free链表中分配一个空闲控制表与该终端关联起来,同时将该控制表移入到扫描链表中,等待扫描线程定时发送消息。控制表定义了当前控制表所属链表类型、发送次数,可能出现当本次发送的响应消息还没有来得及返回之前,用户数据又发生了操作,再次发送消息,而终端上次返回消息刚好收到,则以为发送成功将控制表移入到NoneL-ist链表中,这样就造成了数据不一致的情况,为了解决这个问题,在控制表中还增加了消息序列号这一字段。

3 结论

基于物联网技术的工厂智能用电管理系统是在国内外“物联网”和“智能工厂”理论研究和实践基础上,借助各种物联网技术实现了工厂能源的实时监控、智能管理、自动化控制,真正实现了智能工厂的节能减排与绿色制造。系统已在工厂成功应用,并通过其示范效应推进了无锡及其周边地区制造企业进行节能减排、绿色制造、节约低碳方面的产业升级。

[1] 赵建安,金千致,魏丹青.我国主要工业部门技术节能减排的潜力及实现途径探讨 [J].自然资源学报,2012(06):912-921.

[2] 姚朝霞,化明松,楼 勇.基于MSP430单片机的集中式智能控电系统设计[J].广西轻工业杂志2006(06):71-73.

[3] 冯友亮 杨吉飞 刘奇志 钟湘陵.智能型电表及远程用电网路管理系统的研制[J].电工技术杂志,2010(05):35-37.

[4] 王春恒,肖柏华.智能化技术在节能减排中的应用潜力[J].中国能源,2011(10):68-72.

[5] 罗礼培.节能减排:智能轮胎成趋势[J].物料技术与应用:货运车辆,2012(04):59-61.

猜你喜欢

链表线程智能网
基于C#线程实验探究
5G赋能智能网联汽车
基于国产化环境的线程池模型研究与实现
基于二进制链表的粗糙集属性约简
跟麦咭学编程
智能网联硬实力趋强
迎战智能网联大爆发
浅谈linux多线程协作
C++的基于函数模板实现单向链表
基于SJA1000的CAN总线智能网桥设计