CN113467272A - 一种基于Simulink的联合仿真方法及系统 - Google Patents
一种基于Simulink的联合仿真方法及系统 Download PDFInfo
- Publication number
- CN113467272A CN113467272A CN202110609878.5A CN202110609878A CN113467272A CN 113467272 A CN113467272 A CN 113467272A CN 202110609878 A CN202110609878 A CN 202110609878A CN 113467272 A CN113467272 A CN 113467272A
- Authority
- CN
- China
- Prior art keywords
- data file
- matlab
- simulink
- simulation
- working space
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及计算机处理技术,具体涉及一种基于Simulink的联合仿真方法。包括:步骤S1、自Matlab的工作空间内抽取Matlab进行第一设定步长计算的仿真结果,写入存储在数据交换文件夹中的第一数据文件内;步骤S2、按第二设定步长的间隔时间持续从数据交换文件夹中获取第二数据文件,并将所述第二数据文件存储在所述Matlab的工作空间内,其中,第二数据文件存储了其它软件对第一数据文件进行计算的计算结果;步骤S3、判断在Matlab的工作空间中的第二数据文件是否发生变化,若发生变化,则返回步骤S1,抽取Matlab进行下一步计算的仿真结果,否则返回步骤S2。本申请实现了Simulink与其他软件的联合仿真数据交互和联合仿真过程中的时序控制。
Description
技术领域
本申请涉及计算机处理技术,具体涉及一种基于Simulink的联合仿真方法及系统。
背景技术
Matlab是一个主要面对科学计算、可视化及交互式程序设计的高科技计算环境,Simulink是Matlab的重要组成部分,将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一起,广泛应用于控制设计、信号处理、图像处理、金融建模设计与分析等领域。
随着现代工程复杂度的提高,多物理域联合仿真的需求也日益增加。联合仿真框架中,Simulink凭借其强大的功能,承担着重要的建模仿真任务,但涉及到流体力学、多体动力学、噪声、液压、电气、热环境等领域,还需要专用的软件用于建模仿真分析。目前Simulink已经开发了和成熟的商用软件如Amesim、Saber等的联合仿真接口,但仍有大量的专用软件如用于舰载机钩索动态仿真软件、飞机易损性分析软件等,Simulink并未开发与这些软件的联合仿真接口。
发明内容
为了解决上述问题,本申请提供了一种基于Simulink的联合仿真方法及系统,是一种涉及Simulink与其他软件联合仿真的技术,主要解决数据提取、数据交互逻辑与仿真时序控制等问题。运用本方法可实现Simulink软件与其他软件的联合仿真。
本申请第一方面提供了一种基于Simulink的联合仿真方法,主要包括:
步骤S1、自Matlab的工作空间内抽取Matlab进行第一设定步长计算的仿真结果,写入存储在数据交换文件夹中的第一数据文件内;
步骤S2、按第二设定步长的间隔时间持续从数据交换文件夹中获取第二数据文件,并将所述第二数据文件存储在所述Matlab的工作空间内,其中,所述第二数据文件存储了其它软件对所述第一数据文件进行计算的计算结果,所述其它软件是指对所述第一数据文件具有处理需求的软件;
步骤S3、判断在所述Matlab的工作空间中的第二数据文件是否发生变化,若发生变化,则返回步骤S1,抽取Matlab进行下一步计算的仿真结果,否则返回步骤S2。
优选的是,步骤S1进一步包括:
步骤S11、控制Matlab的Simulink模块启动,以及控制所述Simulink进行第一设定步长的一次计算;
步骤S12、控制Simulink将其计算结果存储在Matlab的工作空间内;
步骤S13、自所述Matlab的工作空间内抽取待使用的参数写入所述第一数据文件。
优选的是,所述第一设定步长为仿真步长。
优选的是,所述第二设定步长大于所述第一设定步长。
本申请第二方面提供了一种基于Simulink的联合仿真系统,主要包括:
第一数据文件获取模块,用于自Matlab的工作空间内抽取Matlab进行第一设定步长计算的仿真结果,写入存储在数据交换文件夹中的第一数据文件内;
第二数据文件获取模块,用于按第二设定步长的间隔时间持续从数据交换文件夹中获取第二数据文件,并将所述第二数据文件存储在所述Matlab的工作空间内,其中,所述第二数据文件存储了其它软件对所述第一数据文件进行计算的计算结果,所述其它软件是指对所述第一数据文件具有处理需求的软件;
更新模块,用于判断在所述Matlab的工作空间中的第二数据文件是否发生变化,若发生变化,则通过所述第一数据文件获取模块抽取Matlab进行下一步计算的仿真结果,否则通过第二数据文件获取模块持续获取第二数据文件。
优选的是,所述第一数据文件获取模块包括:
Matlab仿真控制单元,用于控制Matlab的Simulink模块启动,以及控制所述Simulink进行第一设定步长的一次计算;
存储单元,用于控制Simulink将其计算结果存储在Matlab的工作空间内;
参数抽取单元,用于自所述Matlab的工作空间内抽取待使用的参数写入所述第一数据文件。
优选的是,所述第一设定步长为仿真步长。
优选的是,所述第二设定步长大于所述第一设定步长。
本申请提出的Simulink与其他软件联合仿真方法的优点是无需对Matlab/Simulink软件本身进行二次开发,而是在软件已有的功能上提出一个通用的联合仿真技术,实现Simulink与其他软件的联合仿真数据交互和联合仿真过程中的时序控制。
附图说明
图1是本申请基于Simulink的联合仿真方法的一优选实施例的流程图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。下面结合附图对本申请的实施方式进行详细说明。
如图1所示,本申请第一方面提供了一种基于Simulink的联合仿真方法,主要包括:
步骤S1、自Matlab的工作空间内抽取Matlab进行第一设定步长计算的仿真结果,写入存储在数据交换文件夹中的第一数据文件内;
步骤S2、按第二设定步长的间隔时间持续从数据交换文件夹中获取第二数据文件,并将所述第二数据文件存储在所述Matlab的工作空间内,其中,所述第二数据文件存储了其它软件对所述第一数据文件进行计算的计算结果,所述其它软件是指对所述第一数据文件具有处理需求的软件;
步骤S3、判断在所述Matlab的工作空间中的第二数据文件是否发生变化,若发生变化,则返回步骤S1,抽取Matlab进行下一步计算的仿真结果,否则返回步骤S2。
在一些可选实施方式中,步骤S1进一步包括:
步骤S11、控制Matlab的Simulink模块启动,以及控制所述Simulink进行第一设定步长的一次计算;
步骤S12、控制Simulink将其计算结果存储在Matlab的工作空间内;
步骤S13、自所述Matlab的工作空间内抽取待使用的参数写入所述第一数据文件。
如图1所示,本申请以Matlab中的m文件作为总控平台,进行联合仿真数据交互、联合仿真时序控制和Simulink启动/暂停。以文件夹形式建立数据交换空间,采用txt格式文件作为数据交换载体。
本申请首先通过m文件总控平台控制Simulink启动,并在完成一步计算后暂停。Simulink完成一步计算后,通过“To Workspace”模块将本次计算结果发送至Matlab的“工作空间”。m文件总控平台读取“工作空间”中的Simulink输出数据,并将最新生成的数据存成“Simulink输出数据.txt”,保存在数据交换文件夹中。之后,其他软件读取数据交换文件夹中的“Simulink输出数据.txt”,进行一步计算,并将输出数据存成“其它软件输出数据.txt”,同样可以保存在数据交换文件夹中。m文件总控平台读取数据交换文件夹中的“其它软件输出数据.txt”并保存到Matlab的“工作空间”。最后判断所读取的“其它软件输出数据.txt”是否更新,如果未更新,则等待一段时间后继续获取“其它软件输出数据.txt”。如果数据更新了,则控制Simulink执行下一步计算。
如上所述,本申请的基于Simulink的联合仿真方法以固定流程写入到了控制序列中后形成m文件,表1给出了m文件指令代码及Simulink指令模块。
表1 m文件指令代码及Simulink指令模块
在一些可选实施方式中,所述第一设定步长为仿真步长,例如0.1s,本申请的Simulink每执行一个仿真步长后暂停,输出仿真结果供其它软件使用。
在一些可选实施方式中,所述第二设定步长大于所述第一设定步长。第二设定步长例如是1min。
本申请第二方面提供了一种与上述方法对应的基于Simulink的联合仿真系统,主要包括:
第一数据文件获取模块,用于自Matlab的工作空间内抽取Matlab进行第一设定步长计算的仿真结果,写入存储在数据交换文件夹中的第一数据文件内;
第二数据文件获取模块,用于按第二设定步长的间隔时间持续从数据交换文件夹中获取第二数据文件,并将所述第二数据文件存储在所述Matlab的工作空间内,其中,所述第二数据文件存储了其它软件对所述第一数据文件进行计算的计算结果,所述其它软件是指对所述第一数据文件具有处理需求的软件;
更新模块,用于判断在所述Matlab的工作空间中的第二数据文件是否发生变化,若发生变化,则通过所述第一数据文件获取模块抽取Matlab进行下一步计算的仿真结果,否则通过第二数据文件获取模块持续获取第二数据文件。
在一些可选实施方式中,所述第一数据文件获取模块包括:
Matlab仿真控制单元,用于控制Matlab的Simulink模块启动,以及控制所述Simulink进行第一设定步长的一次计算;
存储单元,用于控制Simulink将其计算结果存储在Matlab的工作空间内;
参数抽取单元,用于自所述Matlab的工作空间内抽取待使用的参数写入所述第一数据文件。
在一些可选实施方式中,所述第一设定步长为仿真步长。
在一些可选实施方式中,所述第二设定步长大于所述第一设定步长。
本申请提出的Simulink与其他软件联合仿真方法的优点是无需对Matlab/Simulink软件本身进行二次开发,而是在软件已有的功能上提出一个通用的联合仿真技术,实现Simulink与其他软件的联合仿真数据交互和联合仿真过程中的时序控制。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种基于Simulink的联合仿真方法,其特征在于,包括:
步骤S1、自Matlab的工作空间内抽取Matlab进行第一设定步长计算的仿真结果,写入存储在数据交换文件夹中的第一数据文件内;
步骤S2、按第二设定步长的间隔时间持续从数据交换文件夹中获取第二数据文件,并将所述第二数据文件存储在所述Matlab的工作空间内,其中,所述第二数据文件存储了其它软件对所述第一数据文件进行计算的计算结果,所述其它软件是指对所述第一数据文件具有处理需求的软件;
步骤S3、判断在所述Matlab的工作空间中的第二数据文件是否发生变化,若发生变化,则返回步骤S1,抽取Matlab进行下一步计算的仿真结果,否则返回步骤S2。
2.如权利要求1所述的基于Simulink的联合仿真方法,其特征在于,步骤S1进一步包括:
步骤S11、控制Matlab的Simulink模块启动,以及控制所述Simulink进行第一设定步长的一次计算;
步骤S12、控制Simulink将其计算结果存储在Matlab的工作空间内;
步骤S13、自所述Matlab的工作空间内抽取待使用的参数写入所述第一数据文件。
3.如权利要求1所述的基于Simulink的联合仿真方法,其特征在于,所述第一设定步长为仿真步长。
4.如权利要求1所述的基于Simulink的联合仿真方法,其特征在于,所述第二设定步长大于所述第一设定步长。
5.一种基于Simulink的联合仿真系统,其特征在于,包括:
第一数据文件获取模块,用于自Matlab的工作空间内抽取Matlab进行第一设定步长计算的仿真结果,写入存储在数据交换文件夹中的第一数据文件内;
第二数据文件获取模块,用于按第二设定步长的间隔时间持续从数据交换文件夹中获取第二数据文件,并将所述第二数据文件存储在所述Matlab的工作空间内,其中,所述第二数据文件存储了其它软件对所述第一数据文件进行计算的计算结果,所述其它软件是指对所述第一数据文件具有处理需求的软件;
更新模块,用于判断在所述Matlab的工作空间中的第二数据文件是否发生变化,若发生变化,则通过所述第一数据文件获取模块抽取Matlab进行下一步计算的仿真结果,否则通过第二数据文件获取模块持续获取第二数据文件。
6.如权利要求5所述的基于Simulink的联合仿真系统,其特征在于,所述第一数据文件获取模块包括:
Matlab仿真控制单元,用于控制Matlab的Simulink模块启动,以及控制所述Simulink进行第一设定步长的一次计算;
存储单元,用于控制Simulink将其计算结果存储在Matlab的工作空间内;
参数抽取单元,用于自所述Matlab的工作空间内抽取待使用的参数写入所述第一数据文件。
7.如权利要求5所述的基于Simulink的联合仿真系统,其特征在于,所述第一设定步长为仿真步长。
8.如权利要求5所述的基于Simulink的联合仿真系统,其特征在于,所述第二设定步长大于所述第一设定步长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110609878.5A CN113467272A (zh) | 2021-06-01 | 2021-06-01 | 一种基于Simulink的联合仿真方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110609878.5A CN113467272A (zh) | 2021-06-01 | 2021-06-01 | 一种基于Simulink的联合仿真方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113467272A true CN113467272A (zh) | 2021-10-01 |
Family
ID=77872051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110609878.5A Pending CN113467272A (zh) | 2021-06-01 | 2021-06-01 | 一种基于Simulink的联合仿真方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467272A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708234A (zh) * | 2012-04-25 | 2012-10-03 | 清华大学 | 基于HLA的Matlab仿真模型集成平台和方法 |
CN106484928A (zh) * | 2015-08-26 | 2017-03-08 | 北京卫星环境工程研究所 | 基于多软件联合的开关电源电热耦合仿真方法 |
CN108228995A (zh) * | 2017-12-28 | 2018-06-29 | 中国电子科技集团公司第十四研究所 | 雷达机电液系统联合仿真研发平台 |
CN109918796A (zh) * | 2019-03-11 | 2019-06-21 | 上海索辰信息科技有限公司 | 一种多学科协同仿真系统及方法 |
CN110457747A (zh) * | 2019-07-02 | 2019-11-15 | 浙江工业大学 | 一种基于ns3和matlab的网络化控制系统协同仿真方法 |
CN111159959A (zh) * | 2019-12-12 | 2020-05-15 | 智慧航海(青岛)科技有限公司 | 一种基于Simulink和Fluent的智能船舶运动仿真方法 |
-
2021
- 2021-06-01 CN CN202110609878.5A patent/CN113467272A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708234A (zh) * | 2012-04-25 | 2012-10-03 | 清华大学 | 基于HLA的Matlab仿真模型集成平台和方法 |
CN106484928A (zh) * | 2015-08-26 | 2017-03-08 | 北京卫星环境工程研究所 | 基于多软件联合的开关电源电热耦合仿真方法 |
CN108228995A (zh) * | 2017-12-28 | 2018-06-29 | 中国电子科技集团公司第十四研究所 | 雷达机电液系统联合仿真研发平台 |
CN109918796A (zh) * | 2019-03-11 | 2019-06-21 | 上海索辰信息科技有限公司 | 一种多学科协同仿真系统及方法 |
CN110457747A (zh) * | 2019-07-02 | 2019-11-15 | 浙江工业大学 | 一种基于ns3和matlab的网络化控制系统协同仿真方法 |
CN111159959A (zh) * | 2019-12-12 | 2020-05-15 | 智慧航海(青岛)科技有限公司 | 一种基于Simulink和Fluent的智能船舶运动仿真方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200210829A1 (en) | Network off-line model processing method, artificial intelligence processing device and related products | |
CN111143446A (zh) | 数据对象的数据结构转换处理方法、装置及电子设备 | |
CN111209094A (zh) | 请求处理方法、装置、电子设备及计算机可读存储介质 | |
CN102591993A (zh) | 一种用于热表数据更新的异步处理方法及装置 | |
CN113467272A (zh) | 一种基于Simulink的联合仿真方法及系统 | |
CN102779076B (zh) | 一种浏览器中进程间通信的方法和装置 | |
CN112487092A (zh) | 一种基于区块链的智能合约调用方法及装置 | |
CN115794355B (zh) | 任务处理方法、装置、终端设备及存储介质 | |
CN111522536A (zh) | 一种编程语言调用的方法及其相关设备 | |
JP6176389B2 (ja) | ソースコード生成装置、ソースコード生成方法、及び、記録媒体 | |
CN111309740A (zh) | 一种数据处理的方法、装置、设备及存储介质 | |
CN109426529B (zh) | 基于x窗口系统图形绘制的方法、装置及终端 | |
CN111026604A (zh) | 一种日志文件解析方法及装置 | |
CN112732634B (zh) | 面向边缘计算的arm-fpga协同局部动态重构处理方法 | |
CN110928672B (zh) | 一种任务编排方法、装置、设备及存储介质 | |
CN100585632C (zh) | 图形引擎装置及其数据处理方法 | |
CN109710266B (zh) | 一种异构系统中的任务处理方法、主机服务器、异构系统 | |
CN105094994A (zh) | 一种程序间通信再编程软件设计实现及人机交互方法 | |
CN107741890A (zh) | 一种备份管理方法及装置 | |
CN110362345A (zh) | 一种指令集管理方法及其装置 | |
CN115794131A (zh) | 一种自动化生成热部署程序的方法、装置以及电子设备 | |
CN115794841A (zh) | 数据更新方法、装置、电子设备及存储介质 | |
CN115268887A (zh) | 一种基于领域模型的微应用工程生成方法、系统及设备 | |
CN113886103A (zh) | 接口调用方法、装置、计算机设备以及存储介质 | |
JPS6020275A (ja) | マルチプロセサの簡易プログラミングシステム |
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 |