重用一个 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