创建模型组件
当您收集系统需求时,您会识别模型组件。虽然您可能没有完整的规范,但您可能知道组件接口属于哪里。为了将模型组织成具有灵活接口的模型组件,创建子系统。
某些组件(例如数字控制器)应作为模型中的单个单元执行。对于这些具有已知边界的独立组件,创建一个原子子系统。当您想要生成独立代码时,预先定义原子组件可以避免昂贵的重构。要使子系统原子化,请选择 Subsystem 模块。在 Simulink® 工具条中的 Subsystem 模块选项卡上,选择 Make Atomic。
名为 BasicModelingSubsystems
的模型包含四个常见的模型组件。
工厂 - 系统的数学模型
控制器 - 控制植物行为的算法
操作员 - 定义发送给控制器的命令的逻辑
环境 - 影响工厂的外部干扰
mdl = "BasicModelingSubsystems";
open_system(mdl)
名为 Controller
的 Subsystem 模块的粗边框表示相应的子系统是一个原子子系统。
每个 Subsystem 模块上的端口对应于子系统内的输入和输出模块。例如,名为 Plant
的 Subsystem 模块有一个名为 control
的端口,该端口与子系统中标记为 control
的 In Bus Element 模块相对应。
在这个示例中,该工厂代表一个质量弹簧阻尼器系统。
控制器计算将植物移动到目标位置所需的力。
操作员确定质量的目标位置,并使用 Stateflow® 图实现相关的程序逻辑。
环境会产生干扰力,影响植物。
模型组件通过交互确定质量的位置。
在仿真过程中,操作员告诉控制器等待 2 秒,然后将质量向上移动 2 米。当质量系统超出目标位置时,操作员会告诉控制器将质量系统定位在原始位置上方 1 米处。5 秒后,环境干扰对物理系统施加稳定的力,控制器做出反应,将质量稳定在目标位置。
sim(mdl);