1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,机械专业研究生课程蔺勇智制作,*,SIMULINK,仿真环境,MATLAB,建模与仿真,哈尔滨理工大学,机械动力工程学院,本章主要内容,SIMULINK,仿真环境简介,SIMULINK,启动与界面说明,SIMULINK,模块库简介,基于数学模型的仿真分析步骤,SIMULINK,机械仿真举例,5/28/2026,机械专业研究生课程蔺勇智制作,SIMULINK,仿真环境简介,SIMULINK,仿真环境是美国,MathWorks,软件公司专门为,MATLAB,设计提供的结构图编程与系统仿真的专用软件工具。该仿真环
2、境下的用户程序其外观就是控制系统的结构图,操作就是依据结构图作系统仿真。利用,SIMULINK,提供的输入信号,(,信号源模块,),对结构图所描述的系统施加激励,利用,SIMULINK,提供的输出装置,(,输出口模块,),获得系统的输出响应。即数据或时间响应曲线成为图形化、模块化方式的控制系统仿真,这不能不说是控制系统仿真工具的一大突破性的进步。,SIMULINK,不仅提供了各种标淮的结构图模块库,提供了开放的结构图模块设计方法,便于用尸设计自己的专用模块,还提供广几种系统文件,(S,函数,),的设汁方法,使得系统仿真工作更加方便灵活。,返回,5/28/2026,机械专业研究生课程蔺勇智制作,
3、SIMULINK,启动与界面说明,启动方法有两种:,直接在,MATLAB,命令平台上键入命令:,Simulink,在,MATLAB,工具栏上点击,其启动后的界面如下所示:,返回,5/28/2026,机械专业研究生课程蔺勇智制作,SIMULINK,模块库简介,SIMULINK,模块库的所有模块图形,现在详细的介绍一下这些模块的功能。,返回,5/28/2026,机械专业研究生课程蔺勇智制作,1.,连续模块库,2.,非连续模块库,3.,离散模块库,4.,逻辑和位操作模块库,5.,查找表模块库,6.,数学模块库,7.,模型检测模块库,8.,模型扩充模块库,9.,端口和子系统模块库,10.,信号属性模块
4、库,11.,信号路线模块库,12.,接受器模块库,13.,输入源模块库,14.,用户自定义模块库,5/28/2026,机械专业研究生课程蔺勇智制作,1,、连续模块库,(Continuous),5/28/2026,机械专业研究生课程蔺勇智制作,连续模块的中文解释如下所示:,Continuous,库中的各模块,Derivative,输入对时间的导数,Integrator,对信号进行积分,State-Space,实现线性状态空间系统,TransferFcn,实现线性传递函数,TransferDelay,以给定的时间量延迟输入,VariableTransferDelay,以可变的时间量延迟输入,Zer
5、o-Pole,实现用零极点形式表示的,传递函数,返回,5/28/2026,机械专业研究生课程蔺勇智制作,Discontinuities,库中的各模块,Backlash,模拟有间隙系统的行为,Coulomb&ViscousFriction,模拟在零点出不连续,在,其他地方有线性增益的系统,DeadZone,提供输出为零的区域,DeadZoneDynamic,动态提供输出为零的区域,HitCrossing,检测信号上升沿、下降沿以及与指定值得,比较结果,输出零或一,Quantizer,以指定的间隔离散化输入,RateLimiter,限制信号的变化速度,Relay,在两个常数中选出一个作为输出,Sa
6、turation,限制信号的变化范围,SaturationDynamic,动态限制信号的变化范围,WraptoZero,输入大于门限则输出零,小于则直接输出,5/28/2026,机械专业研究生课程蔺勇智制作,Discontinuities,库中的各模块图型,返回,5/28/2026,机械专业研究生课程蔺勇智制作,Discrete,库中的模块,Difference,差分器,DifferenceDerivative,计算离散时间导数,DiscreteFilter,实现,IIR,和,FIR,滤波器,DiscreteState,-Space,实现用离散状态方程描述的系统,DiscreteTransfe
7、rFcn,实现离散传递函数,DiscreteZero,-Pole,实现以零极点形式描述的离散传,递函数,Discrete-,timeIntegrator,执行信号的离散时间积分,First-,OrderHold,实现一阶采样保持,IntegerDelay,将信号延迟多个采样周期,5/28/2026,机械专业研究生课程蔺勇智制作,Memory,从前一时间步输出模块的输入,TappedDelay,延迟,N,个周期,然后输出所有延迟,数据,TransferFcnFirstOrder,离散时间传递函数,TransferFcnLeadorLag,超前或滞后传递函数,主要有零极,点树木决定,Transfe
8、rFcnRealZero,有实数零点,没有极点的传递函数,UnitDelay,将信号延迟一个采样周期,WeightedMovingAverage,加权平均,Zero-,OrderHold,零阶保持,返回,5/28/2026,机械专业研究生课程蔺勇智制作,Math,库中的模块,Abs,输出输入的绝对值,Add,对信号进行加法或减法运算,AlgebraicConstant,将输入信号抑制为零,Assignment,赋值,Bias,给输入加入偏移量,ComplextoMagnitude,-Angle,输出复数输入信号的相角和幅值,ComplextoReal,-Image,输出复数输入信号的实部和虚部
9、Divide,对信号进行乘法或除法运算,DotProduct,产生点积,Gain,将模块的输入乘以一个数值,Magnitude-,AngletoComplex,由相角和幅值输入输出一个复数,信号,5/28/2026,机械专业研究生课程蔺勇智制作,MathFunction,数学函数,MatrixConcatenation,矩阵串联,MinMax,输出信号的最小或最大值,MinMaxRunningResettable,输出信号的最小或最大,值,带复位功能,Polynomial,计算多项式的值,Product,产生模块各输入的简积,或商,ProductofElements,产生模块各输入的简积,或
10、商,Real-,ImagtoComplex,由实部和虚部输入输出,复数信号,Reshape,改变矩阵或向量的维数,RoundingFunction,执行圆整函数,Sign,指明输入的符号,5/28/2026,机械专业研究生课程蔺勇智制作,SineWaveFunction,输出正弦信号,SliderGain,使用滑动器改变标量增益,Subtract,对信号进行加法或减法运算,SumofElements,生成输入的和,TrigonometricFunction,执行三角函数,UnaryMinus,对输入取反,WeightedSampleTimeMath,对信号经过加权时间采样的,值进行加、减、乘、
11、除运算,5/28/2026,机械专业研究生课程蔺勇智制作,Math,库中的部分模块示意图,返回,5/28/2026,机械专业研究生课程蔺勇智制作,Sources,库中模块,Band-,LimitedwhiteNoise,给连续系统引入白噪声,ChirpSignal,产生一个频率递增的正弦,波(线性调频信号),Clock,显示并提供仿真时间,Constant,生成一个常量值,CounterFree,-Running,自运行计数器,计数溢出,时自动清零,CounterLimited,有限计数器,可自定义计,数上限,DigitalClock,生成有给定采样间隔的仿,真时间,FromFile,从文件读
12、取数据,5/28/2026,机械专业研究生课程蔺勇智制作,FromWorkspace,从工作空间中定义的矩阵中读,取数据,Ground,地线,提供零电平,PulseGenerator,生成有规则间隔的脉冲,In1,提供一个输入端口,Ramp,生成一连续递增或递减的信号,RandomNumber,生成正态分布的随机数,RepeatingSequence,生成一重复的任意信号,RepeatingSequenceInterpolated,生成一重复的任意信号,,可以插值,RepeatingSequenceStair,生成一重复的任意信号,,输出的是离散值,SignalBuilder,带界面交互的波形
13、设计,SignalGenerator,生成变化的波形,5/28/2026,机械专业研究生课程蔺勇智制作,SineWave,生成正弦波,Step,生成一阶跃函数,UniformRandomNumber,生成均匀分布的随机数,返回,5/28/2026,机械专业研究生课程蔺勇智制作,Sinks,库中模块,Display,显示输入的值,FloatingScope,显示仿真期间产生的信号,浮点格式,Out1,提供一个输出端口,Scope,显示仿真期间产生的信号,StopSimulation,当输入为非零时停止仿真,Terminator,终止没有连接的输出端口,ToFile,向文件中写数据,ToWorks
14、pace,向工作空间中的矩阵写入数据,XYGraph,使用,Matlab,的图形窗口显示信号的,X-Y,图,5/28/2026,机械专业研究生课程蔺勇智制作,Sinks,库中模块示例图,返回,5/28/2026,机械专业研究生课程蔺勇智制作,仿真步骤,:,应用,Simulink,对传动机构进行仿真的步骤:,动力学模型标准化。,把传动机构的微分方程,或者传递函数简化为基本环节的组合形式,用控,制方框图来表示。,构成动力学仿真模型。,从,Simulink,工具箱中,找出所需要的环节,按照控制方框图的结构连接,构成仿真模型。,为仿真模型添加输入信号和观察,记录设备。,基于数学模型的仿真分析,返回,5
15、/28/2026,机械专业研究生课程蔺勇智制作,设置仿真参数:,打开,simulation,菜单,在,simulation,parameters,参数表设置仿真参数。,点击,“,开始,”,按钮进行仿真。,改变输入信号或者机构参数,分析系统的动力学性能。,记录仿真结果。,5/28/2026,机械专业研究生课程蔺勇智制作,SIMULINK,机械仿真举例,(,1,)齿轮传动仿真,(,阻尼,-,质量系统,),1.,把传动机构的微分方程或者传递函数简化为基本环节的组合形式,,用控制方框图来表示。,2.,从,Simulink,工具箱中找出所需要的环节,按照控制方框图的结构,连接构成仿真模型。上图所示需要一
16、个传递函数,一个增益,一个积分,环节。所以操作如下:,返回,5/28/2026,机械专业研究生课程蔺勇智制作,打开,Simulink,,新建一个仿真工作窗口,从信号源模块中拖出一个常数信号(根据实验要求定义)、从连续系统模块库中拖出积分环节和传递函数,从数学运算模块库中拖出常数增益模块,最后从输出模块库中拖出示波器模块。将其连接起来,构成仿真系统。,5/28/2026,机械专业研究生课程蔺勇智制作,根据控制方程图中传递函数和增益的参数修改相应的参数。,这里详细介绍一下传递函数参数的修改方法:双击传递函数,模块,出现如下图,1,所示的图框,修改参数如图,2,所示。修改,参数后如图,3,所示。,图
17、1,图,2,图,3,5/28/2026,机械专业研究生课程蔺勇智制作,为了简化仿真模块,建议把部分控制模块封装成子系统,用子系统,定义相关参数。操作方法为:选择传递函数模块、增益及积分环节,,右键选择,Create Subsystem,,将此,3,个模块封装成子系统。,5/28/2026,机械专业研究生课程蔺勇智制作,将封装后的子系统增加一个输出,并将各模块改下名字(,QL,为转角、,wL,为角速度、,M,为扭矩等)。修改后子系统如下所示:,选择,GEAR,模块,鼠标右键选择,Mask Subsystem,定义子系统,从而可以在双击后选择,Parameters,设置仿真参数。,5/28/20
18、26,机械专业研究生课程蔺勇智制作,再次双击,GEAR,组合模块,此时可以在双击后的窗口中直接输入,相关的参数。,5/28/2026,机械专业研究生课程蔺勇智制作,其次,要定义示波器,为了进行仿真结果的分析,选择,3,个口的,示波器选择方法是双击示波器,选择 定义,3,个输入口。,最后连接所有接口,连接后的仿真模块如下所示。,5/28/2026,机械专业研究生课程蔺勇智制作,进行仿真、记录结果并进行分析,5/28/2026,机械专业研究生课程蔺勇智制作,(,2,)丝杠螺母传动仿真,(,质量,-,阻尼系统,),5/28/2026,机械专业研究生课程蔺勇智制作,(,3,)同步齿形带仿真,(,弹簧,-,质量,-,阻尼系统,),5/28/2026,机械专业研究生课程蔺勇智制作,5/28/2026,机械专业研究生课程蔺勇智制作,以上为,MATLAB,仿真分析的简要讲解,如果想要深入学习,希望大家可以多查找些资料,多做些练习。,谢谢大家耐心听讲!,5/28/2026,机械专业研究生课程蔺勇智制作,






