欢迎来到天天文库
浏览记录
ID:27576011
大小:53.55 KB
页数:10页
时间:2018-12-03
《mast语言建模在电力电子技术仿真教学中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、MAST语言建模在电力电子技术仿真教学中的应用摘要:在电力电子仿真课程中通常以Saber软件作为仿真平台,而在电路模型的建立过程中,Saber软件所提供的元件模型是有限的,有时需要利用MAST语言来完成一定的硬件设计。MAST语言建模是用数学方法来描述硬件功能,其精度较高,可使电路模型得到简化。通过实例介绍了利用MAST语言建模及使用的过程,应用MAST语言可使仿真电路模块化,加深学生对电力电子技术的理解程度。关键词:Saber;电力电子仿真;MAST语言建模;教学方法分类号:G642.0文献标识码:A文章
2、编号:1007-0079(2014)23-0015-02在电力电子仿真课程中,传统的教学方式多以仿真软件所提供的现有环境为基础进行电路的搭建。在实际教学过程中,Saber模型库中的模型是有限的,无法为特定的教学案例提供全部或最新的集成电路模型,因此,有时需要利用MAST语言来完成一定的硬件设计。[1]MAST语言主要是用来创建模拟、数字或系统模型的,而用MAST语言建模实际上就是用语言的形式描述物理的意义,更确切地说就是要建立一系列的方程,因此用MAST语言建模的核心就是用线性(或非线性)的代数、微分方程(
3、组)来描述对象的特征。它包括电、机械、光和流体等。从上面的定义可以看出,Saber仿真器并不是单纯的一个电路模型仿真器,从理论上讲只要能用MAST语言建立出模型,通过Saber仿真器就能对其进行仿真,这时仿真器实际上要做的工作就是解方程。[2]本文结合单相桥式P丽逆变电路具体教学实例,介绍MAST语言建模在电力电子仿真课程中应用的具体方法。一、MAST语言建模概述用MAST语言建模时可以首先建立系统中元件的模型,然后将各个元件按照一定的要求连接起来就构成了完整的系统,因此在这种情况下描述系统模型方程由仿真器
4、自动完成。只要能写出描述对象特征的方程就能用MAST语言建模,因此MAST语言不仅可以建立模拟元件的模型,还可以建立数字元件的模型,对于数字模型是用元件在各离散时刻的离散值来描述的。[3]在MAST语言中,被Saber仿真器使用的核心单元是模板(template),在创建模型中,模板是分层结构的,所谓分层结构就是在创建模板中可以引用其他模板。这样的结构有几个好处:第一,在创建模板的过程中可以直接调用Saber库中元件模型,这样将大大地减少编写模板的工作量。第二,对于经常使用到的电路结构(该结构中可以包括其他
5、电路结构),可以将其构成一个子模板,而其他模板可以调用这个子模板。第三,可以建立一个顶层模板,在该模板中调用系统中的其他所有模板,它只反映各模板之间的连接及各模板所需要传递的参数,这样在仿真中修改参数就很方便。在模板命名这个问题上需要注意两点:模板的扩展名必须是.sin,即templatename.sin;模板名必须以字母开头。一个模板可能有以下的一个或几个部分,也可能包括以下的全部内容:Unitdefinitions//单位定义Connectionpointdefinitions//连接点定义Templa
6、teheader//模板头Headerdeclarations//头声明localdeclarations//局部声明Parameterssections//参数部分Whenstatements//当语句Valuessection//值部分Controlsection//控制部分Equationssection//方程部分在编写模板时,没有上面顺序的限制,可以按任意顺序编写,但需特别注意的是,在使用一个变量之前必须首先定义这个变量,被定义量的位置就决定了它是全局的或是局部的变量。如果要在模板中引用文件,可以
7、在任何地方引用文件,但是为了增加程序的可读性,建议学生在编写模板程序时采用上述顺序。另外,如果要调用程序且该文件为全局调用,建议调用句放在headerdeclarations部分,如果该文件为局部调用,建议放在localdeclarations部分。[4,5]这里以理想恒流源模型为例对MAST语言的应用进行说明。理想恒流源模型如图1所示。其MAST语言形式为:templateisourcepn=iselectricalp,nnumberis=100{equations{i(p-〉n)+=is}}模板头说明模
8、板名、模板的连接点和使用模板时需要赋值的变量,这个变量必须是在网表中进行赋值。定义模板头的格式为:templatetempiate_nameconnectionpoints=arguments。定义模板头的关键字为template和elementtemplate,这两者的区别一个是内部节点可见而另一个是内部节点不可见。tempiate_name是模板名,在通常情况下该模板的文件名和这个模板应该一致;connect
此文档下载收益归作者所有