Main Content

ヒストリ ジャンクションを使用した前のサブステート アクティビティの再開

ステートの "ヒストリ ジャンクション" は、サブステートのアクティビティを記録します。ヒストリ ジャンクションを含むステートが最初にアクティブになると、ステートでデフォルト遷移が実行され、どのサブステートがアクティブであるかが判定されます。一定期間にわたって非アクティブだったステートが再びアクティブになった場合は、ステートでデフォルト遷移は実行されません。代わりに、サブステートは前のアクティビティの状態に戻ります。

たとえば、次のチャートの最上位のステートは、ランプのオンとオフのモードを表しています。ステート On には、ランプの 2 つの動作モードに対応する SolidBlinking の 2 つのサブステートがあります。ステート On が初めてアクティブになると、ステートでデフォルト遷移が実行され、サブステート Solid がアクティブになります。このサブステートはランプの既定の動作モードを表します。ステート On のヒストリ ジャンクション は、どのサブステートがアクティブであるかを記録します。これにより、チャートが On から Off に遷移して On に戻ったときに、最後にアクティブだったサブステートが再度アクティブになります。つまり、ランプをオンにすると常に前の動作モードに戻ります。この例の詳細については、Stateflow チャートを使用したヒューマンマシン インターフェイスのロジックの設計を参照してください。

Chart that contains a top-level state with a history junction.

ヒント

ヒストリ ジャンクションは遷移先にすることができます。たとえば、内部遷移をヒストリ ジャンクションに接続することは、すべてのサブステートに自己ループ遷移を描画することと等価です。内部遷移が有効であれば、チャートはアクティブなサブステートから出てすぐに再び入ります。詳細については、ヒストリ ジャンクションへの内部遷移を参照してください。

ヒストリ ジャンクションの追加

Stateflow® チャートにヒストリ ジャンクションを追加するには、次を行います。

  1. チャートを開きます。

  2. オブジェクト パレットで、[ヒストリ] アイコン をクリックします。

  3. チャート キャンバスで、新しいヒストリ ジャンクションの位置をクリックします。

ヒストリ ジャンクションを追加した後、Stateflow エディターを使用してジャンクションのサイズと位置を変更できます。

  • ジャンクションを移動するには、ジャンクションをクリックしてドラッグします。

  • ジャンクションのサイズを変更するには、ジャンクションを右クリックして [ジャンクション サイズ] を選択し、ドロップダウン リストからジャンクションのサイズを選択します。

ヒストリ ジャンクションのプロパティの指定

[プロパティ インスペクター]、モデル エクスプローラー、または [ヒストリ ジャンクション] プロパティ ダイアログ ボックスで、以下に示すプロパティを指定できます。

[プロパティ インスペクター] を使用するには、次を行います。

  1. [モデル化] タブの [データの設計] で、[プロパティ インスペクター] を選択します。

  2. Stateflow エディターで、ヒストリ ジャンクションを選択します。

  3. [プロパティ インスペクター] で、ヒストリ ジャンクションのプロパティを編集します。

モデル エクスプローラーを使用するには、次を行います。

  1. [モデル化] タブの [データの設計] で、[モデル エクスプローラー] を選択します。

  2. [モデルの階層構造] ペインで、ヒストリ ジャンクションの親のステートまたはチャートを選択します。

  3. [コンテンツ] ペインで、ヒストリ ジャンクションを選択します。

  4. [ダイアログ] ペインで、ヒストリ ジャンクションのプロパティを編集します。

ヒストリ ジャンクションのプロパティ ダイアログ ボックスを使用するには、次を行います。

  1. Stateflow エディターで、ヒストリ ジャンクションを右クリックします。

  2. [プロパティ] を選択します。

  3. プロパティ ダイアログ ボックスで、ヒストリ ジャンクションのプロパティを編集します。

ジャンクションのプロパティは、Stateflow.Junction オブジェクトを使用してプログラムで変更することもできます。Stateflow プログラム インターフェイスの詳細については、Stateflow API の概要を参照してください。

ヒストリ ジャンクションの親。このプロパティは読み取り専用であり、[プロパティ インスペクター] では使用できません。親のハイパーリンクをクリックすると、Stateflow エディターで親が前面に移動します。

説明

ヒストリ ジャンクションの説明。

ドキュメント リンク

ヒストリ ジャンクションのオンライン ドキュメンテーションへのリンク。HTML ファイルまたは MATLAB® コマンド ウィンドウのテキストとしてドキュメンテーションを表示する、Web の URL アドレスまたは MATLAB コマンドを入力できます。[ドキュメント リンク] ハイパーリンクをクリックすると、Stateflow でリンクが評価され、ドキュメンテーションが表示されます。

参考

オブジェクト

ツール

関連するトピック