重用一个 Simulink 函数的多个实例
此示例说明如何重用同一 Simulink® 函数的多个实例。模型 slexCounterFunctionMdlRef 包含 update 函数,该函数实现一个计数器。子系统 CounterA 和 CounterB 各包含一个计数器实例,从而允许模型重用函数逻辑。
打开模型。
open_system('slexMultiInstanceFunctionsExample');
实现可重用的 Simulink 函数
slexMultiInstanceFunctionsExample 模型中的函数是 slexCounterFunctionMdlRef 子系统中定义的 update 函数。
要查看 Simulink Function 模块,请打开 CounterA 子系统。
open_system('slexMultiInstanceFunctionsExample/CounterA');
子系统 CounterA 和 CounterB 各自包含在 slexCounterFunctionMdlRef 模型中实现的计数器的一个实例。由于计数器有多个实例,因此模型可以重用函数逻辑,并可以从多个模块中调用每个实例。
从不同的调用者调用相同的 Simulink 函数
slexMultiInstanceFunctionsExample 模型中的函数调用者位于 UpdateCounterA 和 UpdateCounterB 子系统中。调用表示法 CounterA.update 和 CounterB.update 可区分计数器逻辑的两个不同实例。
要查看 CounterA 的调用者,请双击 UpdateCounterA 子系统。子系统中的 Function Caller 模块使用 Model 模块名称限定函数名称。在这种情况下,CounterA 是 Model 模块名称,而 update 是函数名称。

sim('slexMultiInstanceFunctionsExample');另请参阅
Argument Inport | Argument Outport | Function Caller | Model | Simulink Function