1.命令方式
在MATLAB命令窗口中输入simulink命令,按<Enter>键,启动图2-1所示的Simulink模块库浏览器窗口,然后单击浏览器窗口中的新建模型图标,弹出Simulink仿真窗口(如图2-2所示)。
图2-1 Simulink模块库浏览器窗口
2.菜单方式
在MATLAB菜单栏中依次选择File→New→Model命令,会弹出如图2-2所示的仿真窗口。
图2-2 Simulink仿真窗口
3.快捷方式
单击MATLAB主窗口工具栏中的Simulink快捷图标 ,就会弹出Simulink仿真窗口。
由图2-1所示的Simulink模块库可以看到,Simulink提供了许多公共模块库(如图2-3所示),每个公共模块库还包含很多的下一级子模块及模块库,将这些模块相互连接就可以构建起各类系统的模型。
图2-3中,Commonly Used Blocks为常用模块库;Continuous为连续函数模块库,例如Derivative和Integrator;Dashboard为与仿真进行交互的控制和指示模块库;Discontinuities为不连续函数模块库,例如Saturation;Discrete为离散时间函数模块库,例如Unit Delay;Logic and Bit Operations为逻辑或位运算模块库,例如Logical Operator和Relational Operator;Lookup Tables为查找表模块库,例如Cosine和Sine;Math Operations为数学函数模块库,例如Gain、Product和Sum;Model-Wide Utilities为模型范围的运算模块库,例如Model Info和Block Support Table;Model Verification为对模型进行自我验证的模块库,例如Check Input Resolution;Ports & Subsystems为与子系统有关的模块库,例如Inport、Outport、Subsystem和Model;Signal Attributes为修改信号属性的模块库,例如Data Type Conversion;Signal Routing为传送信号的模块库,例如Bus Creator和Switch;Sinks为显示或导出信号数据的模块库,例如Scope和To Workspace;Sources为生成或导入信号数据的模块库,例如Sine Wave和From Workspace;User-Defined Functions为自定义函数模块库,如MATLAB Function、MATLAB System、Simulink Function和Initialize Function;Additional Math&Discrete为数学和离散函数模块库,例如Decrement Stored Integer。
图2-3 Simulink公共模块库
下面详细介绍部分公共模块库。
1.Commonly Used Blocks:常用模块库
Simulink为方便用户使用,将各模块库中最常用到的模块放在一起,组成了常用模块库,如图2-4所示。
图2-4 常用模块库
2.Continuous:连续函数模块库
双击Simulink模块库的Continuous图标,则有对信号求积分的模块Integrator、连续时间或离散时间PID控制器模块PID Controller、线性状态空间系统模块State-Space、零极点增益传递函数模块Zero-Pole、传递函数模块Transfer Fcn等。
3.Discontinuities:不连续函数模块库
双击Simulink模块库的Discontinuities图标,则有饱和非线性模块Saturation、间隙非线性模块Backlash、死区非线性模块Dead Zone、继电器非线性模块Relay、检测穿越点模块Hit Crossing等。
4.Discrete:离散时间函数模块库
双击Simulink模块库的Discrete图标,则有离散时间或连续时间PID控制器模块Discrete PID Controller、离散状态空间模块Discrete State-Space、离散传递函数模块Discrete Transfer Fcn、一阶采样保持器模块First-Order Hold、零阶采样保持器模块Zero-Order Hold、离散时间积分器模块Discrete-Time Integrator等。
5.Logic and Bit Operations:逻辑或位运算模块库
双击Simulink模块库的Logic and Bit Operations图标,则有逻辑运算模块Logical Operator、关系运算模块Relational Operator、真值表模块Combinatorial Logic、按位运算模块Bitwise Operator等。
6.Lookup Tables:查找表模块库
双击Simulink模块库的Lookup Tables图标,则有一维函数模块1-D Lookup Table、二维函数模块2-D Lookup Table、余弦模块Cosine、动态表模块Lookup Table Dynamic、正弦模块Sine、N维函数模块n-D Lookup Table等。
7.Math Operations:数学函数模块库
双击Simulink模块库的Math Operations图标,则有增益模块Gain、乘法模块Product、加法模块Sum、除法模块Divide、加运算模块Add、减运算模块Subtract、绝对值模块Abs、数学函数模块Math Function、符号模块Sign、平方根模块Sqrt、最小值或最大值模块MinMax、多项式系数计算模块Polynomial、实部和/或虚部转换为复数模块Real-Imag to Complex等。
8.Signal Routing:传送信号的模块库
双击Simulink模块库的Signal Routing图标,则有创建总线信号模块Bus Creator、总线选择信号模块Bus Selector、分解信号模块Demux、组合信号模块Mux、选择开关模块Switch、总线信号指定模块Bus Assignment、读取数据模块Data Store Read、写入数据模块Data Store Write、信号手动切换模块Manual Switch、信号合并模块Merge等。
9.Sinks:显示或导出信号数据的模块库
双击Simulink模块库的Sinks图标,则有创建输出端口模块Outport、示波器模块Scope、终止未连接输出端口模块Terminator、显示模块Display、数据写入文件模块To File、数据写入工作区模块To Workspace、X-Y坐标显示模块XY Graph等。
10.Sources:生成或导入信号数据的模块库
双击Simulink模块库的Sources图标,则有常量值模块Constant、从工作区读出数据模块From Workspace、接地模块Ground、输入端口模块Inport、脉冲生成模块Pulse Generator、正弦波模块Sine Wave、阶跃模块Step、时钟模块Clock、数字时钟模块Digital Clock、从MAT文件读取数据模块From File、斜坡信号模块Ramp、正态分布随机数模块Random Number、均匀分布随机数模块Uniform Random Number等。
11.User-Defined Functions:自定义函数模块库
双击Simulink模块库的User-Defined Functions图标,则有:简单的表达式模块Fcn,需要说明的是表达式中可用的函数比较有限(基本上就是一些简单的数学函数),可以生成C代码;MATLAB函数模块MATLAB Function,该模块对应一个M文件,对输入信号可以进行任意处理后得到输出,可使用MATLAB的任何函数;S函数模块S-Function,可以实现Simulink任何模块的功能。
除了通用模块库,Simulink还有不少用于各个具体专业领域的专用模块库,包括:Aerospace Blockset用于航空航天领域的仿真;Audio Toolbox用于音频仿真设计;Automated Driving Toolbox用于自动驾驶系统仿真设计;Communications Toolbox用于通信领域的仿真;Computer Vision Toolbox用于计算机视觉的仿真;Control System Toolbox用于控制系统的仿真;Data Acquisition Toolbox用于数据的输入/输出;DSP System Toolbox用于DSP系统仿真设计;Embedded Coder用于嵌入式系统仿真;Fuzzy Control Toolbox用于模糊控制仿真;Gauages Blocket用于计量表仿真;Image Acquisition Toolbox用于图像处理仿真;Instrument Control Toolbox用于仪器仪表仿真;Model Predictive Control Toolbox用于模型预测仿真;Neural Network Control Toolbox用于神经网络仿真;OPC Toolbox用于最优控制仿真;Reinforcement Learning Toolbox用于增强学习仿真;Report Generator用于产生调试报告;Robotics System Toolbox用于机器人仿真;Robust Control Toolbox用于鲁棒控制仿真;Simevents用于事件模拟仿真;SimScape用于摄影仿真;Simulink 3D Animation用于三维动画仿真;Simulink Coder用于开发模拟器仿真;Simulink Control Design用于控制设计模拟仿真;Simulink Design Optimization用于优化设计仿真;Simulink Design Verifier用于设计验证器仿真;Simmechanics用于机械力学仿真;Simulink Extras为公共补充模块库;Simulink Verification and Validation用于验证和有效性仿真;Stateflow用于状态流仿真;System Identification Toolbox用于系统辨识仿真;Simulink Parameters Estimation用于参数评估仿真;Vehicle Network Toolbox用于车载网络仿真等。