CN102637224A - 一种采用iosem接口方式的紧耦合仿真通用模型实现方法 - Google Patents
一种采用iosem接口方式的紧耦合仿真通用模型实现方法 Download PDFInfo
- Publication number
- CN102637224A CN102637224A CN2012100724536A CN201210072453A CN102637224A CN 102637224 A CN102637224 A CN 102637224A CN 2012100724536 A CN2012100724536 A CN 2012100724536A CN 201210072453 A CN201210072453 A CN 201210072453A CN 102637224 A CN102637224 A CN 102637224A
- Authority
- CN
- China
- Prior art keywords
- event
- model
- simulation
- realistic model
- interface
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种采用IOSEM接口方式的紧耦合仿真通用模型实现方法,首先建立动态库编译环境,然后定义仿真模型的接口函数,并根据仿真模型的功能,在仿真模型的接口函数中构建以下事件中的单个事件或多个事件:仿真模型信息事件、仿真初始化事件、状态迁移事件、模型输出事件、仿真结束事件和自定义事件;接口函数中的事件响应采用switch-case结构,最后编译生成仿真模型。采用本发明提出的方法,可以使每一个子模型成为标准化的模型配件,通过对所有子模型进行合理装配得到复杂***的模型。这样可以实现每个模型的接口标准化、透明化,便于实现模块化建模,还提高了模型的可移植性和重用性,大大降低复杂***的建模仿真难度。
Description
技术领域
本发明涉及计算机仿真方法技术领域,具体为一种采用IOSEM接口方式的紧耦合仿真通用模型实现方法。
背景技术
紧耦合仿真是指仿真应用中,仿真模型间的数据交互关系复杂,数据交互频率高,交互量大,具有紧密的对应关系。在建模仿真过程中,仿真模型接受仿真软件的调度,要完成建模、仿真以及其它一些应用需求的多种功能,客观上要求模型接口具有一定的灵活性和通用性。而目前紧耦合模型间的接口一般都是根据需求自定义接口,还没有一个统一的接口技术,这就使得现有仿真过程中的接口复杂,不同功能模块的模型可移植性差,可重用性差。
发明内容
要解决的技术问题
为解决现有技术中存在的问题,提供一种标准化的仿真模型接口,本发明提出了一种采用IOSEM接口方式的紧耦合仿真通用模型实现方法。
技术方案
本发明中IOSEM指的是输入参数(Input)、输出参数(Output)、状态参数(State)、事件响应接口(Event)和消息(Message)。
本发明的技术方案为:
所述一种采用IOSEM接口方式的紧耦合仿真通用模型实现方法,其特征在于:包括以下步骤:
步骤1:在C语言或C++语言环境中,建立动态库编译环境;
步骤2:定义仿真模型的接口函数,函数参数由外部***向仿真模型发出的事件消息、外部***向仿真模型传递的消息参数、当前仿真时间、当前仿真步长、仿真状态变量、输入变量、输出变量和仿真状态变量的导数变量组成;
步骤3:根据仿真模型的功能,在仿真模型的接口函数中构建以下事件中的单个事件或多个事件:仿真模型信息事件、仿真初始化事件、状态迁移事件、模型输出事件、仿真结束事件和自定义事件;接口函数中的事件响应采用switch-case结构;
步骤4:编译仿真模型,生成IOSEM接口方式的仿真模型。
有益效果
一个复杂***的模型,必然包含了若干子***模型,即一个复杂大***模型事实上是由若干子模型功能组成的。采用本发明提出的紧耦合仿真通用模型实现方法,可以使得每一个子模型成为一个标准化的模型配件,进而通过对所有子模型进行合理装配得到复杂***的模型。这样不仅可以实现每个模型的接口标准化、透明化,便于实现模块化建模,还提高了模型的可移植性和重用性,大大降低复杂***的建模仿真难度。
附图说明
图1:仿真模型的信息描述。
具体实施方式
下面结合具体实施例描述本发明:
实施例:
本实施例以一个自由落体数学模型为例(向上为正),其中D为下降过程中的阻力加速度,则其仿真模型微分方程为:
要构建采用IOSEM接口方式的仿真模型,主要采用以下步骤:
步骤1:在C语言或C++语言环境中,建立动态库编译环境;
步骤2:定义仿真模型的接口函数,函数参数由外部***向仿真模型发出的事件消息、外部***向仿真模型传递的消息参数、当前仿真时间、当前仿真步长、仿真状态变量、输入变量、输出变量和仿真状态变量的导数变量组成;
参照附图1,仿真模型的接口分为以下几个部分:
输入参数(Input):仿真模型需要的输入数据,可以是多维,包括数据维数和数 据说明。
输出参数(Output):仿真模型的输出数据,可以是多维,包括数据维数和数据说明。
状态参数(State):对于紧耦合仿真模型,状态参数表示了***或模型当前运行的状态参数,包括:当前时间,运行步长,微分方程组的状态和微分值。
事件响应接口(Event):仿真软件平台采用消息驱动机制驱动模型运行,仿真模型根据平台发送的消息进行相应的计算,事件响应接口是响应***消息的计算部分。由于平台向模型发送的消息种类比较多,为每个消息定制响应的接口函数将导致编程过程复杂,因此,事件响应接口采用统一的接口,在该接口内,用户可以处理各种***或自定义消息。
消息(Message):仿真模型向仿真软件或其它仿真模型发送的信息,进行仿真模型间的协调运行和数据交互。
仿真模型接口的形式为:
extern″C″int_export
Interface(int msg,int param,double time,double*step,double*x,double*u,double*y,double*f)
各参数的意义为:
msg:***向仿真模型发出的事件消息;
param:***向仿真模型传递的消息参数,根据不同的消息,传递参数类型不同;
time:当前仿真时间;
step:当前仿真步长;
x:仿真状态变量;
u:输入变量,外部的输入参数;
y:输出变量,计算结果通过该参数输出;
f:状态变量的导数变量指针,用来计算状态变量的导数;
由该接口可以看出:
在模型中,通过响应各种仿真消息,实现仿真平台对仿真模型的驱动;Param参数为模型数据的保存、维护等提供了支持;仿真时间和仿真步长是由平台维护的,仿真模型可以直接使用;通过x、u、y、f这四个参数为仿真模型的计算提供了支持;通过参数u可以得到仿真模型的输入,通过x可以得到当前的积分状态值,通过设定f以设定积分的导数值,通过设定y给出模型的输出值。
那么在本实施例中,完成仿真模型功能的接口元素为:
输入变量:D(阻力加速度);
输出变量:V,H(速度、高度);
仿真状态变量:V,H(速度、高度);
步骤3:根据仿真模型的功能,在仿真模型的接口函数中构建以下事件中的单个事件或多个事件:仿真模型信息事件、仿真初始化事件、状态迁移事件、模型输出事件、仿真结束事件和自定义事件;接口函数中的事件响应采用switch-case结构;
在仿真模型接口函数中,通过响应msg事件消息,完成相应的事件行为:
仿真模型信息事件:通过该事件填充模型的信息,如模型名、输入输出信息等;
仿真初始化事件:在仿真前进行的初始化过程,如赋状态初值、打开文件读取数据等;
状态迁移事件:状态的变化,求解状态变量的微分;
模型输出事件:输出本模型的数据;
仿真结束事件:结束仿真时的清理过程。
本实施例中采用了4个事件响应:仿真模型信息事件响应、仿真初始化事件响应、状态迁移事件响应、状态输出事件响应。
本实施例中,仿真模型实现的伪代码为:
步骤4:编译仿真模型,生成IOSEM接口方式的仿真模型。
Claims (1)
1.一种采用IOSEM接口方式的紧耦合仿真通用模型实现方法,其特征在于:包括以下步骤:
步骤1:在C语言或C++语言环境中,建立动态库编译环境;
步骤2:定义仿真模型的接口函数,函数参数由外部***向仿真模型发出的事件消息、外部***向仿真模型传递的消息参数、当前仿真时间、当前仿真步长、仿真状态变量、输入变量、输出变量和仿真状态变量的导数变量组成;
步骤3:根据仿真模型的功能,在仿真模型的接口函数中构建以下事件中的单个事件或多个事件:仿真模型信息事件、仿真初始化事件、状态迁移事件、模型输出事件、仿真结束事件和自定义事件;接口函数中的事件响应采用switch-case结构;
步骤4:编译仿真模型,生成IOSEM接口方式的仿真模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100724536A CN102637224A (zh) | 2012-03-19 | 2012-03-19 | 一种采用iosem接口方式的紧耦合仿真通用模型实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100724536A CN102637224A (zh) | 2012-03-19 | 2012-03-19 | 一种采用iosem接口方式的紧耦合仿真通用模型实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102637224A true CN102637224A (zh) | 2012-08-15 |
Family
ID=46621618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100724536A Pending CN102637224A (zh) | 2012-03-19 | 2012-03-19 | 一种采用iosem接口方式的紧耦合仿真通用模型实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102637224A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021213166A1 (zh) * | 2020-04-22 | 2021-10-28 | 第四范式(北京)技术有限公司 | 仿真***及仿真方法、疫情推演仿真***及仿真方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059556A1 (en) * | 2002-09-24 | 2004-03-25 | Allen Richard Craig | Method for providing enhanced dynamic system simulation capability outside the original modeling environment |
CN101673313A (zh) * | 2009-10-15 | 2010-03-17 | 山东电力研究院 | 用于电力***暂/动态分析的光伏电站数学建模方法 |
CN101719177A (zh) * | 2009-11-02 | 2010-06-02 | 北京中星微电子有限公司 | ***建模和仿真的方法及装置 |
-
2012
- 2012-03-19 CN CN2012100724536A patent/CN102637224A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059556A1 (en) * | 2002-09-24 | 2004-03-25 | Allen Richard Craig | Method for providing enhanced dynamic system simulation capability outside the original modeling environment |
CN101673313A (zh) * | 2009-10-15 | 2010-03-17 | 山东电力研究院 | 用于电力***暂/动态分析的光伏电站数学建模方法 |
CN101719177A (zh) * | 2009-11-02 | 2010-06-02 | 北京中星微电子有限公司 | ***建模和仿真的方法及装置 |
Non-Patent Citations (1)
Title |
---|
闫晓东: "重复使用大气层飞行器动力学虚拟样机设计", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021213166A1 (zh) * | 2020-04-22 | 2021-10-28 | 第四范式(北京)技术有限公司 | 仿真***及仿真方法、疫情推演仿真***及仿真方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354924A (zh) | 基于fmi的装备协同仿真***及其构建方法 | |
CN202275399U (zh) | 一种用于嵌入式软件的调试验证*** | |
CN109491266A (zh) | 一种基于多体虚拟样机的运载火箭飞行仿真方法 | |
CN101645101B (zh) | 一种通用无人飞行器仿真建模方法 | |
CN107703775A (zh) | 刚‑柔‑液耦合复杂航天器仿真***及方法 | |
CN104375421A (zh) | 一种基于控制***开发平台的航空发动机部件建模方法 | |
CN105956267B (zh) | 一种基于设备建模语言的嵌入式仿真串口及建模方法 | |
CN102722601A (zh) | 数控***的模型转换形式化语义集成框架的实现方法 | |
CN103942092A (zh) | 一种支持LabView图形化编程的HLA协同仿真方法 | |
CN106777842A (zh) | 用于航空发动机等热力机械***建模仿真分析的方法 | |
CN102231132B (zh) | 一种基于SystemC的AADL软构件模型仿真测试实例生成方法 | |
Pohl et al. | vMAGIC—automatic code generation for VHDL | |
CN106775607A (zh) | 一种将接口控制文件自动生成头文件数据接口的方法 | |
Waurich et al. | Interactive FMU-Based Visualization for an Early Design Experience. | |
CN102637224A (zh) | 一种采用iosem接口方式的紧耦合仿真通用模型实现方法 | |
Luo et al. | Embedded C code generation and embedded target development based on RTW-EC | |
Roth et al. | A gateway to easily integrate simulation platforms for co-simulation of cyber-physical systems | |
Brahmbhatt et al. | Parametric modelling of Oldham coupling | |
CN107515587A (zh) | 人机交互操作仿真的***、方法、装置、设备和存储介质 | |
CN106448381A (zh) | 一种全数字实时仿真机 | |
Zuo et al. | A new design method of automotive electronic real-time control system | |
CN106897120A (zh) | 双层动态分布式仿真平台 | |
Tye et al. | PyGOM-A Python Package for Simplifying Modelling with Systems of Ordinary Differential Equations | |
Xu et al. | A General Platform of Hardware-in-the-loop Simulation for Integrated Design | |
Hugues et al. | Integrating AADL and FMI to Extend Virtual Integration Capability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120815 |