文档库 最新最全的文档下载
当前位置:文档库 › Matlab中的Simulink和SimMechanics做仿真

Matlab中的Simulink和SimMechanics做仿真

Matlab中的Simulink和SimMechanics做仿真
Matlab中的Simulink和SimMechanics做仿真

这里我们利用Matlab中的Simulink和SimMechanics做仿真,那么先来看看相关的资料。

SimMechanics

——机械系统建模和仿真

SimMechanics 扩展Simscape? 在三维机械系统建模的能力。用户可以不进行方程编程,而是借助该多刚体仿真工具搭建模型,这个模型可以由刚体、铰链、约束以及外力组成。自动化3-D动画生成工具可做到仿真的可视化。用户也可通过从CAD系统中直接导入模型的质量、惯量、约束以及三维几何结构。Real-Time Workshop可以对SimMchanics模型进行自动化C代码生成,并在硬件在回路仿真过程中可以使用生成的代码而不是硬件原型测试嵌入式控制器。

SimMechanics可以用于开发悬架、机器手臂、外科医疗设备、起落架和大量的其它机械系统。用户也可以在SimMechanics环境下集成其它的MathWorks物理建模工具,这样做可以实现更加复杂跨领域的物理建模。

特点:

?提供了三维刚体机械系统的建模环境

?包含了一系列分析机械运动和设计机械元件尺寸的仿真技术

?三维刚体可视化仿真

?SimMechanics Link utility,提供Pro/ENGINEER 和SolidWorks CAD平台的接口并且也提供了API函数和其它CAD平台的接口

?能够把模型转化为C代码(使用Real-Time Workshop)

?由于集成在Simulink环境中,因此可以建立高精度、非线性的模型以支持控制系统的开发和测试。

强大功能:

搭建机械系统模型

使用SimMechanics用户仅需要收集物理系统信息即可建立三维机械系统模型。使用刚体、坐标系、铰链和作用力元素定义和其它Simulink模型直接相连的部分。这个过程可以重用Simulink模型以及扩展了SimMechanics工具的能力。用户还可把Simulink模型和SimMechnics模型集成为一个模块,并可封装成可在其它模型中复用的子系统。

机械系统建模仿真和分析

SimMechanics包含如下子系统:

?使用Simulink查表模块和SimMechanics传感器和作动器定义的非线性的弹性单元

?用来定义航空器件压力分布的空气动力学拖曳模块,例如副翼和方向舵

?车辆悬架系统,例如防侧翻机械装置和控制器

?轮胎模型

SimMechanics 系统包含如下模块:

?具有质量的实体单元;

?平移和旋转连接铰链单元;

?向机械系统提供力和力矩作用的激励单元,可接受Simulink 模型的信号;

?测量机械系统运动物理量的传感器单元,可向Simulink 模型输出信号。

机械系统动画显示

SimMechanics中可以用Virtual Reality工具箱或是MATLAB图形方式生成系统三维动画。MATL AB图形方式能提供基本的动画显示,Virtual Reality工具箱则能提供更加高级、真实的动画。两种工具都可以用来显示机械系统的数值分析结果。

实体、铰链、约束和坐标系统

SimMechanics 支持任意数量的实体。实体通过质量属性,坐标系统定义,并通过铰链与其它实体相连。

可以在系统的运动实体上添加相应的运动约束。约束通过使用Simulink 信号限定实体,并以时间函

数的形式驱动实体运动来实现。

SimMechanics 界面为定义坐标系统,约束和驱动条件以及力/力矩的定义提供了多种方式。包括:

?在实体上连接多个本地坐标,用于施加作用条件和测量物理量

?通过添加自己订制的模块来定制扩展铰链库

?在SimMechanics模块中使用MATLAB表达式和Simulink工具

激励器和传感器

Simulink和SimMechanics模块之间的联系通过激励器和传感器模块来完成。激励器使用Simulin k信号指定实体或铰链上的力和运动,包括:

?指定实体或铰链的运动参数,如按某种时间函数变化的位移、速度或加速度

?用Simulink信号(包括系统中传感器的反馈信号)指定力和力矩并施加在实体或铰链上

?检测由不连续摩擦力引起的离散事件

?计算系统的初始状态(位移和速度),用于动力学仿真

?传感器模块用来检测实体和铰链的运动参数,并输出为Simulink 信号。包括:

o在Simulink 示波器模块中显示系统的位移、速度和加速度

o监视系统中的作用力

机械运动的仿真和分析

SimMechanics 为机械系统提供了如下仿真/分

析方式:

?正向动力学分析—求解机械系统在给定激

励下的响应;

?逆向运动学和动力学分析—求解机械系统

在给定运动结果时所需的力和力矩;

?线性化分析—可求得系统在指定小扰动或

初始状态下的线性化模型,以分析系统响应性能;

?平衡点分析—可以确定稳态平衡点,供系统分析和线性化使用。

代码生成

使用Real-Time Workshop工具可以对SimMechanics模型进行自动代码生成,用户利用生成的代码实现下列功能:

?建立SimMechanics模型相对应的可执行文件,可以集成到C程序和其它MATLAB程序中的可执行文件

?将SimMechanics模型下载到实时的处理器中进行硬件在回路仿真

?对C代码进行编译以提高模型的运算速度

CAD组件导入SimMechanics

使用SimMechanics Link,用户能够从CAD组建中自动化生成SimMechanics模型。SimMecha nics Link能够导出关键数据并保存到数据文件中。构件中各个部分的质量和惯量能够转化为SimMecha nics的刚体参数。

对于SolidWorks和ProEngineer模型,用户可以安装一个插件用于保存CAD构件,文件形式为X ML格式,并且这个XML文件可以导入到SimMechanics中。对于其它的CAD系统,SimMechanics Link提供一套API函数,用户借助这些API函数可以和CAD系统相关联。

SimMechanics Link需要MATLAB License,下载网页为:

https://www.wendangku.net/doc/cb13750766.html,/products/simmechanics/download_smlink.html

多领域物理建模

由于是集成在Simulink和MATLAB环境中,因此可以使用MATLAB提供的工具箱和Simulink模块库仿真和搭建模型,这个模型既可以是被控对象模型也可是控制器模型,即使SimMechanics的信号具有物理量纲,也可以把这类信号和Simulink普通模块进行相连(使用激励器和传感器)。总而言之,用户可以在一个统一的平台上开发、测试模型。

需要的产品:

使用SimMechanics需要

?MATLAB

?Simulink

?Simscape

simuscape

——跨学科物理系统建模和仿真工具

Simscape是在Simulink基础上的扩展工具模块,用来建立多种不同类型物理系统的建模并进行仿真,例如由机械传动,机构,液压和电气元件构成的系统。Simscape可以广泛应用于汽车业,航空业,国防和工业装备制造业。Simscape同SimMechanics,SimDriveline,SimHydraulics和SimPowerSystems一起,可以支持复杂的不同类型(多学科)物理系统混合建模和仿真。

?使用统一环境实现多种类型物理系统建模和仿真,包括机械,电气和液压系统;

?使用基本物理建模单元构造模型,并提供了建模所需的模块库和相关简单数学运算单元;

?用户可自己指定参数和变量的单位,模块内部自动实行单位转换和匹配;

?具有连接不同类型物理系统的桥接模块;

?具备扩展产品所建模型的全权仿真和受限编辑功能,单独运行仿真时无需SimMechannics ,SimDriveline和SimHydraulics的产品使用许可。

强大功能

多学科系统物理建模

在Simscape的环境中,用户的建模过程如同装配真实的物理系统。Simscape 采用物理拓扑网络方式构建模型:每一个建模模块都对应一个实际的物理元器件,例如油泵、马达或者运算放大器;模块之间的连接线代表元件之间装配和能量传递关系。这种建模方式直观的表现出物理系统的组成结构,而不是用晦涩的数学方程。Simscape根据模型所表达的系统组成关系,自动构造出可以计算系统动态特性的数学方程。这些方程可同其他Simulink模型一起结合运算。

Simscape的建模库提供超过24个电气建模单元,15个液压建模单元,23个机械建模单元;这些单元之间可以互相连接,联合建模。这些基本的单元也可以组合起来,构造更加复杂的器件模型。

Simscape模型中的Sensor模块用来测量机械量(力/力矩,速度),液压量(压力,流量)或电气量(电压,电流),测量输出的信号量可以输出给标准的Simulink模块处理。而Source模块能够将标准的Simulink信号转换成同等量值的上述物理信号。Sensor和Source模块的使用将Simulink控制算法模型同Simscape物理网络拓扑模型有机的结合起来,可实现闭环控制算法开发。

创建自定义元件

Simscape的基础建模单元库支持从基本的建模单元组合定制模型元件。

?机械系统建模

Simscape提供了一维平移/旋转机械的建模模块。机械系统元件的变量,将与系统中的液压和电气系统模型物理量同时解算。用于机械系统的Sensor和Actuator

模块则可以连接由Simechanics和SimDriveline创建的更精细的模型。

?电气系统建模

Simscape提供了代表电子元件和电路的电气模型。电气系统元件的变量,将与系统中的液压和机械系统模型物理量同时解算。用于电气系统的Sensor和Actuator 模块则可以连接由SimPowerSystem创建的更精细的模型。

?液压系统建模

Simscape提供了液压系统的建模模块,可对基本的液压特性进行建模和计算;也可以进一步组合出更加复杂的液压元件。这些模块定义了各种物理过程中压力和流

量的相互关系,如压缩性,流体惯性,摩擦损失,能量转换和固定节流口/可变节流口出流。通过输入流体属性数据,用户可以自己定义流体特性。使用Simhydraulics 则可以构建更加精细的液压元件模型。

?物理信号

在Simscape中,用户可以直接操作物理量信号。信号和参数的单位直接在模块设定的对话框中输入,Simscape在求解物理网络模型时将自动进行必要的单位转换。

Physical Signal 模块库支持对物理信号的数学操作,可以在物理模型网络中直接

构建运算模型。Simscape模块之间通过Physical Signal ports端口相互连接,这样各种类型的物理系统可以方便的集成。

使用基础元件库提供的建模单元,用户可以构建更多复杂的元件,扩展出更多种类的物理模型。在Simulink环境中,组合好的模型可以进一步封装形成可复用和共享的元件库。

全权和受限模式的模型共享

Simscape Editing Modes允许用户在Simscape下使用其工具和扩展产品(SimDriveline,SimHydraulics,SimMechanics)构建的模型进行仿真。只要拥有Simscape的产品使用许可,并且安装了这些扩展产品,用户就可以仿真用这些扩展产品模块所建立的模型,也可以调整模型中的参数——但是不能编辑模型。这样,在不同的团队之间共享模型时,用户无需额外购买扩展产品使用许可。

如果用户进一步添置扩展模块的使用许可,则可以全权使用扩展产品编辑和仿真模型功能。

在Simulink中同时建立装置对象和控制器模型

Simscape建立的物理系统仿真模型可以与Simulink中的控制系统信号流模型相连,构成完整的系统闭环模型,实现在Simulink统一环境中多学科/领域系统和控制器的联合仿真测试。

需要的产品

运行Simscape需要:

MATLAB

?Simulink

?Simscape

建立Stewart平台:

1.建立Stewart平台的装配图;

2.按前述说明,将CAD模型输出为stewart_platform.xml。

3.在MATLAB中输入import_physmod('stewart_platform')命令,导入模型。4.检查模型,并求自由度。

5.编辑产生的模型。

6.在Simulink中建立相应的运动学及PID求解模块。

8.最终模型如下图所示:

第一部分Controller模块,这部分是一个非常典型的PID控制模块,虽然这里处理的是矩阵,但是一般的单变量也是一样的。

第二部分Leg Trajectory模块,这部分是规划的轨迹路线,里面包括该机器人的正反解的计算,及矩阵的转换等数值运算。

第三部分Plant模块,这是SimMechanics建立的Stewart模型。

第四部分是外围的三个基本模块,加减模块、Body Position Sensor和Scope。

首先介绍第一部分。绿色的Controller是PID控制器,双击它显示如图5所示。r_pos表示的是设定位置,pos表示的测量位置,两者相减后与参数P相乘;同时两者相减后的值再积分再与参数I相乘;最后一个就是测量到的速度乘以参数D。这里pos是物理模型中的测量值或者叫反馈值,r_pos是目标值,vel是测量值的微分,输出Force是控制量。由控制量控制系统达到我们想要的目标。

PID的原型可以表示为:

它是一个根据反馈误差来修正输出函数的过程。K0,K1,K2这三个参数可以为0,那么就形成了PI、PD、ID、PID这几种形式。一般PID、PD这两种用的比较多。图 5中的(r_pos-pos)等同于这里的e,表示误差函数,Force等同于u,表示输出函数。

图 5

再看第二部分。左端的Leg Trajectory模块是Stewart的各个杆长及动平台位置的计算,这部分计算是目标值的计算。这个模块如图 6所示。

图 6

图 6中,最左侧写着Desired的模块为假定的机构动平台的运动规律,也就是规划的轨迹,当然这里是分开规划的,可以看到六个自由度各自的变化规律,在Stewart杆长计算公式中R就是Rotation Matrix(即EulerXYZ)模块。

接下来是第三部分。Plant模块,这部分是用SimMechanics建立的。如图7所示。Top Plate 模块表示的是动平台,Leg1-6表示的的是Stewart的支链1-6(即杆1-6)。

图7

每一个支链的结构都是相同的,但是每个参数并不相同。这涉及到转动方向和移动方向的计算。坐标系要求以模型的初始状态为基础,这里动平台的初始状态如图8所示,具体是

动平台中心和固定平台中心在Z方向重合,高度为2,且动平台与固定平台此时空间平行。此时动平台和固定各个铰点的状态类似与等边三角形式的对称状态。

(a)(b)

图8

坐标系如图9所示。Z轴正方向为垂直纸面指向外,坐标原点为固定平台的中心,动平台和固定平台的简化图也在图上表示出来。

图 9

初始位置的确定如图10所示,Position这个标签下有CS1、CS2、CG、CS3都是根据初始状态计算出来的,CG为初始重心,CS1为该杆与固定平台连接的铰点坐标,CS2为初始状态下该杆的长度。CS3为理论上与移动副连接的点,因此,把它的Show Port和CS1的Show Port 勾上。括号中的ln表示从1到6,根据不同输入决定实际坐标值。另外,变量采用结构体

(Struct)形式。Orientation下有CG、CS1、CS2和CS3,但是他们的参数值都是一样的,这里是设置了它的初始状态下的旋转变换矩阵,这个矩阵的参数在后面的运动副设置中要用到。

图10

图11为上述模型经计算后所得结果,其中Body Position所显示的是杆在十秒内的位置变化,Errors显示的是在位姿不合理时杆的理论位置,Leg Forces所显示的是在十秒内六根杆的受力情况。

大家可以依照配套的视频文件来试着打开MATLAB7.0版本,找到mech_stewart_trajectory.mdl这个例子打开动手做做的,另外,你也可以修改相应的规划轨迹来试一试。

参考资料:

1.https://www.wendangku.net/doc/cb13750766.html,/Product/ArticleShow_ps1.asp?ArtID=867

2.https://www.wendangku.net/doc/cb13750766.html,/company/newsletters/digest/sept02/stewart_pt3.html 3.Matlab 7.0 help, SimMechanics Demo: mech_stewart_trajectory.mdl

4.https://www.wendangku.net/doc/cb13750766.html,/company/newsletters/digest/sept02/stewart_pt3.html

Matlab Simulink 仿真步骤

MATLAB基础与应用简明教程 张明等编著 北京航空航天大学出版社(2001.01) MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。MA TLAB是随着Windows环境的发展而迅速发展起来的。它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。MA TLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。同时,它具有很好的开放性,用户可以根据自己的需求,利用MA TLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。 本书重点介绍了MA TLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。 Chap1 MATLAB入门与基本运算 本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。由于MA TLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。 1.1 MATLAB环境与文件管理 1.2 工作空间与变量管理 1.2.1 建立数据 x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。分号“;”表示不显示定义的数据。 MATLAB还提供了一些简洁方式,能有规律地产生数组: xx=1:10 %xx从1到10,间隔为1 xx=-2:0.5:1 %xx从-2到1,间隔为0.5 linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。对于这一类命令,只要给出数组的两端数据和维数就可以了。 xx=linespace(d1,d2,n) %表示xx从d1到d2等距离取n个点 xx=logspace(d1,d2,n) %表明xx从10d1到10d2等距离取n个点 1.2.2 who和whos命令 who: 查看工作空间中有哪些变量名 whos: 了解这些变量的具体细节 1.2.3 exist命令 查询当前的工作空间内是否存在一个变量,可以调用exist()函数来完成。 调用格式:i=exist(…A?); 式中,A为要查询的变量名。返回的值i表示A存在的形式: i=1 表示当前工作空间内存在一个变量名为A的矩阵; i=2 表示存在一个名为A.m的文件; i=3 表示MATLAB的工作路径下存在一个名为A.mex的文件;

MATLAB命令画出simulink示波器图形

毕业论文答辩已经结束很长时间了,现在总结一下我在做毕业论文时的用MATLAB命令画出simulink示波器图形的一点方法,我也是MATLAB初学者,所用方法不算高明方法,并且这些方法在论坛应该都能找到,请大家见谅。 第一步,将你的示波器的输出曲线以矩阵形式映射到MATLAB的工作空间内。 如图1所示,双击示波器后选择parameters目录下的Data history,将Save data to workspace勾上,Format选择Array,Variable name即你输入至工作空间的矩阵名称,这里我取名aa。在这之后运行一次仿真,那么你就可以在MATLAB的工作空间里看到你示波器输出曲线的矩阵aa。如图2所示。 第二步,用plot函数画出曲线 双击曲线矩阵aa,将可以看到详细情况,我这里的aa矩阵是一个1034行,3 列的矩阵,观察这个矩阵即可以发现,这个矩阵的第一列是仿真时间,而由于我仿真时示波器内输出的是两条曲线,所以第二列和第三列即分别代表了这2条曲线。同时大家要注意,在simulink中我们有时往往在示波器中混合输出曲线,那么就要在示波器前加一个MUX混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的MUX的输入端数有关,如果你设置了3个MUX输入端,而实际上你只使用了2个,那么曲线矩阵仍然会有4列,并且其中一列是零,而不是3列。 理解曲线矩阵的原理之后,我们就可以用plot函数画出示波器中显示的图形了。 curve=plot(aa(:,1),aa(:,2),aa(:,1),aa(:,3),'--r') %aa(:,1)表示取aa的第一列,仿真时间 %aa(:,2)表示取aa的第二列,示波器的输入一 %aa(:,3)表示取aa的第三列,示波器的输入二 %--r表示曲线2显示的形式和颜色,这里是(red) set(curve(1),'linewidth',3) %设置曲线1的粗细 set(curve(2),'linewidth',3) %设置曲线2的粗细 legend('Fuzzy','PID') %曲线名称标注 xlabel('仿真时间(s)') %X坐标轴名称标注 ylabel('幅值') %Y轴坐标轴标注 title('Fuzzy Control VS PID') %所画图的名称 grid on %添加网格 运行上述命令后即可以看到用MATLAB命令画出的图形了,你可以在图形出来之后继续进行编辑。

MATLAB编程与SIMULINK仿真简介

348 数字信号处理 MATLAB编程与SIMULINK仿真简介 A.1 MATLAB编程基础 MATLAB6.5提供了丰富的编程语句结构和实用函数,MATLAB产品组是支持你从概念设计、算法开发、建模仿真到实时实现的理想的集成环境。无论是进行科学研究还是产品开发,MATLAB产品族都是必不可少的工具。这里介绍一些常用的编程技巧和方法,以便同学们能尽快地启动起来,更好地应用MATLAB。 1. MATLAB文件的编写与调试环境 M文件的编写与调试在MATLAB Editor/Debugger下进行(图B1-1),这个集成环境可以方便地进行新建、修改、存储,选择Debug菜单中的Run命令就可以运行程序,运行结果显示在MATLAB Command Window 中。程序的调试应用Debug菜单就可以进行调试,其他高级语言中的Set/Clear Breakpoint、Single Step、Stop if error等选项都有,可以方便的调试程序。 图B1-1 M文件的编写与调试窗口 在MATLAB Editror/Debugger下按照MATLAB编程的规则键入相关的语句并存盘,就可以得到一个后缀为.m的文本文件。

2. MATLAB脚本文件和函数文件 在MATLAB中,无论是问题的提出还是结果的表达都采用你习惯的数学描述方法,而不需要用传统的编程语言进行处理。应用MATLAB编写出来的程序可以是M脚本文件(Script 。file),也可以是M函数文件(Function file),这些文件都由纯ASCII字符构成,其后缀m MATLAB下 M脚本文件是一串按用户意图排列而成的(包括控制流向指令在内)MATLAB 指令集合,可以直接执行,用户只需在Command Window中MATLAB提示符>>后键入文件名即可执行。脚本文件运行后所产生的所有变量都驻留在MATLAB的基本工作空间(Base workspace)中,只要用户不加以清除且MATLAB指令窗不关闭,则这些变量将一直保存在基本工作空间。与脚本文件不同,函数文件犹如一个“黑箱”,从外界只看到传给它的输入量和送出来的计算结果,内部运作是看不见的,并且函数文件的第一行总是以“function”引导的“函数申明行”。M函数文件必须由其它的语句来调用,在一般情况下用户不能单独键入其文件名来运行一个M函数。 MATLAB下的大多数的应用程序由M函数文件形式给出,例如求取系统特征方程的根的root ()函数和绘制零极点图的pzmap ()函数等。除了M函数文件之外,MATLAB还提供了大量的底层函数(内部),这类文件是不可读的,与M函数一起统称为函数。 3. M文件的一般结构 从结构上看脚本文件只是比函数文件少一个“函数申明行”,所以脚本文件和函数文件除第一行不同外,其余的结构都是一样的。 典型M函数文件的基本结构可由以下几部分构成: (1)函数申明行(Function declaration line),位于函数文件的首行,以MATLAB 关键字function 开头,函数名以及函数的输入输出宗量都在这一行中定义; (2)H1行(The first help text line):紧随函数申明行之后以%开头的第一行注释行。H1行包括大写体的函数名和运用关键词简要描述的函数功能,该行供lookfor关键词查询和help在线帮助查询使用; (3)在线帮助文本(Help text)区:H1行及其之后的连续以%开头的第一行的所有注释行构成在线帮助文本; (4)编写和修改记录:标志编写及修改该M文件的作者、日期,便于档案管理; (5)函数体(Function body):该部分由实现M函数功能的MATLAB指令组成。它接收输入宗量,进行程序流程控制,得到输出宗量。从运算角度看“函数申明行”和“函数体”两部分是构成M函数文件所必不可少的。 函数文件(Function file)由function()语句引导,其基本格式为: function 返回变量名=函数名(输入变量列表) 注释说明语句段 函数体语句 在编制程序的过程中输入和返回的变量分别由nargin和nargout两个MATLAB的保留参数给出,返回变量要多于1个,应该用方括号括起来,输入变量用逗号隔开。注释语句

Matlab中的Simulink和SimMechanics做仿真

这里我们利用Matlab中的Simulink和SimMechanics做仿真,那么先来看看相关的资料。 SimMechanics ——机械系统建模和仿真 SimMechanics 扩展Simscape? 在三维机械系统建模的能力。用户可以不进行方程编程,而是借助该多刚体仿真工具搭建模型,这个模型可以由刚体、铰链、约束以及外力组成。自动化3-D动画生成工具可做到仿真的可视化。用户也可通过从CAD系统中直接导入模型的质量、惯量、约束以及三维几何结构。Real-Time Workshop可以对SimMchanics模型进行自动化C代码生成,并在硬件在回路仿真过程中可以使用生成的代码而不是硬件原型测试嵌入式控制器。 SimMechanics可以用于开发悬架、机器手臂、外科医疗设备、起落架和大量的其它机械系统。用户也可以在SimMechanics环境下集成其它的MathWorks物理建模工具,这样做可以实现更加复杂跨领域的物理建模。 特点: ?提供了三维刚体机械系统的建模环境 ?包含了一系列分析机械运动和设计机械元件尺寸的仿真技术 ?三维刚体可视化仿真 ?SimMechanics Link utility,提供Pro/ENGINEER 和SolidWorks CAD平台的接口并且也提供了API函数和其它CAD平台的接口

?能够把模型转化为C代码(使用Real-Time Workshop) ?由于集成在Simulink环境中,因此可以建立高精度、非线性的模型以支持控制系统的开发和测试。 强大功能: 搭建机械系统模型 使用SimMechanics用户仅需要收集物理系统信息即可建立三维机械系统模型。使用刚体、坐标系、铰链和作用力元素定义和其它Simulink模型直接相连的部分。这个过程可以重用Simulink模型以及扩展了SimMechanics工具的能力。用户还可把Simulink模型和SimMechnics模型集成为一个模块,并可封装成可在其它模型中复用的子系统。 机械系统建模仿真和分析 SimMechanics包含如下子系统: ?使用Simulink查表模块和SimMechanics传感器和作动器定义的非线性的弹性单元 ?用来定义航空器件压力分布的空气动力学拖曳模块,例如副翼和方向舵 ?车辆悬架系统,例如防侧翻机械装置和控制器 ?轮胎模型

Matlab-Simulink各模块对应的中文名称及介绍

这些图片的窗口是从MA TLAB R2012b里面截图下来的,注释还不够全面。如有出入之处,敬请谅解!

Derivative :微分模块,输出为输入信号的微分。无需设置参数Integrator:积分模块,输出时输入信号的积分,可设定初始条件(比如混沌系统的仿真),通常情况下初始条件不用考虑Memory:输出来自前一个时间步的模块输入 State-Space:状态空间模块,主要应用应用于现代控制理论中多输入多输出系统的仿真,双击模块可设置的主要参数有:系数矩阵A,B,C,D以及初始条件Transfer Fcn:传递函数多项式模型,实现现行传递系统,双击可设置分子多项式和坟墓多项式的系数 Transport Delay:时间延迟模块,通过模块内部参数设定延迟时间 Variable Transport Delay:将输入延迟一可变的时间 Zero-Pole:传递函数零、极点模型,实现一个用零极点标明的传递函数,双击设置零点、极点、增益

Backlash:磁滞回环特性模块 Coulomb & Viscous Friction:库伦摩擦与黏性摩擦特性模块Dead Zone:死区特性模块 Hit Crossing:检测输入信号的零交叉点模块Quantizer:阶梯状量化处理模块Rate Limiter:变化速率限幅模块Relay:带有滞环的继电特性模块Saturation:限幅的饱和特性模块

Discrete Transfer Fcn:离散系统传递函数多项式模型,可设置分子分母多项式 Discrete Zero-Pole:离散系统传递函数零极点模型,可设置零点、极点、增益,可以设置采样时间 Discrete Filter:离散系统滤波器,可设置分子分母系数(按照z-1作升幂排列),可设置采样时间 Discrete State-Space:离散系统状态空间表达式模块,可设置参数矩阵A,B,C,D,可设置采样时间、初始条件 Discrete-Time Integrator:离散系统积分器模块,可设置采样时间、初始条件 Unit Delay:离散系统单位延迟模块,可设置采样时间,初始条件Fist-Order Hol:一阶采样保持器 Memory:存储模块 Zero-Order Hold:零阶采样保持器 Discrete Filter:实现IIR和FIR滤波器 Discrete State-Space:实现一个离散状态空间系统 Discrete-Time Integrator:离散时间积分器 Discrete Transfer Fcn :实现一个离散传递函数 Discrete Zero-Pol:实现一个用零极点来说明的离散传递函数First-Order Hold:实现一个一阶保持采样-保持系统 Unit Delay:将信号延时一个单位采样时间 Zero-Order Hold:实现具有一个采样周期的零阶保持

matlabsimulink初级教程

S i m u l i n k仿真环境基础学习Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1)在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(SimulinkLibraryBrowser)窗口,如图7.1所示。

图7.1Simulink界面 (2)单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。 (3)在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。 (4)用鼠标单击所需要的输入信号源模块“SineWave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addto'untitled'”命令,就可以将“SineWave”模块添加到untitled窗口,如图7.2所示。

(5) Scope ”模块(示波器)拖放到“untitled ”窗口中。 (6)在“untitled ”窗口中,用鼠标指向“SineWave ”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope ”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7)开始仿真,单击“untitled ”模型窗口中“开始仿真”图标 ,或者选择菜单“Simulink ”——“Start ”,则仿真开始。双击“Scope ” 模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。 图7.2Simulink 界面

simulink-matlab仿真教程

simulink matlab 仿真环境教程 Simulink 是面向框图的仿真软件。 演示一个Simulink 的简单程序 【例1.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB 的命令窗口运行simulink 命令,或单击工具栏中的图标,就可以打开Simulink 模块库浏览器 (Simulink Library Browser) 窗口,如图1.1所示。 (2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白 模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图1.2 所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope ”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图1.3所示。 (7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图1.4所示。 (8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl”文件。 1.2 Simulink的文件操作和模型窗口 1.2.1 Simulink的文件操作 1. 新建文件 新建仿真模型文件有几种操作: ?在MATLAB的命令窗口选择菜单“File”“New”“Model”。 图7.2 Simulink界面 图7.3 Simulink模型窗口 图7.4 示波器窗口

matlab-simulink 初级教程

Simulink仿真环境基础学习 Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。

(2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图7.2所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7) 开始仿真,单击“untitled ”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏, 可以看到黄色的正弦波形。如图7.4所示。 图7.2 Simulink界面

(完整word版)MATLABsimulink中的基本模块的参数、含义、应用..

电力线路模块 PI Section Line 单项π型线路单相传输线模块。 电阻,电感和电容的传输线,沿着线是均匀分布的。级联几个相同的PI部分是通过以下方式获得一个近似的分布参数线路模型的Three-Phase PI Section Line 三相电力线路模块实现了一个平衡的三相传输线模型参数集中在π部分。相反,沿着线的电阻,电感和电容是均匀分布的分布参数线路模型,三相PI剖面线块肿块行参数在一个单一的π部分所示,在图中只有一相下代表。 被指定为正序和零序的,要考虑到的参数之间的感性和容性耦合的三相导体,以及地面参数的参数R,L,和C线。在此方法的指定行参数假设,这三个阶段是平衡的。 使用一个单一的PI部分的模型是适当的传输线或短,在感兴趣的频率范围是有限的基频周围建模。你可以得到更准确的模型通过级联多个相同的块。见PI剖面线的最大频率范围的说明,通过PI线模型,可以实现。

频率用于R L C规范 指定行参数所用的频率,以赫兹(Hz)。这通常是标称系统频率(50赫兹或60赫兹)。 正序和零序电阻 正序和零序电阻欧姆/公里(Ω/公里)。 正序和零序电感 正序和零序电感:亨利/公里(H/公里)。 正序和零序电容 正序和零序电容法拉/公里(F /公里)。 线路段长度(KM) 该生产线部分长度在千米(公里)。 Three-Phase Transformer (Two Windings) 三相变压器(两个绕组) 使用三个单相变压器,三相变压器三相变压器两个绕组块实现了。您可以模拟饱和的核心不是简单地通过在参数菜单中设置相应的复选框块。线性变压器块和可饱和变压器块部分的单相变压器的电气模型的详细说明,请参阅。 可以以下列方式连接的两个绕组的变压器: 1)Y 2)Y与中性点 3)接地Y 4)三角洲三角洲(D1),30度的滞后Y通过 5)D11)三角洲,三角洲领先的Y通过30度 Three-Phase V-I Measurement 三相电压-电流测量

Matlab与Simulink系统仿真学习心得PDF.pdf

Matlab与Simulink系统仿真学习心得 班级:07610 学号:072019 姓名:马楠 第一部分:Matlab学习心得以及实践 Matlab是迄今为止我所见到过的功能最为强大实用范围宽广的软件。的确Matlab适用于教学,航天,网络仿真等等。而且提供了很多功能强大的工具箱,并且最为突出的是它自带的很全面细致的帮助文档,无论你是初学者还是老手都会惊叹于此,你也不必去花很多时间去熟悉那些繁杂的命令,并且很容易通过这些帮助文档得到关于这些函数最精准的用法。 Matlab是一个建立在矩阵操作上的软件,我想要想真正懂得并理解Matlab与一般的语言比如C或者java的区别,那么你就应该真正理解矩阵的思想。而且要熟悉Matlab对矩阵存储的方式(在下文中我会详细解释与之相关的内容),这样对提高你的代码执行效率与易懂性都有很大的帮助。 但是Matlab究竟应该怎么定位呢?一个编程软件,一个数学工具,一个工具箱,一个开发引擎,一个仿真工具,一个虚拟现实软件……的确要精准的说出Matlab的作用很难,或许去定义这个东西到底是用来干什么的并不重要,It is just a tool。 关于Matlab的学习方法,我想与别的语言有很大不同,对于汇编或者C,我们应当很注重底层的一些操作,比如栈或者队列存储数据的方式,int或者double类型转换的时候产生的数据丢失,或者指针方面很头疼的一些东西,但是对于Matlab你根本不必去注重这些东西,也不必去清除的记得那个函数的具体调用方式,那个函数的内容与结构等等。你需要的只是相当用一个笔记本写下你一步一步实现目标的步骤而已。一种草稿纸式的语言。你所学的东西很大部分都是为你要做的目标来服务的,也许这就是当初面向对象式语言产生的原因,但是Matlab就是这种语言的一个代表。 好了,就说到这里了,接下来是我自己学习中对Matlab的一些应用中所遇到的问题以及思考方式和解决办法。 1 离散信号卷积: N1=input('N1=');%输入N1 N2=input('N2=');%输入N2 k1=0:(N1-1);%定义序列f1的对应序号向量 k2=0:(N2-1);% 序列f2的对应序号向量 f1=ones(1,N1);%f1为阶跃序列 f2=0.5*k2;%f2为斜坡序列 [f,k]=dconv(f1,f2,k1,k2)%求离散卷积 其中dconv函数的代码为: function [f,k]=dconv(f1,f2,k1,k2) %The function of compute f=f1*f2 % f: 卷积和序列f(k)对应的非零样值向量 % k:序列f(k)的对应序号向量 % f1: 序列f1(k)非零样值向量 % f2: 序列f2(k)的非零样值向量 % k1: 序列f1(k)的对应序号向量 % k2: 序列f2(k)的对应序号向量

Matlab中SIMULINK的模块库以及比较常用的模块

Matlab中SIMULINK的模块库以及比较常用的模块 2009年04月18日星期六 13:41 SIMULINK的模块库介绍 SIMILINK模块库按功能进行分为以下8类子库: Continuous(连续模块) Discrete(离散模块) Function&Tables(函数和平台模块) Math(数学模块) Nonlinear(非线性模块) Signals&Systems(信号和系统模块) Sinks(接收器模块) Sources(输入源模块) 连续模块(Continuous)continuous.mdl Integrator:输入信号积分 Derivative:输入信号微分 State-Space:线性状态空间系统模型 Transfer-Fcn:线性传递函数模型 Zero-Pole:以零极点表示的传递函数模型 Memory:存储上一时刻的状态值 Transport Delay:输入信号延时一个固定时间再输出 Variable Transport Delay:输入信号延时一个可变时间再输出 离散模块(Discrete) discrete.mdl Discrete-time Integrator:离散时间积分器 Discrete Filter:IIR与FIR滤波器 Discrete State-Space:离散状态空间系统模型 Discrete Transfer-Fcn:离散传递函数模型 Discrete Zero-Pole:以零极点表示的离散传递函数模型 First-Order Hold:一阶采样和保持器 Zero-Order Hold:零阶采样和保持器 Unit Delay:一个采样周期的延时 函数和平台模块(Function&Tables) function.mdl Fcn:用自定义的函数(表达式)进行运算 MATLAB Fcn:利用matlab的现有函数进行运算 S-Function:调用自编的S函数的程序进行运算 Look-Up Table:建立输入信号的查询表(线性峰值匹配) Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配) 数学模块( Math ) math.mdl Sum:加减运算 Product:乘运算 Dot Product:点乘运算 Gain:比例运算 Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数

matlab仿真命令集

simulink命令集(转载) 仿真命令: sim ---仿真运行一个simulink模块 sldebug ---调试一个simulink模块 simset ---设置仿真参数 simget ---获取仿真参数 线性化和整理命令: linmod ---从连续时间系统中获取线性模型(状态方程) linmod2 ---也是获取线性模型,采用高级方法 dinmod ---从离散时间系统中获取线性模型 trim ---为一个仿真系统寻找稳定的状态参数 构建模型命令: open_system --打开已有的模型 close_system --关闭打开的模型或模块 new_system --创建一个新的空模型窗口 load_system --加载已有的模型并使模型不可见 save_system --保存一个打开的模型 add_block --添加一个新的模块 add_line --添加一条线(两个模块之间的连线) delete_block --删除一个模块 delete_line --删除一根线 find_system --查找一个模块 hilite_system --使一个模块醒目显示 replace_block --用一个新模块代替已有的模块 set_param --为模型或模块设置参数 get_param --获取模块或模型的参数 add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口 bdroot --根层次下的模块名字 gcb --获取当前模块的名字 gcbh --获取当前模块的句柄 gcs --获取当前系统的名字 getfullname --获取一个模块的完全路径名 slupdate --将1.x的模块升级为3.x的模块 addterms --为未连接的端口添加terminators模块 boolean --将数值数组转化为布尔值 slhelp --simulink的用户向导或者模块帮助 封装命令: hasmask --检查已有模块是否封装

如何修改MATLAB-Simulink中已有的模块

如何修改MATLAB-Simulink中已经有的模块MATLAB-Simulink中有很多模块,用起来很方便,当高级用户想要达到特 殊目的时,需要修改这些模块。下面介绍如何修改已经有的模块。 以“Simulink Library Browser ->Aerospace Blockset->Equations os Motion->6DoF”中“6DoF(Euler Angles)”模块为例,对该模块进行修改。 (1)首先单击鼠标选中需要修改的模块“6DoF(Euler Angles)”,然后点击“Ctrl+L”。画面如下图所示:

(2)右击变色的模块,选择“Open in New Tab”,现在尝试对其进行修改,会示: (3)现在根据自己的需要对模块进行修改,修改完成之后保存退出,关闭修改好的模块。 (4)如果需要修改的模块里面还有要修改的模块,同样,选中要修改的模块按“Ctrl+L”,右击变色的模块,选择“Open in New Tab”,现在尝试对其进行修改,会示:Attempt to modify a locked library. The action performed requires you to unlock this library. 点击蓝色的“unlock this library”。对此模块进行解锁,进行修改后保存退出。 (5)此时再回到自己搭建的框图页面,打开模块“6DoF(Euler Angles)”查看。

发现已经修改了,如果不满意再从头重复该过程修改。 南航张兆龙于流体楼(C12) 2014/12/2

大厦巍然屹立,是因为有坚强支柱,理想和信仰就是人生大厦支柱;航船破浪前行,是因为有指示方向罗盘,理想和信仰就是人生航船罗盘;列车奔驰千里,是因为有引导它铁轨,理想和信仰就是人生列车上铁轨

MATLAB中SIMULINK常用命令表

simulink的命令集 仿真命令 sim 仿真运行一个simulink模块 sldebug 调试一个simulink模块 simset 设置仿真参数 simget 获取仿真参数 线性化和整理命令 linmod 从连续时间系统中获取线性模型 linmod2 也是获取线性模型,采用高级方法 dinmod 从离散时间系统中获取线性模型 trim 为一个仿真系统寻找稳定的状态参数 构建模型命令 open_system 打开已有的模型 close_system 关闭打开的模型或模块 new_system 创建一个新的空模型窗口 load_system 加载已有的模型并使模型不可见 save_system 保存一个打开的模型 add_block 添加一个新的模块 add_line 添加一条线(两个模块之间的连线) delete_block 删除一个模块 delete_line 删除一根线 find_system 查找一个模块 hilite_system 使一个模块醒目显示 replace_block 用一个新模块代替已有的模块 set_param 为模型或模块设置参数 get_param 获取模块或模型的参数 add_param 为一个模型添加用户自定义的字符串参数delete_param 从一个模型中删除一个用户自定义的参数bdclose 关闭一个simulink窗口 bdroot 根层次下的模块名字 gcb 获取当前模块的名字 gcbh 获取当前模块的句柄 gcs 获取当前系统的名字 getfullname 获取一个模块的完全路径名 slupdate 将1.x的模块升级为3.x的模块 addterms 为未连接的端口添加terminators模块 boolean 将数值数组转化为布尔值 slhelp simulink的用户向导或者模块帮助 封装命令 hasmask 检查已有模块是否封装 hasmaskdlg 检查已有模块是否有封装的对话框 hasmaskicon 检查已有模块是否有封装的图标 iconedit 使用ginput函数来设计模块图标 maskpopups 返回并改变封装模块的弹出菜单项

matlAB,SIMULINK联合仿真经典例子

数控螺旋面钻头尖刃磨机的机构仿真 一、原理 图1二并联杆数控螺旋面钻头尖刃磨机床示意图 图2 二并联杆数控螺旋面钻头尖刃磨机床刃磨原理图 重要假设条件: 1、二并联杆数控螺旋面钻头尖刃磨机床是通过两组并联杆(2,a和3,b)保证动平台4 只在空间中做水平运动,而没有翻转运动。每一组并联杆是由空间相互平行的4根杆件组成,由于组内各杆件受力相同,所以将其简化成平面机构如图2。构件a,b是保证动平台4只做水平运动的辅助平行杆,所以可以假设将机构中杆件a,b省略,而动平台4只做水平移动,没有翻转运动,也就是4相对于地面的夹角θ4恒等于0。 2、直线电机的次子有两个(1和5)但是在加工过程中并不是两者同时运动,所以假设5 与导轨固联。 3、假设机床在工作过程中动平台4只受到树直向上的恒力作用,且作用在其中心位置。基于以上假设机床平面结构示意图如图3。

图3二并联杆数控螺旋面钻头尖刃磨机床简化机构平面结构示意图 二、建立仿真方程 C2=cos(θ2) S2=sin(θ2) C3=cos(θ3) S3=sin(θ3) 一)力方程(分别对各个杆件进行受力分析) 对动平台4:受力分析如图4 图4动平台4的受力分析 对并联杆2:受力分析如图5 图5并联杆2的受力分析 对直线电机滑块1:受力分析如图6 图6直线电机滑块1的受力分析

对并联杆3:受力分析如图7 图7并联杆3的受力分析 二)闭环矢量运动方程(矢量图如图8) 图8 闭环矢量图 矢量方程为:R1+R2=R3+R4 将上述矢量方程分解为x 和y 方向,并分别对方程两边对时间t 求两次导数得: r1_dot_dot+r2*α2*S2+r2*w2^2*C2=r3*α3*S3+r3*w3^2*C3 (12) r2*α2*C2-r2*w2^2*S2=r3*α3*C3-r3*w3^2*S3 (13) 三)质心加速度的矢量方程

MATLAB-Simulink基础

ROBOT VISION – Matlab –Simulink 基础 §1 Simulink简介 Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续、离散及两者混合的线性和非线性系统,也支持具有多种采样频率的系统。在Simulink环境中,利用鼠标就可以在模型窗口中直观地“画”出系统模型,然后直接进行仿真。它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。Simulink包含有Sinks(输出方式)、Source(输入源)、Linear(线性环节)、Nonlinear(非线性环节)、Connections(连接与接口)和Extra(其他环节)等子模型库,而且每个子模型库中包含有相应的功能模块,用户也可以定制和创建自己的模块。 用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真非常有用。采用Scope模块和其他的画图模块,在仿真进行的同时,就可观看到仿真结果。除此之外,用户还可以在改变参数后迅速观看系统中发生的变化情况。仿真的结果还可以存放到MATLAB的工作空间里做事后处理。 模型分析工具包括线性化和平衡点分析工具、MATLAB的许多基本工具箱及MATLAB的应用工具箱。由于MATLAB和Simulink是集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改。 Simulink具有非常高的开放性,提倡将模型通过框图表示出来,或者将已有的模型添加组合到一起,或者将自己创建的模块添加到模型当中。Simulink具有较高的交互性,允许随意修改模块参数,并且可以直接无缝地使用MATLAB的所有分析工具。对最后得到的结果可进行分析,并能够将结果可视化显示。 Simulink非常实用,应用领域很广,可使用的领域包括航空航天、电子、力学、数学、通信、影视和控制等。世界各地的工程师都在利用它来对实际问题进行建模、分析和解决。 §2 Simulink的基本操作 2.1 Simulink的运行 运行Simulink 有三种方式: ?在MATLAB的命令窗口直接键入“Simulink”并回车; ?单击MATLAB工具条上的Simulink 图标; ?在MATLAB菜单上选File→New→Model。 运行后会显示图2.1所示的Simulink模块库浏览器,单击工具条左边建立新模型的快捷方式,则显示如图2.2所示的新建模型窗口,在模型窗口中用户便可通过选择模块库中的仿真模块,建立自己的仿真模型,并进行动态仿真。

matlab的simulink简易入门知识

Simulink的扩展模块库SimPowerSystems ——电力电子系统的建模和仿真工具 SimPowerSystems是在Simulink环境下进行电力电子系统建模和仿真先进工具。SimPowerSystems是Simulink下面的一个专用模块库,包含电气网络中常见的元器件和设备,以直观易用的图形方式对电气系统进行模型描述。模型可与其它Simulink模块的相连接,进行一体化的系统级动态分析。 一、SimPowerSystems专用模块库的特点: 1. 使用标准电气符号进行电力系统的拓扑图形建模和仿真; 2. 标准的AC和DC电机模型模块;变压器;传输线;信号和脉冲发生器;HVDC 控制;IGBT模块和大量设备模型,有断路器,二极管,IGBT,GTO,MOSFET 和晶闸管; 3. 使用Simulink强有力的变步长积分器和零点穿越检测功能,给出高度精确的 电力系统仿真计算结果 4. 为快速仿真和实时仿真提供了模型离散化方法; 5. 提供多种分析方法,可以计算电路的状态空间表达、计算电流和电压的稳态 解、设定或恢复初始电流/电压状态、电力机械的潮流计算; 6. 提供了扩展的电气系统网络设备模块,如电力机械,功率电子元件,控制测 量模块和3相元器件; 7. 提供36个功能演示模型,可直接运行仿真; 8. 提供详细的文档,完整的描述了各个模块和使用方法,还有5个详细的案 例。 二、SimPowerSystems专用模块库的强大功能: (一)SimPowerSystems中的模块

SimPowerSystems中模块的数学模型基于成熟的电磁和机电方程,用标准的电气符号表示。它们可以同标准的Simulink模块一起使用建立包含电气系统和控制回路的模型。连接通过与SimPowerSystems提供的测量模块实现。 SimPowerSystems拥有近100个模块,分别位于7个子模块库中。这些库模 块涵盖了以下应用范围: 1. 电气网络(Electrical Sources & Elements) RLC支路和负载,π型传输线,线性和饱和变压器,浪涌保护,电路分离器,互感,分布参数传输线,3相变压器(2个和3个绕组),AC和DC电压源,受 控电压源和受控电流源。 2. 电力机械(Machines) 完整或是简化形式的异步电动机,同步电动机,永磁同步电动机,直流电动机,激磁系统和水轮机涡轮机/调速系统模型。 3. 电力电子(Power Electronics) 二极管,简化/复杂晶闸管,GTO,开关,MOSFET,IGBT和通用型桥接管模 型。 4. 控制和测量模块(Measurements) 电压、电流和电抗测量,RMS测量,有功和无功功率计算,计时器,万用表,傅立叶分析,HVDC控制,总谐波失真,abc到dq0和dq0到abc轴系变换,3相V-I测量,3相脉冲和信号发生,3相序列分析,3相PLL和连续/离散同步6-, 12-脉冲发生器。 5. 三相网络元器件(Electrical Sources & Elements) 3相RLC负载和支路,3相断路器,3相,3相电抗,π型传输线,AC电压源,6-脉冲二极管和晶闸桥管,整流二极管,Y-Δ/Y-Δ/Y-Δ/Y-Y-Δ可配置3 相变压器。 (二)与Simulink和MATLAB集成在一起

相关文档
相关文档 最新文档