Function-Call Split
提供联接点以用于拆分函数调用信号线
库:
Simulink /
Ports & Subsystems
描述
Function-Call Split 模块允许对函数调用信号线进行拆分,再把拆分后的分支信号连接到多个函数调用子系统或函数调用模型。
对于 Function-Call Split 模块所连接的各个输出端口,带有圆点标记的输出端口所连接的函数调用子系统或函数调用模型会先执行,而其他输出端口所连接的子系统或模型会在其后执行。如果子系统或模型之间的数据依存关系不支持指定的执行顺序,Function-Call Split 模块会返回错误。要避免此错误,请考虑在数据依存关系循环涉及的函数调用子系统或模型的一个或多个 Inport 模块上选择针对函数调用子系统输出的反馈信号锁存输入参数。选择此选项会延迟对应的函数调用,从而消除数据依存关系循环。
要显示连接到给定函数调用信号分支的函数调用子系统的执行顺序,请在 Simulink 编辑器的调试选项卡上,选择叠加信息并点击执行顺序。Simulink 画布上将打开一个窗格,显示执行顺序模块列表。在该列表中,函数调用子系统的执行顺序以 [n
]←[m
] subsystem block name
形式表示,其中:
n
表示子系统的执行顺序。m
表示生成函数调用信号的模块的执行顺序。subsystem block name
表示函数调用子系统的名称。
Function-Call Split 模块支持信号标签传播。
以下模型显示如何应用针对函数调用子系统输出的反馈信号锁存输入参数以解决 Function-Call Split 模块导致的数据依存关系错误。通过在 f1
子系统的 Inport 模块中启用此参数,Function-Call Split 模块将忽略信号 b 的数据依存关系。此模块将打破子系统 f1
和 g1
之间的数据依存关系循环。该模型可确保先调用 f1 来执行,再执行 g1。对于给定的执行步,子系统 f1
使用在上一个执行步中计算的 g1
输出。
示例
限制
Function-Call Split 模块具有以下限制:
给定函数调用信号所连接的所有函数调用子系统和模型必须位于模型层次结构的同一非虚拟层内。
您不能将经过分支的函数调用子系统或模型及其子级直接连接回函数调用发起方。
函数调用信号分支所连接的函数调用子系统和模型不能具有多个(复路)发起方。
Function-Call Split 模块的输入不能是具有多个函数调用元素的信号。
端口
输入
输出
参数
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
扩展功能
版本历史记录
在 R2010a 中推出