Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Stateflow のセマンティクス

Stateflow® では、Stateflow チャートの実行動作がセマンティクスにより記述されます。チャートがどのように実行されるかには、次を含むさまざまな要因が影響します。

  • ステートの明示的または暗黙的な順序付け

  • ステート間の遷移順序

  • パラレル ステートまたはスーパーステートにより送信されるイベント

チャートを作成する際には、特定の動作が想定されます。これらの要因がチャートにどう影響するのかを理解することにより、グラフィカルおよび非グラフィカルオブジェクトの意図された相互作用によって動作するチャートを作成することができます。グラフィカルおよび非グラフィカルオブジェクトは、すべての Stateflow チャートの基本ブロックです。

Stateflow オブジェクト

Stateflow オブジェクトは Stateflow チャートの基本ブロックです。これらのオブジェクトは、グラフィカルまたは非グラフィカルとして分類できます。グラフィカル オブジェクトは、チャート内にグラフィカルに表示されるオブジェクトで構成されます。非グラフィカル オブジェクトはチャート内にテキストで表示され、多くの場合、データ、イベントおよびメッセージを参照します。次のチャートは、グラフィカルと非グラフィカル両方のさまざまなオブジェクトを示しています。

グラフィカル オブジェクト

グラフィカル オブジェクトを作成するには、Stateflow エディターのオブジェクト パレットを使用します (Stateflow エディターの操作を参照)。

グラフィカル オブジェクトタイプ参照

フロー チャート

判定ロジック パターンStateflow におけるフロー チャート
ループ ロジック パターン

関数

グラフィカル関数グラフィカル関数の定義によるロジック パターンの再利用
MATLAB® 関数MATLAB 関数の定義による MATLAB コードの再利用
真理値表関数真理値表を使用して組み合わせ論理をモデル化
Simulink® 関数Stateflow チャートでの Simulink コンポーネントの再利用

ジャンクション

コネクティブ ジャンクション遷移とジャンクションを結合して分岐パスを作成
ヒストリ ジャンクションヒストリ ジャンクション

ステート

排他的 (OR) 構造が設定されたステート排他的 (OR) ステート構造
パラレル (AND) 構造が設定されたステートパラレル (AND) ステート構造
サブステートとスーパーステートサブステートとスーパーステートの作成

遷移

デフォルト遷移デフォルト遷移
オブジェクト間の遷移遷移接続
内部遷移
自己ループ遷移

非グラフィカル オブジェクト

非グラフィカル オブジェクトはチャート内でテキストを使って作成します。詳細については、Stateflow データの追加チャートでのイベントの定義チャートでのメッセージの定義を参照してください。非グラフィカル オブジェクトの例には次のようなものがあります。

非グラフィカル オブジェクト説明参照
条件真である場合に遷移パスが有効であることを指定する論理式であり、遷移ラベルの一部

遷移ラベル表記法条件

条件アクション条件が真であると評価されるとすぐに実行されるアクションであり、遷移ラベルの一部

遷移ラベル表記法条件アクション

ステート アクションステートがアクティブであるときに実行されるアクション (データの初期化や更新など) を指定する式であり、ステートのラベルの一部

ステートのラベルステート アクション タイプ

関数の呼び出しチャート内の特定の関数をアクティブにするために使用する式MATLAB 関数の定義による MATLAB コードの再利用Stateflow チャートでの Simulink コンポーネントの再利用
時相論理ステートメントチャート アクションを制御するために使用する演算子時相論理を使用したチャート実行の制御

関連するトピック