Stateflow

ロジックの設計

Stateflow には、ステート マシンを使用してシステム ロジックをモデル化するためのグラフィカル インターフェイスと表形式のインターフェイスが用意されています。ステート マシンではシステムの操作モードをステートとしてモデル化し、モード間の切り替えのロジックを遷移とジャンクションを使用して表現します。システムのさまざまなコンポーネントを、排他的に、またはパラレルに実行するステートとしてモデル化することができます。Stateflow では、ステート図オブジェクト、関数、コンポーネントを階層的に整理することで、複雑な設計を管理することが可能です。

Stateflow では、フロー チャートを使用してグラフィカルに、および真理値表を使用して表形式で、組み合わせ論理を表現することができます。

ロジックを設計するには、チェックする条件と、その後に実行するアクションを定義します。Stateflow では C または MATLAB® で条件とアクションを定義することができます。条件とアクションで使用するデータは Simulink® モデル エクスプローラーで管理することが可能です。矛盾する可能性のあるステート、未使用のデータやイベント、無効な遷移がある場合は、Stateflow によって設計の実行前に通知されます。

Stateflow diagram defining the logic for a boiler temperature control system.
ボイラー温度の制御システムのロジックを定義する Stateflow ダイアグラム。この図では右側のグラフィカル関数を使用して、左側のヒーター システムで呼び出されるユーティリティ アルゴリズムを実装しています。

ロジックのグラフィカルな設計

Stateflow には、ステート マシンとフロー チャートを作成するためのエディターとグラフィカル オブジェクトが用意されています。ステート マシンを作成するには、グラフィカル パレットからステート、遷移、ジャンクションを選択して、Stateflow エディターにドラッグします。また、フロー チャートの表記、Simulink サブシステム、MATLAB、真理値表を使用して関数を作成することもできます。Stateflow ダイアグラムは、拡張機能をもつ Mealy と Moore のハイブリッド マシン、Mealy マシン、または Moore マシンとして指定できます。

フロー チャートはジャンクションで接続されている遷移を描画して作成し、条件付きロジックに基づいて実行することができます。パターン ウィザードでは、一般的に使用されるロジック フローのパターンを作成することが可能です。さらにフロー チャートをグラフィカル関数に配置することで、ステート図内のさまざまな場所で、あるいは同じモデル内の他のステート図で使用することができます。フロー チャートはステート間の遷移ロジックの設計にも使用可能です。

Stateflow diagram that uses a graphical function generated by the pattern wizard.
パターン ウィザード (中央) で生成されたグラフィカル関数 (右) を使用する Stateflow ダイアグラム (左)。

Stateflow エディターには、編集時に正しくないオブジェクトの配置や無効な遷移を検出するチェック機能が用意されています。

Stateflow Editor with a model of a cooling system.
冷却システムのモデルを含む Stateflow エディター。赤で強調表示されているのは境界が重なっているステート。

表形式によるロジックの設計

Stateflow の状態遷移表には、ステート マシンをモデル化するための構造化された環境が用意されています。ステート マシンを作成するには、ステートの行と、ステート間の遷移の列を追加します。状態遷移表では、ステート名のドロップダウン メニュー、有限ステート マシンの構文の自動補完、その他の編集時チェック機能を使用することで、ステート マシンの作成に役立ちます。モデルを実行する前に静的な診断テストを実行して、構文エラー、不完全な遷移、到達不可能なステートを検出することができます。

状態遷移表から生成される状態遷移行列のビューでは、条件と、特定のステートからの遷移可能なステートをすばやく特定できます。

Stateflow の真理値表では、連続的な実行の維持を必要としないロジックをモデル化することができます。真理値表を作成するには、チェックする条件に続いて、これらの条件の結果の組み合わせを入力します。その後、異なる結果の組み合わせに対してアクションを入力します。真理値表の作成後、静的な診断チェックを実行して、過剰に指定されている条件と指定が不十分な条件を特定することができます。

Truth table implementing the logic for selecting a valid sensor reading in a fault-detection algorithm, and an automatically generated graphical representation of the truth table.
左: 故障検出アルゴリズムで有効なセンサーの読み取りを選択するロジックを実装する真理値表。右: 自動的に生成された真理値表のグラフィカルな表現。
次のトピック: コンポーネントとスケジューリング アルゴリズムの統合

製品評価版の入手または製品の購入

モデルベースデザインの基本環境クイック・デモ

Web セミナーを表示する