第一讲基于Simulink的动态系统建模与仿真本讲内容:Simulink简介Simulink建模的基础知识Simulink建模与仿真动态系统建模与仿真实例子系统与模块封装技术Simulink自定义功能模块《控制系统综合实践》1.Simulink简介Simulink是MATLAB4.0版本(1993年)后推出的用以实现动态系统图形化建模与仿真的软件包,并随着MATLAB版本的升级而不断更新。目前MATLAB的最新版本为2010a,Simulink的最新版本为V7.5(R2010a)。图形化建模是指Simulink提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入、输出及功能,而不必考察其内部实现方式,通过对这些基本模块的调用,再将它们连接起来就可以构成所需的系统模型(*.mdl),进而进行仿真与分析。用户利用图形化建模方式可以更方便、更直观的实现动态系统的建模与仿真,可以把更多的精力投入到系统模型构建与算法研究,而非编程上。一、什么是SimulinkCopyright2004-2009TheMathWorks,Inc.BouncingBallModelTerminator2Terminator11s2udx0xdxSecond-OrderIntegrator?Memory[15]InitialVelocity-9.81Gravitationalacceleration-0.8CoefficientofRestitutionPositionVelocity1.Simulink简介二、MATLAB产品体系二、MATLAB产品体系(续)1.Simulink简介基本数学计算、编程环境(M语言)、数据可视化、Guide二、MATLAB产品体系(续)1.Simulink简介复杂动态系统建模、仿真、分析的可视化开发平台基于有限状态机理论对事件驱动模型进行建模与仿真的可视化开发环境1.Simulink简介三、控制相关的工具箱(Toolbox)与模块集(Blocksets)ControlSystemToolboxFuzzyLogicToolboxNeuralNetworkToolboxModelPredictiveControlToolboxRobustControlToolboxSystemIdentificationToolboxSimulinkControlDesignSimulinkDesignOptimizationStateflow…1.Simulink简介四、一个简单的控制系统设计例子(演示)10(1)(0.5)()(0.1)(2)(10)(20)27000(2.326)(2)()(172)(0.3173)CssGssssssssGsss被控对象:控制器:建模仿真闭环系统阶跃响应?第一讲基于Simulink的动态系统建模与仿真本讲内容:Simulink简介Simulink建模的基础知识Simulink建模与仿真动态系统建模与仿真实例子系统与模块封装技术Simulink自定义功能模块《控制系统综合实践》2.Simulink建模的基础知识命令行方式启动工具栏方式启动一、Simulink启动在CommandWindow中输入simulinkSimulink图标2.Simulink建模的基础知识二、Simulink界面(版本2010a)库窗口工作窗口2.Simulink建模的基础知识三、Simulink的常用模块集open_system('simulink')2.Simulink建模的基础知识三、Simulink的常用模块集(续)CommonlyUsedBlocks常用模块库Sources输入源模块库Sinks接收器模块库Continuous连续模块库Discrete离散模块库Discontinuities非线性模块库SignalRoutes信号路由模块库MathOperations数学模块库Ports&Subsystems端口和子系统模块库User-definedFunctions用户自定义模块库2.Simulink建模的基础知识三、Simulink的常用模块集(续)LogicandBitOperations逻辑与位操作库LookupTables查表操作库ModelVerification模型验证模块库SignalAttributes信号属性模块库AddionalMath&Discrete附加数学与离散模块库Model-wideUtilities模型应用模块库2.Simulink建模的基础知识CommonlyUsedBlocks(常用模块库)将其它模块库中最常用的一些功能模块提取出来以方便用户调用Sources(输入源模块库)ConstantClockInSineWaveStepSignalBuilderSignalGeneratorFromWorkspaceFromFile(*.mat)…2.Simulink建模的基础知识Sinks(接收器模块库)ScopeDisplayXYGraphFloatingScopeOutTerminatorToWorkspaceToFile(*.mat)…2.Simulink建模的基础知识Continuous(连续模块库)Derivative:微分Integrator:积分IntegratorLimited:限幅积分TransferFcn:传递函数模型Zero-Pole:零极点传递函数模型State-Space:状态空间模型PIDController:PID控制器TransportDelay:固定时延模块…2.Simulink建模的基础知识Discrete(离散模块库)Discrete-timeIntegrator:离散积分DiscreteDerivative:离散微分DiscreteFilter:离散滤波器DiscretePIDController:离散PID控制器DiscreteTransferFcn:离散传递函数模型DiscreteZero-Pole:离散零极点传递函数模型DiscreteState-Space:离散状态空间模型First-OrderHold:一阶采样保持器Zero-OrderHold:零阶采样保持器UnitDelay:一个采样周期的延时Memory:存储器…2.Simulink建模的基础知识Discontinuities(非线性模块库)Saturation:饱和输出Baddash:回滞DeadZone:死区…SignalRoutes(信号路由模块库)Mux&DemuxBusCreator&SelectorFrom&GotoSwitchMamualSwitchSelector…2.Simulink建模的基础知识MathOperations(数学模块库)Abs&Sign:绝对值与符号函数add&Sum:加减Product&Divide:乘除MinMax:最值运算Gain:增益SliderGain:滑动增益MathFunction:数学函数TrigonometricFunction:三角函数复数运算取整运算…2.Simulink建模的基础知识Ports&Subsystems(端口和子系统模块库)User-definedFunctions(用户自定义模块库)AtomicSubsystem:原子子系统EnabledSubsystem:使能子系统TriggeredSubsystem:触发子系统Function-CallSubsystemIf&SwitchCaseActionSubsystemFor&WhileIteratorSubsystem…Fcn&MatlabFcn:自定义函数S-Function:S函数S-FunctionBuilder:S函数生成器EmbeddedMatlabFunction2.Simulink建模的基础知识四、Simulink的扩展模块集(Bocksets)Simulink扩展库物理系统仿真StateflowSimEventsSimPowerSystemsSimscapeSimDrivelineSimElectronicsSimHydraulicsSimMechanicsSimulink3DAnimation…实时系统与硬件设计SimulinkFixedPointReal-TimeWindowsTargetxPCTargetxPCTargetEmbeddedOptionSimulinkHDLCoderSimulinkPLCCoderInstrumentControlToolboxVideoandImageProcessingBlockset建模与控制系统设计方案AerospaceBlocksetSimulinkControlDesignSimulinkDesignOptimizationRobustControlToolboxNeuralNetworkToolboxFuzzyLogicToolboxSystemIdentificationToolbox…代码生成Real-TimeWorkshopReal-TimeWorkshopEmbeddedCoderStateflowCoder…第一讲基于Simulink的动态系统建模与仿真本讲内容:Simulink简介Simulink建模的基础知识Simulink建模与仿真动态系统建模与仿真实例子系统与模块封装技术Simulink自定义功能模块《控制系统综合实践》3.Simulink建模与仿真Simulink建模可归纳为:模型=模块+信号连接Simulink仿真可归纳为:仿真=模型+仿真条件“Simulink”一词中的“Simu”表示仿真,“Link”表示连接,即将一系列简单的功能模块按照信号流向和输入输出关系连接起来,即可构建出复杂系统的仿真模型;通过适当的仿真条件设置,即可完成复杂系统动态特性的计算机仿真。使用Simulink的步骤启动Simulink打开模型编辑窗口(工作窗口)从库窗口中向工作窗口中复制相关模块修改模块参数模块连接设置仿真条件运行仿真分析仿真结果,并修正系统模型重复上述步骤,进行系统优化3.Simulink建模与仿真构建系统仿真模型系统动态特性仿真分析参考课件Simulink建模模块操作将所需模块从模块库中拖入工作窗口中选择模块移动模块改变模块大小旋转与翻转对象改变模块外观(标签、前景、背景、阴影)复制模块删除模块设置模块参数连接操作连接线段分支线段(Ctrl+左键)移动线段、删除线段分割连接线(Shift+左键)注释线段模型操作打开与关闭模型保存模型打印与拷贝模型模型属性与注释3.Simulink建模与仿真3.Simulink建模与仿真常规显示显示粗细显示线宽显示类型模型显示(信号类型)3.Simulink建模与仿真常规显示模型显示(采样类型)颜色显示注示显示颜色+注示显示(1)Simulink仿真参数设置选取菜单Simulation-【ConfigurationParameters】,弹出“ConfigurationParameters”对话框,设置仿真参数,然后按【OK】即可;[说明]若不设置仿真参数,则采用Simulink缺省设置.3.Simulink建模与仿真Simulink仿真求解器设置(Solver页)Simulationtime:仿真时间Starttime:仿真开始时间Stoptime:仿真终止时间Solveroptions:求解器选项Type:定步长或变步长Solver:求解器算法关于步长的设置关于误差容限的设置Taskin