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 で、カウンター ロジックの 2 つの異なるインスタンスを区別します。
CounterA の呼び出し元を表示するには、UpdateCounterA サブシステムをダブルクリックします。サブシステムの Function Caller ブロックでは、関数名が Model ブロック名で修飾されています。この場合は、CounterA が Model ブロック名で update が関数名です。

sim('slexMultiInstanceFunctionsExample');参考
Argument Inport | Argument Outport | Function Caller | Model | Simulink Function