模型层次结构
可以将多个模块组合成一个子系统。当模型中的图块数量过多,不便处理时,就需要这样做。
创建子系统
有几种方法可以将图块组合成一个子系统:
-
从图块库中添加一个图块子系统 ,双击鼠标左键(这是进入子系统的方法),然后按照标准方法添加所需的图块。
-
按下Shift 键,选中要添加到子系统中的程序块,点击矩形角上出现的圆点,然后点击
*子系统*图标。
在一个子系统内,您可以创建数量不限的不同嵌套级别的其他子系统。因此,模型具有层次结构。要浏览模型的不同层次,请使用*导航面板*。
使用模型块
要处理模型层次结构,除了子系统外,还可以使用块模型 。
与子系统不同的是,Model 块的内容代表一个单独的模型,并可在其他模型中重复使用(多个模型可引用 Model 块)。
因此,您可以使用 Model 块将一个模型并入另一个模型。每个 Model 块都是对一个特定模型(子模型)的引用。让我们来看一个例子:
今后,我们计划为两个输入端口提供相同的信号,因此我们将为*输入*模块使用*复制*函数:
输入端口转换后的模型视图
最终的子模型如下
让我们保存子模型并给它取一个名字,在我们的例子中就是 newmodel_12。以后我们将在父模型 Model 中引用这个名称。
对于 Sine Wave 块,将 "采样时间 "值设置为 "0.1"。程序块将发生变化。然后右击*模型*块,选择*设置*。这将打开一个设置窗口,我们将在窗口中引用之前创建的 newmodel_12 子模型:
我们将修改 Model 块,使其包含输入和输出端口,并将信号线连接到这些端口。对于来自输出端口的信号,我们将设置一条记录:
让我们运行模型模拟并查看图表。我们将求解器设为默认值(欧拉)。正弦信号模拟图将显示在graph window 中: