simulink模型到modelica模型转换技术

simulink模型到modelica模型转换技术

ID:31365812

大小:106.00 KB

页数:5页

时间:2019-01-09

simulink模型到modelica模型转换技术_第1页
simulink模型到modelica模型转换技术_第2页
simulink模型到modelica模型转换技术_第3页
simulink模型到modelica模型转换技术_第4页
simulink模型到modelica模型转换技术_第5页
资源描述:

《simulink模型到modelica模型转换技术》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Simulink模型到Modelica模型转换技术  摘要:针对Simulink模型重用到更高阶的Modelica平台上的需求,分析Simulink模型的数学本质和代码表达,以及Modelica对外部函数和外部类的支持,重用Simulink模型转换生成的S-function目标C代码,实现Simulink模型到Modelica模型转换.  关键词:Simulink;S-function;Modelica;模型转换  中图分类号:TP391.9文献标志码:B  0引言  随着数字化功能样机技术和仿真技术的发展,近

2、几十年来涌现出许多成熟的建模仿真分析工具,并广泛应用于机械、电子、控制等领域中,使得对集机械、电子、液压、控制等多个学科领域子系统于一体的复杂产品的整体系统进行分析成为可能.多年以来,Simulink以其基本模块的易用性和通用性,被广泛应用于控制系统的建模.同时,为满足物理系统建模,MATLAB官方和第三方均提供多种扩展工具模块,但是实际使用时,扩展工具模块往往难以满足使用需求.越来越多的使用者发现针对复杂物理系统,Simulink存在着建模难度大并且耗费时间多的问题.欧洲学者针对复杂物理系统统一建模,提出多领

3、域统一建模语言――5Modelica语言,实现对复杂产品整体统一建模分析,并使之成为复杂系统建模领域的标准.目前,Modelica语言已有较大的发展,针对其开发的标准模型库更是迅猛增长,已覆盖机械、液压、气压、电控、热力和电磁等多个领域,并在欧美汽车、能源、动力、机电、航空和航天等各行业获得成功应用.[1]  虽然Modelica的应用已推进复杂物理系统的建模和仿真发展,但是控制系统工程师依然习惯利用Simulink进行控制系统的建模和仿真,而其他设计工程师使用Modelica建立物理系统模型.长期以来,大量的

4、知识已经以Simulink模型的方式累积下来,如果把这些模型用Modelica重写,十分耗费时间和精力.基于Modelica语言在多领域建模和仿真中的广泛应用以及未来发展趋势,可以考虑将控制系统Simulink模型转换成Modelica模型,使系统模型在统一的Modelica平台下进行仿真.有学者提出一种“模块映射”方案,通过在Modelica平台中建立与Simulink基本模块对应的模型库元件,并按照Simulink模型模块和连接关系,用Modelica元件代替Simulink模块并复现连接关系,实现模型转换

5、.[2-3]这种方案依赖于专门定制的Modelica模型库元件.然而,部分Simulink基本模块,如积分模块等,有多种变形模式,要设计一种Modelica元件与其对应的难度很大.对此,本文提出一种基于Simulink模型代码生成和Modelica外部类和函数接口实现Simulink模型到Modelica模型转换的新方案.  1模型转换原理  1.1Simulink模型描述  Simulink模型中包含时间  Simulink通常用模块和连接关系表达模型.通过MATLAB提供的代码生成工具RTW(Real-Ti

6、me5Workshop)把模型转换成S-Function目标C代码后,Simulink模型中的数学描述就变成代码描述.Simulink模型转换成C代码后,Simulink模型原有的所有变量信息都保存在SimStruct实例中,SimStruct是S-Function目标C代码中定义的类,代码中还定义用于对SimStruct操作的接口函数.  Simulink求解器通过对接口函数的调用,对用C代码描述的Simulink模型进行仿真,仿真流程见图1,仿真主要包含初始化和循环求解2个阶段.  初始化阶段由mdlIni

7、tializeSizes,mdlStart和mdlInitializeSampleTimes函数实现采样时间、状态向  量、输入向量的初始化.在循环求解阶段中,  modelOutputs函数用C代码的方式描述关系式  1.4Modelica外部类  类是Modelica语言的基本结构元素,是构成Modelica模型的基本单元,类可以包含3种类型:变量、方程和成员类.变量表示类的属性,通常代表某个物理量;方程指定类的行为,表达变量之间的数值约束关系.[1]通常,类定义在Modelica内部,类的变量、方程和成员

8、类均以Modelica语言描述,对内是可见的.  Modelica同时支持外部类.外部类一般由C语言定义,对于Modelica相当于一个“黑箱”,只暴露其操作的接口,内部结构完全封闭.外部函数协作完成某一任务时,这些外部函数之间需要传递一些信息的内部存储,外部类的实例就可以表示这种内部存储.在Modelica语言中,外部类同样以class作为关键字,但加上extends5Externa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。