Reinitialize Function
モデルまたはサブシステムの再初期化イベントでサブシステムを実行
R2022a 以降
ライブラリ:
Simulink /
User-Defined Functions
説明
Reinitialize Function ブロックは、モデルまたはサブシステムの再初期化イベントで実行される事前構成された Subsystem ブロックです。既定では、Reinitialize Function ブロックには以下が含まれます。
[イベント タイプ] が
[再初期化]に設定され、[イベント名] がreinitに設定された Event Listener ブロック[定数値] が
0に設定された Constant ブロック[状態オーナー ブロック] が設定されていない State Writer ブロック
![]()

たとえば、Constant ブロックを State Writer ブロックの状態値を生成するソース ブロックに置き換えて State Writer ブロックの [状態オーナー ブロック] を指定することにより、Reinitialize Function ブロックをカスタマイズします。
モデル再初期化イベントを生成するには、Reinitialize Function ブロックを含むモデルを参照する Model ブロックの再初期化端子に関数呼び出し信号を送ります。サブシステム再初期化イベントを生成するには、Reinitialize Function ブロックを含む Subsystem ブロックの再初期化端子に関数呼び出し信号を送ります。再初期化イベントには次の効果があります。
モデルまたはサブシステム内の各ブロックの状態が初期状態に戻ります。これには、再初期化イベントを受け取るモデルまたはサブシステムの内部にあるサブシステムまたは参照モデル内のブロックも含まれます。
再初期化端子に対応する Reinitialize Function ブロックの内容が実行されます。
再初期化イベントを受け取るモデルまたはサブシステムの内部にあるいずれかのサブシステムまたは参照モデルに Reinitialize Function ブロックが含まれていて、そのブロックの [イベント名] が再初期化端子に対応する Reinitialize Function ブロックの [イベント名] と一致する場合、Reinitialize Function ブロックの内容が実行されます。
Model ブロックで参照されるモデルを再初期化イベントで実行するには、参照モデルのルート レベルに Reinitialize Function ブロックを配置する必要があります。モデル化要件に基づいて、参照モデル内の Reinitialize Function ブロックのカスタマイズが必要になることがあります。
Stateflow® チャート内の Simulink® ベースのステートに Reinitialize Function ブロックが含まれている場合にそのステートのサブシステム再初期化イベントを生成するには、次の構文の遷移イベントを使用します。
{StateName.ReinitializeEventName()}出力端子をもち、条件付きで実行されるサブシステムは、Reinitialize Function ブロック内で完全にサポートされます。
モデルまたはサブシステムには、各ブロックに異なる [イベント名] が付けられた複数の Reinitialize Function ブロックを含めることができます。これらの各再初期化イベントは、生成コード内で異なる関数として表示されます。[イベント名] は Event Listener ブロックのブロック ダイアログ ボックスで設定します。[イベント名] は、Reinitialize Function ブロックのアイコンに、再初期化イベントに対応する再初期化端子の端子ラベルとして表示されます。
Initialize Function、Reinitialize Function、Reset Function、Terminate Function ブロックまたは対応する状態オーナー ブロックを選択して、それに関連するブロックを強調表示できます。開いているブロック線図または新しいタブに関連するブロックを表示するには、選択後に表示される省略記号で一時停止します。その後、操作バーから [関連するブロック]
を選択します。選択したブロックに複数のブロックが対応している場合は、関連するブロックのリストが開きます。関連するブロックのリストはテキスト ボックスに検索語を入力してフィルターを適用できます。関連するブロックをリストから選択すると、関連するブロックが表示された開いているブロック線図または新しいタブにウィンドウのフォーカスが移ります。
例
制限
参照モデルまたはサブシステムに Reinitialize Function ブロックが複数含まれている場合、Model ブロックまたは Subsystem ブロックのすべての再初期化端子を駆動する関数呼び出し信号は共通のソースをもつ必要があります。
再初期化端子をもつことができるのは次のブロックのみです。
Model
Atomic Subsystem
Enabled Subsystem
Triggered Subsystem
Enabled and Triggered Subsystem
Message Triggered Subsystem
Message Polling Subsystem
Function-Call Subsystem
If Action Subsystem
Switch Case Action Subsystem
For Iterator Subsystem
While Iterator Subsystem
サポートされていないブロックと機能の一覧は、初期化関数、再初期化関数、リセット関数および終了関数の制限を参照してください。
