Main Content

条件付きサブシステムの初期出力値

条件付きサブシステムの出力値を初期化するには、以下のいずれかの方法を使用してサブシステム内の Outport ブロックを初期化します。

  • Outport ブロックに接続されている入力信号から初期出力値を継承する。

  • Outport ブロック パラメーターを使用して初期出力値を指定する。

メモ

条件付きサブシステムが同じモデル内の Merge ブロックを駆動する場合は、サブシステムの Outport ブロック用に初期条件を指定する必要はありません。

入力信号からの初期出力値の継承

既定では、Outport ブロックは、[初期出力] パラメーターが [][ディセーブル時の出力] パラメーターが [保持] に設定されています。これらの設定の場合、Simulink® は、条件付きサブシステムの Outport ブロックに接続されている入力信号を使用して出力値の初期化を試みます。 (R2024a 以降)

メモ

R2024a より前: 条件付きサブシステムで Outport ブロックの [初期出力の値のソース] パラメーターが [入力信号] に設定されている場合、Simulink は、条件付きサブシステムの Outport ブロックに接続されている入力信号を使用して出力値の初期化を試みます。[初期出力の値のソース] パラメーターを [ダイアログ][初期出力] パラメーターを [][ディセーブル時の出力] パラメーターを [保持] に設定しても、これと同じ動作になります。

初期出力値を設定するための有効な入力信号は次のとおりです。

  • 別の条件付き実行サブシステムからの出力端子。

  • [トリガー タイプ][関数呼び出し] に設定された Trigger ブロックをもつ Model ブロックからの出力端子。

  • Merge ブロック。

  • Constant ブロック。

  • IC (初期条件) ブロック。

  • Outport ブロックに接続されている信号線に付加された Simulink 信号オブジェクト。InitialValue パラメーターが定義されている場合、Simulink はその値を使用します。

  • Stateflow® チャート。

  • C Function ブロック。

入力信号がここに示されていないブロックからの場合、Outport ブロックは出力データ型の既定の初期値を使用します。

条件付きサブシステム Outport ブロックがその初期出力値を継承すると、モデルが更新または実行された後に、IC バッジが Outport ブロックの横に表示されます。

triggered subsystem connected to Outport block, with IC badge next to block

関数 Simulink.getOutportInheritsInitialValue を使用して、条件付きサブシステム Outport ブロックがその初期出力値を継承するかどうかも決定できます。

メモ

R2024a より前: クラシック初期化モードを使用している場合、[入力信号] を選択するとエラーが発生します。入力信号から初期出力値を継承するには、[初期出力の値のソース] パラメーターを [ダイアログ] に設定し、[ディセーブル時の出力] パラメーターを [保持] に設定し、[初期出力] パラメーターを [] に設定します。IC バッジはクラシック初期化モードでは表示されません。クラシック初期化モードを参照してください。

ダイアログ パラメーターを使用した初期出力値の指定

次を行う場合は、初期出力値を明示的に設定します。

  • モデルの動作をさまざまな初期値でテストする。

  • 初期値を定常状態に設定してシミュレーション時間を短縮する。

  • 初期出力値を判断するために入力信号をトレースする必要性をなくす。

初期出力値を指定するには、次を行います。

  1. 条件付きサブシステム内で Outport ブロックのダイアログ ボックスを開きます。

  2. [初期出力の値のソース] のオプションから [ダイアログ] を選択します。このパラメーターは R2024a より前のリリースでのみ使用できます。R2024a 以降のモデルの場合は、スキップして次の手順に進みます。

  3. [初期出力] ボックスに、初期値を入力します。

関連するトピック