创建子系统
随着模型的大小和复杂性的增加,您可以通过将块分组到子系统来简化它。子系统是一组块,您可以将它们组合成一个单独的块子系统块。
使用子系统:
建立一个层次框图子系统块在一个层上,组成子系统的块在另一个层上。
保持功能相关的块在一起。
有助于减少模型窗口中显示的块数。
建立带有输入和输出的接口。
当您复制一个子系统时,该副本独立于源子系统。要跨模型或跨模型重用子系统的内容,请考虑被引用的子系统、被引用的模型或链接到自定义库中的块的子系统。有关更多信息,请参见在模型组件类型中进行选择.
子系统类型
子系统可以是虚拟的,也可以是非虚拟的。一个虚拟子系统在模型中提供图形层次结构。一个nonvirtual子系统提供图形层次结构,并作为模型中的一个单元执行。
提示
对于控制器和其他独立组件,使用非虚拟子系统或参考模型在相关块周围定义一个硬边界。当您想要为组件生成代码时,预先定义硬边界可以避免代价高昂的重构。
金宝app®将非虚拟子系统分为以下几类:
子系统类型 | 描述 |
---|---|
原子子系统 | 作为单个单元执行的子系统。 |
启用子系统 | 由外部输入使其能够执行的子系统。 |
触发子系统 | 由外部输入触发其执行的子系统。 |
函数调用子系统 | 子系统,其执行由外部函数调用输入控制。 |
启用和触发子系统 | 由外部输入启动和触发其执行的子系统。 |
消息触发子系统而且消息轮询子系统 | 由消息输入触发执行的子系统。 |
复位子系统 | 其块状态由外部触发器重置的子系统。 |
If动作子系统 | 子系统,子系统的执行由如果块。 |
开关案例动作子系统 | 子系统,其执行由控件控制开关情况块。 |
While迭代器子系统 | 当逻辑条件为真时,在模拟时间步内重复执行的子系统。 |
对于迭代器子系统 | 在模拟时间步内重复执行指定次数的迭代的子系统。 |
每个子系统 | 在输入信号的每个元素或子数组上重复执行并连接结果的子系统。 |
创建子系统
要创建一个子系统,您可以:
在Simuli金宝appnk Editor中,双击并开始输入子系统类型,然后从菜单中选择相应的块。
在Simuli金宝appnk Editor中,拖动选择框以勾勒要创建的子系统,然后选择子系统类型。
拖一个子系统块从库浏览器。
复制并粘贴子系统从模型中块。
当您从选择框中创建子系统时,选择可以为空,也可以在模型的一个区域中包含多个块。
从操作栏中,选择您想要创建的子系统类型。
当选择包含与输入和输出端口对应的块时,新的子系统包含这些块的副本。新的子系统不包含与控制端口对应的块的副本。
您可以在创建子系统之后更改子系统的类型。
要使子系统作为一个单元执行,请单击子系统块。在子系统选项卡上,选择是原子子系统.
要使子系统有条件地执行,可以添加与控制端口对应的块。
要使子系统无条件地执行,请删除与控制端口对应的块。
请注意
如果您不再想使用子系统,您可以用子系统的内容替换子系统。有关更多信息,请参见扩展子系统内容.
向子系统添加端口
上的端口子系统块对应子系统内部的块。
例如,这个子系统块有两个输入端口和一个输出端口。
子系统包含两个轮廓尺寸块,三机一体
而且In2
,一个外港块,着干活
,对应的端口子系统块。
自动添加端口到子系统布洛克:
的边缘子系统块,然后选择要创建的端口类型。
的边缘拖动一条线子系统块。
相应的端口块被添加到子系统内部。
提示
自动创建端口后,端口标签上就会出现子系统块,以便快速编辑。看到的,编辑子系统端口标签.
若要手动添加端口,请双击子系统块,然后将相应的块添加到子系统。
端口类型 | 相应的块 |
---|---|
信号接口,输入 | 轮廓尺寸块 |
信号接口、输出 | 外港块 |
总线端口,输入 | 总线元件块 |
总线端口、输出 | 输出总线元件块 |
控制端口,启用 | 启用块 |
控制端口,触发 | 触发块 |
控制端口,函数调用 | 触发块与触发类型设置为函数调用 |
控制端口,复位 | 重置块 |
控制端口、动作 | 行动的港口块 |
连接端口 | 连接端口(Simscape)块 |
命令,更改端口的位置子系统块时,将端口拖到任意一侧的新位置子系统块。
缺省情况下,Simuli金宝appnk会标记端口子系统块。要指定Simulink如何标记金宝app子系统的端口:
选择子系统块。
在格式选项卡中的一个标记选项金宝app端口标签菜单。有关更多信息,请参见显示端口标签.
编辑子系统端口标签
您可以直接编辑这些类型的子系统块上的端口标签:
常规的子系统
带掩码的子系统
不同的子系统
图子系统
编辑当前模型中子系统块上的端口标签:
指向端口标签。一个互动端口标签提示(端口标签周围的蓝框)出现。点击提示。
或者选择端口,按“”键F2.球杆进入编辑模式。
端口上创建新端口子系统块使用自动端口创建还启用端口标签提示进行快速编辑。
一个端口选择提示出现在端口标签提示上方,表示正在编辑的端口标签信息(端口块名称、信号名称、总线端口或连接端口)。对于信号端口,您可以从端口标签编辑端口块名称和端口信号名称。要在值之间切换,请单击选择器提示中的相应图标或使用键盘快捷键Ctrl + 1, 2.
在端口标签提示中输入一个值,然后按输入或Esc,或点击离开。
端口标签编辑完成后,Simulink会自动更新子系统内相关端口或金宝app信号的名称。
提示
对一个子系统块进行连续的端口标签编辑:
选择块上的端口。
编辑端口标签后,按输入.此操作启用键盘选择端口。
可以使用向上/向下键选择相邻的端口,并按F2用于快速编辑。
该表根据子系统块上定义的端口标签类型列出了更新操作。
端口标签类型 行动 没有一个 不支持编辑。金宝app 港口图标 类型更新子系统中元素的名称图标显示端口参数。
的值图标显示端口参数为
信号的名字
,则端口块上的图标和链接信号的名称都将更新。请注意
对于这种类型的端口标签,编辑后端口标签上显示的信息取决于使用选择器提示对标签执行的最终编辑:
如果初始端口标签显示端口块名称,而最终编辑的是信号名称,则图标显示参数自动更新为
信号的名字
.因此,在编辑之后,端口标签默认显示信号名称。如果初始端口标签显示端口信号名称,而最终编辑的是端口块名称,则图标显示参数自动更新为
端口号
.因此,在编辑之后,端口标签默认显示块名称。
端口块名称 更新子系统中端口的块名称。对于这种类型的端口标签,您只能使用端口选择器提示编辑端口块名称。 信号的名字 更新连接到端口的信号的名称。
请注意
金宝appSimulink不显示端口选择器提示图表块。
编辑端口标签子系统不支持带掩码图标的块。金宝app
不支持根据端口标签编辑端口号。金宝app您仍然可以使用端口标签提示编辑端口块名称和信号名称。
不支持从端口标签编辑传播信号的名称。金宝app您仍然可以使用端口标签提示编辑端口块名称和内部信号名称。当您单击提示时,端口信号名称字段为空,因为内部信号没有名称。
当所有这些条件为真时,子系统端口标签显示传播信号的名称:
的值图标显示基础端口块的参数为
信号的名字
.子系统内的内部信号是连接的,但没有名称。
传播的信号有一个名称。
配置子系统
的名称子系统块和修改块的方式,你做任何其他块。例如,你可以:
限制子系统访问
的读/写权限a的参数子系统块控制子系统允许的访问级别。
请注意
限制读或写访问不会阻止更改访问限制。要隐藏专有信息,请考虑使用受保护的模型。有关更多信息,请参见探索受保护模型功能.
在自定义库中存储子系统时,可以使用读/写权限参数,以控制对该块的链接实例的访问。只要库链接保持完整,受限制的访问就可以阻止人们查看或修改子系统的内容,同时仍然允许他们在模型中使用子系统。有关更多信息,请参见连接块.
另请参阅
金宝appSimulink.BlockDiagram.copyContentsToSubsystem