主要内容

创建子系统

由于模型的大小和复杂性增加,您可以通过将块分组为子系统来简化它。子系统是一组块,您将群体组成单个子系统块。

使用子系统:

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

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

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

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

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

类型的子系统

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

提示

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

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

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

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

启用子系统

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

触发子系统

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

函数调用子系统

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

启用和触发子系统

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

复位子系统

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

如果行动子系统

执行执行的子系统如果块。

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

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

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

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

创建子系统

创建子系统时,您可以:

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

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

  • 子系统块从库浏览器。

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

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

从“动作”栏中,选择要创建的子系统类型。

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

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

  • 要使子系统执行为单位,请单击“子系统块。在子系统选项卡,选择是原子子系统

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

  • 使子系统无条件地执行,删除对应于控制端口的块。

将端口添加到子系统

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

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

子系统包含两个inport.块,In1.In2.,一个外港块,OUT1.,它对应于端口上的子系统块。

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

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

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

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

提示

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

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

类型的港口 相应的块
信号端口,输入 inport.堵塞
信号端口,输出 外港堵塞
总线端口,输入 在公共汽车元素堵塞
总线端口,输出 公交车元素堵塞
控制端口,已启用 启用堵塞
控制端口,触发 扳机堵塞
控制端口,函数调用 扳机触发类型设置函数调用
控制端口,重置 重置堵塞
控制端口,行动 行动的港口堵塞
连接端口 连接端口(Simscape)堵塞

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

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

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

  1. 选择子系统块。

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

编辑子系统的端口标签

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

  • 常规的子系统

  • 子系统和面具

  • 不同的子系统

  • 图表子系统

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

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

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

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

      可编辑端口标签提示

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

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

      端口选择器提示端口标签提示

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

      子系统内更新的端口名称

    提示

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

    • 选择块上的端口。

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

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

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

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

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

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

    请注意

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

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

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

    端口块名称 更新子系统中端口的块名称。对于此类端口标签,您可以使用端口选择器提示仅编辑端口块名称。
    信号名称 更新连接到端口的信号的名称。

请注意

  • 金宝appsimulink不会显示端口选择器提示图表块。

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

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

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

    子系统端口标签显示所有这些条件的传播信号的名称:

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

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

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

配置子系统

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

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

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

限制子系统访问

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

请注意

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

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

另请参阅

相关的话题