一种页面模块封装重用方法及装置制造方法及图纸

技术编号:14930562 阅读:41 留言:0更新日期:2017-03-31 12:24
本发明专利技术涉及一种页面模块封装重用方法及装置,属于电力系统离线数字仿真技术领域。本发明专利技术通过编译生成页面模块的源程序文件,直接修改简化源程序文件,并将其编译生成对应的二进制目标文件,同时将页面模块封装为库元件。整个过程,本发明专利技术不需要形成和处理页面模块的头文件;不需要重新定义代码文本形成规则,不需要重新编写库函数的构造接口、初始化接口和运行阶段的任务调用接口;不需要通过分析页面程序和拓扑连线即可形成封装后的图形符号,操作更加简单。大大降低了编程和调试的难度,减少了封装的工作量。

【技术实现步骤摘要】

本专利技术涉及一种页面模块封装重用方法及装置,属于电力系统离线数字仿真

技术介绍
PSCAD/EMTDC是电力系统电磁暂态分析中的专业仿真工具。PSCAD是用户仿真界面,EMTDC是仿真引擎。它具有精确和丰富的电力系统应用模型、方便的数据输入方式以及强大的数据分析能力,是进行电力系统分析和工程研究的有用工具,在全世界范围内有着广泛的应用。页面模块是该仿真系统中一种特殊形式的元件,该元件模型有独立的图形页面,并含有硬编码脚本与之对照,图形页面程序由基本功能元件和连线组成,还包括输入、输出、参数符号块,并且可以包含其他页面模块,从而拥有分层建模能力。但目前单个页面模块定义只能创建一个实例。在使用过程中,存在将页面模块进行封装重用的需求,即将页面模块封装成可重用的库元件,通过实例化库元件定义,功能可多次重用。另外目前很多直流工程均是使用PSCAD/EMTDC软件进行仿真研究,在面向海外市场时迫切需要进行相关细节的隐藏,给用户只提供顶层封装模块,不开放源图形页面程序,从而有效保护核心技术。通过重用功能稳定的页面模块,可加快开发效率,提高仿真速度。公布号为CN103885782的专利申请文件公开了一种可视化编程页面程序库函数封装重用方法,该方法通过形成封装库函数的图形文件,形成封装库函数的头文件、形成封装库函数的源文件,形成封装库函数的二进制目标文件,完成库函数的实例化重用。虽然该文件提供了一种页面封装重用的方法,但是该方法需要形成和处理页面模块的头文件,并且需要重新定义代码文本形成规则,以及重新编写库函数的构造接口、初始化接口、运行阶段的任务调用接口,增加了编程和调试的难度,封装的工作量比较大。
技术实现思路
本专利技术的目的是提供一种页面模块封装重用方法及装置,以解决目前页面模块封装过程中需要重新定义代码文本形成规则导致编程和调试的难度增大,以及封装的工作量大的问题。本专利技术为解决上述技术问题而提供一种页面模块封装重用方法,该方法包括以下步骤:1)选择需要封装的页面模块,并编译生成页面模块的源程序文件;2)从页面被编译后生成的源程序入手,修改数据存储方式,将数据存储位置从系统内部存储数组修改到用户自定义存储数组;3)将修改后的页面模块的源程序文件链接到用户自定义库页面中,并通过编译该用户自定义库得到页面模块的二进制目标文件;4)在自定义库中将页面模块封装为库元件;5)在任一工程实例中创建封装后库元件,将其链接到页面模块形成的二进制文件,即可实现页面模块的功能重用功能。步骤2)是将数据存储位置从系统内部存储数组STOL、STOI和STOF修改到用户自定义存储数组STORL、STORI和STORF。步骤4)是在用户自定义库中新建元件定义,使该库元件图标外形和连接节点与页面模块相同,能直接复制页面模块的图形文件,并在库元件脚本中设置接口函数以调用页面模块的二进制文件,以实现与页面模块的相同功能。步骤1)是将需要封装的页面模块单独加载到一个新的案例工程中,编译后即可得到该页面模块的源程序文件。本专利技术还提供了一种页面模块封装重用装置,该页面模块封装重用装置包括编译模块、修改模块、目标文件形成模块、页面封装模块和重用模块;所述编译模块用于选择需要封装的页面模块,并编译生成页面模块的源程序文件;所述修改模块用于从页面被编译后生成的源程序入手,修改数据存储方式,将数据存储位置从系统内部存储数组修改到用户自定义存储数组;所述目标文件形成模块用于将修改后的页面模块的源程序文件链接到用户自定义库页面中,并通过编译该用户自定义库得到页面模块的二进制目标文件;所述页面封装模块用于在自定义库中将页面模块封装为库元件;所述重用模块用于在任一工程实例中创建封装后库元件,将其链接到页面模块形成的二进制文件,即可实现页面模块的功能重用功能。所述的修改模块是将数据存储位置从系统内部存储数组STOL、STOI和STOF修改到用户自定义存储数组STORL、STORI和STORF。所述页面封装模块是用于在用户自定义库中新建元件定义,使该库元件图标外形和连接节点与页面模块相同,能直接复制页面模块的图形文件,并在库元件脚本中设置接口函数以调用页面模块的二进制文件,从而实现与页面模块的相同功能。所述的编译模块是将需要封装的页面模块单独加载到一个新的案例工程中,编译后即可得到该页面模块的源程序文件。本专利技术的有益效果是:本专利技术通过编译生成页面模块的源程序文件,直接修改简化源程序文件,并将其编译生成对应的二进制目标文件,同时将页面模块封装为库元件。整个过程,本专利技术不需要形成和处理页面模块的头文件;不需要重新定义代码文本形成规则,不需要重新编写库函数的构造接口、初始化接口和运行阶段的任务调用接口;不需要通过分析页面程序和拓扑连线即可形成封装后的图形符号,操作更加简单,并大大降低了编程和调试的难度,减少了封装的工作量。附图说明图1为本专利技术的页面模块封装重用示例;图2为本专利技术的页面模块封装重用流程图;图3为本专利技术的页面模块源文件函数结构示意图。具体实施方式下面结合附图对本专利技术的具体实施方式做进一步的说明。本专利技术的页面模块封装重用方法可选择任意页面模块将其封装为用户自定义库中的元件,并通过将元件定义多次运用于工程实例来实现页面模块的实例化重用。面向终端用户只提供封装后库元件的图形符号和脚本,以及页面模块的二进制目标文件,不提供源图形页面程序和Fortran源文件,实现了页面模块的重用,加快了开发效率,提高了仿真速度,并且封装后图形页面程序不可见,有利于保护核心技术。下面以PSCAD/EMTDC仿真系统中的页面模块封装重用方法为例对本专利技术进行详细说明,该方法实现流程如图2所示,具体包括以下步骤。1.生成页面子模块的源程序文件。在PSCAD仿真系统中将需要封装的页面模块单独加载到一个新的案例工程中,如PICH.psc,编译后即可得到页面模块的源程序文件(如PICH.f)。2.修改简化页面子模块的源程序文件。本实施例从页面模块别编译后生成的Fortran源程序入手,修改数据存储方式,将数据存储位置从系统内部存储数组STOL、STOI和STOF,并简化一些不必要的代码。页面模块源程序函数结构如图3所示,在变量声明、记录本地索引、读取存储数组数据和写入存储数组数据四部分中,将数据存储位置从系统分配存储数组SLOT、STOL、STOI和STOF修改到用户自定义存储数组STORL、STORI和STPRF。3.生成页面模块的二进制目标文件。本步骤是将修改后的页面模块的源文件(如PICH1.f)链接到用户自定义库页面中,并通过编译该用户自定义库即可得到页面模块的二进制目标文件,如PICH.obj。4.将页面模块封装为库元件。本实施例中将工程的用户自定义库(如PICH.psl)中创建一个新的元件定义,其图标外形和输入输出接口与需要封装的页面模块相同,并在其脚本中添加接口函数以调用页面模块的子函数。以PICH为例,相关接口函数如下:#STORAGELOGICAL:1INTEGER:1REAL:17;功能:预处理,声明函数使用用户自定义存储数组大小。#SUBROUTINEPICHDyn;功能:预处理,对被调用函数进行声明。CALLPICHDyn($W,$X,$KP,$TN,$本文档来自技高网
...
一种页面模块封装重用方法及装置

【技术保护点】
一种页面模块封装重用方法,其特征在于,该方法包括以下步骤:1)选择需要封装的页面模块,并编译生成页面模块的源程序文件;2)从页面被编译后生成的源程序入手,修改数据存储方式,将数据存储位置从系统内部存储数组修改到用户自定义存储数组;3)将修改后的页面模块的源程序文件链接到用户自定义库页面中,并通过编译该用户自定义库得到页面模块的二进制目标文件;4)在自定义库中将页面模块封装为库元件;5)在任一工程实例中创建封装后库元件,将其链接到页面模块形成的二进制文件,即可实现页面模块的功能重用功能。

【技术特征摘要】
1.一种页面模块封装重用方法,其特征在于,该方法包括以下步骤:1)选择需要封装的页面模块,并编译生成页面模块的源程序文件;2)从页面被编译后生成的源程序入手,修改数据存储方式,将数据存储位置从系统内部存储数组修改到用户自定义存储数组;3)将修改后的页面模块的源程序文件链接到用户自定义库页面中,并通过编译该用户自定义库得到页面模块的二进制目标文件;4)在自定义库中将页面模块封装为库元件;5)在任一工程实例中创建封装后库元件,将其链接到页面模块形成的二进制文件,即可实现页面模块的功能重用功能。2.根据权利要求1所述的页面模块封装重用方法,其特征在于,步骤2)是将数据存储位置从系统内部存储数组STOL、STOI和STOF修改到用户自定义存储数组STORL、STORI和STORF。3.根据权利要求1或2所述的页面模块封装重用方法,其特征在于,步骤4)是在用户自定义库中新建元件定义,使该库元件图标外形和连接节点与页面模块相同,能直接复制页面模块的图形文件,并在库元件脚本中设置接口函数以调用页面模块的二进制文件,以实现与页面模块的相同功能。4.根据权利要求1所述的页面模块封装重用方法,其特征在于,步骤1)是将需要封装的页面模块单独加载到一个新的案例工程中,编译后即可得到该页面模块的源程序文件。5.一种页面模块封装重用装置,其特征在于,该页面模块封装重用装置包括编译模块、修改...

【专利技术属性】
技术研发人员:胡永昌李少华李泰荆雪记雷霄苏匀王华伟彭忠张艳浩王薇薇苏进国陈大鹏王柏恒李艳梅周金萍
申请(专利权)人:许继集团有限公司许继电气股份有限公司国家电网公司中国电力科学研究院国网河南省电力公司
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1