Engee 文档

模型层次结构

可以将多个模块组合成一个子系统。当模型中的图块数量过多,不便处理时,就需要这样做。

创建子系统

有几种方法可以将图块组合成一个子系统:

  • 从图块库中添加一个图块Subsystem ,双击鼠标左键(这是进入子系统的方法),然后按照标准方法添加所需的图块。

    model hierarchy 1

  • 按下Shift 键,选中要添加到子系统中的程序块,点击矩形角上出现的圆点,然后点击subsystem icon 1 1 *子系统*图标。

    model hierarchy 2

在一个子系统内,您可以创建数量不限的不同嵌套级别的其他子系统。因此,模型具有层次结构。要浏览模型的不同层次,请使用*导航面板*。

model hierarchy 3 1

使用模型块

要处理模型层次结构,除了子系统外,还可以使用块Model

与子系统不同的是,Model 块的内容代表一个单独的模型,并可在其他模型中重复使用(多个模型可引用 Model 块)。

因此,您可以使用 Model 块将一个模型并入另一个模型。每个 Model 块都是对一个特定模型(子模型)的引用。让我们来看一个例子:

要创建一个子模型,我们可以使用In1,Gain,IntegratorOut1 块。这些块的参数默认保持不变。

example model hierarchy 1

今后,我们计划为两个输入端口提供相同的信号,因此我们将为*输入*模块使用*复制*函数:

example model hierarchy shadowinport

输入端口转换后的模型视图

最终的子模型如下

example model hierarchy 2

让我们保存子模型并给它取一个名字,在我们的例子中就是 newmodel_12。以后我们将在父模型 Model 中引用这个名称。

接下来,让我们创建一个模型,从中引用子模型。我们使用块Sine Wave,ModelTerminator

example model hierarchy 3

对于 Sine Wave 块,将 "采样时间 "值设置为 "0.1"。程序块将发生变化。然后右击*模型*块,选择*设置*。这将打开一个设置窗口,我们将在窗口中引用之前创建的 newmodel_12 子模型:

example model x

我们将修改 Model 块,使其包含输入和输出端口,并将信号线连接到这些端口。对于来自输出端口的信号,我们将设置一条记录:

example model hierarchy 4

让我们运行模型模拟并查看图表。我们将求解器设为默认值(欧拉)。正弦信号模拟图将显示在graph windowgraphs icon 1 中:

example model hierarchy 5

  • 所有参考模型的求解器步长必须与父模型的求解器步长一致(使用 Model 块)。否则会出现求解器错误。

  • 只要步长相同,您可以选择不同的求解器:

    • 步长可变的模型链接不能用于步长恒定的父模型。

    • 步长恒定的模型链接可用于步长可变的父模型。

  • 参考模型不支持物理建模 库块和多变量信号。

  • 参考模型支持多级嵌套子系统 和其他*模型*块。