simulink简介
一、系统建模
Simulink提供了一套预定义模块,加以组合即可创建详细的系统框图。Simulink 库浏览器包含系统建模常用的模块库。其中包括:连续和离散动态模块,如积分和单位延迟;算法模块,如 Sum(加法)、Product(乘法)和 Lookup Table(查找表)等;结构模块,如 Mux、Switch 和 Bus Selector 等,无论是使用这些模块,还是将手写 MATLAB、C、Fortran 或 Ada 代码融合到模型时,均可构建自定义函数。借助于 Simulink 附加产品,可以加入航空、通信、PID 控制、控制逻辑、信号处理、视频和图像处理以及其他应用的专业化组件。有了附加产品,还可以利用机械、电气和液压组件来构建物理系统模型。Simulink 编辑器可用于全面控制模型中的内容和操作。例如,可以将命令和子菜单添加到编辑器和上下文菜单中。还可以使用一个掩码来隐藏子系统内容并为子系统提供自己的图标和参数对话框,以此将自定义接口添加到入子系统或模型中。
Simulink 模型既包含含信号也包含参数。信号是由连接模块的线条所表示的时变数据。参数是定义系统动态和行为的系数。
Simulink 可用于确定以下信号和参数属性:
数据类型: 单精度、双精度、有符号或无符号 8、16 或 32 位整数;布尔类型;枚举类型;或定点类型。
维度 : 标量、矢量、矩阵、N-D 或可变大小数组。
复杂度: 实数或复数值。
最大和最小范围、初始值和工程单位。
如果选择不指定数据属性,Simulink 则会通过传播算法自动予以确定,然后执行一致性检查,确保数据完整性。这些信号和参数属性可以在模型或者单独的数据字典中加以指定,随后便可以通过模型资源管理器来组织、查看、以及修改和添加数据,而无需遍历整个模型。
二、模型仿真
其可以对系统的动态行为进行仿真,并在运行仿真时查看结果。为确保仿真速度和精度,Simulink 提供了固定步长和可变步长 ODE 求解器、图形化调试器以及模型探查器。求解器是利用模型中所含的信息来计算系统动态行为的数值积分算法。Simulink 提供的求解器可支持多种系统的仿真,其中包括任何规模的连续时间(模拟)、离散时间(数字)、混杂(混合信号)和多采样率系统。可以通过 Simulink 编辑器以交互的方式运行仿真,或者通过 MATLAB 命令行按部就班地运行仿真。
三、仿真结果分析
运行仿真后,可以在 MATLAB 和 Simulink 中分析仿真结果。Simulink 含带了多种有助于了解仿真行为的调试工具。使用 Simulink 中提供的显示器和示波器查看信号,可以实现仿真行为可视化;还可以查看仿真数据检查器内的仿真数据,从中比较来自多次仿真的多组信号。还可以使用 MATLAB 构建自定义的 HMI 显示屏,或者将信号记录到 MATLAB 工作区,以便使用 MATLAB 算法以及可视化工具来查看和分析数据。Simulink 支持使用仿真步进器 (Simulation Stepper) 进行调试,以便于前后逐步查看示波器上的仿真数据,或检查系统改变状态的方式及时间。可以通过 Simulink 调试器以逐个方法来地运行仿真,并检查相应方法的执行结果。在模型仿真过程中,可以显示有关模块状态、模块输入与输出以及在 Simulink 编辑器中执行模块方法等方面的信息。
四、项目管理
Simulink 提供了众多有助于管理与项目相关的文件、组件及大量数据的工具。Simulink 可以方便地进行基于组件的建模和模块化设计。您可以将模型分割成若干设计组件,然后分别对每个组件进行建模、仿真和验证。既可以将组件作为子系统保存在库中,也可以利用模型引用将组件另存为单独的模型,这样一来,团队成员便可以并行使用这些组件。
Simulink 提供的总线信号可用于管理模型中的大量信号数据。使用总线信号,可以将多个信号合并到一个对象中,以便于这些信号与另一个模块建立连接。您还可以定义总线阵列,以便在一个包中管理一组总线对象。
模型资源管理器是一款图形化数据字典工具,可以帮助组织、查看和修改数据,并将数据添加到 Simulink 模型中。使用模型资源管理器可以进行如下操作:对界面进行自定义,从而仅显示需要查看的数据和属性;控制数据范围,以定义哪些组件可以访问该数据。
五、硬件连接
可以将 Simulink 模型与硬件相连接,以便实现快速原型开发、硬件在环 (HIL) 仿真和嵌入式系统部署。Simulink 提供了有关在低成本目标硬件上进行模型的原型开发、测试和运行的内置支持,其中包括 Arduino、LEGO MINDSTORM NXT、PandaBoard 和 BeagleBoard。可以在 Simulink 中设计有关控制系统、机器人、音频处理和计算机视觉应用的算法,并查看其实时执行情况。
Simulink 模型经过配置后便可用来生成代码。通过将 Simulink 与附加代码生成产品配合使用,可以直接由模型来生成 C 和 C++、HDL 或 PLC 代码。