メインコンテンツ

Reinitialize Function

モデルまたはサブシステムの再初期化イベントでサブシステムを実行

R2022a 以降

  • Reinitialize Function block icon

ライブラリ:
Simulink / User-Defined Functions

説明

Reinitialize Function ブロックは、モデルまたはサブシステムの再初期化イベントで実行される事前構成された Subsystem ブロックです。既定では、Reinitialize Function ブロックには以下が含まれます。

  • [イベント タイプ][再初期化] に設定され、[イベント名]reinit に設定された Event Listener ブロック

  • [定数値]0 に設定された Constant ブロック

  • [状態オーナー ブロック] が設定されていない State Writer ブロック

Reinitialize Function block iconEvent listener block and Constant block connected to State Writer block.

たとえば、Constant ブロックを State Writer ブロックの状態値を生成するソース ブロックに置き換えて State Writer ブロックの [状態オーナー ブロック] を指定することにより、Reinitialize Function ブロックをカスタマイズします。

モデル再初期化イベントを生成するには、Reinitialize Function ブロックを含むモデルを参照する Model ブロックの再初期化端子に関数呼び出し信号を送ります。サブシステム再初期化イベントを生成するには、Reinitialize Function ブロックを含む Subsystem ブロックの再初期化端子に関数呼び出し信号を送ります。再初期化イベントには次の効果があります。

  1. モデルまたはサブシステム内の各ブロックの状態が初期状態に戻ります。これには、再初期化イベントを受け取るモデルまたはサブシステムの内部にあるサブシステムまたは参照モデル内のブロックも含まれます。

  2. 再初期化端子に対応する Reinitialize Function ブロックの内容が実行されます。

  3. 再初期化イベントを受け取るモデルまたはサブシステムの内部にあるいずれかのサブシステムまたは参照モデルに 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 FunctionReinitialize FunctionReset FunctionTerminate Function ブロックまたは対応する状態オーナー ブロックを選択して、それに関連するブロックを強調表示できます。開いているブロック線図または新しいタブに関連するブロックを表示するには、選択後に表示される省略記号で一時停止します。その後、操作バーから [関連するブロック] Related Blocks button を選択します。選択したブロックに複数のブロックが対応している場合は、関連するブロックのリストが開きます。関連するブロックのリストはテキスト ボックスに検索語を入力してフィルターを適用できます。関連するブロックをリストから選択すると、関連するブロックが表示された開いているブロック線図または新しいタブにウィンドウのフォーカスが移ります。

制限

  • 参照モデルまたはサブシステムに 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

  • サポートされていないブロックと機能の一覧は、初期化関数、再初期化関数、リセット関数および終了関数の制限を参照してください。

ブロックの特性

データ型

Booleana | busa | doublea | enumerateda | fixed pointa | halfa | integera | singlea | stringa

直達

いいえ

多次元信号

はいa

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

a 実際のデータ型または機能のサポートは、ブロックの実装に依存します。

拡張機能

すべて展開する

バージョン履歴

R2022a で導入

すべて展開する