CN114792058B - 一种新能源电磁暂态封装模型统一接口方法及系统 - Google Patents
一种新能源电磁暂态封装模型统一接口方法及系统 Download PDFInfo
- Publication number
- CN114792058B CN114792058B CN202210714492.5A CN202210714492A CN114792058B CN 114792058 B CN114792058 B CN 114792058B CN 202210714492 A CN202210714492 A CN 202210714492A CN 114792058 B CN114792058 B CN 114792058B
- Authority
- CN
- China
- Prior art keywords
- new energy
- function
- model
- interface
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种新能源电磁暂态封装模型统一接口方法和系统,所述方法包括按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件;将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库;根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型。所述方法和系统使厂家只需要按照统一接口方法完成一次封装工作,通过转换即可实现不同电磁暂态仿真软件的调用,避免了对不同软件的重复封装,大大降低了新能源控制器封装建模的工作量,提高了封装建模的效率。
Description
技术领域
本发明涉及电力系统电磁暂态仿真技术领域,并且更具体地,涉及一种新能源电磁暂态封装模型统一接口方法及系统。
背景技术
近年来,我国风电、光伏等新能源得到跨越式发展,已形成规模巨大、结构复杂的高比例新能源电力系统,对电网安全高效运行提出了新的挑战。但是,新能源实际运行设备特性复杂,与通用仿真模型差别很大,亟需实现新能源设备的精细化仿真。新能源控制器决定了新能源设备的关键动态特性,把新能源控制器的内部逻辑直接封装为一个不可见但可调用的数字模型,并融合进电网仿真工具中,成为了一个有力的解决方案。当前,由厂家将新能源设备实际控制逻辑“封装”为函数库,进而搭建新能源电磁暂态模型,精细化地模拟新能源设备运行特性,是新能源建模的主要技术路线之一。
电网仿真常用软件包括:ADPSS、Hypersim、RT-LAB、MATLAB、PSCAD等。这些仿真软件的应用场合和支撑领域不同,却都面临新能源模型的挑战,因此需要对每一款仿真软件提供新能源的封装模型。不同仿真软件的原理及设计不同,其新能源控制器模型的封装和接入方法也不同。此前,新能源厂家需要针对不同软件的封装函数库接口,对新能源控制器的控制保护逻辑进行多次封装建模以及测试,这意味着新能源设备厂家需要掌握不同软件封装建模的方法,需要掌握包括FORTRAN、C、C++、M语言等在内的开发语言,需要掌握Windows和Linux两个平台的代码开发及调试,建模难度很高。同时,这种开发模式存在重复封装工作,封装与调试的工作量巨大,且各软件使用的控制器代码版本难以统一,模型管理困难。
因此,亟需提炼不同仿真软件中的封装函数库接口的共性特征,提出一套通过简单封装即可适配各种软件的电磁暂态新能源电磁暂态封装模型的统一接口方案。
发明内容
为了解决现有技术中不同电磁暂态仿真软件的封装函数库接口不同导致的厂家封装的新能源控制器的数字模型不能通用,技术门槛高、建模工作量大、管理难度大的技术问题,本发明提供一种新能源电磁暂态封装模型统一接口方法及系统。
根据本发明的一方面,提供一种新能源电磁暂态封装模型统一接口方法,所述方法包括:
按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件;
将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库;
根据新能源控制器基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型。
可选地,按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件包括:
将预先编写的实现新能源控制器内部逻辑的用户代码拆分成初始操作部分,计算操作部分和结束操作部分;
将初始化操作部分的用户代码封装到初始化阶段函数,将计算操作部分的用户代码封装到计算阶段函数,将结束操作部分的用户代码封装到终止阶段函数,其中,预设的统一接口函数提供标准化的对象指针和存储区,其包括初始化阶段函数、计算阶段函数和终止阶段函数;
初始化阶段函数,计算阶段函数和终止阶段函数即构成统一接口函数文件。
可选地,将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库包括:
当操作系统为Windows系统时,编译生成的统一接口静态库为.lib文件;
当操作系统为Linux系统时,编译生成的统一接口静态库为.a文件。
可选地,根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型包括:
根据新能源控制器基本信息生成对应不同电磁暂态仿真软件的转换接口文件,其中,所述新能源控制器基本信息包括拟生成的新能源电磁暂态封装模型的模型名称、模型输入变量总个数、模型输出变量总个数、模型参数总个数、模型仿真步长和存储区存储空间大小;
将所述转换接口文件与所述统一接口静态库联合编译得到适配不同电磁暂态仿真软件的新能源控制器封装函数库,所述新能源控制器封装函数库即为新能源电磁暂态封装模型。
根据本发明的另一方面,本发明提供一种新能源电磁暂态封装模型统一接口系统,所述系统包括:
函数文件单元,用于按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件;
静态库单元,用于将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库;
转换封装单元,用于根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型。
可选地,函数文件单元按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件包括:
将预先编写的实现新能源控制器内部逻辑的用户代码拆分成初始操作部分,计算操作部分和结束操作部分;
将初始化操作部分的用户代码封装到初始化阶段函数,将计算操作部分的用户代码封装到计算阶段函数,将结束操作部分的用户代码封装到终止阶段函数,其中,预设的统一接口函数提供标准化的对象指针和存储区,其包括初始化阶段函数、计算阶段函数和终止阶段函数;
初始化阶段函数,计算阶段函数和终止阶段函数即构成统一接口函数文件。
可选地,静态库单元将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库包括:
当操作系统为Windows系统时,编译生成的统一接口静态库为.lib文件;
当操作系统为Linux系统时,编译生成的统一接口静态库为.a文件。
可选地,封装转换单元包括:
接口文件模块,用于根据新能源控制器基本信息生成对应不同电磁暂态仿真软件的转换接口文件,其中,所述新能源控制器基本信息包括拟生成的新能源电磁暂态封装模型的模型名称、模型输入变量总个数、模型输出变量总个数、模型参数总个数、模型仿真步长和存储区存储空间大小;
封装模型模块,用于将所述转换接口文件与所述统一接口静态库联合编译得到适配不同电磁暂态仿真软件的新能源控制器封装函数库,所述新能源控制器封装函数库即为新能源电磁暂态封装模型。
本发明技术方案提供的新能源电磁暂态封装模型统一接口方法和系统,所述方法包括按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件;将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库;根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型。所述方法和系统提炼了不同仿真软件中新能源模型函数库的共性特征,提出了满足新能源控制器封装需求的统一接口函数,给生产新能源控制器的厂家提供了友好的封装建模环境并针对不同电磁暂态仿真软件的差异性特征,提出不同软件的自动转换方法,从而降低了转换工作的技术门槛,厂家只需要按照统一接口方法完成一次封装工作,通过转换即可实现不同电磁暂态仿真软件的调用,避免了对不同软件的重复封装,大大降低了新能源控制器封装建模的工作量,提高了封装建模的工作效率,从而极大地推动了新能源电磁暂态封装模型的应用与落地,提高了高比例新能源大电网电磁暂态仿真精度,保障了高比例新能源大电网的安全稳定运行。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明优选实施方式的新能源电磁暂态封装模型统一接口方法的流程图;
图2为根据本发明优选实施方式的新能源电磁暂态封装模型统一接口系统的结构示意图;
图3为根据本发明优选实施方式的转换封装单元的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
实施例1
图1为根据本发明优选实施方式的新能源电磁暂态封装模型统一接口方法的流程图。如图1所示,本优选实施方式所述的新能源电磁暂态封装模型统一接口方法从步骤101开始。
在步骤101,按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件。
优选地,按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件包括:
将预先编写的实现新能源控制器内部逻辑的用户代码拆分成初始操作部分,计算操作部分和结束操作部分;
将初始化操作部分的用户代码封装到初始化阶段函数,将计算操作部分的用户代码封装到计算阶段函数,将结束操作部分的用户代码封装到终止阶段函数,其中,预设的统一接口函数提供标准化的对象指针和存储区,其包括初始化阶段函数、计算阶段函数和终止阶段函数;
初始化阶段函数,计算阶段函数和终止阶段函数即构成统一接口函数文件。
本优选实施方式中,在基于统一接口函数生成新能源控制器的电磁暂态封装模型时,将新能源电磁暂态封装模型的生命周期分为三个功能阶段,分别为初始化阶段、计算阶段和结束阶段。其中,初始化阶段执行初始化操作,比如赋初值,申请内存等。计算阶段执行具体功能,比如计算、延迟和逻辑判断等。而结束阶段周则执行结束操作,比如日志答应、内存释放等。因此对应这三个功能阶段,本发明提炼了不同仿真软件函数库的技术需求,包括标准的模拟量和数字量输入、控制器内部需要存储状态变量、仿真对控制器数字模型的附加功能(内部参数外露,内部逻辑或者变量外露等),提出了新能源电磁暂态封装模型的统一接口函数,包括:初始化阶段函数(int Init$MODEL)、计算阶段函数(int Step$MODEL)和终止阶段函数(int Terminate$MODEL),分别对应功能架构中的初始化阶段、计算阶段、结束阶段。上述统一接口函数提供标准化的对象指针和存储区,从而使新能源电磁暂态封装模型可以实现多实例灵活扩展。因此,对于实现新能源控制器内部逻辑的用户代码,需要将其按照实现的功能嵌入上述三个接口函数中,从而供电磁暂态仿真软件在不同阶段调用。
具体地,初始化阶段函数(int Init$MODEL)、计算阶段函数(int Step$MODEL)和终止阶段函数(int Terminate$MODEL)的格式如下:
初始化阶段的接口函数为:
int Init$MODEL(void ** pModelInfo, int Parameter_N, int Nin, intNout, double* Parameter, double* Val_In, double* Val_out, int Snapshot_Inp,char* Store_Add, double Tnow, double DT)
$MODEL | 封装模型的名称,要求不同功能的封装模型名称不同。 |
pModelInfo | <out>模型实例指针,用于标示同一模型的多次不同调用,初始化时,需要用户封装模型给* pModelInfo指定一个模型实例地址。 |
Parameter_N | <in>模型参数的总个数,可以为0。初始化时,由仿真程序侧传递到用户封装模型内部。 |
Nin | <in>模型输入变量总个数。初始化时,由仿真程序侧传递到用户封装模型内部。 |
Nout | <in>模型输出变量总个数。初始化时,由仿真程序侧传递到用户封装模型内部。 |
Parameter | <in>模型参数数组,维数为Parameter_N。初始化时,由仿真程序侧传递到用户封装模型内部。 |
Val_In | <in>模型输入量数组,维数已经在初始化时确定,为Nin。初始化时,由仿真程序侧传递到用户封装模型内部。 |
Val_Out | <out>模型输出量数组,维数已经在初始化时确定,为NOut。初始化时,由用户封装模型内部传递到仿真程序侧。 |
Snapshot_Inp | <in>是否从Snapshot模式下启动。1表示从Snapshot启动,0表示不从Snapshot启动。初始化时,由仿真程序侧传递到用户封装模型内部。 |
Store_Add | <in>公共存储区。初始化时,由仿真程序侧传递到用户封装模型内部。公共存储区既可以用于用户数据存储,也可以在快照功能中作为快照的存储区。用户根据自己的需要设置Store_Add的大小,避免越区访问。 |
Tnow | <in>仿真时间。初始化时,由仿真程序侧传递到用户封装模型内部,为0。 |
DT | <in>模型仿真步长,单位为秒(s)。初始化时,由仿真程序侧传递到用户封装模型内部。 |
计算阶段的接口函数为:
int Step$MODEL(void * pModelInfo, int Mark, double *Val_In, double *Val_Out, int Snapshot_Inp, char* Store_Add, double Tnow)
$MODEL | 封装模型的名称,要求不同功能的封装模型名称不同。 |
pModelInfo | <out>模型实例指针,用于标示同一模型的多次不同调用。 |
Mark | 保留,未使用。 |
Val_In | <in>模型输入量数组,维数已经在初始化时确定,为Nin。计算阶段,由仿真程序侧传递到用户封装模型内部。 |
Val_Out | <out>模型输出量数组,维数已经在初始化时确定,为NOut。仿真阶段,由用户封装模型内部传递到仿真程序侧。 |
Snapshot_Inp | <in>是否开始Snapshot。计算阶段,由仿真程序侧传递到用户封装模型内部。 |
Store_Add | <in>公共存储区。计算阶段,由仿真程序侧传递到用户封装模型内部。公共存储区既可以用于用户数据存储,也可以在快照功能中作为快照的存储区。 |
Tnow | <in>仿真时间。计算阶段,由仿真程序侧传递到用户封装模型内部。 |
终止阶段的接口函数为:
void Terminate$MODEL(void* pModelInfo)。
$MODEL | 封装模型的名称,要求不同功能的封装模型名称不同。 |
pModelInfo | <out>模型实例指针,用于标示同一模型的多次不同调用。 |
在步骤102,将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库。
优选地,将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库包括:
当操作系统为Windows系统时,编译生成的统一接口静态库为.lib文件;
当操作系统为Linux系统时,编译生成的统一接口静态库为.a文件。
在本优选实施方式中,新能源控制器生产厂家按照统一接口形式,完成了用户代码开发,并编译生成统一接口静态库后,即完成了厂家处的第一次封装,基于不同的电磁暂态仿真软件生成接口文件时,只需要厂家提供新能源控制器的基本信息后,按照设置的封装模型转换方法即可自动完成。
在步骤103,根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型。
优选地,根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型包括:
根据新能源控制器基本信息生成对应不同电磁暂态仿真软件的转换接口文件,其中,所述新能源控制器基本信息包括拟生成的新能源电磁暂态封装模型的模型名称、模型输入变量总个数、模型输出变量总个数、模型参数总个数、模型仿真步长和存储区存储空间大小;
将所述转换接口文件与所述统一接口静态库联合编译得到适配不同电磁暂态仿真软件的新能源控制器封装函数库,所述新能源控制器封装函数库即为新能源电磁暂态封装模型。
在本优选实施方式中,所述新能源控制器基本信息由新能源控制器生产厂家提供,所述新能源控制器基本信息包括拟生成的新能源电磁暂态封装模型的模型名称、模型输入变量总个数、模型输出变量总个数、模型参数总个数、模型仿真步长和存储区存储空间大小,由上述初始化阶段函数(int Init$MODEL)、计算阶段函数(int Step$MODEL)和终止阶段函数(int Terminate$MODEL)的格式可知,由生产厂家提供的新能源控制器基本信息与统一接口函数文件中设置的各个变量具有对应关系,因此,当根据所述新能源控制器基本信息生成不同电磁暂态仿真软件的转换接口文件后,当电磁暂态软件进行仿真运行时,即可将所述新能源控制器基本信息写入生成的新能源电磁暂态封装模型的统一接口函数文件中,最终实现仿真软件的调用。本实施方式列举现有技术中常见的电磁暂态软件生成转换接口文件及新能源电磁暂态封装模型的过程如下:
对于ADPSS,选用ADPSS提供的带SNAPSHOT的UD接口文件,根据新能源控制器基本信息生成对应的ADPSS接口文件,将所述统一接口静态库和ADPSS接口文件联合编译成动态库。在本实施方式中,选用ADPSS提供的带SNAPSHOT的UD接口,在接口文件中调用统一接口函数,将实例指针、SNAPSHOT的地址提供给统一接口函数。Windows下,将统一接口静态库(32位LIB文件)和ADPSS接口文件联合编译成动态库(32位DLL文件);Linux环境下,将统一接口静态库(64位A文件)和ADPSS接口文件联合编译成动态库(64位SO文件)。
对于Hypersim,根据新能源控制器基本信息生成对应的Hypersim接口文件,将Hypersim的接口文件与所述统一接口静态库联合编译成动态库,同时根据新能源控制器的基本信息生成DEF文件,并根据新能源控制器的DEF文件创建Hypersim的UD模块UCM。在本实施方式中,在TIME=0时执行初始化阶段,调用统一封装接口的初始化函数;其他时刻调用统一封装接口的计算函数;初始化阶段将实例指针存储到Hypersim提供的存储区中,在计算阶段将实例指针取回;创立存储区,提供给统一接口函数。将Hypersim接口文件与统一接口静态库(64位A文件)编译成动态库(64位SO文件),供Hypersim调用,同时提供该控制器的DEF文件用于创建UCM(Hypersim的UD模块)。
对于PSCAD,通过PSCAD提供的关键字符“FIRSTSTEP”和“LASTSTEP”,将仿真分为初始化阶段、计算阶段和终止阶段,以分别调用初始化阶段函数int Init$MODEL、计算阶段函数int Step$MODEL和终止阶段函数int Terminate$MODEL;指针地址直接存储到PSCAD提供的存储数组中,实现存储区功能,同时根据新能源控制器基本信息生成对应的PSCAD接口文件,并将所述PSCAD接口文件添加到工程中,将所述统一接口静态库添加到依赖项中,执行编译计算。
对于MATLAB,根据新能源控制器基本信息生成对应的MATLAB接口文件,通过MATLAB提供的MEX指令,将所述MATLAB接口文件和所述统一接口静态库编译成MATLAB特定的动态库。在本实施方式中,在mdlStart,mdlOutputs,mdlTerminate三个默认函数中分别调用相应的统一封装接口函数;初始化阶段将实例指针存储到s-function提供的指针中,在计算阶段将实例指针取回;初始化阶段创建存储区并动态分配空间,以支持多实例,将存储区指针存储到s-function提供的指针中,在计算阶段将存储区指针取回。通过MATLAB提供的MEX指令,可以将接口文件和统一接口静态库(LIB文件)编译成MATLAB特定的动态库(mex64或mex32),实现MATLAB的调用。
对于RT-LAB,根据新能源控制器基本信息生成对应的RT-LAB接口文件,解包所述统一接口静态库后编译所述RT-LAB接口文件,并对编译的RT-LAB接口文件进行打包,得到RT-LAB所需的静态库。在本实施方式中,解包32位统一接口静态库(A文件),编译根据新能源控制器基本信息生成的RT-LAB接口文件,并进行打包,得到RT-LAB所需的A文件,实现RT-LAB的调用。
在本实施方式中,实现新能源控制器内部逻辑的用户代码、统一接口函数文件和转换接口文件均可采用C/C++语言进行编写。
实施例2
图2为根据本发明优选实施方式的新能源电磁暂态封装模型统一接口系统的结构示意图。如图2所示,本优选实施方式所述的新能源电磁暂态封装模型统一接口系统包括:
函数文件单元201,用于按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件;
静态库单元202,用于将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库;
转换封装单元203,用于根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型。
优选地,函数文件单元201按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件包括:
将预先编写的实现新能源控制器内部逻辑的用户代码拆分成初始操作部分,计算操作部分和结束操作部分;
将初始化操作部分的用户代码封装到初始化阶段函数,将计算操作部分的用户代码封装到计算阶段函数,将结束操作部分的用户代码封装到终止阶段函数,其中,预设的统一接口函数提供标准化的对象指针和存储区,其包括初始化阶段函数、计算阶段函数和终止阶段函数;
初始化阶段函数,计算阶段函数和终止阶段函数即构成统一接口函数文件。
优选地,静态库单元202将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库包括:
当操作系统为Windows系统时,编译生成的统一接口静态库为.lib文件;
当操作系统为Linux系统时,编译生成的统一接口静态库为.a文件。
优选地,所述封装转换单元203包括:
接口文件模块231,用于根据新能源控制器基本信息生成对应不同电磁暂态仿真软件的转换接口文件,其中,所述新能源控制器基本信息包括拟生成的新能源电磁暂态封装模型的模型名称、模型输入变量总个数、模型输出变量总个数、模型参数总个数、模型仿真步长和存储区存储空间大小;
封装模型模块232,用于将所述转换接口文件与所述统一接口静态库联合编译得到适配不同电磁暂态仿真软件的新能源控制器封装函数库,所述新能源控制器封装函数库即为新能源电磁暂态封装模型。
图3为根据本发明优选实施方式的转换封装单元的结构示意图。如图3所示,本优选实施方式中,转换封装单元203包括接口文件模块231封装模型模块,其分别用于生成电磁暂态仿真软件的转换接口文件和新能源电磁暂态封装模型。
本发明所述新能源电磁暂态封装模型统一接口系统在新能源控制器厂家编写完成实现新能源控制器的内部逻辑的用户代码的基础上,通过提供的统一接口函数的格式,嵌入所述用户代码,生成统一接口静态库,然后通过预设的封装模型转换方法生成对应不同电压暂态仿真软件的接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型的步骤与本发明所述新能源电磁暂态封装模型统一接口方法的步骤相同,并且达到的技术效果也相同,此处不再赘述。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (8)
1.一种新能源电磁暂态封装模型统一接口方法,其特征在于,所述方法包括:
按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件;
将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库;
根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型。
2.根据权利要求1所述的方法,其特征在于,按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件包括:
将预先编写的实现新能源控制器内部逻辑的用户代码拆分成初始操作部分,计算操作部分和结束操作部分;
将初始化操作部分的用户代码封装到初始化阶段函数,将计算操作部分的用户代码封装到计算阶段函数,将结束操作部分的用户代码封装到终止阶段函数,其中,预设的统一接口函数提供标准化的对象指针和存储区,其包括初始化阶段函数、计算阶段函数和终止阶段函数;
初始化阶段函数,计算阶段函数和终止阶段函数即构成统一接口函数文件。
3.根据权利要求1所述的方法,其特征在于,将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库包括:
当操作系统为Windows系统时,编译生成的统一接口静态库为.lib文件;
当操作系统为Linux系统时,编译生成的统一接口静态库为.a文件。
4.根据权利要求3所述的方法,其特征在于,根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型包括:
根据新能源控制器基本信息生成对应不同电磁暂态仿真软件的转换接口文件,其中,所述新能源控制器基本信息包括拟生成的新能源电磁暂态封装模型的模型名称、模型输入变量总个数、模型输出变量总个数、模型参数总个数、模型仿真步长和存储区存储空间大小;
将所述转换接口文件与所述统一接口静态库联合编译得到适配不同电磁暂态仿真软件的新能源控制器封装函数库,所述新能源控制器封装函数库即为新能源电磁暂态封装模型。
5.一种新能源电磁暂态封装模型统一接口系统,其特征在于,所述系统包括:
函数文件单元,用于按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件;
静态库单元,用于将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库;
转换封装单元,用于根据新能源控制器的基本信息生成对应不同电磁暂态仿真软件的转换接口文件,并对所述统一接口静态库和转换接口文件进行封装生成新能源电磁暂态封装模型。
6.根据权利要求5所述的系统,其特征在于,函数文件单元按照预设的统一接口函数格式,嵌入预先编写的实现新能源控制器内部逻辑的用户代码以生成统一接口函数文件包括:
将预先编写的实现新能源控制器内部逻辑的用户代码拆分成初始操作部分,计算操作部分和结束操作部分;
将初始化操作部分的用户代码封装到初始化阶段函数,将计算操作部分的用户代码封装到计算阶段函数,将结束操作部分的用户代码封装到终止阶段函数,其中,预设的统一接口函数提供标准化的对象指针和存储区,其包括初始化阶段函数、计算阶段函数和终止阶段函数;
初始化阶段函数,计算阶段函数和终止阶段函数即构成统一接口函数文件。
7.根据权利要求5所述的系统,其特征在于,静态库单元将用户代码和统一接口函数文件编译成对应不同的操作系统的统一接口静态库包括:
当操作系统为Windows系统时,编译生成的统一接口静态库为.lib文件;
当操作系统为Linux系统时,编译生成的统一接口静态库为.a文件。
8.根据权利要求7所述的系统,其特征在于,封装转换单元包括:
接口文件模块,用于根据新能源控制器基本信息生成对应不同电磁暂态仿真软件的转换接口文件,其中,所述新能源控制器基本信息包括拟生成的新能源电磁暂态封装模型的模型名称、模型输入变量总个数、模型输出变量总个数、模型参数总个数、模型仿真步长和存储区存储空间大小;
封装模型模块,用于将所述转换接口文件与所述统一接口静态库联合编译得到适配不同电磁暂态仿真软件的新能源控制器封装函数库,所述新能源控制器封装函数库即为新能源电磁暂态封装模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210714492.5A CN114792058B (zh) | 2022-06-23 | 2022-06-23 | 一种新能源电磁暂态封装模型统一接口方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210714492.5A CN114792058B (zh) | 2022-06-23 | 2022-06-23 | 一种新能源电磁暂态封装模型统一接口方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114792058A CN114792058A (zh) | 2022-07-26 |
CN114792058B true CN114792058B (zh) | 2022-08-26 |
Family
ID=82463151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210714492.5A Active CN114792058B (zh) | 2022-06-23 | 2022-06-23 | 一种新能源电磁暂态封装模型统一接口方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114792058B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117195581B (zh) * | 2023-09-20 | 2024-06-25 | 中国电力科学研究院有限公司 | 一种电磁暂态模型仿真方法、系统、设备及介质 |
CN117573193A (zh) * | 2023-11-16 | 2024-02-20 | 南方电网科学研究院有限责任公司 | 异平台新能源控制器链接库文件配置方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040294A (zh) * | 2018-08-29 | 2018-12-18 | 广东电网有限责任公司 | 一种用于三维仿真监控的异构系统标准化接入方法及装置 |
CN111832141A (zh) * | 2019-03-28 | 2020-10-27 | 中国电力科学研究院有限公司 | 一种风电机组电磁暂态建模仿真方法和系统 |
CN112364538A (zh) * | 2020-11-09 | 2021-02-12 | 中国电子科技集团公司第二十九研究所 | 一种基于数据模型的多专业异构模型统一封装方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417734B2 (en) * | 2009-08-31 | 2013-04-09 | Red Hat, Inc. | Systems and methods for managing sets of model objects via unified management interface |
-
2022
- 2022-06-23 CN CN202210714492.5A patent/CN114792058B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040294A (zh) * | 2018-08-29 | 2018-12-18 | 广东电网有限责任公司 | 一种用于三维仿真监控的异构系统标准化接入方法及装置 |
CN111832141A (zh) * | 2019-03-28 | 2020-10-27 | 中国电力科学研究院有限公司 | 一种风电机组电磁暂态建模仿真方法和系统 |
CN112364538A (zh) * | 2020-11-09 | 2021-02-12 | 中国电子科技集团公司第二十九研究所 | 一种基于数据模型的多专业异构模型统一封装方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114792058A (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114792058B (zh) | 一种新能源电磁暂态封装模型统一接口方法及系统 | |
CN103136406B (zh) | 可视化应用程序自动生成仿真用函数代码的方法 | |
CN102004635B (zh) | 一种支持重用的仿真模型系统及其开发方法 | |
CN111367511B (zh) | 一种仿真模型接口适配开发系统及其工作方法 | |
CN109799971B (zh) | 一种文件生成装置和方法 | |
Hong et al. | The application guide of mixed programming between MATLAB and other programming languages | |
CN104573287B (zh) | 基于界面绑定统一模型的数字仿真框架设计方法 | |
CN104573193A (zh) | 一种航天器gnc系统快速设计方法 | |
CN116090403B (zh) | 支持多仿真器的命令处理系统 | |
CN110196720B (zh) | 一种Simulink生成动态链接库的优化方法 | |
CN102480467A (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
CN111832141A (zh) | 一种风电机组电磁暂态建模仿真方法和系统 | |
CN111650847A (zh) | 执行机构模型在航空发动机硬件在回路平台的集成方法 | |
CN106155903A (zh) | 用于系统设计验证的装置和方法 | |
CN111985055A (zh) | 一种模型封装方法、装置及电子设备 | |
Verschelde | Modernizing PHCpack through phcpy | |
CN102968533B (zh) | 一种液体火箭发动机通用化仿真方法 | |
CN106970787A (zh) | 一种汽车控制器快速原型实现方法 | |
CN116431317B (zh) | 一种基于Vxworks仿真接口调度方法 | |
Pohl et al. | vMAGIC—automatic code generation for VHDL | |
CN104657136A (zh) | Simulink组件的集成系统 | |
CN114168151B (zh) | 基于容器的程序编译方法、装置、电子设备及存储介质 | |
CN115421940A (zh) | 一种基于共享内存技术的多源异构模型白盒集成方法 | |
CN115237390A (zh) | 一种继电保护装置逻辑图生成代码方法、装置及存储介质 | |
CN113805848B (zh) | 目标机控制软件集成方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |