Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Stateflow.Transition

チャート、ステート、ボックス、または関数内の遷移

    説明

    Stateflow.Transition オブジェクトは、動作モード間の遷移を作成するために使用します。詳細については、動作モード間の遷移を参照してください。

    作成

    説明

    transition = Stateflow.Transition(parent) は、親であるチャート、ステート、ボックス、またはグラフィカル関数内に Stateflow.Transition オブジェクトを作成します。

    入力引数

    すべて展開する

    新しい遷移の親。次のいずれかのタイプの Stateflow® API オブジェクトとして指定します。

    プロパティ

    すべて展開する

    Stateflow API オブジェクトには、Stateflow エディターで設定した値に対応するプロパティがあります。プロパティにアクセスするかプロパティを変更するには、ドット表記を使用します。複数の API オブジェクトの複数のプロパティにアクセスするか、それらを変更するには、関数 get および関数 set をそれぞれ使用します。詳細については、Stateflow オブジェクトのプロパティの変更と関数の呼び出しを参照してください。

    内容

    遷移のラベル。string スカラーまたは文字ベクトルとして指定します。詳細については、ステートと遷移のラベルのプログラムによる指定を参照してください。

    この プロパティ は読み取り専用です。

    遷移条件。文字ベクトルとして指定します。このプロパティの値は、遷移の LabelString プロパティによって異なります。詳細については、ステートと遷移のラベルのプログラムによる指定を参照してください。

    この プロパティ は読み取り専用です。

    遷移条件アクション。文字ベクトルとして指定します。このプロパティの値は、遷移の LabelString プロパティによって異なります。詳細については、ステートと遷移のラベルのプログラムによる指定を参照してください。

    この プロパティ は読み取り専用です。

    遷移アクション。文字ベクトルとして指定します。このプロパティの値は、遷移の LabelString プロパティによって異なります。詳細については、ステートと遷移のラベルのプログラムによる指定を参照してください。

    この プロパティ は読み取り専用です。

    遷移トリガー。文字ベクトルとして指定します。このプロパティの値は、遷移の LabelString プロパティによって異なります。詳細については、ステートと遷移のラベルのプログラムによる指定を参照してください。

    遷移元がアクティブなときの遷移の実行順序。整数スカラーとして指定します。このプロパティは、遷移を含むチャートの UserSpecifiedStateTransitionExecutionOrder プロパティが true である場合にのみ適用されます。詳細については、遷移の評価順序を参照してください。

    遷移をコメント アウトするかどうか。数値あるいは logical の 1 (true) または 0 (false) として指定します。このプロパティを true に設定することは、遷移を右クリックして [コメント アウト] を選択することと等価です。詳細については、Stateflow チャート内のオブジェクトのコメントアウトを参照してください。

    この プロパティ は読み取り専用です。

    遷移を暗黙的にコメント アウトするかどうか。数値あるいは logical の 1 (true) または 0 (false) として指定します。遷移を含むオブジェクトを明示的にコメントアウトするか、その遷移元または遷移先をコメントアウトすると、その遷移は暗黙的にコメントアウトされます。遷移が Atomic サブチャートまたは Atomic ボックスに含まれている場合、明示的にコメント化されたオブジェクトもその Atomic サブチャートまたは Atomic ボックスに含まれていない限り、このプロパティは false になります。

    R2023a 以降

    この プロパティ は読み取り専用です。

    遷移をコメントアウトするかどうか。数値あるいは logical の 1 (true) または 0 (false) として指定します。IsExplicitlyCommented または IsImplicitlyCommentedtrue の場合、このプロパティは true になります。

    遷移に追加するコメント テキスト。string スカラーまたは文字ベクトルとして指定します。このプロパティは、IsExplicitlyCommented プロパティが true である場合にのみ適用されます。Stateflow エディターで、遷移上のコメント バッジ をポイントすると、テキストがツールヒントとして表示されます。IsExplicitlyCommented プロパティを false に設定すると、CommentText の値は "" に戻ります。

    グラフィカルな外観

    遷移元。空の配列か、次のいずれかのタイプの Stateflow API オブジェクトとして指定します。

    遷移元における遷移の端点の位置。チャートの左上隅を基準とする座標からなる 2 要素数値ベクトル [x y] として指定します。

    遷移元における遷移の端点の場所。時計回りの位置を示す 0 ~ 12 のスカラーとして指定します。

    遷移先。空の配列か、次のいずれかのタイプの Stateflow API オブジェクトとして指定します。

    遷移先における遷移の端点の位置。チャートの左上隅を基準とする座標からなる 2 要素数値ベクトル [x y] として指定します。

    遷移先における遷移の端点の場所。時計回りの位置を示す 0 ~ 12 のスカラーとして指定します。

    遷移の中間点の位置。チャートの左上隅を基準とする座標の 2 要素数値ベクトル [x y] として指定します。

    遷移ラベルの位置とサイズ。[left top width height] 形式の 4 要素数値ベクトルとして指定します。

    遷移先における遷移の矢印のサイズ。スカラーとして指定します。遷移先を変更すると、このプロパティは、新しい遷移先の ArrowSize プロパティの値にリセットされます。

    遷移ラベルのフォント サイズ。スカラーとして指定します。遷移を含むチャートの TransitionFont.Size プロパティが、このプロパティの初期値を設定します。

    デバッグ

    遷移に対するデバッガーのプロパティ。次のプロパティをもつ Stateflow.TransDebug オブジェクトとして指定します。

    • Breakpoints.WhenTestedWhen Transition is Tested ブレークポイントを設定するかどうか。数値あるいは logical の 1 (true) または 0 (false) として指定します。

    • Breakpoints.WhenValidWhen Transition is Valid ブレークポイントを設定するかどうか。数値あるいは logical の 1 (true) または 0 (false) として指定します。

    詳細については、チャートのデバッグのためのブレークポイントの設定を参照してください。

    例: transition.Debug.Breakpoints.WhenTested = true;

    例: transition.Debug.Breakpoints.WhenValid = true;

    コード生成

    遷移がバリアント遷移であるかどうか。数値あるいは logical の 1 (true) または 0 (false) として指定します。詳細については、バリアント条件を使用したインジケーター ランプ調光器の制御を参照してください。

    階層

    この プロパティ は読み取り専用です。

    遷移を含むチャート。Stateflow.Chart オブジェクトとして指定します。

    この プロパティ は読み取り専用です。

    遷移のサブビューアー。Stateflow.ChartStateflow.StateStateflow.BoxStateflow.Function のいずれかのオブジェクトとして指定します。サブビューアーは、遷移をグラフィカルに表示できるチャートまたはサブチャートです。

    この プロパティ は読み取り専用です。

    遷移を含むマシン。Stateflow.Machine オブジェクトとして指定します。

    この プロパティ は読み取り専用です。

    モデルの階層構造における遷移の親の場所。文字ベクトルとして指定します。

    識別

    遷移の説明。string スカラーまたは文字ベクトルとして指定します。

    遷移のドキュメント リンク。string スカラーまたは文字ベクトルとして指定します。

    遷移のユーザー定義のタグ。任意の型のデータとして指定します。

    この プロパティ は読み取り専用です。

    セッションに依存しない識別子。整数スカラーとして指定します。このプロパティを使用して、遷移をモデル内の他のオブジェクトと区別します。

    この プロパティ は読み取り専用です。

    一意の識別子。整数スカラーとして指定します。SSIdNumber とは異なり、このプロパティの値は新しい MATLAB® セッションを開始するたびに再割り当てされ、オブジェクトが削除されるとリサイクルされる場合があります。

    オブジェクト関数

    getParentオブジェクトの親の特定
    commentedByグラフィカル オブジェクトを暗黙的にコメントアウトするオブジェクトの特定
    dialogプロパティ ダイアログ ボックスを開く
    view編集環境でオブジェクトを表示
    highlightグラフィカル オブジェクトの強調表示
    fitToViewグラフィカル オブジェクトの拡大表示

    すべて折りたたむ

    チャート ch に、ステート s1 をステート s2 に接続する遷移を追加します。

    transition = Stateflow.Transition(ch);
    transition.Source = s1;
    transition.Destination = s2;

    トリガー、条件、条件アクションを指定するラベルを、遷移 transition に追加します。

    transition.LabelString = "trigger[guard]{action();}";

    Transition with a trigger, a condition, and a condition action.

    遷移ラベルによって指定されたトリガー、条件、条件アクションを抽出するには、次のように入力します。

    trigger = transition.Trigger
    trigger =
    
        'trigger'
    condition = transition.Condition
    condition =
    
        'guard'
    action = transition.ConditionAction
    action =
    
        'action();'

    Stateflow.Chart オブジェクト ch 内に Stateflow.Transition オブジェクトを作成します。

    dt = Stateflow.Transition(ch);
    

    遷移先を、Stateflow.State オブジェクト st に設定します。

    dt.Destination = st;
    dt.DestinationOClock = 0;

    遷移元の端点を、遷移先の端点より 30 ピクセル上に配置します。遷移の中間点を、遷移先の端点より 15 ピクセル上に配置します。

    dt.SourceEndPoint = dt.DestinationEndPoint-[0 30];
    dt.MidPoint = dt.DestinationEndPoint-[0 15];

    Stateflow chart with a default transition leading to a state.

    サブチャート内にあるジャンクションをサブチャート外にあるジャンクションに接続するスーパートランジションを作成します。

    Stateflow chart with one state. A transition connects a junction inside the state to a junction outside the state.

    モデルを開き、チャートの Stateflow.Chart オブジェクトにアクセスします。

    open_system("sfSupertransitionAPIExample")
    ch = find(sfroot,"-isa","Stateflow.Chart");

    サブチャートの Stateflow.State オブジェクトとジャンクションの Stateflow.Junction オブジェクトにアクセスします。

    st = find(ch,"-isa","Stateflow.State");
    j1 = find(st,"-isa","Stateflow.Junction");
    j2 = find(ch,"-isa","Stateflow.Junction","-depth",1);

    サブチャートの元の位置を、一時ワークスペース変数 subchartPosition に保存します。

    subchartPosition = st.Position;

    IsSubchart プロパティと IsGrouped プロパティを false に設定することにより、サブチャートを通常のステートに変換します。

    st.IsSubchart = false;
    st.IsGrouped = false;

    サブチャートを通常のステートに変換すると、内容が表示されるようサイズが変化する場合があります。

    Stateflow chart with one state. A transition connects a junction inside the state to a junction outside the state.

    ジャンクション j1 をジャンクション j2 へと接続する遷移を追加します。

    tr = Stateflow.Transition(ch);
    tr.Source = j1;
    tr.Destination = j2;

    Stateflow chart with one subchart. A supertransition connects a junction inside the subchart to a junction outside the subchart.

    IsSubchart プロパティを true に設定することにより、ステートをサブチャートに戻します。サブチャートを元の位置に戻します。

    st.IsSubchart = true;
    st.Position = subchartPosition;

    Stateflow chart with one subchart. A supertransition connects a junction inside the subchart to a junction outside the subchart.

    これで、ジャンクション間の遷移はサブチャートの境界を越えるスーパートランジションとなります。

    バージョン履歴

    R2006a より前に導入

    すべて展開する