主要内容

创建子系统

当模型的大小和复杂性增加时,您可以通过将块分组到子系统来简化它。子系统是一组块,您可以将它们分组为单个块子系统块。

使用子系统:

  • 建立一个层次框图,其中子系统块在一层上,组成子系统的块在另一层上。

  • 保持功能相关的块在一起。

  • 有助于减少模型窗口中显示的块数量。

  • 建立具有输入和输出的接口。

当你复制一个子系统时,这个副本是独立于源子系统的。要跨模型或跨模型重用子系统的内容,请考虑引用的子系统、引用的模型或链接到自定义库中的块的子系统。有关更多信息,请参见在模型组件类型中进行选择

类型的子系统

子系统可以是虚拟的或非虚拟的。一个虚拟子系统在模型中提供图形层次结构,并且不影响模型的执行。一个nonvirtual子系统作为模型中的单个单元执行。

提示

对于控制器和其他独立组件,使用非虚拟子系统或引用模型来定义相关块的硬边界。当您想要为组件生成代码时,预先定义硬边界可以避免昂贵的重构。

金宝app®将非虚拟子系统分类为以下类型:

类型的子系统 描述
原子子系统

作为单个单元执行的子系统。

启用子系统

由外部输入启用其执行的子系统。

触发子系统

子系统的执行由外部输入触发。

函数调用子系统

子系统,其执行由外部函数调用输入控制。

启用和触发子系统

子系统的执行是由外部输入启用和触发的。

复位子系统

用外部触发器重置其块状态的子系统。

如果行动子系统

子系统的执行由如果块。

开关箱动作子系统 子系统的执行由开关情况块。
而迭代器子系统

当逻辑条件为真时,在模拟时间步长期间重复执行的子系统。

对迭代器子系统 在模拟时间步骤中为指定次数的迭代重复执行的子系统。
为每个子系统

在输入信号的每个元素或子数组上重复执行并连接结果的子系统。

创建子系统

创建子系统时,您可以:

  • 在Simuli金宝appnk Editor中,双击并开始键入子系统类型,然后从菜单中选择相应的块。

  • 在Simuli金宝appnk编辑器中,拖动选择框以勾勒出要创建的子系统,然后选择子系统类型。

  • 拖一个子系统块从库浏览器。

  • 复制粘贴子系统从模型阻塞。

当您从选择框创建子系统时,选择可以是空的,也可以在模型的一个区域中包含多个块。

从操作栏中选择要创建的子系统类型。

当选择包含与输入和输出端口相对应的块时,新子系统包含这些块的副本。新的子系统不包含与控制端口相对应的块副本。

您可以在创建子系统之后更改子系统的类型。

  • 要使子系统作为一个单元执行,请单击子系统块。在子系统选项卡上,选择是原子子系统

  • 要使子系统有条件地执行,添加一个与控制端口相对应的块。

  • 要使子系统无条件执行,请移除与控制端口对应的块。

向子系统添加端口

a的端口子系统块对应于子系统内部的块。

例如,这个子系统块有两个输入端口和一个输出端口。

子系统包含两个轮廓尺寸块,三机一体In2,一个外港块,着干活,对应于子系统块。

将端口自动添加到子系统布洛克:

  • 单击的边缘子系统块,然后选择要创建的端口类型。

  • 的边缘拖动一条线子系统块。

  • 在子系统内部添加相应的端口块。

提示

端口自动创建完成后,在子系统块可用于快速编辑。看到的,编辑子系统的端口标签

要手动添加端口,请通过双击子系统块,然后将相应的块添加到子系统中。

类型的港口 相应的块
信号端口,输入 轮廓尺寸
信号端口,输出 外港
总线端口,输入 在公共汽车元素
总线端口,输出 公共汽车元素
控制端口,使 启用
控制端口,引发 触发
控制端口,函数调用 触发块与触发类型设置为函数调用
控制端口,重启 重置
控制端口,行动 行动的港口
连接端口 连接端口(Simscape)

更改一个端口的位置子系统块,将端口拖到任意一侧的新位置子系统块。

将端口从块的左侧拖动到块的顶部。

默认情况下,Simuli金宝appnk会对端口进行标签子系统块。要指定Simulink如何标记金宝app一个子系统的端口:

  1. 选择子系统块。

  2. 格式选项卡中,选择其中一个金宝app标签选项端口标签菜单。有关更多信息,请参见显示端口标签

编辑子系统的端口标签

您可以直接编辑这些子系统块上的端口标签:

  • 常规的子系统

  • 子系统和面具

  • 不同的子系统

  • 图子系统

    编辑当前型号子系统块上的端口标签。

    1. 指向端口标签。一个互动端口标签提示(端口标签周围的蓝框)出现。点击提示。

      或者,选择端口并按下F2.提示进入编辑模式。

      创建一个新端口子系统块使用自动端口创建也使端口标签提示快速编辑。

      可编辑的端口标签提示

    2. 一个端口选择器提示出现在端口标签提示上方,以指示正在编辑的端口标签信息(端口块名称、信号名称、总线端口或连接端口)。对于信号端口,您可以从端口标签中编辑端口块名称和端口信号名称。要在值之间切换,请单击选择器提示中的相应图标或使用键盘快捷键Ctrl + 1, 2

    3. 在端口标签提示中输入值并按下输入Esc,或点击走开。

      端口选择器信号位于端口标签信号之上

    4. 在端口标签被编辑之后,Simulink会自动更新子系统中相关端口金宝app或信号的名称。

      子系统内部更新的端口名称

    提示

    在子系统块上进行连续的端口标签编辑:

    • 选择块上的端口。

    • 编辑端口标签,按“”键输入.此操作启用端口的键盘选择。

    • 可以通过上下方向键选择相邻端口F2快速编辑。

    该表列出了根据子系统块上定义的端口标签类型的更新操作。

    端口标签类型 行动
    没有一个 编辑不支持。金宝app
    港口图标

    属性更新子系统中元素的名称图标显示端口参数。

    例如,如果图标显示端口的参数为信号的名字,则端口块上的图标和链接信号的名称都将更新。

    请注意

    对于这种类型的端口标签,编辑后端口标签上显示的信息取决于使用选择器提示对标签执行的最终编辑:

    • 如果初始端口标签显示端口块名称,并且最终编辑在信号名称上,则图标显示参数的基础端口块自动更新为信号的名字.因此,在编辑之后,端口标签默认显示信号名称。

    • 如果初始端口标签显示端口信号名称,并且最终编辑在端口块名称上,则图标显示参数的基础端口块自动更新为端口号.因此,在编辑之后,端口标签默认显示块名称。

    端口块名称 更新子系统中端口的块名称。对于这种类型的端口标签,您只能使用端口选择器提示编辑端口块名称。
    信号的名字 更新连接到端口的信号的名称。

请注意

  • 金宝app的端口选择器提示图表块。

  • 编辑端口标签子系统不支持带有掩码图标的块。金宝app

  • 不支持从端口标签编辑端口号。金宝app您仍然可以使用端口标签提示编辑端口块名称和信号名称。

  • 不支持从端口标签编辑传播信号的名称。金宝app您仍然可以使用端口标签提示编辑端口块名称和内部信号名称。当您单击提示时,端口信号名称字段为空,因为内部信号没有名称。

    当所有条件都为真时,子系统端口标签显示传播信号的名称:

    • 价值图标显示底层端口块的参数为信号的名字

    • 子系统内部的信号是连接的,但没有名称。

    • 传播的信号有一个名字。

配置子系统

您可以更改名称子系统阻塞并修改该块,就像处理其他块一样。例如,你可以:

  • 应用块掩码来隐藏子系统内容,使其显示为带有自己的图标和参数对话框的原子块。有关更多信息,请参见屏蔽原理

  • 使用块回调来执行响应子系统建模操作的操作,如处理错误、删除子系统中的块或行,或关闭子系统。有关块属性(如回调)的更多信息,请参见指定块的属性

限制子系统访问

读/写权限参数的子系统块控制子系统允许的访问级别。

请注意

限制读写访问不能阻止访问限制被修改。要隐藏专有信息,请考虑使用受保护的模型。有关更多信息,请参见探索受保护模型的功能

在自定义库中存储子系统时,可以使用读/写权限参数,以控制对该块的链接实例的访问。只要库链接保持完整,受限制的访问就可以阻止人们查看或修改子系统的内容,同时仍然允许他们在模型中使用它。有关更多信息,请参见连接块

另请参阅

相关的话题