Stateflow.Transition
チャート、ステート、ボックス、または関数内の遷移
説明
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 または IsImplicitlyCommented が true の場合、このプロパティは 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.WhenTested—When Transition is Testedブレークポイントを設定するかどうか。数値あるいは logical の 1 (true) または 0 (false) として指定します。Breakpoints.WhenValid—When 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.Chart、Stateflow.State、Stateflow.Box、Stateflow.Function のいずれかのオブジェクトとして指定します。サブビューアーは、遷移をグラフィカルに表示できるチャートまたはサブチャートです。
この プロパティ は読み取り専用です。
遷移を含むマシン。Stateflow.Machine オブジェクトとして指定します。
この プロパティ は読み取り専用です。
モデルの階層構造における遷移の親の場所。文字ベクトルとして指定します。
識別
遷移の説明。string スカラーまたは文字ベクトルとして指定します。
遷移のドキュメント リンク。string スカラーまたは文字ベクトルとして指定します。
遷移のユーザー定義のタグ。任意の型のデータとして指定します。
この プロパティ は読み取り専用です。
セッションに依存しない識別子。整数スカラーとして指定します。このプロパティを使用して、遷移をその親チャート内の他のオブジェクトと区別します。
この プロパティ は読み取り専用です。
一意の識別子。整数スカラーとして指定します。SSIdNumber とは異なり、このプロパティの値は新しい MATLAB® セッションを開始するたびに再割り当てされ、オブジェクトが削除されるとリサイクルされる場合があります。
オブジェクト関数
例
チャート ch に、ステート s1 をステート s2 に接続する遷移を追加します。
transition = Stateflow.Transition(ch); transition.Source = s1; transition.Destination = s2;
トリガー、条件、条件アクションを指定するラベルを、遷移 transition に追加します。
transition.LabelString = "trigger[guard]{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 オブジェクトにアクセスします。
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;
Assertion failed: Deviant 'root deviant' not opened for transactions. Attempt to modify object of type 'StateflowDI.Junction' [id = -1 ] at kernel/deviant/Deviant.cpp:70:
st.IsGrouped = false;
サブチャートを通常のステートに変換すると、内容が表示されるようサイズが変化する場合があります。

ジャンクション j1 をジャンクション j2 へと接続する遷移を追加します。
tr = Stateflow.Transition(ch); tr.Source = j1; tr.Destination = j2;

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

これで、ジャンクション間の遷移はサブチャートの境界を越えるスーパートランジションとなります。
バージョン履歴
R2006a より前に導入オブジェクト関数 commentedBy とプロパティ IsCommented を使用して、コメントアウトされた遷移を調査します。
オブジェクト関数
commentedByは、遷移をコメントアウトさせる明示的にコメント化されたオブジェクトを特定します。プロパティ
IsCommentedは、遷移をコメントアウトするかどうかを示します。このプロパティは、オブジェクト関数isCommentedを置き換えるものです。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)