发明内容
本发明所要解决的技术问题:提供一种将微电网多代理控制映射到IEC61850-GOOSE的方法,实现代理间高效、有序的信息交互。
为解决上述技术问题,本发明提供一种将微电网多代理控制映射到IEC61850-GOOSE的方法,其特征在于:包括数据模型映射和通信服务映射,所述数据模型映射包括:建立微电网内代理、基于代理通信语言和IEC61850的子代理信息建模;通信服务映射包括:建立基于代理通信语言的GOOSE状态机、设定GOOSE报文处理流程;
1)建立微电网内代理,包括以下步骤:
(11)建立微电网内单个逻辑设备或逻辑设备集合对应的代理:把IEC61850标准与多代理系统结合起来,将微电网相对独立的功能构造成对应的代理;
(12)建立各代理内的子代理:每个代理内的子代理包括内部节点子代理集合和外部节点子代理,内部节点子代理集合包括两个子代理:自治子代理和反应子代理,自治子代理基于本地信息实施自治控制,用于实现代理的自治性,维持代理本身的正常运行和接入点的稳定;反应子代理用于实现代理的反应性,根据代理自身特点和运行状况,对运行方式进行简单的自我决策,调整控制指令和参数,实现更合理、更高效、更经济的运行;外部节点子代理用于实现代理的社会性和主动性,借助与其它代理间的信息交互,自主进行协调配合,以完成微电网的分布式控制功能;
(13)根据各子代理功能划分逻辑节点集合:不同功能的逻辑节点的分类聚集构成各类子代理,若逻辑节点未包含部分微电网功能单元,则按照IEC61850-7-4标准中有关自定义逻辑节点的规范,针对微电网功能单元的基本特征,以及微电网内多代理控制的基本要求新建逻辑节点;
2)基于代理通信语言和IEC61850的子代理信息建模:
通过代理通信语言ACL中performative、sender等参数,利用IEC61850定义的信息模型作为微电网中各Agent通信的信息载体,将代理通信语言ACL融合入到逻辑节点中,生成全新自定义的外部节点子代理模型EXAG属性,实现数据模型映射;每个外部节点子代理模型包括8个数据对象:模式、性能、健康状况和铭牌、代理通信行为类型、代理通信参与者、代理通信内容、代理对话控制;
3)建立基于代理通信语言的GOOSE状态机:
通过代理通信语言建立代理间通信所需要的状态机,根据代理通信语言中的唯一强制参数Performative(行为类型)在GOOSE报文中的属性值确定接收报文和响应报文的通信行为;
4)建立GOOSE处理流程:设置报文发送流程和报文接受流程,针对已接收完毕的GOOSE报文,设定其主体内容的处理流程,实现微电网内功能代理间协调有序、快速高效的协商,有利于实现微电网的分布式协调控制功能。
在所述步骤2)中,将代理通信语言ACL融合到逻辑节点中包括以下步骤:(21)将代理通信行为类型AgentPerformative、代理通信参与者AgentParticipants、代理通信内容AgentOntology、代理对话控制AgentConversation定义为逻辑节点的数据对象;
(22)将代理通信语言ACL所包含的信息定义为各个数据对象的数据属性;
(23)定义各个数据对象的公共数据类、属性类型及功能约束。
本发明所达到的有益效果:
本发明与现有技术相比,具有以下优点:
(1)关于多代理控制在微电网内应用的传统研究,大多只给出了大体框架,本发明具体提出了将微电网多代理控制映射到IEC61850-GOOSE的方法,给出了详细的映射步骤。映射后建立的微电网功能代理及其通信规则使得微电网能够满足不断涌现的新需求,能够顺应整个微电网的发展潮流,能在更大的范围内与站外系统和设备交互操作,共同完成微电网的分布式控制功能。
(2)本发明提出将IEC61850标准中的逻辑设备或者其集合看作代理,实现了多代理体系和IEC61850体系的对应;并给出了构造代理的具体方法,解决了IEC61850标准分散功能的统一管理问题。依据本发明建立的微电网多层代理具有典型特性,能够自治地执行本地功能,可通过代理间的相互协作,完成微电网系统的各种功能。
(3)本发明提出了基于代理通信语言和IEC61850标准的子代理模型,该模型充分利用了代理特性和IEC61850特性,封装了标准化的逻辑节点模型,为代理间高效、有序的通信提供了实现前提,使得微电网内的代理变得更加智能化。采用这种方法,不仅能有效管理微电网逻辑节点和逻辑设备,还能降低微电网多代理控制映射到IEC61850-GOOSE的复杂度。
(4)本发明运用GOOSE通信服务作为代理间的通信实现方式,建立了基于代理通信语言的GOOSE状态机,将原本简单的GOOSE广播或组播机制修改为具有应答、讨论机制的多代理控制。这样既快速又节省资源,有利于在微电网内实现更加详细的代理交互机制。借助具体的通信规则,微电网内代理之间经过相互竞争和协商后,更易得出趋于全局最优的解决方案,能够更迅速地完成微电网的本地功能和分布式功能。
具体实施方式
本发明提出的一种将微电网多代理控制映射到IEC61850-GOOSE的方法包括两个部分:数据模型映射和通信服务映射,如图1所示。
(一)数据模型映射
数据模型映射部分主要完成将微电网内多代理典型特性与ACL映射到IEC61850的功能,包括以下机制:微电网内Agent建立机制、基于ACL和IEC61850的子代理信息建模机制。
1.微电网内Agent建立:
多代理系统将复杂问题分解,并交由基本组成单元Agent实现。Agent具有自治性、反应性、社会性和主动性四种典型特性。各Agent具有独立完成任务及与其他Agent通信协作的能力,能够独立解决问题域中的子问题,彼此间依赖性和耦合度低,增强了系统的鲁棒性。因此,多代理系统特别适合应用于微电网的分布式控制之中。
作为IEC61850标准中最小功能单位的逻辑节点(LN),其粒度太细,所代表的功能往往不足以构成能够自治的Agent。因此本发明将IEC61850标准与多代理系统结合起来,提供一种以微电网相对独立功能构造Agent的方法,以解决IEC61850标准内分散功能的统一管理问题。
本发明把IEC61850标准中单个逻辑设备(LD)或多个LN的集合看成Agent,统一称为LDAgent,后文简称为Agent。每个Agent中包含多个子代理,各个子代理包含完成功能所需的LN集合。这样建立的每个Agent将会具有典型特性,可自治地执行本地功能,并通过Agent间的相互协作,完成微电网系统的各种功能。基于代理典型特性的Agent建立方法如下:
(1)建立各LN或LN集合对应的Agent:如微型燃气轮机代理MT_Agent、并网联络线代理CX_Agent、负荷代理LA_Agent、风力发电代理WT_Agent、光伏发电代理PV_Agent等;
(2)建立各Agent内的子代理:每个Agent内的子代理由内部节点子代理集合I_Agent和外部节点子代理O_Agent组成。I_Agent又包含两个子代理:自治子代理I_Agent1和反应子代理I_Agent2;
I_Agent1基于本地信息实施自治控制,用于实现Agent的自治性,维持Agent本身的正常运行和接入点的稳定。I_Agent2用于实现Agent的反应性,根据Agent自身特点和运行状况,对运行方式进行简单的自我决策,调整控制指令和参数,实现更合理、更高效、更经济的运行。O_Agent用于实现Agent的社会性和主动性,借助与其它Agent间的信息交互,在系统运行模式变化、分布式电源/负荷接入或退出、发电量/负荷波动以及故障等情况下自主进行协调配合,以完成微电网的分布式控制功能。
(3)根据各子代理功能划分LN集合:不同功能LN的分类聚集构成各类子代理。另外,本发明按照IEC61850-7-4标准中有关自定义逻辑节点的规范,针对负荷、并网联络线的基本特征,以及按照微电网内多代理控制的基本要求新建了有关逻辑节点。
微电网内的Agent分层结构如图2所示。以PV_Agent为例说明,其I_Agent1由光伏发电单元的基本LN组成,包括LLN0(逻辑设备公共数据)、LPHD(物理设备公共数据)、DPVM(光伏模块额定参数)、DPVA(光伏阵列特性)、DTRC(跟随控制器)、STMP(温度)等LN,维持PV_Agent正常发电;其I_Agent2由光伏发电的电连接点(ECP)和逆变控制等功能单元的LN组成,包括XCBR(断路器)、CSWI(开关控制器)、MMDC(直流电气测量)、MMXU(交流电气测量)、ZINV(逆变器)等LN,实现PV_Agent的主动接入、退出及逆变并网等功能。O_Agent由Agent内新增的1个用于专用存放ACL的协调控制逻辑节点(EXAG)充当。
2.基于代理通信语言ACL和IEC61850的子代理信息建模
ACL是FIPA(FoundationforIntelligentPhysicalAgents)定义的、基于语言行为理论的Agent通信语言。一条ACL包括通信性质、发送者、接收者、消息内容、本体等13项基本元素。
本发明将ACL信息融合进协调控制逻辑节点EXAG,并在每个Agent内建立结构相同的EXAG,为不同Agent之间的通信协商提供基础。基于ACL和IEC61850标准建立的EXAG信息模型,如图3所示。
EXAG模型包含8个数据对象:Mod(模式)、Beh(性能)、Health(健康状况)和NamPlt(铭牌)、AgentPerformative(代理通信行为类型)、AgentParticipants(代理通信参与者)、AgentOntology(代理通信内容)、AgentConversation(代理对话控制)。Mod、Beh、Health和NamPlt是每个LN必须包含的数据,用以代表LN的公共信息,其对应的公共数据类(CDC)分别为INC(可控的整数状态)、INS(整数状态)、INS、LPL(逻辑节点铭牌)。
AgentPerformative定义了Agent间的交际行为和言语行为类型,用以体现信息发送Agent的基本态度,通过此参数对信息进行分类确保了接收Agent和发送Agent对信息含义理解的一致,是Agent智能性的体现。其对应的CDC为ACD(方向保护激活信息),包括1个数据属性performative(行为类型)。performative为枚举类型(ENUMERATED),功能约束为ST(状态信息),是ACL中的唯一强制参数,具有22个枚举值。每一个枚举值对应特定的Agent通信行为,具体值域定义如图4所示。
AgentParticipants代表参与通信的Agent,对应的CDC为SPS,包含三个数据属性:sender(报文发送者)、receiver(报文接收者)、reply-to(指定的回复报文接收者),用于解决报文的指向性问题。sender、receiver和reply-to都为VISBLESTRING25(字符串)类型,功能约束都为ST。
AgentOntology代表Agent间的通信内容,负责解释此次报文的功能,对应的CDC为MV(测量值),具有两个数据属性:ontology和instMag。ontology表示控制命令,为枚举类型,功能约束为MX(模拟值),具有7个枚举值,每一个枚举值对应特定的微电网控制命令,枚举值0用于补充未纳入的控制命令,具体值域定义见图5;instMag用以对ontology进行补充说明,为FLOAT32(浮点型)类型,功能约束为EX(扩展定义)。
AgentConversation代表Agent的对话控制,对应的CDC为INS,具有4个数据属性:id(会话地址)、reply-with(报文回复)、in-reply-to(报文性质)和reply-by(回复时间),其对应的功能约束分别为ST、EX、EX和ST。其中id为INT32(整数型)类型,用于识别两个Agent间不同会话报文,使得Agent可查询会话历史记录,该参数的值全局唯一;reply-with为VISBLESTRING25类型,用于判别报文是否需要回复;in-reply-to为VISBLESTRING25类型,用于判别报文性质;reply-by为INT32(整数型)类型,用于判别报文的回复时间。
如上所述,本发明通过ACL中performative、sender等参数,利用IEC61850定义的信息模型作为微电网中各Agent通信的信息载体,将ACL融合入到逻辑节点中,生成全新自定义的子代理信息模型EXAG属性,实现了数据模型映射。
本发明提出的数据模型映射与原有应用于微电网中的IEC61850标准相兼容,可实现对原有系统的无缝接入。即便微电网中存在不按本发明中所述方法建模的其它传统设备,也能实现传统设备与映射后的多代理系统之间的互操作。基于IEC61850和ACL建立的子代理信息模型为通信服务映射提供了实现前提。
(二)通信服务映射
本发明采用GOOSE(面向通用对象的变电站事件)作为微电网内Agent之间的通信实现方式,所提出的通信服务映射部分主要完成将ACL映射进GOOSE的功能,包括以下步骤:建立基于ACL的GOOSE状态机和设定GOOSE报文处理流程。
1.建立基于ACL的GOOSE状态机
为了保证Agent间高效、有序的信息交互,本发明建立了Agent之间通信所需要的GOOSE状态机,如图6所示。
状态机设定了Agent利用GOOSE通信时所产生的交互信息的处理机制。Performative作为ACL中的唯一强制参数,Agent根据其在GOOSE报文中的属性值得知所接收报文的通信行为。根据接受报文的通信性质,Agent组织回复报文时可确定回复报文的通信性质。
如Performative属性值为Inform的GOOSE报文(简称Inform报文,后文及附图中相同)用于应答Inform、InformRef、Subscribe、QueryIf、QueryRef报文;Failure报文用于应答CallforProposal报文,也可应答Inform报文。Agree报文用于应答Request、RequestWhen、RequestWhenever报文。Refuse报文也可用于应答Agree、Request报文。Propose用于应答RejectProposal、AcceptProposal报文。对于Propagate、Proxy、InformIf报文,此类属性报文不需回复;Agent若不明白所接受报文,可组织NotUnderstood报文发出质疑;属性为Disconfirm、Confirm、Cancel的报文可对Agent发布端所发报文作出进一步解释,告诉Agent接收端上条报文决策的正确与否或取消执行上条报文中的控制命令。
2.建立GOOSE处理流程
(1)GOOSE报文发送流程
采用GOOSE通信的Agent模型信息收发基于发布/订阅机制,可利用多路组播服务向多个Agent传输信息。发布方Agent根据实际应用需求把需要发送的功能约束数据和功能约束数据属性组织在一起形成GOOSE数据集。数据集中的各个成员取自数据模型EXAG。数据集中的数据值更新后被写入发送缓冲区,然后根据GOOSE控制块(GoCB)规定的通信要求传输GOOSE报文。如图7所示。
(2)GOOSE报文接受流程
订阅方Agent根据发布方的组播地址成功订阅GOOSE报文后,从其他Agent处接收所需要的GOOSE信息,并暂存于接收缓冲区,订阅方Agent获取缓冲区报文,并传给上层应用进行BER解码,然后对GOOSE信息进行相应处理。具体流程如图8所示。
(3)GOOSE报文处理流程
Agent端的GOOSE接受流程配置完毕后,本发明建立了GOOSE报文处理流程。在GOOSE报文处理流程中,特别设定报文中应用协议数据单元(APDU)内allData(GOOSE报文主体内容)的处理流程。Agent针对解码后的GOOSE报文后,根据图9提取控制命令信息。首先进入步骤1)。
步骤1)判定是否本Agent所应接收报文,如若是则进入步骤2);
步骤2)辨别同一时刻Agent接收的多重对话和对应报文的回复时间,Agent在同一段时间内可能参与微电网内多个优化方案的协商制定,此时通过id保证多个协商会话的正确进行,确定会话id和回复时间后,进入步骤3);
id维护:一个多代理事件所产生的GOOSE会话群对应同一个id,id初始值为1,每产生1次多代理事件,id加1;计满4294967295后,id复归1;
步骤3)判定此报文是Agent主动发出的报文还是用于回复其他Agent请求的响应报文,若是主动发出报文则进入步骤4),若是响应报文则进入步骤11),第一种情况,进入步骤4)后:
步骤4)判定报文通信行为,以运用之前所设定的GOOSE状态机,进入步骤5);
步骤5)提取出此次报文的具体控制命令,Agent根据控制命令进行决策后进入步骤6);
步骤6)Agent进行决策后得出解决方案,进入步骤7);
步骤7)判定此报文是否需要回复,若不需要回复,信息处理流程结束,若需回复,进入步骤8);
步骤8)判定报文是否需要回复至指定Agent,若需要,则组织GOOSE报文通知指定Agent;若不需要,则只回复给报文发送Agent;
第二种情况,进入步骤11)后:
步骤11)、12)与步骤4)、5)过程相同,由于此时Agent所接受的报文是发送Agent对某种解决方案的回应,若发送Agent同意建议方案则直接进入步骤7);若发送Agent不同意建议方案,则进入步骤13);
步骤13)制定新的解决方案,方案完成后也进入步骤7)。
GOOSE报文处理流程建立了微电网内功能代理之间协调有序、快速高效的协商环境,是实现微电网多代理控制映射到IEC61850标准不可缺少的步骤,有利于实现微电网的分布式协调控制功能。
由此可见,根据本发明提出的通信服务映射方法,将微电网内原本简单的GOOSE广播或组播机制修改为具有应答和讨论机制的多代理控制,由此实现了微电网多代理控制到IEC61850-GOOSE的映射。
以并网联络线功率管理实验为例,展示微电网多代理控制事情过程中Agent间的GOOSE报文传送情况,如图10所示。并网下并网联络线输入功率突变,CX_Agent检测到功率变化,与其他Agent协商,完成微电网多代理控制功能。
1)CX_Agent监测到并网流入突增功率超过微电网系统容量的20%,此时CX_Agent发挥主动性,获得令牌,成为当次主导Agent,负责此次能量调度。CX_Agent向其他Agent发出GOOSE报文,通知(Inform)其他Agent自身情况,希望解决问题;
2)MT_Agent接受并解析报文,利用反应性进行决策后,回复报文通知(Inform)其他Agent表示自己有能力参加此次能量调度;
3)LA_Agent接受并解析报文,利用反应性进行决策后,回复报文通知(Inform)其他Agent表示自己有能力参加此次能量调度;
4)WT_Agent接受并解析报文,利用反应性进行决策后,通知(Failure)其他Agent自己处于MPPT(最大功率跟踪)模式,没有解决问题的能力,此次后续能量调度不再参加;
5)PV_Agent接受并解析报文,利用反应性进行决策后,通知(Failure)其他Agent自己处于MPPT模式,没有解决问题的能力,此次后续能量调度不再参加;
6)LA_Agent向MT_Agent发出请求(QueryIf),询问是否能增加出力;
7)MT_Agent回复(Inform)结果描述,并处理;
8)第一种实验情况下,MT_Agent利用自治性和反应性决策后,增加其自身出力,直到突增功率限制在20%以内。CX_Agent监测到能量调度完后通知(Propagate)LA_Agent处理结果,并希望它转告MT_Agent,微电网并网联络线管理实验完成。
9)第二种实验情况下,CX_Agent告知MT_Agent没有增加足够出力,希望其与LA_Agent继续协商;
10)MT_Agent提议(Propose)LA_Agent切负荷;
11)LA-Agent同意(AgreePropose)MT_Agent的请求,利用自治性和反应性决策后做出切负荷策略。
12)CX-Agent通知(Propagate)LA_Agent能量调度成功,并希望它转告结果给MT_Agent;
13)能量调度结束后,LA_Agent发挥主动性,请求(Request)CX-Agent给予令牌,以继续对可控负荷进行投切;
14)CX-Agent同意(Agree)请求,LA-Agent获得令牌,实验完成。
第二种实验情况下Agent利用社会性实现了三次协商:确定参加调度的Agent和初步调度方案、确定第二次调度方案、转换控制令牌;利用主动性领导了此次能量管理调度;利用自治性和反应性实施了三次自身决策:能量调度能力评估、增加出力、切负荷。本发明建立的微电网Agent利用自身特性,通过不同控制方式的转换使用,实现了基于多代理和GOOSE的微电网分布式控制。