一种基于Modelica的复杂方程可视化建模系统的制作方法

文档序号:11919637阅读:657来源:国知局
一种基于Modelica的复杂方程可视化建模系统的制作方法与工艺

技术领域

本发明属于计算机仿真与建模领域,具体而言涉及一种基于Modelica的建模系统。



背景技术:

Modelica是国际仿真界于1997年提出的一种开放的全新多领域统一建模语言,它归纳和统一了先前多种建模语言,且融合了键合图的非因果建模思想、Java语言的面向对象技术和Matlab的数值与矩阵机制,因而具备极其强大的建模功能。面向对象性和非因果性是Modelica 语言最大的优点。面向对象的建模方法具有数据封装、分层、连接和继承等特征,易于减少错误的发生并容易实现模型的重用。所谓非因果性建模,就是以一种中性、自然的形式表达模型方程,从而不必更多的考虑计算顺序,避免了对模型方程的繁琐推导,从而提高了建模效率,并使部件模型易于被重复使用。Modelica语言采用陈述式、基于方程的非因果建模方法建立模型,通过定义接口,使模型接口标准化,因此采用Modelica建模可以使物理系统各子系统之间既能完全独立又可互相统一。

目前,Modelica已经被奥迪、宝马、戴姆勒、福特、丰田、大众、德国宇航中心、法国空客、德国西门子、法国电力公司、ABB等不同行业公司所采用,广泛应用于汽车 、航空 、能源 、电力 、电子 、机械 、化学 、控制 、流体 等行业或领域以及嵌入式系统的建模与仿真。

现今,已有较多的软件提供对Modelica 的支持,如DyMola 、MathModelica等,这些软件工具都不同程度的支持可视化建模。可视化建模不但提高了界面友好性,使软件易于上手,而且能够自动生成代码,减少了工作量。建模的主要工作集中于对反映组件行为的方程进行编码,但是,现有软件对可视化建模的支持,基本都局限于组件的拖拽与连线,对组件内部的复杂方程的可视化建模并不支持。



技术实现要素:

为克服现有技术中的不足,本发明的目的在于提供一种基于Modelica的复杂方程可视化建模系统,该系统可供用户通过图形化用户界面,以拖拽连线的方式编辑组件中的方程。

为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:

一种基于Modelica的复杂方程可视化建模系统,其包括一图形视图模块、一文本视图模块、一框图解析模块、一代码生成模块、一模型管理模块和一数据管理模块;

所述图形视图模块用于接受用户的图形输入,提供了一个可接受图块拖拽的视图,每个图块代表一代码片段,用户可以将图块拖拽到视图并连线,以框图的方式描述Modelica方程;

所述文本视图模块用于接受用户的代码文本输入,提供了Modelica方程代码的文本编辑界面,供用户编辑图块代表的代码片段;

所述框图解析模块用于解析代码框图,根据框图分析出框图代表的代码片段的组织关系,可解析所述图形视图模块中用户搭建的框图,分析框图的拓扑结构,为代码生成模块提供输入;

所述代码生成模块用于结合所述框图解析模块得出的代码组织关系与所述文本视图模块获取的代码片段,组合出完整的Modelica方程代码;

所述模型管理模块用于将Modelica方程代码输入到用户指定的模型中,负责操作Modelica模型文件,对Modelica模型文件的内容进行增、删、改、查的基本操作;

所述数据管理模块用于管理系统运行过程中的一切过程数据与结果数据,并负责数据的持久化。

与现有技术相比,本发明具有以下有益效果:

1)本建模系统提供了图形化的方程编辑界面,使Modelica编码更容易上手,降低了Modelica编码的门槛;

2)本建模系统提供的图形化的方程代码可读性更好,各代码段之间的关系一目了然,方便后期修改与维护。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的基于Modelica的复杂方程可视化建模系统的系统原理图。

图2为本发明一实施例的Modelica的if方程的可视化建模过程示意图。

具体实施方式

下面将参考附图并结合实施例,来详细说明本发明。

参见图1所示,一种基于Modelica的复杂方程可视化建模系统,其包括一图形视图模块1、一文本视图模块2、一框图解析模块3、一代码生成模块4、一模型管理模块5和一数据管理模块6;

所述图形视图模块1用于接受用户的图形输入,提供了一个可接受图块拖拽的视图,每个图块代表一代码片段,用户可以将图块拖拽到视图并连线,以框图的方式描述Modelica方程;

所述文本视图模块2用于接受用户的代码文本输入,提供了Modelica方程代码的文本编辑界面,供用户编辑图块代表的代码片段;

所述框图解析模块3用于解析代码框图,根据框图分析出框图代表的代码片段的组织关系,可解析所述图形视图模块1中用户搭建的框图,分析框图的拓扑结构,为代码生成模块4提供输入;

所述代码生成模块4用于结合所述框图解析模块3得出的代码组织关系与所述文本视图模块2获取的代码片段,组合出完整的Modelica方程代码;

所述模型管理模块5用于将Modelica方程代码输入到用户指定的模型中,负责操作Modelica模型文件,对Modelica模型文件的内容进行增、删、改、查的基本操作;

所述数据管理模块6用于管理系统运行过程中的一切过程数据与结果数据,并负责数据的持久化。

实施例1:

进一步的,参见图2所示,本实施例描述了Modelica的条件方程,if方程的可视化建模过程示例。

在此过程中,用到了所述图形视图模块1提供的图块,包括equation图块,if图块,else if图块和else图块。

所述equation图块是最基本的图块,表示一个Modelica方程代码段,可以双击打开,以文本方式输入方程或者通过可视化建模的方式输入方程。

所述if图块,继承了所述equation图块的所有功能,但是多了是否执行的判断条件,如果条件满足则执行,否则不执行。

所述else if图块,继承了所述equation图块的所有功能,只能与所述if图块并联,在所述if图块没有触发且满足当前else if图块条件时执行。

所述else图块,继承了所述equation图块的所有功能,只能与所述if图块并联,并且在同一分支中只能有一个,在其他if图块及else if图块分支都没有触发的情况下执行。

以下是利用上述框图体系进行可视化建模的步骤:

步骤0:完成组件的前期编写工作,如参数与变量的定义;

步骤1:拖拽需要的图块,equation图块、if图块、else if图块根据实际情况连接;

步骤2:对图块进行属性编辑,主要是分支图块的执行条件;

步骤3:对每个图块分别双击打开,进行执行内容编辑;此时将打开属于被双击的代码块的编辑视图,可选择继续用图形化的方式编辑,或者直接切换至文本模式,输入此代码块的方程。

步骤4,当所有代码块都完成编辑,则完成建模。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1