基于本体的方法从变电站自动化设计生成分布式自动化控制
摘要
本文提出了一种从包含物理系统布局和领域特定功能“配方”的规范中自动生成智能电网自动化系统软件的方法。所生成的软件具有组件化结构,并实现了智能电网控制的去中心化方法,从而降低了自动化系统设计与修改的复杂性。该方法依赖于两项工业标准IEC 61850和IEC 61499的协同作用,分别用于表示规范的一部分和最终的软件模型。然后将规范模型以本体形式构建,生成过程基于本体转换。该方法需要对语义网规则语言进行扩展,以支持本体公理集合的变更,从而实现本体转换。本文提出了这种称为eSWRL的扩展转换语言,并展示了其应用。在配电网案例研究系统中的演示结果表明,eSWRL作为本体转换语言具有可行性。
索引词 — eSWRL, 本体, IEC 61850, IEC 61499, 变电站自动化, 分布式控制, 智能电网, 信息物理系统
一、引言
智能电网可被归类为一种复杂的网络‐物理系统(CPS)[1],其特点是物理过程的计算与计算过程之间的交互实现更高程度的集成[2]。特别是,随着配电网变电站的物理基础设施在大规模集成可再生能源后变得更加去中心化[3],其自动化系统也日益趋于分布式,由通过网络相互交互的智能设备、传感器和执行器构成[4, 5]。此类规模的CPS设计面临诸多与通信与控制相关的挑战[6]。除了公认的建模、通信和计算方面的CPS设计挑战外,还存在与CPS信息部分和物理系统的结构与特性之间关系相关的挑战和机遇。这些挑战源于底层物理系统在其生命周期中具有高度复杂性和持续变化的结构,从而导致需要对信息部分进行重构和重新测试,而这通常是工作中资源消耗最大的部分。本文致力于解决此类CPS设计中的工程挑战。
全面应对这些挑战的一个切实可行的步骤是IEC 61850标准,该标准通过在变电站自动化系统(SAS)系统中对数据表示和通信协议进行标准化,实现了通信互操作性。IEC 61850还引入了基于模型的设计方法,采用系统配置语言(SCL)作为描述系统规范和配置的标准化方法,如IEC 61850‐6[7]。
自动化层面面临的挑战源于可再生能源的大规模集成导致自动化基础设施从集中式向分布式转变。适用于传统电力系统的集中式控制系统将不再适用于分布式电网。智能电网的控制与保护系统去中心化趋势要求有适当的控制平台来实现这些分布式控制系统。IEC 61499[8]是一项开放的工业标准,为分布式自动化控制系统的设计提供了参考组件架构。该架构允许将软件应用定义为通过消息传递和数据传输通道互连的组件网络,并映射到分布式网络设备上。组件的功能通过状态机进行定义。IEC 61499支持使用传统的IEC 61131‐3可编程逻辑控制器(PLC)语言,如结构化文本(ST)、梯形图(LD)和功能块图(FBD),用于开发IEC 61499功能块(FB)的内部算法。IEC 61499天然适用于分布式工业互联网架构,因为它可普遍应用于任何自动化领域。IEC 61499的应用正在逐步扩展,最初应用于工厂自动化、物料搬运系统,最近也应用于变电站自动化[9]。IEC 61499还被用于FREEDM系统中智能能源管理(IEM)[10]和智能故障管理(IFM)[11]的原型开发,并在协同仿真平台[12]中进行了验证。
IEC 61850在互操作通信和标准化系统设计方面提供了优势。然而,它缺乏捕获功能规范实现细节的手段。因此,从自动化控制的角度来看,这一标准存在需要填补的空白。IEC 61499因其引入了分布式系统架构,能够最全面地胜任这一角色。这两项标准之间存在多种协同效应,包括各自领域内的自上而下的设计方法、面向对象和组件设计。IEC 61850与IEC 61499的协调理念最早在[13]中提出,并在智能逻辑节点(iLN)概念中得到验证,该概念将IEC 61850逻辑节点(LN)建模为IEC 61499功能块,从而创建iLN代理,并在商业软件工具NxtStudio [14]和ISaGRAF [15]中于[13, 16,17]实现,在开源工具4DIAC [18]中于[19]实现。要充分利用iLN架构的优势,需要工程流程和软件工具的支持,以实现将规范转换为可执行规范的转换。为此目标开展的工作始于[20]。
通过定义两个标准中工程步骤之间的关系。然而,由于需要考虑描述不同场景的多种规则变化,自动生成可执行规范的目标过于复杂。
本文尝试通过应用本体的知识建模与操作来解决这些问题。所提出的方法基于本体转换,旨在通过自动生成以功能块图(FBD)表示的自动化控制程序,促进智能电网信息物理系统(CPS)控制系统的设计过程,从而减少设计过程中的手动工程工作量。采用本体作为该方法基础的优点包括:
- 本体相较于其他方法具有更高的描述能力,在模型驱动工程(MDE)中常用的模型,例如统一建模语言(UML);
- 能够描述某一领域的语义(对比:可扩展标记语言(XML)仅描述语法)。结合逻辑推理,从而实现语义分析[21];
- 本体的集成能力,支持从不同来源组合并扩展本体;
- 本体的基础是严格的数学工具——描述逻辑和Horn子句逻辑;
- 可处理性、可移植性、互操作性、可重用性和可共享性;
- 广泛的认可与应用(例如,语义网)。
为了促进本体的转换,引入并实现了扩展语义网规则语言(eSWRL),以解决SWRL [22]语言无法在本体模型中实现转换的局限性。本文结构如下:第二节回顾了相关领域的最新研究现状,首先讨论了MDE在IEC 61850中的应用以及该领域的当前研究进展;其次讨论了本体在模型转换中的应用以及Prolog在本体模型转换中的作用。第三节介绍了本体转换语言eSWRL及模型转换架构,并讨论了eSWRL构建的开发、在Prolog中的原型设计以及eSWRL的执行模型。第四节介绍了一个案例研究配电系统,并结合IEC 61850工程背景描述了相应的分布式保护方案。第五节展示了eSWRL模型转换方法论的设计流程,用于自动生成案例研究配电系统的分布式自动化控制系统。首先给出了eSWRL转换规则的图形表示;其次给出了eSWRL转换规则的文本表示及其在Prolog中的等效原型设计;最后展示了模型转换生成的Prolog数据库。第六节概述了案例研究配电系统所生成的自动生成的自动化应用,该应用通过将控制系统连接到案例研究系统的Matlab仿真模型,在协同仿真环境中进行了验证。最后,第七节总结了本文的工作,讨论了本文的结果以及未来工作。
II. 研究现状
A. IEC 61850工程中的基于模型的开发
基于模型的开发在软件工程领域被广泛应用,并且在设计和维护大规模软件应用方面已被证明是有效的。MDE遵循“一切都是模型”的理念,其设计范式围绕使用模型展开,无论是平台相关模型(PDM)还是平台无关模型(PIM)[23, 24]。MDE的核心原则之一是模型转换,被认为是MDE的核心与灵魂[25]。在自动化系统工程中,MDE已在工业[26]和变电站自动化[27‐30]领域得到应用。IEC 61850引入了一种用于安全自动化系统(SAS)设计的MDE方法,通过系统配置描述语言(SCL)对系统设计过程进行标准化[7]。
SCL对系统规范进行建模,包括功能和仪器规范、通信配置以及智能电子设备(IED)配置。SCL模型共有六种类型,每种模型对应设计过程的不同方面。其中最常用于MDE的是系统配置描述(SCD),它从逻辑节点信息模型定义到IED设备配置,对整个系统的配置进行建模。目前已有相关研究利用MDE和SCL模型来自动生成变电站自动化控制系统。在[31]中,IEC 61850建模构件采用统一建模语言(UML)进行建模,以自动生成基于IEC 61131‐3开发的自动化控制代码库。交互和行为元素则使用时序Petri网进行建模。
在[32]中,提出了一种使用IEC 61850 SCL作为源模型的开放平台,用于快速原型设计保护与控制方案,以生成底层通信配置和逻辑节点模型,其中逻辑节点被建模为C语言中的结构体。该平台仅创建IEC 61850实体在C语言中的结构,而不涉及功能逻辑的实现。
标准 IEC 61970 和 IEC 61968 是公共信息模型(CIM)的一部分,该模型引入了一组电力网络的公共信息模型,以实现应用之间的信息交换。CIM 标准主要用于能源领域,旨在促进未来智能电网中能量管理系统(EMS)与信息技术(IT)系统之间的集成。尽管 CIM 和 IEC 61850 都包含用于互操作性的信息模型,但这两套标准之间存在差异。
1. IEC 61850 引入了自动化设备之间的互操作性,而 CIM 引入了能量管理系统应用之间的互操作性;
2. CIM 使用统一建模语言(UML)进行建模,并在其建模中利用继承。IEC 61850 的建模是分层的,因为它是基于可扩展标记语言(XML)进行建模的;
3. CIM 的重点在于建模设备之间的连接与关系,而 IEC 61850 的重点在于功能规范。
CIM和IEC 61850在各自的目标领域中均已得到广泛应用。然而,仍存在需要在这两个标准之间进行信息交换的情况。
必要。在[33, 34]中,提出了通过本体建模和本体匹配技术实现CIM与IEC 61850之间的协调。本研究使用本体,因为这两个标准之间存在不匹配之处,其中一个标准可能缺少某些类或类之间的关系。随后将本体匹配技术应用于这些本体,以解决这些不匹配问题。
工作 [29] 利用 IEC 61850、CIM 和 COSEM 标准,通过基于模型的开发(MDE)方法构建面向服务的架构。这三项标准中的信息模型构成了智能电网信息模型管理的骨干,使智能电网内的不同利益相关方能够共享信息,其目标是改进智能电网企业架构的管理。工作 [35] 提出了一种开源方法,用于基于 IEC 61850 和 IEC 61970 构建适用于能量管理系统(EMS)和数据采集与监控系统(SCADA)的面向服务的监控与控制基础设施。
提出了一种基于MDE的智能电网应用语义驱动框架[30],该框架协调了IEC 61850、IEC 61499和CIM三项标准。其中,CIM标准用于对电力网络进行建模,IEC 61850标准对自动化设备中的通信互操作性进行建模,IEC 61499标准则填补了实现差距。该框架的实现如[27, 28]所示,提供了IEC 61850与IEC 61499之间的工件映射,以支持模型转换。目前已有研究工作致力于协调CIM与IEC 61850之间的信息模型,以实现智能电网中的互操作性。然而,大多数结合CIM与IEC 61850的现有研究工作主要面向能量管理系统,而非自动化控制层面。
SysGRID [20]是另一项应用MDE技术来自动生成分布式SAS控制的工作。SysGRID利用IEC 61850作为源模型,IEC 61499作为目标模型进行模型转换。IEC 61850与IEC 61499之间的构件映射基于iLN架构[13, 16]。SysGRID方法的一个局限性在于无法在IEC 61499中的逻辑节点(LN)之间创建有意义的逻辑连接。IEC 61499应用中功能块(FB)之间的逻辑连接定义了控制系统中功能块组件之间的控制流和数据流。该局限性存在于SysGRID方法中,是因为其源模型仅基于SCL模型,而SCL模型未包含逻辑节点之间的语义信息。这意味着仅使用SCL模型作为源模型不足以生成完整的IEC 61499控制系统。本研究探讨了使用本体建模来解决这一局限性,因为本体能够对IEC 61850智能电子设备(IED)和信息模型的结构进行建模,并且还能补充现有SCL表示中缺失的逻辑节点之间的语义信息。
B. 基于本体的模型转换
基于本体的工程方法越来越多地被应用于软件工程领域[36]。目前,它通常与基于模型的开发结合使用,但未来有可能完全取代基于模型的开发。一般来说,本体驱动的软件工程(ODSE)指的是本体在改进软件开发的模型、方法、技术和过程。其优势包括改进的模型/代码可追溯性、制品可重用性,以及提高系统互操作性和集成水平,同时还支持模型检验。如[21]所示,本体与推理机结合是基于IEC 61499功能块对控制应用进行语义分析的有效工具。
在许多现有的基于模型的开发(MDE)安全自动化系统(SAS)方法中,SCL被用作模型转换的源模型。使用SCL作为源模型具有优缺点。其优点体现在文献[20, 30, 32]的研究中。SCL描述的一个局限性在于,其可扩展标记语言(XML)表示仅能捕获信息模型的层次结构,不适合表达语义。而本体擅长表达实体之间的语义关系,且OWL能够表示元素之间的任何关系。需要注意的是,可能存在以下关系,可用于构建本体中元素的层次结构,或本体本身的层次结构。
1. 类和属性的继承/泛化(“类‐子类”、“属性‐子属性”关系)。这些隐含关系用于构建分类法;
2. 类的聚合/组合(“部分‐整体”关系)。为了在本体中表达这种关系,必须显式引入一个特殊属性。例如 “has_part” 或其逆属性 “is_part_of”;
3. 其他特定关系(例如 “be_subordinate_to”、“older_than”等);
4. 通过使用OWL的“imports”语句实现本体(模块)之间的链接。
本体中的所有元素,包括类、属性和个体,都有各自的统一资源标识符(URI),因此可以被引用。这样就可以构建一个分布式知识库,该知识库可以具有(但不限于)树形结构。
在本研究中,由于本体源自XML源,因此广泛使用了第1类和第2类关系。基于XML的本体的优势在于能够轻松映射到标准XML表示。在使用现有工具将XML转换为OWL本体时,XML标签的层次结构通常会转化为基于“类‐子类”关系的类的层次结构,这种转换在语义传递方面并不理想,但在本研究的背景下,这并未被视为问题。
本体通常由领域专家编写,用于表达关于事物及其相互关系的复杂知识。然而,专有和通用编程语言(如面向对象编程语言,例如C++、Java等)由于基于不同的范式,因此并不完全适用于处理本体中的逻辑公理。SWRL是语义网的一种语言,可用于在受限领域中处理本体。例如,它能够推断本体中公理之间的新关系。然而,由于推理的原因,SWRL不适用于实现模型转换。
单调性1。推理单调性是本体语言的逻辑基础,在该基础上既不能删除类或类的实例,也不能删除属性断言公理,同时无法创建类或类的实例。因此,SWRL本身不适用于本体转换的目的。
为了处理本体,Prolog可以作为SWRL的一种可行替代方案,因为它通过否定条件和非逻辑操作扩展了底层的单调霍恩子句逻辑[38]。需要注意的是,大多数基于本体Web语言(OWL)的本体都可以表示为描述逻辑程序(DLP)的形式,而DLP又是逻辑程序的一个子集[39]。Thea库的开发已认可了本体与基于Prolog的表示之间转换机制的需求[40, 41]。Thea库的核心模型基于OWL2的功能语法,本体公理与Prolog事实和规则之间几乎存在一一映射关系。因此,在将本体模型转换为其Prolog表示时,信息损失极小。使用Prolog处理本体的优势在于,本体和Prolog具有相同的理论基础——形式逻辑,这显著减少了两者之间的语义鸿沟。这一点已被认识并加以利用,例如,一些Prolog系统具备处理本体的能力[42]。
文献[43, 44]展示了一种基于Prolog的变换语言(PTL)[45],证明了Prolog在执行转换方面的充分性。总体而言,已有研究应用MDE技术结合IEC 61850和IEC 61499来开发SAS控制系统。然而,现有技术仍存在局限性,例如难以生成完整的分布式自动化系统,如[20]所示。
本文采取不同方法,探索利用本体和本体转换来解决[20]中的局限性。本文试图解决当前先进水平中的两个局限:第一,提出本体转换语言eSWRL(比[43‐45]中提出的手 段更强大),它是SWRL的扩展,用于本体转换,并在Prolog中实现;第二,通过本体转换解决[20]工作的局限性,以自动生成IEC 61499变电站自动化控制应用中有意义的逻辑连接。
III. 所提出的方法:eSWRL
A. MDE方法使用本体转换
基于的所提出的MDE方法本体转换在本工作上下文中的示例见图1,其设计流程如下:
1. 源模型是变电站模型,根据IEC 61850使用SCL描述语言开发。然后通过XML到OWL转换器将SCL模型自动转换为其本体表示。此阶段的本体表示仅包含断言盒(A‐Box)。随后,A‐Box与T‐Box合并以创建完整的本体模型。
2. 然后,将其本体表示中的补充语义信息插入到本体模型中。如果某些结论不会被否定,则称该逻辑为单调的本体表示中的语义信息被插入到本体模型中。该语义信息包含保护与控制规范,用于定义IEC 61850逻辑节点之间的信号传递。[46]中的工作展示了消息传递信号如何在本体中建模,并用于补充此工作的源本体模型。
3. 下一个阶段是开发用eSWRL编写的领域转换规则。需要注意的是,在本研究中,eSWRL规则仅执行A‐Box到A‐Box转换。生成的A‐Box随后与IEC 61499本体的T‐Box合并,以创建最终的目标本体模型。在转换过程中,源本体和目标本体的T‐Box均不被修改。需要强调的是,领域到领域的转换规则只需开发一次即可,因此可在未来的应用中重复使用。
4. 设计链的最后阶段是使用FB OWL到FB XML转换器,将得到的目标本体转换为FB系统的XML表示。
eSWRL的底层转换引擎是使用SWI Prolog [42]实现的。然而,在前述关于MDE设计链的讨论中,并未将Prolog提及为设计过程的一部分。这是因为eSWRL转换的架构设计使得Prolog层对最终用户是隐藏的。本质上,OWL本体与基于Prolog的表示之间的转换由Thea库[40]自动完成。eSWRL规则集也会自动转换为Prolog程序以执行转换。最终用户将以eSWRL创建规则,但实际的转换将在Prolog层上进行。生成的Prolog数据库随后会被转换回目标本体的A‐Box。
B. eSWRL构造的原型设计
eSWRL 被提出作为 SWRL 的扩展,以克服单调性限制,这种限制阻碍了 SWRL 对本体的转换。与[43, 44]不同,eSWRL 引入了不仅能够创建个体,还能删除个体和属性断言公理的构造。eSWRL 被设计为直接在本体的A‐Box 和 T‐Box 上操作,而不是在 RDF 层级上操作,从而具备创建类和属性的能力。请注意,在本研究的背景下,未使用删除构造。重点在于创建新的 A‐Box 公理,而非删除,因此不会对本工作产生任何影响。当多步转换中存在中间模型时,可以使用删除操作。该转换通过 Prolog 程序自身的自修改,在 Prolog 程序内部的类、个体和属性层级上实现。eSWRL 转换器的目标用途是本体转换,而不是推理机在传统本体应用中通常解决的分类问题。通过应用特定的设计模式和适当的规则执行模型,可以最小化 eSWRL 引擎进行转换的复杂性。
| 构建 | eSWRL | Prolog |
|---|---|---|
| 1 | 类(?A) | ‘Class’(A) |
| 2 | 数据属性(?A, ?B) | 数据属性 (A, B) |
| 3 | 对象属性(?A, ?B) | 对象属性(A, B) |
| 4 | eswrl:创建实例(Class, ?A) | 创建实例(‘Class’, A) |
| 5 | eswrl:创建链接(objectProperty, ?A, ?B) | 创建链接(objectProperty, A, B) |
| 6 | eswrl:创建链接(dataProperty, ?A, ?B) | 创建链接(数据属性, A, B) |
| 7 | swrlb:字符串连接(?结果, ?字符串_A, ?字符串_B) | 字符串连接(字符串_A, 字符串_B, 结果) |
| 8 | swrlb:不同于(?A, ?B), | A \== B |
| 9 | swrlb:sameAs(?A, ?B), | A == B |
在本文所涉及的上下文中,共有9个基本构造,如表1所示。表1中的eSWRL列展示了使用eSWRL语法编写的构造,Prolog列则展示了用Prolog语法编写的等效构造。由于eSWRL是SWRL的扩展,其语法与SWRL相同,且可以使用标准的SWRL构造。用于操作A‐Box以实现模型转换的两个eSWRL扩展构造是createInstance和createLink构造。
createInstance 构造用于创建一个新的类实例。语法如下:
eswrl:创建实例({?<变量名>|<类名>}, {?<变量名>|<类实例名称>})
eswrl:创建实例 构造是通过 Prolog 谓词 createInstance/2 实现的,其中 createInstance 是谓词的名称,/2 表示该谓词的元数,即谓词中有两个参数。
createInstance 谓词的 Prolog 规则如图2所示。需要注意的是,在应用此规则之前,类 和 实例 必须被具体化。
在Prolog中对该结构进行原型设计如下:
- 第3行的 Prolog谓词 functor(X, Class, 1) 是一个内置的在SWI Prolog谓词中,它用于创建复合项的结构。第一个参数X是所创建的新项。第二个参数Class是生成的复合项的函子。第三个参数1是新复合项的元数。因此 functor/3创建了复合结构X=
(_A),其中_A是一个临时参数值;
- 第4行的Prolog谓词arg(1,X,Instance)是一个用于为 Prolog复合项的指定参数赋值的内置谓词。第一个参数1选择第一个参数,第二个参数X是复合项,第三个参数Instance是被实例化到复合项X第一个参数的值。所创建的结果复合项为X=<类>(<实例>)。
- Prolog谓词 dynamic(Class/1)。Dynamic/1 在第5行是一个内置谓词,它通知Prolog解释器谓词 Class 的定义在执行期间可能会被修改。
- 第6行的构造是(not(X), assertz(X); true),!。assertz(X)谓词将结果复合项X添加到Prolog数据库中,而构造“!”在Prolog中被称为剪切,其作用是在事实<类>(<实例>)被添加到数据库后,防止Prolog规则进行回溯。
createLink 构造用于创建一个新的元组,该元组可以是对象属性或数据属性的实例。为了简洁起见,如果不引起歧义,将使用“对象(数据)属性”代替“对象(数据)属性实例”。createLink 构造的语法如下:
eswrl:创建链接({?<变量名> | <属性名>}, {?<变量名 1>|<类实例名称 1>}, {?<变量名 2>|<类实例名称 2>})
在图3中,Prolog定义了createLink结构,该结构使用了相同的内置谓词functor/3和arg/3。生成的Prolog事实形式为 /> (<实例1>,<实例2>)。
C. eSWRL规则的执行语义
本文中eSWRL规则的执行语义如图4所示。执行遵循单遍迭代执行(SPIE)模型,其中Y表示规则已启用,N表示规则未启用。这意味着每条eSWRL规则将被重复执行,直到不再适用为止。一旦某条规则不再启用,则执行下一条规则。当某条规则更改了后续规则中使用的事实时,规则之间可能存在依赖关系。需要注意的是,还存在其他执行模型,例如单遍顺序执行模型、循环顺序执行模型、循环逆序执行模型等。也可以使用更灵活的逻辑来管理规则执行,例如,从属性化程序图语法生成控制图[47]。
IV. CASE STUDY
A. 分布式母线保护
本文所使用的用于模型转换的系统是一个简单的配电系统,该系统在[48]中介绍了其运行分散式保护与控制方案的情况。图5显示了该配电系统,其中包括两台变压器和五条配电馈线。每台变压器和馈线都有各自的智能电子设备(IED)。在此配电系统上运行的一种分散式保护示例是分布式母线保护,其操作序列为如下:
1. 每台馈线和变压器保护IED(PIED)均在运行图6中的过电流保护方案。电流互感器(CT)逻辑节点TCTRa以固定采样率对电流进行采样。CT测量值随后通过信号AmpSv_instMag_f传递给过流保护逻辑节点PIOCa;
2. PIOCa逻辑节点将接收到的测量值与其内部过流阈值进行比较。如果测量值超过内部阈值,PIOCa将向跳闸判别逻辑节点PTRCa发送信号Op_general。PIOCa逻辑节点还接收来自其他馈线PIED装置的PTRCa逻辑节点的Tr_general信号。外部的Tr_general信号用于指示其他馈线上是否已检测到过流故障;
3. 当PTRCa逻辑节点接收到PIOCa逻辑节点的Op_general信号时,会向断路器(CB)逻辑节点XCBRa发送跳闸信号Tr_general以操作断路器。此外,Tr_general信号还会发送至其他馈线和变压器PIED装置。将信号发送至变压器和其他馈线是分布式母线保护的一部分。由于变压器也会检测到相同的故障,因此允许变压器PIED装置闭锁自身,防止其跳开自身的断路器。
B. 逻辑节点间语义消息传递的建模
在案例研究系统中,每条馈线和变压器都有各自的PIED装置运行过流保护。为了协同实现整个系统的分散式保护,PIED装置之间采用对等GOOSE通信来交换信号,如图6所示。在SCL描述中,仅包含IED设备之间的消息传递(设备间)被捕捉。在IEC 61499控制系统中,除了设备之间的消息传递外,了解逻辑节点之间的消息传递也至关重要。文献[46]中提出了一种对逻辑节点之间消息传递进行建模的方法。在研究[46]中,所有逻辑节点之间的消息传递都被表示为一个图。该图表示随后被转换为本体表示。在[46]中引入了本体类LNConnections,以捕获系统中的所有消息传递。该类的数据属性包括LNC_from(消息的源逻辑节点)、LNC_to(消息的目的逻辑节点)、LNC_name(消息名称)和LNC_type(消息的数据类型)。然后将该本体模型添加到源IEC 61850本体A‐Box中,以补充SCL描述中缺失的逻辑节点到逻辑节点的消息传递信息。
V. 模型转换
A. 模型转换方法
在将模型从IEC 61850转换到IEC 61499时需采取相应措施。第一种方法是在IEC 61499系统中创建所有构件,包括创建结构化数据类型、功能块类型、系统和应用。该方法所需的规则集如表2所示。规则集0、1、2用于创建结构化数据类型,规则集3用于创建功能块类型,规则集4、5和6用于创建包含功能块实例及其连接的IEC 61499应用。该方法的优点是定义功能块接口时具有更高的灵活性;缺点是功能块内部(如执行控制图(ECC))需要手动创建或自动生成。生成执行控制图(ECC)会引入模型转换过程中的额外步骤,这超出了本文的范围。
| 规则集 | 功能 |
|---|---|
| 0 | 使用 EnumType 创建枚举类型 |
| 1 | 使用数据属性类型创建结构类型 |
| 2 | 使用数据对象类型创建结构类型 |
| 3 | 从LNodeType生成带接口的功能块类型 |
| 4 | 创建IEC 61499系统结构 |
| 5 | 在应用中创建功能块实例 |
| 6 | 在应用中创建功能块连接 |
第二种方法是仅创建IEC 61499系统。该方法的前提是已存在一个功能块库,其中逻辑节点的内部智能已经实现。这种情况在智能电子设备厂商为其智能电子设备提供已实现功能的库时尤为常见。该方法显著减少了开发工作量,因为仅适用规则集4、5和6。该方法的局限性在于功能块的接口已修复。因此,最终用户必须在这些固定接口的约束下设计其控制系统。
B. 开发模型转换规则
本小节展示了设计流程针对案例研究配电系统开发其到IEC 61499控制应用的转换规则,当采用第二种模型转换方法时。开发转换规则包括三个步骤:第一步是开发用于表示领域之间映射关系的eSWRL转换的abstract mapping规则,并以可视化形式呈现;第二步是开发文本形式的eSWRL规则;第三步是eSWRL规则的基于Prolog的实现。
根据第二种方法,第一步是依据表2使用规则集4创建IEC 61499系统结构。系统结构创建完成后,第二步是在IEC 61499应用中实例化功能块实例。在应用中实例化功能块的规则是RULE_5_2。规则_5_2面向映射的图形表示如图7所示。
图7中抽象映射规则的图形表示如下:左侧(LHS)表示转换规则的源域,即IEC 61850;右侧(RHS)表示转换规则的目标域,即IEC 61499。矩形框表示类实例(即个体)。矩形框上部的标注表示该框是此个体所属类的名称。框体下部的标注为个体的名称,可以是变量或字面量。所有变量均以“?”符号开头。填充为灰色的矩形框表示新创建的类实例。红色虚线箭头及其关联文本表示新创建的对象属性。红色实线箭头及其关联文本表示数据属性。蓝色、带圆角的矩形表示由转换生成的数据类型值。假设规则中使用的名称足以确定其含义。注意,只有彩色元素是由转换规则创建的。在SPIE执行模型下,每条eSWRL规则会在左侧(LHS)变量的不同取值组合上依次执行,直到所有组合都被穷尽为止。功能块类型实例在应用中的创建方式如下:
1. 对于所选的每个LN,在LDevice中创建一个等效的FBType实例,其实例名称为?FB。
2. ?FB个体名称由字符串”APP_”与LN的数据属性值?LNprefix+”
”+?LNlnType+”
” +?LNinst.连接而成。
3. 对于每个创建的FB,都会创建数据属性has_FB_Name和has_FB_type,以指示所创建FB的FBType名称。
4. 用于数据属性值has_FB_Name的变量?FBName,是由LN的数据属性值?LNprefix+”
”+?LNlnType+”
”+?LNinst连接而成。
5. 数据属性has_FB_type的值源自LN的数据属性值?LNlnType。
第二步是开发如图8所示的eSWRL规则的文本表示。注意,在描述eSWRL规则时,变量的表示可以指该变量的值。例如,表示?LN表示一个LN类的实例,即变量?LN的值。在第2、3、4和6行,分别选择了LDevice、Application、SubAppNetwork和LN的实例,并将其存储到对应的变量?Ldevice,?Application,?SubAppNetwork和?LN中。在第5行,使用对象属性has_SubAppNetwork来选择与当前?Application相关联的?SubAppNetwork。在第6行,使用对象属性has_LN来用于选择与当前?LDevice相关联的?LN。在第8、9和10行中,使用?LN的数据属性has_lnType、has_inst和has_prefix分别定义变量?LNlntype、?LNinst和?LNprefix。第12到16行将LN数据属性的值进行拼接,以生成FB数据属性的值。在第17行,创建一个名称为?FB的新FB实例。在第18行,创建对象属性has_FB,用于确定所选的?SubAppNetwork与新的?FB之间的关联。第19和20行分别为新的?FB创建数据属性has_FB_Name和has_FB_Type,其值分别为?FBName和?LNlnType。
最后一步是开发如图9所示的RULE_5_2的Prolog实现。比较eSWRL与Prolog规则可以看出两者之间几乎是一一对应的关系。在第21行,Prolog谓词fail/0是一个内置的Prolog谓词,当Prolog将其作为目标执行时会返回失败,由于Prolog的否定即失败特性,这将迫使Prolog进行回溯,从而确保图4中SPIE执行方案的实现。第22行用于确保该规则始终执行为true。
由规则_5_2生成的Prolog数据库片段如图10所示,该图仅显示为一个逻辑设备创建的逻辑节点。共创建了五个功能块实例,包括对象属性 has_FB 以及数据属性has_FB_Name 和 has_FB_Type。需要注意的是,由于结果事实与源事实存储在同一个数据库中,因此可能存在冲突,例如事实重复。然而,可以通过设计转换规则来避免生成冲突、冗余和无关的事实,从而最大限度地减少潜在的冲突。例如,为了减轻结果事实与源事实之间的潜在冲突,可以确保两个领域之间的类、数据属性和对象属性的命名不同。此外,可以通过在 Prolog 事实前添加命名空间作为前缀,以区分两个领域的事实,避免重复。
在功能块(FB)于IEC 61499应用中实例化之后,下一步是在应用中创建实例化功能块之间的逻辑连接。使用规则集6来创建逻辑连接,RULE_6_1的抽象图形表示如图11所示。对于每个LNConnection 实例,为Connection 实例创建一个 DataConnection,并为伴随的 EventConnection 创建另一个 Connection 实例。Connection 实例具有两个数据属性。第一个数据属性是 has_Connection_Source,表示连接的源,而 has_Connection_Destination 表示连接的目标。
过流保护的结果功能块网络(图6)如图12所示。INITO输出事件连接到相邻功能块的INIT输入事件,以初始化功能块。其他功能块之间的事件和数据连接均源自图6中的保护方案。实心蓝线和灰线分别表示IED装置内部的事件和数据连接。虚线蓝线和灰线表示IED设备之间的事件和数据连接。
VI. 结果
案例研究系统的最终功能块网络如图14所示。对于每个PIED装置,生成了如图12所示的六个功能块。所生成的功能块应用包括所有PIED装置中的功能块实例,以及装置内和装置间功能块之间的事件/数据连接。为了评估生成的功能块应用的正确性,将该功能块应用在协同仿真环境[12]中以闭环方式连接到被控对象模型。该协同仿真环境由两个仿真平台组成。Matlab Simulink用于模拟配电系统的物理过程,NxtStudio用于模拟分布式控制逻辑。这两个仿真平台通过以太网使用UDP/IP协议进行通信,从而实现Simulink模型向分布式控制应用发送测量数据,同时控制应用向Simulink模型返回动作跳闸信号。
案例研究配电系统的Simulink模型快照如图13所示。星形连接变压器的一次侧连接至一个运行在130千伏,50赫兹的Three-PhaseSource模块。连接到配电馈线的次级侧运行在6.3千伏。绿色子系统为通信通道,用于操作相连的断路器。黄色子系统将测量值发送至功能块应用。
分布式母线保护的结果如图15所示。在时间0.08,通过OC_CB1处的阶跃函数在馈线1插入一个过电流故障。馈线1和变压器处的PIED装置都将检测到该故障。然而,由于变压器侧的PIED装置收到来自馈线1 PIED装置的消息,表明其已在馈线处检测到故障,因此变压器将闭锁自身断路器不跳闸。因此,变压器侧PIED装置不跳开其断路器,而是允许馈线1的PIED装置清除故障。
VII. 结论与未来工作
提出了一种基于本体转换的MDE方法论,用于自动生成分布式信息物理系统自动化控制系统。介绍了变换规则语言eSWRL,并给出了支持本体转换的构造。该方法论使用本体作为源模型,并利用eSWRL将源模型转换为目标模型,而目标模型同样为本体。本文中,该方法论被应用于演示本体转换在自动化生成具备信号连接的完整变电站自动化控制系统方面的可行性。所提出的方案在一个智能电网案例研究系统上进行了验证,其中利用规范的形式化描述来自动生成控制系统。生成的控制系统是一个包含功能块实例以及功能块之间逻辑连接的IEC 61499应用。本文提出的方法论还可以扩展到其他适用自动生成的领域,前提是存在源本体。
未来的工作包括改进第五节A小节中讨论的首个模型转换方法,通过生成功能块的内部结构,包括执行控制图表(ECC)以及每个功能块的算法。基本功能块ECC的建模可以基于在[50]中对ECC的重构工作。此外,可以引入对转换后目标本体的验证,以确保目标满足转换所规定的前置条件、后置条件和不变量[43, 44]。在案例研究应用的背景下,值得探索反向模型转换的可能性,即从IEC 61499配置生成部分IEC 61850规范。
36

被折叠的 条评论
为什么被折叠?



