Stateflow

制御ロジックの設計

ステートマシン、フローチャート、および真理値表を使用してシステムロジックをモデル化します。

ステートマシンをグラフィカルに設計

遷移で接続される状態と分岐点を描画して、ステートマシンをグラフィカルに構築します。また、フローチャートの表記法、Simulink サブシステム、MATLAB コード、真理値表を使用して関数を作成できます。

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

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

フローチャートの設計

分岐点やそれに接続される遷移を描画して、フローチャートを作成します。パターンウィザードでは、一般的に使用されるロジックフローのパターンを作成することが可能です。フローチャートは状態間の遷移ロジックの設計にも使用可能です。

Stateflow のフローチャート

決定木や反復ループなどの組み合わせロジックをフローチャートでグラフィカルに表現します。

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

Stateflow の真理値表を使用して、出力が現在の入力のみに依存する場合に Simulink でロジックをモデル化できます。状態遷移表には、Simulink でステートマシンをモデル化するための構造化された環境が用意されています。

故障検出アルゴリズムで有効なセンサーの読み取り値を選択するロジックを実装する真理値表。

故障検出アルゴリズムで有効なセンサーの読み取り値を選択するロジックを実装する真理値表。

チャートの実行とデバッグ

解析とデバッグのためにシステムの動作を可視化します。

Stateflow チャートの実行

状態図のアニメーションを使用してシステムの動作を可視化し、チャート内のアクティブな状態や遷移を強調表示します。

Stateflow チャートのデバッグ

Stateflow のデバッグ機能では、チャート実行をステップごとに詳細に進めることができます。状態図内でブレークポイントの設定やデータの値の監視を行い、さまざまな関数をステップごとに実行できます。

Stateflow でのシミュレーション データの可視化オプション。左上:特定の信号を比較するための Simulink データインスペクター。左下:データを解析するためのカスタム MATLAB インターフェイス。右:特定のステートを比較するための Simulink 信号セレクター。

Stateflow でのシミュレーション データの可視化オプション。左上:特定の信号を比較するための Simulink データインスペクター。左下:データを解析するためのカスタム MATLAB インターフェイス。右:特定のステートを比較するための Simulink 信号セレクター。

MATLAB アプリケーション用の再利用可能なロジックを開発

Stateflow チャートオブジェクトを使用して、MATLAB アプリケーション用の再利用可能なロジックを開発します。テストと測定、自律システム、信号処理、通信など、幅広いアプリケーション向けにステートマシンとタイミングロジックを設計します。

再利用可能なチャートオブジェクト

ステートおよび遷移アクションで、MATLAB 言語の全機能を使用するスタンドアロンの Stateflow チャートを作成します。ステートマシンとタイミングロジックを必要とするアプリケーションでは、これらのチャートを MATLAB オブジェクトとして使用します。

ステートマシンとタイミングロジック

Stateflow を使用して、テキストとして実装するのが難しいステートマシンとタイミングロジックをグラフィカルに設計することで、MATLAB アプリケーションの開発を加速します。

Stateflow アプリケーションの配布

Stateflow チャートオブジェクトを含む MATLAB アプリケーションを作成し、その共有には Stateflow は不要です。

Stateflow ライセンスを取得する必要なく、Stateflow チャートを含む MATLAB アプリケーションを共有します。

Stateflow チャートオブジェクトを含む MATLAB アプリケーションを、Stateflow を所有していないユーザーと共有します。 

Simulink アルゴリズムをスケジューリング

Simulink でモデル化されたアルゴリズムをスケジューリング

周期的および連続的なスケジューリング

Stateflowでは 周期的または連続的なSimulinkのアルゴリズムを条件、イベントベース、時間ベースで呼び出すロジックをモデル化できます。コンポーネントの実行を調整して、リアルタイム環境のスケジューリングをシミュレーションします。

Stateflowでは 周期的または連続的なSimulinkやMATLABのアルゴリズムを呼び出すロジックをモデル化できます。

Stateflowでは 周期的または連続的なSimulinkやMATLABのアルゴリズムを呼び出すロジックをモデル化できます。

時相演算子

イベントベースや時間ベースの演算子 (after や duration など) を使用して、イベントのカウント数、経過時間、ノイズ除去後の信号に基づく状態遷移ロジックを指定できます。独自のタイマーやカウンターを作成したり管理する必要はありません。

設計の検証とコードの生成

要求に照らし合わせて設計を検証し、組み込みシステムへの実装用のコードを生成します。

設計の検証

他の Simulink 製品とともに Stateflow を使用して、要件に基づいて設計を検証します。

  • Requirements Toolbox を使用して、ドラッグ アンド ドロップ操作で要件を Stateflow オブジェクトに直接リンクすることができます。
  • Simulink Check を使用して、状態図が規格に準拠しているかどうかを確認できます。
  • Simulink Coverage を使用して、モデルおよび生成コードのカバレッジメトリクスを収集できます。
  • Simulink Design Verifier を使用して、設計エラーを検出し、テストベクトルを生成できます。
  • Simulink Test を使用して、シミュレーション ベースのテストを開発、管理、実行できます。
Stateflow およびモデルスライサー

モデルスライサーを使用してアクティブロジックを強調表示します。

コードの生成

Stateflow ロジックを組み込みシステムに実装するためのコードを生成します。

  • Simulink Coder を使用して、Simulink モデルと Stateflow モデルから C コードと C++ コードを生成します。
  • HDL Coder を使用して、FPGA および ASIC の設計用に VHDL コードと Verilog コードを生成します。
  • Simulink PLC Coder を使用して、PLC および PAC 用の IEC 61131-3 ストラクチャード テキストを生成します。
Stateflow ロジックを実装するためのコードを生成します。

Stateflow ロジックを実装するためのコードを生成します。