当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]在智能配电网中,需要采集的电力数据以及数据的来源较多,本文提出的消息设计方案能够很好地解决大量数据源的管理,保证系统的实时响应,提高系统的工作效率。

智能电网是一个能够实现对用户和设备进行实时监视的完整体系,是利用各种信息提高电网的可靠性、经济性和灵活性,为电网运行和管理人员提供更完整、便捷的电网状态显示界面,帮助电网实现智能化运行的新型电网。智能电网包括智能发电、智能输电、智能配电和智能变电4个部分。在此,智能配电数字终端软件系统根据内聚性、通用性划分为应用逻辑、业务逻辑、消息控翻、设备管理和基础构建5个层次,降低了层与层之间的耦合性。在智能配电网中智能配电数字终端需要采集的电力数据和数据来源很多,为了管理多个事件源和消息源,采用了基于反应器模式的事件驱动机制,保证了系统的实时性,提高了系统的工作效率。

近年来,智能电网这一新概念逐渐受到国内外电力专家的青昧。智能电网主要是运用先进的网络分析技术以及新的智能化技术手段,将电力企业的各种设备、控制系统、生产任务及工作人员有机地联系在一起,在一种“公共信息模型”的基础上自动收集和存储数据,对供电系统的运行及电力企业的经营管理进行全面、深入的分析,客观正确地优化其资产管理和供电服务。智能电网包括智能发电、智能输电、智能配电和智能变电4个部分。

智能配电网是智能电网的重要组成部分,可实现对微网的灵活控制,从而提高需求侧的供电可靠性和管理水平。智能配电数字终端与系统主站的通信支持《Q/GDW 376.1—2009电力用户用电信息采集系统通信协议》,在与计量设备通讯时支持《DL/T 645—2007多功能电能表通信规约》。智能配电数字终端实现了实时数据采集、定时自动采集、终端主动上报等多种数据采集方式,同时也支持电能数据、交流直流模拟量、电能曲线、电能质量越限统计数据、事件记录等各种电力数据类型,提供友好的人机界面,能够与主控模块进行显示、键盘、本地维护口等信息的交互,在通信端采用了红外、串口、以太网、USB等多种通信方式,实现了配电自动化、事件记录、远程控制一体化。

在智能配电网中,需要采集的电力数据以及数据的来源较多,本文提出的消息设计方案能够很好地解决大量数据源的管理,保证系统的实时响应,提高系统的工作效率。

1 终端软件系统

1.1 终端软件模块

智能配电数字终端软件系统根据各模块职责内聚性、通用性、领域相关性等划分为基础构建模块、设备管理模层、消息控制层、业务逻辑模层、应用逻辑层等5个部分。软件系统逻辑划分如图1所示。

系统中基础构建模块负责向系统提供所有运行所需的基础构建,如引用计数、SQLite数据库、Log运行记、XML解析、消息管理器等;设备管理模块提供对LCD显示模块、ADC设备、电源等硬件设备的基础管理和高层抽象;消息控制模块将设备的输入用消息的形式引入系统;业务逻辑模块主要负责协议解析、数据计算分析、对数据库的存储及操作等;应用逻辑模块处理本地用户输入、界面显示控制,以及用消息注册的方式接收消息,并进行消息处理等相关操作。

1.2 消息控制模块

消息管理为系统运行架构的运行机制,负责控制各个设备产生消息,供其他消息控制模块调用。消息控制模块基于消息管理器,屏蔽各设备实现的差异,以增强系统的扩展性以及降低子系统之间的耦合性,统一各种输入输出设备在系统中的实现,使所有设备的输入均以消息的形式引入系统。系统运行流程如图2所示。从图2中看到,在消息管理循环中,消息管理器将对主站通信设备、用户输入、电能表通信设备、开关量通信设备、直流信号采集设备和定时器等抽象设备的输入以消息的形式引入系统,并通告应用逻辑模块对消息进行处理。


2 系统运行机制

本系统的运行基于反应器(Reactor)模式的事件驱动机制。Reactor释义“反应器”,是一种事件驱动机制,与普通函数调用的不同之处在于:应用程序不是主动地调用某个API完成处理,而是根据Reactor提供的回调机制统一将接口注册到Reactor上。当这些事件发生时,消息管理中心会调用这些已经注册的函数处理相应的事件(I/O读写、定时和用户输入等)。这样系统能够将处理函数的调用者与被调用者分离,使本系统更加灵活。

2.1 系统运行结构设计

本系统采用的事件驱动模式与消息服务系统类似,同时又存在区别。在消息系统中,消息客户端和消息服务器端只需建立一个连接,就可以随时发布消息。事件驱动的本系统预先定义事件的触发条件和事件的执行过程并在客户端和服务端建立连接,当3系统在工作过程中发现事件满足触发条件,事件就被激活并开始执行。系统中的事件驱动流程示意图如图3所示。

图3中,事件消费者向事件管理器订阅事件,事件生产者向事件管理器发布事件,当事件管理器从事件生产者那接收到一个事件时,事件管理器把这个事件转送给相应的事件消费者。

2.2 事件管理器循环设计

本系统中的事件管理器负责设备或定时事件的准备(Prepare)、选择(Select)、检查(Check)、处理(Dispatch)、清楚(Cleanup)5个步骤,事件管理器的分发循环如图4所示。

根据系统的实际需要,模型中定义事件源的基类Source。主站通信、定时采集、用户输入等多种具体的事件源可以继承自该基类。同时全局事件管理器SourceDispathcer提供3个操作来管理事件。待处理事件管理器类SourceDispatchContext则负责管理符合触发条件的事件。3个类之间的关系如图5所示。

从图5可看到,全局事件管理器提供接口ToRegisterSouree注册系统关心的事件,同时使用接口UnRegisterSource注销事件,iteration OfDispatch则负责事件分发循环的5个步骤。首先将所关心的I/O设备中文件描述符放入待检队列或者设定定时周期等参数;然后检查相关设备是否可读写或定时周期到达,将满足触发条件的事件放入待处理事件队列中;最后分别调用相关的事件处理函数处理事件,并清理待处理事件队列。

3 Reactor事件处理机制

3.1 事件源

在智能配电数字终端系统中,事件源主要由采集模块、主站通信、用户输入和定时器等抽象设备4大部分组成,关系如图6所示。

事件源在本系统中被封装成文件描述符,程序在指定的文件描述符上关注关心的事件。

3.2 I/O多路复用

通常对一个文件描述符指定的文件或设备进行I/O操作,系统有3种I/O方式:阻塞和非阻塞同步,以及复用型I/O。复用型I/O,指当满足一个或多个I/O条件(可读、可写或异常)时,进程能够立即知道,从而可以正确并高效的处理。

本系统的I/O多路复用使用一个事件多路分离器,分离器将来自事件源的I/O事件分离出来,并分发到对应的事件处理器。通常预先注册需要处理的事件及事件处理器(或回调函数);事件分离器负责将请求的事件传送给事件处理器。

3.3 定时器等抽象设备

在本系统中消息源主要都是I/O设备,可以用系统函数Select和poll来实现I/O多路复用机制。定时器作为一种特殊事件,虽然不能用Select函数将其放入待检查队列,但同样可以在事件分发循环的准备(Prepare)阶段设置定时周期等参数,检查(Check)定时周期是否到达,当定时周期到了,将定时处理事件放入待处理消息队列。

3.4 事件处理

对应每一个事件源,在初始阶段将动态库函数引入系统,建立事件到相应处理函数的映射,Message Center是事件处理的接口,侠处理函数的注册、注销,当有事件进入“就绪’状态时,调用注册事件的回调函数处理事件。事件处理中心类如图7所示。

各种具体事件的处理涵数在MessageCenter中进行注册,MessageCenter采用map容器对注册的各种事件处理函数进行管理,能够高效率地查找各相关处理函数,提高了系统的实时响应能力。事件处理的时序如图8所示。

4 结语

本文从智能配电数字终端系统实现的角度提出了一种基于Reactor的事件驱动模式消息管理方案,结合面向对象的思想,统一接口,对事件源和事件处理进行了封装。提高了事件的处理效率,保证了系统的实时性。根据实际需要可以在不同的系统中对于待消息队列中的事件用优先级加以区分。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

学习libevent有助于提升程序设计功力,除了网络程序设计方面外,libevent的代码里有很多有用的设计技巧和基础数据结构,比如信息隐藏、函数指针、c语言的多态支持、链表和堆等等,都有助于提升自身

关键字: libevent reactor

今年是5G元年,全球各个通讯公司都使出来毕生的经历,为了在未来5G市场上抢占一块好的地方,他们之间的竞争也催生了一大批新技术。工信部发放4张5G牌照,标志着中国正式进入

关键字: 5G mimo 总线与接口

在5G通讯领域,目前做的比较好的当属华为,但是其他几家公司也不甘示弱,就在最近,三星电子成功开发支持28GHz频段的“5G综合型基站”(Access Unit),是目前5G商

关键字: 5g通讯 三星 华为 总线与接口

广告商与受众之间必不可少的沟通媒介最核心的恐怕属于数字标牌,它已演变为交互式个性化通讯工具,为用户提供了更直观的的参与感与体验。研华基于云数字标牌解决方案一应俱

关键字: 总线与接口 数字标牌 研华

通常情况下在工业现场经常需要用两个隔离DC-DC搭配单独的信号隔离电路的方法去隔离RS-232与RS-485,但隔离的性能存在差异性,并且占板面积较大。本文将为你介绍一种稳定可靠、应用简便的全隔离解决方案。

关键字: rs-232 rs-485 多协议接口模块 总线与接口

近年来,第五代移动通信系统5G已经成为通信业和学术界探讨的热点。5G的发展主要有两个驱动力。一方面以长期演进技术为代表的第四代移动通信系统4G已全面商用,对下一代技术

关键字: 5G 总线与接口 数据分析

在工业实现当中,需要降低总线接口的宽度,这里专门有一种设备叫工业用串行/解串器(SerDes),它可以降低高带宽数据接口总线宽度。使用一个串行器就可以把数据从一个宽并行数

关键字: serdes 总线与接口 高带宽数据接口总线

在当前虽然在嵌入式系统中有许多连接元件的方法,但最主要的还是以太网、PCI Express和RapidIO这三种高速串行标准。所有这三种标准都使用相似的串行解串器(SerDes)技术,它

关键字: 串行总线 差分走线 总线与接口

对于现在的嵌入式工程师,一般都知道CAN总线广泛应用到汽车中,但是CAN总线不仅运用到汽车上,在船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求

关键字: can总线 总线与接口 接口

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线...

关键字: can 总线与接口 自动化 位流检测
关闭
关闭