没有合适的资源?快使用搜索试试~ 我知道了~
CIM-2-mod:CIM到Modelica映射和模型-2-模型转换引擎
SoftwareX 9(2019)161原始软件出版物CIM-2-mod:CIM到modelica映射和模型-2-模型转换引擎Francis J. Gómeza, Luigi Vanfrettib,Miguel Aguilerac,Svein H.奥尔森da瑞典皇家理工学院电力和能源系统b电气、计算机和系统工程,Rensselear Polytechnique Institute,Troy,NY,USAc哥斯达黎加电力研究所,圣何塞,哥斯达黎加d挪威奥斯陆Statnett SFar t i cl e i nf o文章历史记录:2018年4月15日收到2019年1月3日收到修订版,2019年保留字:公共信息模型模 型 转 换 信 息 建 模ModelicaOpenIPSL电力系统建模电力系统动力学电力系统仿真a b st ra ct对电力系统分析工具的新要求是考虑稳态和系统动态信息的信息交换新的欧洲法规的信息交换电力系统动态仿真现在需要协调TSO的操作在不同的情况下,其中一些作为一种手段,以符合这些规定,并推进国家的最先进的,这项工作描述了一个模型到模型(M2M)转换工具的软件架构,创建电力系统动态模型使用Modelica组件,通过将其链接到数据从公共信息模型(CIM)。这种软件架构被认为是CIM标准语言与Modelica标准化语言相结合,并提供一个自由/自由开源软件(FLOSS)CIM兼容的明确的电力系统建模解决方案,同时考虑稳态和动态模型表示的电网。©2019作者由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本代码v118永久链接到代码/存储库使用此代码版本https://github.com/ElsevierSoftwareX/SOFTX_2018_36法律代码许可证GPL v3使用Github的代码版本控制系统软件代码语言采用JAVA编译要求、操作环境依赖性Eclipse项目、库依赖性:Apache JENA、JAXB(它们作为User提供Eclipse项目中的库如果可用,链接到开发人员文档/手册https://github.com/ALSETLab/cim2modelica/blob/master/docs/问题支持电子邮件fragom@kth.se软件元数据当前软件版本1.0此版本可执行文件的永久链接https://github.com/ALSETLab/cim2modelica法律软件许可证GPL v3计算平台/操作系统OS X,Microsoft Windows,GNU/Linux安装要求依赖性JAVA 1.8(用户库,Apache JENA和JAXB,包含在.jar文件中)如果有用户手册的链接-如果正式出版,请在参考列表https://github.com/ALSETLab/cim2modelica/blob/master/docs/问题支持电子邮件fragom@kth.se*通讯作者。电子邮件地址: fragom@kth.se(F.J. Gómez),luigi. gmail.com(L. Vanfretti),maguilerach@ice.go.cr(M.阿奎莱拉),svein.harald.olsen@statnett.sf(S.H.Olsen)。https://doi.org/10.1016/j.softx.2019.01.0132352-7110/©2019作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx162F.J. 戈麦斯湖Vanfretti,M.Aguilera等人/SoftwareX 9(2019)1611. 介绍欧洲电力传输系统运营商网络(ENTSO-E)通过了法规(EC)714/2009 [1],该法规考虑了传输系统运营商(TSO)之间协调的必要性,“使用通用传输模型有效处理相互依赖的物理环路流量,并考虑物理流量和商业流量之间的此通用模型应用于“公共信息模型(CIM)是国际电工技术委员会57(TC57)第13工作组和电力研究所(EPRI)的成果,提供了符合这些规定的标准建模语义表示在符合CIM [2]的不同包中,来自电力网络的组件和拓扑的所有基本电气信息及其稳态行为都在IEC 61970-301 CIM Corefor Steady-State Information和IEC 61970-(452,453,456)CIM Core Specification Profile中定义CIM的新发展导致了IEC61970-302 CIM动态规范和IEC 61970-457动态配置文件的批准和实施。虽然这些软件包为信息交换提供了坚实的基础,但它们并不需要保证组件在使用不同软件工具进行的模拟中暴露1.1. 动机CIM和CGMES标准为信息交换提供了电力系统稳态参数和当前的专有分析工具在其内部数据结构和内部求解器中使用这些值这些专用工具还支持CIM和CGMES的信息交换,包括符合IEC61970-302和IEC 61970-457的电力系统动态信息然而,物理动态行为仅以图形框图描述而不是以明确的数学形式(即微分方程和代数方程)表示因此,在这种当前状态下,互操作性只能通过比较几个实施结果来实现,这取决于嵌入在各个仿真工具的数值例程中的每个单独的表示随着对TSO之间协调的需求的增加以及遵守上述法规的需求,新的分析工具需要明确的模型表示。这种表示需要计算机可读的、基于方程的和标准化的建模语言来描述每个组件和电力系统的整体动态。1.2. 背景Modelica语言[3]是一种开放的、标准化的、面向对象的和基于方程的语言,适用于对复杂的网络物理系统进行建模OpenIPSL库中的Modelica组件有助于描述电力系统组件的数学行为,并且它们已经通过了通用电力系统软件工具(参考PSSE和PSAT)的验证[4]。要初始化Modelica模型,请启动值(即初始猜测)的所有代数,连续和离散变量需要提供[5,6]。该过程是软件开发人员需要实现的数值例程的一部分,并且需要为组件设置适当的初始猜测值,这可以在可以执行时域仿真之前解决初始化问题。OpenIPSL中的模型将起始值定义为参数,它们对应于输电线路中代数变量的这些值是从潮流解和其他静态设备变量得出的,这些静态设备变量是由模型开发人员在装配网络模型时提供的。在进行时域仿真之前,任何Modelica编译器中的可用解算器都需要这些值来计算初始条件(即解决初始化问题)。请注意,初始化问题的解决方案是特定于每个Modelica工具的,Pantelides算法的使用是其中最常见的[7]。在文献中,存在用于读取CIM信息. PyCIM项目[8]实现了版本14和版本15的CIM类和属性但是,此库没有更新以支持CIM版本16,其中包括动态信息其他作品如[9]提供了从特定建模工具到CIM的转换能力在[10]中,他们的工作集中在基于图形的算法中,以处理CIM表示中的电力系统数据和拓扑处理CIM-2-MODelica工具是涉及不同建模语言的模型到模型转换的原型实现。模型到模型(M2M)转换的概念[11]基于映射规则,将源语言的命名约定与目标语言的命名约定相关联,并使用基本的可扩展建模语言(XML)模式[12]实现。在文献中,还有其他基于规则的编程语言,如ATL [13],它是基于平台而XML模式和格式更容易被电力系统领域用户和平台无关者理解。XML也被用作CIM模型的语法格式实现不同的Modelica编译器,如OpenModelica,提供了将Modelica代码导出为XML的功能1.3. 贡献该M2M转换工具提出了一种模块化软件引擎,该模块化软件引擎允许转换包含在CIM内的电网的参数和结构信息,并将其转换为完全描述CIM信息的Modelica模型,并且其以方程形式的行为对其进行补充这就产生了一个可计算的模型,即一个可以使用Modelica工具进行模拟该软件体系结构提出了一组类和方法的设计,用于处理不同CIM配置文件中的信息提出了一个基于CIM v16 和电力系统OpenIPSL Modelica库的映射规则库[14,15这种映射库和软件体系结构的设计是基于面向对象的编程(OOP)原则。因此,该设计和当前实现可以重新用于其他编程语言。将描述体系结构的内部它将遵循工具的内部类结构的描述,其中考虑了应该使用其他OOP编程语言实现的主要软件对象,以再现本文中描述的所提出的解决方案提供了帮助Modelica工具解决初始化问题方法。这是通过在整个电力系统中每个Modelica组件的每个“初始方程”部分中的每个应初始化的变量中正确使用Modelica语言功能来实现的其他变量可以使用Modelica关键字“start”指定F.J. 戈麦斯湖Vanfretti,M.Aguilera等人/SoftwareX 9(2019)161163Fig. 1. 建议软件体系结构的包和文件夹组织。图二、 白色的操作是工具增强的功能;第一个<<结构化>>节点中 的 操作 执行映射操作;第二个结构化>>节点中的操作执行映射操作。<>节点实现目标Modelica模型的创建。连接小方块的箭头表示对象的经过。连接操作的箭头指示控制流通过。负责每个操作的参与者在注释图标中枚举。CIM信息源提供这些组件所需的实际设备参数和潮流解数值该信息建立电力系统组件中的变量的初始猜测,这对于求解器计算用于时域仿真的动态模型的适当行为M2M转换过程自动向相应的Modelica组件提供源CIM信息配置文件中可用的相应设备值、潮流解决方案和动态值2. 软件描述该软件框架充当M2M转换工具,使用户能够从相应的CIM模型创建动态Modelica网络该框架建立在映射规则之上,这些规则将CIM语义与OpenIPSL库组件的相应语义描述相转换工具与基于以下内容构建的信息模型一起使用IEC 61970-301和IEC 61970-302包,支持CIM v16。在其当前版本中,它支持有限数量的组件来表示电网的基本拓扑结构以及发电厂机器和控制的不同组合。3. 软件构架软件框架被组织在不同的文件夹和包中,以方便内部资源和类结构的组织(见图1)。①的人。内部类结构旨在促进转换工具的可伸缩性,允许为新的源和目标模型创建额外的包1. 用于存储生成的library.jar文件的dist文件夹2. lib文件夹,用于存储库实现中使用的.jar文件。3. res文件夹,其中包含库使用的不同资源。res.map.openipsl文件夹包含CIM和164F.J. 戈麦斯湖Vanfretti,M.Aguilera等人/SoftwareX 9(2019)161图三. 在箭头的顶部,是一个具有常规语法的XML映射规则文件的示例。在底部,Mapping Meta-Model类结构的最终版本是执行XJC命令从XML模式生成JAVA类的结果。OpenIPSL。并且res.network文件夹包含用作转换过程输入的任何CIM类和属性4. src文件夹,其中包含用于实现转换过程的包和类。5. 模型文件夹,库使用该文件夹存储转换过程中产生的目标Modelica组件在src文件夹中,软件体系结构的组织如下:1. cim2modelica.cim包包含实现API的JAVA类,以处理来自不同CIM配置文件的CIM/RDF [16]2. cim2modelica.cim.map包包含用于实现映射规则的类结构的JAVA根据映射规则,转换工具将来自源CIM模型的值填充到这个类结构中(参见图11)。 3)。3. cim2modelica.modelica包包含一个通用类结构,用于创建OpenIPSL库的Modelica组件实例,即cim2modelica.modelica.MOClass。在cim2modelica.modelica.openipsl下,具有特定OpenIPSL组件属性的类,即cim2modelica.modelica.openipsl.controls.es.OpenIPSLExcitationSystem.4. 软件功能主要算法遵循与所述类似的过程在[17]中:从cim:终端类中,识别了其他类和关系,但在输入数据及其处理方面存在差异。我们的源CIM配置文件信息包含拓扑和潮流结果,以及组件的动态信息。因此,CIM模型包含设备、拓扑、状态变量和动态配置文件的信息。转换工具通过成对的终端-传导设备或终端-拓扑节点来构建网络组件,对于电源变压器,我们使用PowerTransformerEnd-TerminalM2M转换工具的详细功能工作流程在图2中描述如下:F.J. 戈麦斯湖Vanfretti,M.Aguilera等人/SoftwareX 9(2019)161165图四、 (A)显示了与Modelica类构造型的层次结构相关的框图,(B)显示了用于创建OpenIPSL对象实例、发电厂和网络表示的结果SysML元模型类结构图五. 主控制器类的类结构表示,其实现M2M转换工具的主逻辑。该图仅表示每个类的方法的子集。1. 加载CIM配置文件操作负责将CIM配置文件中的信息2. 为了构建网络,使用动作Identify CIM Te、Identify CIM CE和Identify CIM TN来加载由EQ和TP配置文件表示的3. 操作Unmarshall Mapping Rules和Populate Mapping Objects收集用于在内存中加载必要CIM值的方法EQ、SV和DY配置文件中的值在映射规则中定义4. 操作Instantiate Pin Object和Instantiate Compo- nent收集了创建OpenIPSL组件实例的方法,这些实例5. 操作“更新网络模型”和“更新工厂模型”收集创建结果网络表示及其组件之间的连接的方法。行动的方法更新的工厂模型被认为是从调节设备和机器的其余部分的区别。166F.J. 戈麦斯湖Vanfretti,M.Aguilera等人/SoftwareX 9(2019)161见图6。 用于M2M转换的GUI(顶部)和来自Modelica编译器的模拟结果(底部)。6. Connect Components(连接组件)操作创建Modelica连接方程,以形成最终的网络拓扑。7. 在主循环之外,操作Mapping Meta-Model和SysML Meta-Model 定 义 了 类 结 构 对 CIM-OpenIPSL 映 射 规 则 和OpenIPSL类组件的实现,这些规则和组件5. 软件实现转换工具用不同的类结构来实现,这些类结构实现图1中描述的功能的方法。 二、11. 映射元模型功能旨在创建XML映射规则和JAVA类结构。这个类结构是应用JAXB技术获得的,JAXB技术提供了将XML模式转换为JAVA类的API,反之亦然[20]。 结果类结构的一个例子如图所示。3.第三章。根据XML映射规则,GENROUMap之类的类是使用1关于转换工具开发的更多细节在开发人员指南中给出JAXB库。ObjectMap、AttributeMap和Connection- Map类是映射元模型功能的实现结果。2. SysML元模型的功能是设计和实现一个基于Modelica对象构造型的框图定义的类结构:模型,类和连接器。 图图4显示了这个类结构,用于创建一个带有连接器和组件实例及其属性的网络表示。在类层次结构的顶部,图。5描述了控制类的设计以及它们与一些内部类的关系,这些内部类既可以处理CIM信息,也可以处理创建Modelica代码的类。3 ModelDesigner类充当一个控制器对象,用于取消编组映射规则,并将源模型中的值填充到Mapping Meta-Model结构中。它聚合了不同的控件类,这些控件类实现了一个API,用于从可用的CIM配置文件中读取CIM值ModelDesigner类使用工厂对象(如SynchMachMapFactory)从加载的对应映射规则实例化适当的JAVA类4 ModelBuilder类充当控制器对象,用于创建SysML元模型结构的实例。它使用包含源模型值的映射类作为F.J. 戈麦斯湖Vanfretti,M.Aguilera等人/SoftwareX 9(2019)161167=输入参数,以创建构成目标网络模型的组件实例和连接。5 CIM2MOD类充当主控制器对象。此类实现转换工具的主要逻辑它使用API读取EQ CIM配置文件,导航终端和相关的ConductingEquip- ment和TopologicalNodeRDF资源,并加载位于其他配置文件中的值。6. 说明性示例为了说明变换工具的使用和应用结果,使用了转换工具接收源CIM信息作为输入,该源CIM信息被划分为包含来自网络模型的信息的不同CIM配置文件,并生成等效的目标Modelica组件作为输出输出 结果将生成一个文 件系统, 其中包含自动生成 的Modelica模型的主模型文件,以及包含发电厂表示的Modelica实现的附加文件图中的情况。图6显示了一个自动生成的双区域Modelica网络,2在OpenModelica中使用Runge-Kutta求解器模拟该场景表示在0.1 s内,在t5时,在连接到发电机2的母线处存在故障事件的网络行为,阻抗为0.11j▲7. 结论这项工作显示了软件架构组织和主要实现的M2M转换,工具,基于CIM和Modelica语言的信息交换和仿真的CIM兼容的电力系统动态模型。建议的实现遵循模块化和可扩展的设计和实现映射规则和网络生成,可以扩展到支持其他建模语言。提出的实现考虑JAVA作为主要的编程语言,并使用库来处理XML和CIM/RDF文件。此外,该实现对任何面向对象编程语言都是开放的,并支持上述语义。映射的设计首先在[18]中提出,然后通过[19]中描述的模型到模型转换工作流通过这种实现,OpenIPSL组件的实例,具有来自CIM模型的适当的潮流解决方案和设备值,可以自动生成并连接以形成Modelica网络模型,适用于动态仿真研究。实例化过程符合新CGMES 2.5标准指南附录F中提出的概念验证[22]。它对应于IEC 61970-600定义,建议使用Modelica交换用户定义的模型。在未来的工作中,软件架构的内部包分布将被详细描述,以及在这里的实现中至关重要的主要功能这些信息将允许扩展工具或重新实现它,以利用其他编程或建模语言。M2M不断维护托管代码的Github存储库更好地实现的主要算法的一般识别的CIM类正在调查和发展。致谢感谢以下资助机构的支持:欧盟资助的FP7项目iTesla和欧盟资助的ITEA3项目OpenCPS。引用[1]杨伟,王伟.互操作性的规定:电力系统的挑战和互操作解决方案的要求. IEEEPowerEnergyMag2016;14(1):30-9.http://dx.doi.org/10.1109/MPE.2015.2485798。[2]UslarM , Specht M , Rohjans S , Trefke J , Gonzalez JM. 通 用 信 息 模 型CIM:IEC 61970、61968和62325。Springer Heidelberg;2012.[3] 弗里茨森山口面向对象建模与仿真原理。Wiley-IEEE Press;2003.[4][10]杨文,李文,李文. Itesla电力系统库(iPSL):用于相量时域仿真的Modelica库。SoftwareX 2016. http://dx.doi.org/10.1016/j.softx.2016.05.001,[在线],[5]León G,Halat M,Sabaté M,Heyberger JB,Gómez FJ,Vanfretti L.使用Modelica语言进行电力系统建模、初始化和仿真。In:PowerTech,2015IEEE Eindhoven,Eindhoven; 2015,p.1比6 网址://dx.doi.org/10.1109/PTC.2015.7232504网站。[6]Vanfretti L , Adib Murad MA , Gómez FJ , León G , Machado S ,Heyberger JB,Petriteneud S.使用Modelica实现多TSO相量时域仿真的自动电力 系 统 模 型 转 换 。 In : IEEE PES innovative smart grid technologiesEurope,Ljubljana; 2016.[7] 潘特利德斯角微分代数系统的相容初始化。SIAM J Sci Stat Comput 1988;9(2):213-31. http://dx.doi.org/10.1137/0909014.[8]公共信息模型的Python实现PyCIM[在线]。https://pypi.python.org/pypi/PyCIM/15134网站。[9]McMorran AW,Ault GW,Morgan C,Elders IM,Mcdonald JR.一个用Java 实 现 的 公 共 信 息 模 型 ( CIM ) 工 具 包 框 架 。 IEEE TransPower Syst2006;21(1):194-201.[10]Ravikumar G,Khaparde SA.面向通用信息模型的电力系统图数据库框架。IEEETransPowerSyst2017;32(4):2560-9.http://dx.doi.org/10.1109/TPWRS.2016.2631242网站。[11]放大图片作者:J.模型驱动软件工程(MDSE)在实践中的应用USA:MorganClaypool; 2012,p. 9-11,[12]可扩展标记语言(XML)[在线]:https://www.w3org/XML/.[13]朱奥·弗雷德里克,阿利莱尔·弗雷迪,贝齐文·吉恩,库特夫·伊万。ATL:模型转 换 工 具 。 科 学 计 算 计 划 2008;72 ( 1-2 ) : 31-9. http://dx.doi 的 网 站 。org/10.1016/j.scico.2007.08.002,[14] 温克勒·迪特马尔Modelica中的电力系统建模-在:第58届SIMS 9月25日至27 日 , 雷 克 雅 未 克 , 冰 岛 的 会 议 记 录 http//dx.doi.org/10.3384/ecp17138263。在线:http://www.ep.liu.se/ecp/138/035/ecp17138035pdf。[15]包德特·马克西姆,卡斯特罗·马塞洛,拉布津·丁,拉维纽斯·扬,博戈多尔-诺瓦·特蒂亚纳,万弗雷蒂·路易吉. OpenIPSL:开放实例电源系统库- iTesla 电力 系统库( iPSL )更 新15:用 于相量 时域仿真 的Modelica库。SoftwareX 2018;7:34-6. http://dx.doi.org/10.1016/j.softx.2018.01.002,[16]语义网资源描述框架。2014. [在线]。可查阅https://www.w3org/RDF/。[17] 放大图片作者:Shukla S,Yao M.一种从CIM资产模型中提取网络信息的有 效 方 法 在 : 第 七 届 IEEE 创 新 智 能 电 网 技 术 会 议 ; 2016 年 。http://dx.doi.org/10.1109/ISGT.2016.7781190网站。[18]Gómez FJ,Vanfretti L,Olsen SH.绑定CIM和Modelica,实现一致的电力系统动态模型交换和仿真。在:2015年IEEE电力能源协会大会,丹佛,CO; 2015年。http://dx.doi.org/10的网站。1109/PESGM.2015.7286434。[19]Gómez FJ,Vanfretti L,Olsen SH.符合CIM的电力系统动态模型到模型转换和 Modelica 仿 真 , IEEE 工 业 信 息 学 学 报 , PP ( 99 ) 1-1 。http://dx.doi.org/10.1109/TII.2017的网站。2785439。[20]XML绑定的JAVA架构(JAXB)[在线]。http://www.oracle.com/technetwork/articles/javase/index-140168.html。[21]昆杜尔山口电力系统稳定与控制。New York:McGrawHill; 1994.[22]ENTSO-ECIM互操作测试,2015.[在线]。可查阅:https://www.entsoe.eu/major-projects/common-information-model-cim/interoperability-tests/Pages/default.aspx。2关于使用转换工具的更多细节在用户指南中给出
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功