CN112115604A - Modelica模型与Simulink模型的联合仿真方法、系统及电子设备 - Google Patents
Modelica模型与Simulink模型的联合仿真方法、系统及电子设备 Download PDFInfo
- Publication number
- CN112115604A CN112115604A CN202010964110.5A CN202010964110A CN112115604A CN 112115604 A CN112115604 A CN 112115604A CN 202010964110 A CN202010964110 A CN 202010964110A CN 112115604 A CN112115604 A CN 112115604A
- Authority
- CN
- China
- Prior art keywords
- model
- modelica
- subsystem
- simulink
- packaging
- 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.)
- Granted
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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种Modelica模型与Simulink模型的联合仿真方法、系统及电子设备,其中方法包括:将预先建立的Simulink子系统模型导出为动态链接库文件和头文件,运行自动封装程序,将动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序,通过主控模型设置第一Modelica封装模型和第一Modelica子系统模型的连接关系和时序控制,并配置第一Modelica封装模型和第一Modelica子系统模型的参数,加载第二Modelica子系统模型、第二Modelica封装模型和主控模型,求解主控模型并调用C语言程序;本发明采用函数调用的方式直接传输数据没有数据丢失,并且通信时间很短,不存在延时,同时提供了一套Simulink模型自动封装为Modelica模型的程序,自动实现Simulink模型封装为Modelica模型,减少人工操作。
Description
技术领域
本发明涉及系统建模仿真领域,具体涉及一种Modelica模型与Simulink模型的联合仿真方法、系统及电子设备。
背景技术
现代工业系统一般都由控制系统和被控对象两部分构成,其中被控对象具有机、电、液、热等多领域耦合的特点,控制系统一般都有控制算法和控制逻辑来实现,在系统仿真过程中一般采用不同的方法或软件分别构建被控对象模型和控制系统模型,然后通过不同软件之间的联合仿真方式进行控制系统和被控对象模型的耦合仿真分析。
Modelica是一种开放的、基于方程的、面向对象的多领域统一建模语言,针对机械、电子、液压、气压、热等不同领域的多领域耦合的复杂异构模型,可以方便地实现其物理系统建模,从而快速地构建工业系统中的被控对象模型。Simulink是MATLAB软件中的一种可视化建模仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字信号处理的控制算法和控制逻辑建模和仿真,可以快速地构建工业系统中的控制系统模型。
联合Modelica模型与Simulink模型进行联合仿真在很多工业系统的仿真分析过程中都会用到,这种联合仿真可以充分利用二者的优点,从而快速准确地进行系统级的仿真分析。
目前常用的联合Modelica模型与Simulink模型的方法为网络通信的方式,将Modelica模型仿真数据和Simulink模型仿真数据通过UDP或TCP/IP协议进行网络传输,实现模型数据交换,从而实现控制系统模型和被控对象模型之间的联合仿真。但此方法的缺点为网络通讯过程会有数据丢包和延迟,并且网络通信需要消耗时间会影响系统模型的仿真速度,特别是对大规模复杂系统模型,网络通讯所带来的时间消耗是不能被忽略。
发明内容
本发明的主要目的在于提供一种Modelica模型与Simulink模型的联合仿真方法及系统,以解决现有Modelica模型和Simulink模型联合仿真中数据丢包、延迟和网络通信消耗时间长的问题。
为了实现上述目的,本发明的第一方面提供了一种Modelica模型与Simulink模型的联合仿真方法方法,包括:
将预先建立的Simulink子系统模型导出为动态链接库文件和头文件;
运行自动封装程序,将所述动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序;
通过预先建立的主控模型设置所述第一Modelica封装模型和预先建立的第一Modelica子系统模型的连接关系和时序控制,并配置所述第一Modelica封装模型和第一Modelica子系统模型的参数,得到第二Modelica封装模型和第二Modelica子系统模型;
加载所述第二Modelica子系统模型、第二Modelica封装模型和主控模型,求解所述主控模型,并利用Modelica语言的外部函数调用机制调用所述C语言程序,以实现所述第二Modelica封装模型和所述第二Modelica子系统模型的数据交换。
可选地,在将预先建立的Simulink子系统模型导出为动态链接库文件和头文件之前,所述方法还包括:
搭建Simulink子系统模型,所述Simulink子系统模型包括模型的数学方程和输入输出接口;
使用Modelica语言描述第一Modelica子系统模型,所述第一Modelica子系统模型包括模型的物理方程和输入输出接口;
其中,所述Simulink子系统模型和所述第一Modelica子系统模型分别通过各自模型的输入输出接口交换数据的输入输出变量信息。
可选地,所述运行自动封装程序,将所述动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序,包括:
识别头文件,获取Simulink子系统模型的输入输出变量信息;
将自动封装程序所包含的模板中的标识符替换为所述输入输出变量信息,生成C语言程序和第一Modelica封装模型。
可选地,所述利用Modelica语言的外部函数调用机制调用所述C语言程序包括:
利用Modelica语言的外部函数调用机制,通过所述主控模型调用所述C语言程序;
通过所述C语言程序调用所述动态链接库文件。
本发明的第二方面提供了一种一种Modelica模型与Simulink模型的联合仿真系统,所述系统包括:
导出单元,用于将预先建立的Simulink子系统模型导出为动态链接库文件和头文件;
自动封装单元,用于运行自动封装程序,将所述动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序;
设置单元,用于通过预先建立的主控模型设置所述第一Modelica封装模型和预先建立的第一Modelica子系统模型的连接关系和时序控制,并配置所述第一Modelica封装模型和第一Modelica子系统模型的参数,得到第二Modelica封装模型和第二Modelica子系统模型;
求解单元,用于加载所述第二Modelica子系统模型、第二Modelica封装模型和主控模型,求解所述主控模型,并利用Modelica语言的外部函数调用机制调用所述C语言程序,以实现所述第二Modelica封装模型和所述第二Modelica子系统模型的数据交换。
可选地,在导出单元之前,所述系统还包括:
搭建模块,用于搭建Simulink子系统模型,所述Simulink子系统模型包括模型的数学方程和输入输出接口;
描述模块,用于使用Modelica语言描述第一Modelica子系统模型,所述第一Modelica子系统模型包括模型的物理方程和输入输出接口;
其中,所述Simulink子系统模型和所述第一Modelica子系统模型分别通过各自模型的输入输出接口交换数据的输入输出变量信息。
可选地,所述自动封装单元包括:
获取模块,用于识别头文件,获取Simulink子系统模型的输入输出变量信息;
替换模块,用于将自动封装程序所包含的模板中的标识符替换为所述输入输出变量信息,生成C语言程序和第一Modelica封装模型。
可选地,所述求解单元包括:
第一调用模块,用于利用Modelica语言的外部函数调用机制,通过所述主控模型调用所述C语言程序;
第二调用模块,用于通过所述C语言程序调用所述动态链接库文件。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面任意一项提供的联合仿真方法。
本发明的第四方面提供了一种电子设备,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面任意一项提供的联合仿真方法。
本发明实施例提供的一种Modelica模型与Simulink模型的联合仿真方法,首先将预先建立的Simulink子系统模型导出为动态链接库文件和头文件,其次运行自动封装程序,将所述动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序,然后通过预先建立的主控模型设置所述第一Modelica封装模型和预先建立的第一Modelica子系统模型的连接关系和时序控制,并配置所述第一Modelica封装模型和第一Modelica子系统模型的参数,得到第二Modelica封装模型和第二Modelica子系统模型,最后加载所述第二Modelica子系统模型、第二Modelica封装模型和主控模型,求解所述主控模型,并利用Modelica语言的外部函数调用机制调用所述C语言程序,以实现所述第二Modelica封装模型和所述第二Modelica子系统模型的数据交换;本发明实施例提供的技术方案解决了Simulink模型和Modelica模型网络通讯方式的联合仿真问题,采用函数调用的方式直接传输数据不会有数据丢失,并且通信时间很短,不会存在延时,同时提供了一套Simulink模型自动封装为Modelica模型的程序,自动实现Simulink模型封装为Modelica模型,减少人工操作。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的联合仿真方法流程示意图;
图2为本发明实施例提供的联合仿真过程图;
图3为本发明实施例提供的自动封装过程图;
图4为本发明实施例提供的联合仿真系统框图;
图5为本发明实施例提供的电子设备框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
目前常用的联合Modelica模型与Simulink模型的方法为网络通信的方式,将Modelica模型仿真数据和Simulink模型仿真数据通过UDP或TCP/IP协议进行网络传输,实现模型数据交换,从而实现控制系统模型和被控对象模型之间的联合仿真。但此方法的缺点为网络通讯过程会有数据丢包和延迟,并且网络通信需要消耗时间会影响系统模型的仿真速度,特别是对大规模复杂系统模型,网络通讯所带来的时间消耗是不能被忽略。
为了解决上述问题,本发明实施例提供了一种Modelica模型与Simulink模型的联合仿真方法,如图1所示,该方法包括如下的步骤S101至步骤S104:
步骤S101:将预先建立的Simulink子系统模型导出为动态链接库文件和头文件;其中,所述动态链接库文件后缀名为.dll,所述头文件后缀名为.h。
步骤S102:运行自动封装程序,将所述动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序;通过自动封装程序,将Simulink子系统模型转换后的动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序,减少了人工操作,提高了效率。
步骤S103:通过预先建立的主控模型设置所述第一Modelica封装模型和预先建立的第一Modelica子系统模型的连接关系和时序控制,并配置所述第一Modelica封装模型和第一Modelica子系统模型的参数,得到第二Modelica封装模型和第二Modelica子系统模型;所述预先建立的主控模型使用Modelica语言编写,负责对各子系统进行时序控制、仿真调度,利用多领域统一建模与仿真分析软件MWorks.Sysplorer,建立主控模型,主控模型中包含子系统的连接关系、子系统的时序控制,并配置各子系统的参数,如仿真开始时间、采样间隔等。
步骤S104:加载所述第二Modelica子系统模型、第二Modelica封装模型和主控模型,求解所述主控模型,并利用Modelica语言的外部函数调用机制调用所述C语言程序,以实现所述第二Modelica封装模型和所述第二Modelica子系统模型的数据交换,进而实现系统级的Modelica模型和Simulink模型的联合仿真。
本发明实施例提供的技术方案首先使用Simulink软件的代码导出功能将Simulink模型导出为动态链接库文件和头文件,再用C语言程序封装调用Simulink导出的动态链接库文件,将上述C语言程序封装为Modelica模型,从而实现将Simulink模型转换为Modelica模型,C语言程序封装为Modelica模型由本发明实施例中的自动化程序完成,最后在多领域统一建模与仿真分析软件MWorks.Sysplorer中将Modelica模型和Simulink转换后的Modelica封装模型进行连接,通过Modelica语言的接口机制实现Modelica模型和Simulink模型的实时仿真数据交换。
本发明实施例还提供一种Modelica模型与Simulink模型的联合仿真过程,仿真过程图如图2所示:
利用Simulink建模软件建立Simulink子系统模型,并定义Simulink子系统模型的输入输出接口;在Simulink建模软件中使用代码导出功能将Simulink子系统模型导出文件,所述导出文件包括动态链接库文件和头文件;运行Simulink模型自动封装为Modelica模型的自动封装程序,将动态链接库文件和头文件封装为Modelica模型和C语言程序;
利用多领域统一建模与仿真分析软件MWorks.Sysplorer,建立主控模型,主控模型中包含子系统的连接关系、子系统的时序控制,并配置各子系统的参数,如仿真开始时间、采样间隔等;在多领域统一建模与仿真分析软件MWorks.Sysplorer中加载Simulink转换后Modelica模型、Modelica子系统模型和主控模型,对系统模型进行仿真求解,实现Simulink子系统模型和Modelica子系统模型的仿真数据交换。
具体的,在步骤S101之前,所述方法还包括:
搭建Simulink子系统模型,所述Simulink子系统模型包括模型的数学方程和输入输出接口;
使用Modelica语言描述第一Modelica子系统模型,所述第一Modelica子系统模型包括模型的物理方程和输入输出接口;
其中,所述Simulink子系统模型和所述第一Modelica子系统模型分别通过各自模型的输入输出接口交换数据的输入输出变量信息。当仿真运行时,Simulink子系统模型和第一Modelica子系统模型分别通过各自模型的输入输出接口与对方模型交换数据的输入输出变量信息。
本发明实施例还提供了一套将AMESim子系统模型自动封装为Modelica封装模型的自动封装程序,自动封装过程如图3所示:
通过识别Simulink子系统模型导出的头文件,获取模型的输入输出变量信息;根据获取的输入输出变量信息替换自动封装程序所包含模板中的标识符;生成Simulink子系统模型和头文件对应的Modelica封装模型和C语言程序。
具体的,所述步骤S102包括:
识别头文件,获取Simulink子系统模型的输入输出变量信息;
将自动封装程序所包含的模板中的标识符替换为所述输入输出变量信息,生成C语言程序和第一Modelica封装模型。
具体的,所述步骤S104包括:
利用Modelica语言的外部函数调用机制,通过所述主控模型调用所述C语言程序;
通过所述C语言程序调用所述动态链接库文件。
在多领域统一建模与仿真分析软件MWorks.Sysplorer中加载Simulink转换后Modelica模型、Modelica子系统模型和主控模型,当运行仿真时,求解所述主控模型,并利用Modelica语言的外部函数调用机制,通过所述主控模型调用所述C语言程序,通过所述C语言程序调用所述动态链接库文件,实现所述第二Modelica封装模型和所述第二Modelica子系统模型的数据交换,进而实现系统级的Modelica模型和Simulink模型的联合仿真。
从以上的描述中,可以看出,本发明实现了如下技术效果:
本发明解决了Simulink模型和Modelica模型网络通讯方式的联合仿真问题,采用函数调用的方式直接传输数据不会有数据丢失,并且通信时间很短,不存在延时,同时提供了一套Simulink模型自动封装为Modelica模型的程序,实现Simulink模型自动封装为Modelica模型,减少人工操作。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例还提供了一种Modelica模型与Simulink模型的联合仿真系统,如图4所示,该系统包括:
导出单元41,用于将预先建立的Simulink子系统模型导出为动态链接库文件和头文件;
自动封装单元42,用于运行自动封装程序,将所述动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序;
设置单元43,用于通过预先建立的主控模型设置所述第一Modelica封装模型和预先建立的第一Modelica子系统模型的连接关系和时序控制,并配置所述第一Modelica封装模型和第一Modelica子系统模型的参数,得到第二Modelica封装模型和第二Modelica子系统模型;
求解单元44,用于加载所述第二Modelica子系统模型、第二Modelica封装模型和主控模型,求解所述主控模型,并利用Modelica语言的外部函数调用机制调用所述C语言程序,以实现所述第二Modelica封装模型和所述第二Modelica子系统模型的数据交换。
具体的,在导出单元41之前,所述系统还包括:
搭建模块,用于搭建Simulink子系统模型,所述Simulink子系统模型包括模型的数学方程和输入输出接口;
描述模块,用于使用Modelica语言描述第一Modelica子系统模型,所述第一Modelica子系统模型包括模型的物理方程和输入输出接口;
其中,所述Simulink子系统模型和所述第一Modelica子系统模型分别通过各自模型的输入输出接口交换数据的输入输出变量信息。
具体的,所述自动封装单元42包括:
获取模块,用于识别头文件,获取Simulink子系统模型的输入输出变量信息;
替换模块,用于将自动封装程序所包含的模板中的标识符替换为所述输入输出变量信息,生成C语言程序和第一Modelica封装模型。
具体的,所述求解单元44包括:
第一调用模块,用于利用Modelica语言的外部函数调用机制,通过所述主控模型调用所述C语言程序;
第二调用模块,用于通过所述C语言程序调用所述动态链接库文件。
本发明实施例还提供了一种电子设备,如图5所示,该电子设备包括一个或多个处理器51以及存储器52,图5中以一个处理器51为例。
该控制器还可以包括:输入装置53和输出装置54。
处理器51、存储器52、输入装置53和输出装置54可以通过总线或者其他方式连接,图5中以通过总线连接为例。
处理器51可以为中央处理器(CentralProcessingUnit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的控制方法对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的联合仿真方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据服务器操作的处理装置的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置53可接收输入的数字或字符信息,以及产生与服务器的处理装置的用户设置以及功能控制有关的键信号输入。输出装置54可包括显示屏等显示设备。
一个或者多个模块存储在存储器52中,当被一个或者多个处理器51执行时,执行如图1所示的方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各电机控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory,FM)、硬盘(HardDiskDrive,HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种Modelica模型与Simulink模型的联合仿真方法,其特征在于,所述方法包括:
将预先建立的Simulink子系统模型导出为动态链接库文件和头文件;
运行自动封装程序,将所述动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序;
通过预先建立的主控模型设置所述第一Modelica封装模型和预先建立的第一Modelica子系统模型的连接关系和时序控制,并配置所述第一Modelica封装模型和第一Modelica子系统模型的参数,得到第二Modelica封装模型和第二Modelica子系统模型;
加载所述第二Modelica子系统模型、第二Modelica封装模型和主控模型,求解所述主控模型,并利用Modelica语言的外部函数调用机制调用所述C语言程序,以实现所述第二Modelica封装模型和所述第二Modelica子系统模型的数据交换。
2.根据权利要求1所述的联合仿真方法,其特征在于,在将预先建立的Simulink子系统模型导出为动态链接库文件和头文件之前,所述方法还包括:
搭建Simulink子系统模型,所述Simulink子系统模型包括模型的数学方程和输入输出接口;
使用Modelica语言描述第一Modelica子系统模型,所述第一Modelica子系统模型包括模型的物理方程和输入输出接口;
其中,所述Simulink子系统模型和所述第一Modelica子系统模型分别通过各自模型的输入输出接口交换数据的输入输出变量信息。
3.根据权利要求1所述的联合仿真方法,其特征在于,所述运行自动封装程序,将所述动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序,包括:
识别头文件,获取Simulink子系统模型的输入输出变量信息;
将自动封装程序所包含的模板中的标识符替换为所述输入输出变量信息,生成C语言程序和第一Modelica封装模型。
4.根据权利要求1所述的联合仿真方法,其特征在于,所述利用Modelica语言的外部函数调用机制调用所述C语言程序包括:
利用Modelica语言的外部函数调用机制,通过所述主控模型调用所述C语言程序;
通过所述C语言程序调用所述动态链接库文件。
5.一种Modelica模型与Simulink模型的联合仿真系统,其特征在于,所述系统包括:
导出单元,用于将预先建立的Simulink子系统模型导出为动态链接库文件和头文件;
自动封装单元,用于运行自动封装程序,将所述动态链接库文件和头文件自动封装为第一Modelica封装模型和C语言程序;
设置单元,用于通过预先建立的主控模型设置所述第一Modelica封装模型和预先建立的第一Modelica子系统模型的连接关系和时序控制,并配置所述第一Modelica封装模型和第一Modelica子系统模型的参数,得到第二Modelica封装模型和第二Modelica子系统模型;
求解单元,用于加载所述第二Modelica子系统模型、第二Modelica封装模型和主控模型,求解所述主控模型,并利用Modelica语言的外部函数调用机制调用所述C语言程序,以实现所述第二Modelica封装模型和所述第二Modelica子系统模型的数据交换。
6.根据权利要求5所述的联合仿真系统,其特征在于,在导出单元之前,所述系统还包括:
搭建模块,用于搭建Simulink子系统模型,所述Simulink子系统模型包括模型的数学方程和输入输出接口;
描述模块,用于使用Modelica语言描述第一Modelica子系统模型,所述第一Modelica子系统模型包括模型的物理方程和输入输出接口;
其中,所述Simulink子系统模型和所述第一Modelica子系统模型分别通过各自模型的输入输出接口交换数据的输入输出变量信息。
7.根据权利要求5所述的联合仿真系统,其特征在于,所述自动封装单元包括:
获取模块,用于识别头文件,获取Simulink子系统模型的输入输出变量信息;
替换模块,用于将自动封装程序所包含的模板中的标识符替换为所述输入输出变量信息,生成C语言程序和第一Modelica封装模型。
8.根据权利要求5所述的联合仿真系统,其特征在于,所述求解单元包括:
第一调用模块,用于利用Modelica语言的外部函数调用机制,通过所述主控模型调用所述C语言程序;
第二调用模块,用于通过所述C语言程序调用所述动态链接库文件。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-4任意一项所述的联合仿真方法。
10.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-4任意一项所述的联合仿真方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010964110.5A CN112115604B (zh) | 2020-09-14 | 2020-09-14 | Modelica模型与Simulink模型的联合仿真方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010964110.5A CN112115604B (zh) | 2020-09-14 | 2020-09-14 | Modelica模型与Simulink模型的联合仿真方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112115604A true CN112115604A (zh) | 2020-12-22 |
CN112115604B CN112115604B (zh) | 2023-07-21 |
Family
ID=73803603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010964110.5A Active CN112115604B (zh) | 2020-09-14 | 2020-09-14 | Modelica模型与Simulink模型的联合仿真方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115604B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238834A (zh) * | 2021-05-31 | 2021-08-10 | 北京世冠金洋科技发展有限公司 | 仿真模型文件的处理方法、装置及电子设备 |
CN114706592A (zh) * | 2021-04-13 | 2022-07-05 | 三峡大学 | 面向对象及面向过程语言的Modelica仿真组件生成方法 |
CN114942757A (zh) * | 2022-05-16 | 2022-08-26 | 北京世冠金洋科技发展有限公司 | 一种文件生成方法、系统及电子设备 |
CN115688389A (zh) * | 2022-10-14 | 2023-02-03 | 北京世冠金洋科技发展有限公司 | 一种建模仿真方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140180644A1 (en) * | 2012-12-21 | 2014-06-26 | Rockwell Automation Technologies, Inc. | Integration of simulation of a machine for industrial automation |
CN110795847A (zh) * | 2019-10-29 | 2020-02-14 | 北京世冠金洋科技发展有限公司 | 一种建模方法、装置及电子设备 |
CN111414695A (zh) * | 2020-03-19 | 2020-07-14 | 苏州同元软控信息技术有限公司 | 一种基于Modelica的联合仿真系统及其构建方法 |
-
2020
- 2020-09-14 CN CN202010964110.5A patent/CN112115604B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140180644A1 (en) * | 2012-12-21 | 2014-06-26 | Rockwell Automation Technologies, Inc. | Integration of simulation of a machine for industrial automation |
CN110795847A (zh) * | 2019-10-29 | 2020-02-14 | 北京世冠金洋科技发展有限公司 | 一种建模方法、装置及电子设备 |
CN111414695A (zh) * | 2020-03-19 | 2020-07-14 | 苏州同元软控信息技术有限公司 | 一种基于Modelica的联合仿真系统及其构建方法 |
Non-Patent Citations (2)
Title |
---|
于涛;曾庆良;: "基于仿真建模语言Modelica的多领域仿真实现", 山东科技大学学报(自然科学版), no. 04, pages 13 - 16 * |
田显钊;周凡利;: "基于MWorks与Simulink的联合仿真", 计算机辅助工程, no. 01, pages 54 - 57 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706592A (zh) * | 2021-04-13 | 2022-07-05 | 三峡大学 | 面向对象及面向过程语言的Modelica仿真组件生成方法 |
CN114706592B (zh) * | 2021-04-13 | 2024-04-19 | 三峡大学 | 面向对象及面向过程语言的Modelica仿真组件生成方法 |
CN113238834A (zh) * | 2021-05-31 | 2021-08-10 | 北京世冠金洋科技发展有限公司 | 仿真模型文件的处理方法、装置及电子设备 |
CN113238834B (zh) * | 2021-05-31 | 2023-08-08 | 北京世冠金洋科技发展有限公司 | 仿真模型文件的处理方法、装置及电子设备 |
CN114942757A (zh) * | 2022-05-16 | 2022-08-26 | 北京世冠金洋科技发展有限公司 | 一种文件生成方法、系统及电子设备 |
CN115688389A (zh) * | 2022-10-14 | 2023-02-03 | 北京世冠金洋科技发展有限公司 | 一种建模仿真方法、系统及存储介质 |
CN115688389B (zh) * | 2022-10-14 | 2023-06-23 | 北京世冠金洋科技发展有限公司 | 一种建模仿真方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112115604B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112115604B (zh) | Modelica模型与Simulink模型的联合仿真方法、系统及电子设备 | |
CN101751028B (zh) | 汽车电控单元通用标定系统及实现方法 | |
CN106980560B (zh) | 一种基于icd数据库多总线协议测试及仿真方法和平台 | |
CN103744356A (zh) | 一种基于dsp/fpga动态可配置的机床智能控制器及控制方法 | |
CN112925221B (zh) | 基于数据回注的辅助驾驶闭环测试方法 | |
CN107391408A (zh) | EtherCAT主站的创建方法及设备 | |
CN112115603B (zh) | Modelica模型与AMESim模型的联合仿真方法、系统及电子设备 | |
CN216751818U (zh) | 一种微型应用边缘控制器 | |
CN201163782Y (zh) | 用于epa/hart互连的智能网关 | |
CN205229701U (zh) | 一种伺服电机控制系统 | |
CN112866364A (zh) | 一种工业互联网云平台 | |
CN112115605B (zh) | Modelica模型与Flowmaster模型的联合仿真方法、系统及电子设备 | |
CN109522536B (zh) | 一种表格自动填写方法 | |
CN105965509A (zh) | 机器人控制系统及控制方法 | |
CN115562065A (zh) | 一种多控制器硬件在环的实时接口装置、交互方法及介质 | |
CN113703723A (zh) | Autosar架构下基于模型的冻结帧数据实现方法及计算机设备 | |
CN110502418B (zh) | 一种实现远程调试的方法 | |
CN115037639B (zh) | 边缘数据平台接口信息的处理方法、装置、设备及介质 | |
TWM488389U (zh) | 一種控制系統 | |
Pühringer | Analysis of coupling strategies and protocols for co-simulation | |
CN216885390U (zh) | 一种压力机冲床用软plc结构 | |
CN104049540A (zh) | 一种用于拖拉机电力驱动的系统 | |
CN114513384B (zh) | 设备控制方法、装置、终端及计算机可读存储介质 | |
Jestratjew et al. | Using HTTP as field network transfer protocol | |
Oleghe | Controller-based IIoT infrastructure and enabling technologies: An overview for design configuration |
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 |