CN107908830A - 基于fmi标准的模型转换方法和模型转换系统 - Google Patents
基于fmi标准的模型转换方法和模型转换系统 Download PDFInfo
- Publication number
- CN107908830A CN107908830A CN201711017841.3A CN201711017841A CN107908830A CN 107908830 A CN107908830 A CN 107908830A CN 201711017841 A CN201711017841 A CN 201711017841A CN 107908830 A CN107908830 A CN 107908830A
- Authority
- CN
- China
- Prior art keywords
- model
- language
- standards
- fmi
- 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.)
- Pending
Links
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
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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于FMI标准的模型转换方法和模型转换系统,该模型转换方法包括:S1:提供模型文件,并将模型文件导入到预设模型软件中;S2:根据模型文件得到模型接口说明文件,其中,模型接口说明文件包括模型属性信息和模型仿真信息;S3:根据模型仿真信息生成第一预设语言的接口函数,以完成第一预设语言对模型文件的封装;S4:根据模型属性信息、模型仿真信息和第一预设语言的接口函数得到第二预设语言模型,第二预设语言模型用于支持模型属性浏览、可视化建模和仿真求解;S5:将第二预设语言模型按照FMI标准导出为仿真模型。本发明具有如下优点:可以可视化建模环境和通用模型接口,并且具有对两种模型的通用性。
Description
技术领域
本发明涉及系统建模仿真技术领域,具体涉及一种基于FMI标准的模型转换方法和模型转换系统。
背景技术
随着科学技术的发展和计算机仿真技术的拓宽,系统仿真需要解决的问题日趋复杂,建模技术已不再局限于单个组织或个人的行为,而是强调仿真系统和模型的联合开发,从而形成能够反映不同学科原理、不同仿真环境和不同仿真过程的仿真系统。与此同时,还需要将不同领域人员开发的不同粒度、不同层次的模型采用统一的接口协议规范进行集成,以满足系统对模型复杂性的需要,并且保证各模型之间的数据能够正确交互。多领域系统建模与联合仿真是为了实现复杂系统的协同仿真而出现的建模与仿真技术,其目标是将不同学科领域的模型集于一体,实现系统设计、仿真和分析。
传统而常见的纯Python语言和DLL与Python混合的系统模型缺少支持可视化建模、实现模型重用和复用的建模仿真平台。无法有效的实现联合仿真的目标,因此如何具备可视化建模环境和通用模型接口,并且具有对两种模型的通用性,成为一个亟待解决的问题。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种基于FMI标准的模型转换方法,可以可视化建模环境和通用模型接口,并且具有对两种模型的通用性。
为了实现上述目的,本发明的实施例公开了一种基于FMI标准的模型转换方法,包括以下步骤:S1:提供模型文件,并将所述模型文件导入到预设模型软件中;S2:根据所述模型文件得到模型接口说明文件,其中,所述模型接口说明文件包括模型属性信息和模型仿真信息;S3:根据所述模型仿真信息生成第一预设语言的接口函数,以完成所述第一预设语言对所述模型文件的封装;S4:根据所述模型属性信息、所述模型仿真信息和所述第一预设语言的接口函数得到第二预设语言模型,所述第二预设语言模型用于支持模型属性浏览、可视化建模和仿真求解;S5:将所述第二预设语言模型按照FMI标准导出为仿真模型。
进一步地,所述模型文件为Python语言的一维模型文件,或由DLL语言与Python语言混合的多维性能模型文件。
进一步地,所述第一预设语言为C语言。
进一步地,所述第二语言模型为Modelica模型。
根据本发明实施例的基于FMI标准的模型转换方法,制定一套符合xml标准的Python模型导出FMU编码规范,该方法由模型构建人员针对具体模型编写,形成与模型配套的模型接口说明文件。模型构建人员只需根据要求对模型中的接口进行微调即可;模型构建人员只依据规范填写相关的模型接口信息,不涉及任何算法和数据,在封装后的Modelica模型中,也看不到任何算法和一些关键参数值,模型对软件来说是一个黑盒;纯Python模型和DLL+Python模型共用一套规范,有利于软件的扩展。
本发明的第二个目的在于提出一种基于FMI标准的模型转换方法,可以可视化建模环境和通用模型接口,并且具有对两种模型的通用性
为了实现上述目的,本发明的实施例公开了一种基于FMI标准的模型转换系统,包括:导入模块,用于导入模型文件;模型解析模块,用于根据所述模型文件得到模型接口说明文件,其中,所述模型接口说明文件包括模型属性信息和模型仿真信息;代码生成模块,用于根据所述模型仿真信息生成第一预设语言的接口函数,以完成所述第一预设语言对所述模型文件的封装;模型封装模块,用于根据所述模型属性信息、所述模型仿真信息和所述第一预设语言的接口函数得到第二预设语言模型,所述第二预设语言模型用于支持模型属性浏览、可视化建模和仿真求解;导出模块,用于将所述第二预设语言模型按照FMI标准导出为仿真模型。
进一步地,所述模型文件为Python语言的一维模型文件,或由DLL语言与Python语言混合的多维性能模型晚间。
进一步地,所述第一预设语言为C语言。
进一步地,所述第二语言模型为Modelica模型。
根据本发明实施例的基于FMI标准的模型转换系统,制定一套符合xml标准的Python模型导出FMU编码规范,该方法由模型构建人员针对具体模型编写,形成与模型配套的模型接口说明文件。模型构建人员只需根据要求对模型中的接口进行微调即可;模型构建人员只依据规范填写相关的模型接口信息,不涉及任何算法和数据,在封装后的Modelica模型中,也看不到任何算法和一些关键参数值,模型对软件来说是一个黑盒;纯Python模型和DLL+Python模型共用一套规范,有利于软件的扩展。本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的基于FMI标准的模型转换方法的流程图;
图2是本发明一个实施例的模型导出FMU运行过程图;
图3是本发明一个实施例的基于FMI标准的模型转换系统的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
以下结合附图描述本发明。
图1是本发明一个实施例的基于FMI标准的模型转换方法的流程图。如图1所示,本发明实施例的基于FMI标准的模型转换方法,包括以下步骤:
S1:提供模型文件,并将模型文件导入到预设模型软件中。
具体地,提供窗口供用户选择需要封装的预设模型文件的路径,将其导入到软件中。在本发明的一个实施例中,模型文件为Python语言的一维模型文件,或由DLL语言与Python语言混合的多维性能模型文件。
S2:根据模型文件得到模型接口说明文件。其中,模型接口说明文件包括模型属性信息和模型仿真信息。上述软件可以正确解析人工编写的模型接口说明文件,从而获取模型的属性和仿真信息。
S3:根据模型仿真信息生成第一预设语言的接口函数,以完成第一预设语言对模型文件的封装。
在本发明的一个实施例中,第一预设语言为C语言,用C语言对Python模型的进行封装。
S4:根据模型属性信息、模型仿真信息和第一预设语言的接口函数得到第二预设语言模型。第二预设语言模型用于支持模型属性浏览、可视化建模和仿真求解。
在本发明的一个实施例中,第二语言模型为Modelica模型。
S5:将第二预设语言模型按照FMI标准导出为仿真模型(FMU),生成的仿真模型应能在其他仿真工具中使用。
图2是本发明一个实施例的模型导出FMU运行过程图。如图2所示,Python模型导出FMU的过程主要是设计人员按照编码规范定义好模型接口说明文件,通过数据类型转换模块将文件中的数据类型转换为软件数据结构,并通过设计过程数据管理模块存储,通过模型解析模块、代码生成、模型封装、FMU导出模块最终导出FMU模型供外部系统使用。
根据本发明实施例的基于FMI标准的模型转换方法,制定一套符合xml标准的Python模型导出FMU编码规范,该方法由模型构建人员针对具体模型编写,形成与模型配套的模型接口说明文件。模型构建人员只需根据要求对模型中的接口进行微调即可;模型构建人员只依据规范填写相关的模型接口信息,不涉及任何算法和数据,在封装后的Modelica模型中,也看不到任何算法和一些关键参数值,模型对软件来说是一个黑盒;纯Python模型和DLL+Python模型共用一套规范,有利于软件的扩展。
图3是本发明一个实施例的基于FMI标准的模型转换系统的结构框图。如图3所示,本发明实施例的基于FMI标准的模型转换系统,包括:导入模块110、模型解析模块120、代码生成模块130、模型封装模块140和导出模块150。
其中,导入模块110用于导入模型文件。模型解析模块120用于根据模型文件得到模型接口说明文件。其中,模型接口说明文件包括模型属性信息和模型仿真信息。代码生成模块130用于根据模型仿真信息生成第一预设语言的接口函数,以完成第一预设语言对模型文件的封装。模型封装模块140用于根据模型属性信息、模型仿真信息和第一预设语言的接口函数得到第二预设语言模型,第二预设语言模型用于支持模型属性浏览、可视化建模和仿真求解。导出模块150用于将第二预设语言模型按照FMI标准导出为仿真模型。
根据本发明实施例的基于FMI标准的模型转换系统,制定一套符合xml标准的Python模型导出FMU编码规范,该方法由模型构建人员针对具体模型编写,形成与模型配套的模型接口说明文件。模型构建人员只需根据要求对模型中的接口进行微调即可;模型构建人员只依据规范填写相关的模型接口信息,不涉及任何算法和数据,在封装后的Modelica模型中,也看不到任何算法和一些关键参数值,模型对软件来说是一个黑盒;纯Python模型和DLL+Python模型共用一套规范,有利于软件的扩展。
在本发明的一个实施例中,模型文件为Python语言的一维模型文件,或由DLL语言与Python语言混合的多维性能模型文件。
在本发明的一个实施例中,第一预设语言为C语言。
在本发明的一个实施例中,第二语言模型为Modelica模型。
需要说明的是,本发明实施例的基于FMI标准的模型转换系统的具体实施方式与本发明实施例的基于FMI标准的模型转换方法的具体实施方式类似,具体参见方法部分的描述,为了减少冗余,不做赘述。
另外,本发明实施例的基于FMI标准的模型转换方法和模型转换系统的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
Claims (8)
1.一种基于FMI标准的模型转换方法,其特征在于,包括以下步骤:
S1:提供模型文件,并将所述模型文件导入到预设模型软件中;
S2:根据所述模型文件得到模型接口说明文件,其中,所述模型接口说明文件包括模型属性信息和模型仿真信息;
S3:根据所述模型仿真信息生成第一预设语言的接口函数,以完成所述第一预设语言对所述模型文件的封装;
S4:根据所述模型属性信息、所述模型仿真信息和所述第一预设语言的接口函数得到第二预设语言模型,所述第二预设语言模型用于支持模型属性浏览、可视化建模和仿真求解;
S5:将所述第二预设语言模型按照FMI标准导出为仿真模型。
2.根据权利要求1所述的基于FMI标准的模型转换方法,其特征在于,所述模型文件为Python语言的一维模型文件,或由DLL语言与Python语言混合的多维性能模型文件。
3.根据权利要求1所述的基于FMI标准的模型转换方法,其特征在于,所述第一预设语言为C语言。
4.根据权利要求1所述的基于FMI标准的模型转换方法,其特征在于,所述第二语言模型为Modelica模型。
5.一种基于FMI标准的模型转换系统,其特征在于,包括:
导入模块,用于导入模型文件;
模型解析模块,用于根据所述模型文件得到模型接口说明文件,其中,所述模型接口说明文件包括模型属性信息和模型仿真信息;
代码生成模块,用于根据所述模型仿真信息生成第一预设语言的接口函数,以完成所述第一预设语言对所述模型文件的封装;
模型封装模块,用于根据所述模型属性信息、所述模型仿真信息和所述第一预设语言的接口函数得到第二预设语言模型,所述第二预设语言模型用于支持模型属性浏览、可视化建模和仿真求解;
导出模块,用于将所述第二预设语言模型按照FMI标准导出为仿真模型。
6.根据权利要求5所述的基于FMI标准的模型转换系统,其特征在于,所述模型文件为Python语言的一维模型文件,或由DLL语言与Python语言混合的多维性能模型文件。
7.根据权利要求5所述的基于FMI标准的模型转换系统,其特征在于,所述第一预设语言为C语言。
8.根据权利要求5所述的基于FMI标准的模型转换系统,其特征在于,所述第二语言模型为Modelica模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711017841.3A CN107908830A (zh) | 2017-10-26 | 2017-10-26 | 基于fmi标准的模型转换方法和模型转换系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711017841.3A CN107908830A (zh) | 2017-10-26 | 2017-10-26 | 基于fmi标准的模型转换方法和模型转换系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107908830A true CN107908830A (zh) | 2018-04-13 |
Family
ID=61841845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711017841.3A Pending CN107908830A (zh) | 2017-10-26 | 2017-10-26 | 基于fmi标准的模型转换方法和模型转换系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908830A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874508A (zh) * | 2019-11-12 | 2020-03-10 | 北京环境特性研究所 | 一种仿真场景构建方法和装置 |
CN111367511A (zh) * | 2020-03-02 | 2020-07-03 | 北京中科宇航技术有限公司 | 一种仿真模型接口适配开发系统及其工作方法 |
CN111985055A (zh) * | 2020-08-28 | 2020-11-24 | 北京世冠金洋科技发展有限公司 | 一种模型封装方法、装置及电子设备 |
CN112084734A (zh) * | 2020-09-14 | 2020-12-15 | 北京世冠金洋科技发展有限公司 | 一种测试结果处理方法、装置及电子设备 |
CN112363694A (zh) * | 2020-11-10 | 2021-02-12 | 杭州和利时自动化有限公司 | Fmu文件及求解器运行环境与工业软件的集成方法 |
CN112597654A (zh) * | 2020-12-24 | 2021-04-02 | 中国人民解放军国防科技大学 | 基于mbse的顶层系统设计方案验证、优化和评估方法 |
CN112667242A (zh) * | 2020-12-28 | 2021-04-16 | 北京世冠金洋科技发展有限公司 | 一种将c代码封装成fmu的方法及装置 |
CN115098218A (zh) * | 2022-05-25 | 2022-09-23 | 西南科技大学 | Fmu模型到组态软件中功能块模型的描述和仿真方法 |
CN117892665A (zh) * | 2023-12-14 | 2024-04-16 | 中国科学院自动化研究所 | 基于电路系统级模型的建模仿真方法、装置、介质及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681726A (zh) * | 2016-12-30 | 2017-05-17 | 苏州同元软控信息技术有限公司 | Python模型转换为Modelica模型的方法 |
-
2017
- 2017-10-26 CN CN201711017841.3A patent/CN107908830A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681726A (zh) * | 2016-12-30 | 2017-05-17 | 苏州同元软控信息技术有限公司 | Python模型转换为Modelica模型的方法 |
Non-Patent Citations (1)
Title |
---|
田红芳等: "通用模型接口标准FMI", 《2011年信息技术、服务科学与工程管理国际学术会议》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874508A (zh) * | 2019-11-12 | 2020-03-10 | 北京环境特性研究所 | 一种仿真场景构建方法和装置 |
CN111367511A (zh) * | 2020-03-02 | 2020-07-03 | 北京中科宇航技术有限公司 | 一种仿真模型接口适配开发系统及其工作方法 |
CN111985055B (zh) * | 2020-08-28 | 2023-08-08 | 北京世冠金洋科技发展有限公司 | 一种模型封装方法、装置及电子设备 |
CN111985055A (zh) * | 2020-08-28 | 2020-11-24 | 北京世冠金洋科技发展有限公司 | 一种模型封装方法、装置及电子设备 |
CN112084734A (zh) * | 2020-09-14 | 2020-12-15 | 北京世冠金洋科技发展有限公司 | 一种测试结果处理方法、装置及电子设备 |
CN112363694B (zh) * | 2020-11-10 | 2022-04-15 | 杭州和利时自动化有限公司 | Fmu文件及求解器运行环境与工业软件的集成方法 |
CN112363694A (zh) * | 2020-11-10 | 2021-02-12 | 杭州和利时自动化有限公司 | Fmu文件及求解器运行环境与工业软件的集成方法 |
CN112597654A (zh) * | 2020-12-24 | 2021-04-02 | 中国人民解放军国防科技大学 | 基于mbse的顶层系统设计方案验证、优化和评估方法 |
CN112667242A (zh) * | 2020-12-28 | 2021-04-16 | 北京世冠金洋科技发展有限公司 | 一种将c代码封装成fmu的方法及装置 |
CN112667242B (zh) * | 2020-12-28 | 2023-08-22 | 北京世冠金洋科技发展有限公司 | 一种将c代码封装成fmu的方法及装置 |
CN115098218A (zh) * | 2022-05-25 | 2022-09-23 | 西南科技大学 | Fmu模型到组态软件中功能块模型的描述和仿真方法 |
CN115098218B (zh) * | 2022-05-25 | 2024-03-19 | 西南科技大学 | Fmu模型到组态软件中功能块模型的描述和仿真方法 |
CN117892665A (zh) * | 2023-12-14 | 2024-04-16 | 中国科学院自动化研究所 | 基于电路系统级模型的建模仿真方法、装置、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908830A (zh) | 基于fmi标准的模型转换方法和模型转换系统 | |
CN103500249B (zh) | 可视化继电保护整定计算系统及方法 | |
CN103353902B (zh) | 一种电力系统二次设备仿真模型构建方法 | |
CN103679800B (zh) | 一种视频图像虚拟场景生成系统及其框架构造方法 | |
CN112286512B (zh) | 航空电子仿真测试平台ui管理子系统 | |
CN101634833B (zh) | 现场设备io参数的开放式配置方法及系统 | |
CN102768703A (zh) | 基于树图模型的水轮发电机组虚拟装配建模方法和系统 | |
CN112651711B (zh) | 基于xdb文件在bs架构下的协同设计管理平台的搭建系统 | |
CN108446517A (zh) | 一种输变电三维设计数据跨软件平台交互的方法和系统 | |
CN102222148A (zh) | 自动生成三维装配图的明细表的方法及装置 | |
CN109977335A (zh) | 一种面向工业设备的Web组态方法 | |
KR20110034713A (ko) | 사용자 제작 로봇을 위한 가상 테스트 시스템 및 그 방법 | |
CN104063231B (zh) | 一种基于hit‑tena的试验资源快速接入方法 | |
CN103164545A (zh) | 虚拟电子元器件的可视化编辑方法 | |
CN105426527A (zh) | 一种信息化测绘生产装备集成过程中统一数据建模的方法 | |
CN114117645A (zh) | 一种舰船总体性能预报集成应用系统 | |
CN111709601B (zh) | 数据处理方法和装置 | |
CN107992674A (zh) | 一种基于模型的地球站监控可视化构建方法 | |
CN107943476A (zh) | 一种基于模型驱动的计算机联锁软件开发方法 | |
CN104778323A (zh) | 集成多源性能分析数据的复杂装备作业流程仿真方法 | |
CN102033751A (zh) | Osd屏显的软件适配方法、系统及多媒体终端 | |
CN103809973B (zh) | 图控界面设计系统及其图控界面设计操作方法 | |
CN107040818A (zh) | 用于安卓电视的布局层级分析方法及系统 | |
CN114218745B (zh) | 一种模型驱动自主演进智能设计方法 | |
CN110322534A (zh) | 一种基于bim技术的钢桁梁支架法拼装施工模拟方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180413 |
|
RJ01 | Rejection of invention patent application after publication |