Stateflow

ステートマシンおよびフローチャートを使用した判定ロジックのモデル化とシミュレーション

 

Stateflow® では、状態遷移図、フローチャート、状態遷移表、真理値表などのグラフィカル言語を提供します。Stateflow を使用して、MATLAB® アルゴリズムと Simulink® モデルが入力信号、イベント、および時間ベースの条件にどのように反応するかを記述できます。 

Stateflow を使用すると、監視制御、タスク スケジューリング、障害管理、通信プロトコル、ユーザー インターフェイス、ハイブリッドシステムを設計および開発できます。 

Stateflow では、Simulink モデル内のブロックとしてシミュレーションできる、または MATLAB のオブジェクトとして実行できる、組み合わせの判定ロジックおよびシーケンシャルの判定ロジックをモデル化できます。グラフィカル アニメーションを使用すると、実行中にロジックを解析およびデバッグできます。編集時と実行時のチェックによって、実装前に設計の整合性と完全性を確認できます。

制御ロジックの設計

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

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

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

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

フローチャートの設計

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

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

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

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

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

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

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

Stateflow チャートの実行

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

Stateflow チャートのデバッグ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

時相演算子

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

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

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

設計の検証

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

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

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

コードの生成

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

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

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

新機能

Stateflow 入門

ステートマシンの作成、編集、およびシミュレーションの基礎を対話型チュートリアルで学習

ツールストリップ

必要なときに Stateflow の機能へアクセスして発見

MATLAB での Stateflow チャート

スタンドアロン ステートマシンを MATLAB オブジェクトとしてグラフィカルにプログラム、デバッグ、実行

MATLAB からのフローチャート

MATLAB コードをフローチャートに変換してグラフィカルに可視化

外部の C コード

変更の同期、エラーチェック、値の検証、および Simulink Coverage と Simulink Design Verifier による解析を使用して、Stateflow チャートに外部の C コードを完全に統合

真理値表エディター

編集時チェック機能、アニメーション、ブレークポイント、ステップバイステップのデバッグを使用して、Simulink および Stateflow 編集環境内で組み合わせロジックを設計

Stateflow ステートとしての Simulink サブシステム

ハイブリッドシステムをモデル化するために連続的および周期的な Simulink アルゴリズムを使用して、ステートを設計

シーケンスビューアー

状態遷移、イベントのアクティビティ、関数呼び出しを時系列に可視化

これらの機能および対応する関数の詳細については、リリースノートを参照してください。

無料評価版を入手する

30 日間の無料評価版はこちら

今すぐダウンロード

あなたは学生ですか?

MATLAB および Simulink 学生向けソフトウェアの入手

詳細を見る