Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Stateflow チャートのプロパティの指定

チャートのプロパティは、Stateflow® チャートが Simulink® モデルとどのように連動するかを指定します。これらのプロパティは、[プロパティ インスペクター]、モデル エクスプローラー、または [チャート プロパティ] ダイアログ ボックスで変更できます。

[プロパティ インスペクター] を使用するには、次を行います。

  1. [モデル化] タブの [データの設計] で、[プロパティ インスペクター] を選択します。

  2. Stateflow エディターで、チャートをクリックします。

  3. [プロパティ インスペクター] で、チャートのプロパティを編集します。

モデル エクスプローラーを使用するには、次を行います。

  1. [モデル化] タブの [データの設計] で、[モデル エクスプローラー] を選択します。

  2. [モデルの階層構造] ペインで、チャートを選択します。

  3. [ダイアログ] ペインで、チャートのプロパティを編集します。

[チャート] プロパティ ダイアログ ボックスを使用するには、次を行います。

  1. Stateflow エディターで、チャートを右クリックします。

  2. [プロパティ] を選択します。

  3. プロパティ ダイアログ ボックスで、チャートのプロパティを編集します。

チャートのプロパティは、Stateflow.Chart オブジェクトを使用してプログラムで変更することもできます。Stateflow プログラム インターフェイスの詳細については、Stateflow API の概要を参照してください。

Stateflow チャートのプロパティ

以下に示すチャート プロパティを、次の場所で設定できます。

  • [プロパティ インスペクター][プロパティ] タブ

  • モデル エクスプローラーまたはチャートのプロパティ ダイアログ ボックスの [一般] タブ

名前

チャートの名前。このプロパティは読み取り専用です。モデル エクスプローラーおよびチャートのプロパティ ダイアログ ボックスでチャート名のハイパーリンクをクリックすると、チャートが Stateflow エディターで開きます。

マシン

Simulink サブシステムの名前。このプロパティは読み取り専用であり、[プロパティ インスペクター] では使用できません。マシン名のハイパーリンクをクリックすると、[Machine] プロパティ ダイアログ ボックスが開きます。

アクション言語

チャート内のステート アクションおよび遷移アクションの構文を定義するアクション言語。オプションは次のとおりです。

  • MATLAB

  • C

既定値は [MATLAB] です。詳細については、アクション言語構文としての MATLAB と C の相違点を参照してください。

ステート マシン タイプ

実装するステート マシンのセマンティクスのタイプ。オプションは次のとおりです。

  • Classic

  • Mealy

  • Moore

Classic チャートは、Stateflow のセマンティクスの完全なセットを備えています。Mealy チャートと Moore チャートは、これらのセマンティクスのサブセットを使用します。既定値は [Classic] です。詳細については、Mealy マシンと Moore マシンの概要を参照してください。

更新方法

シミュレーションで Simulink モデルのチャートを更新または起動する方法。

設定説明
継承

Simulink モデルからの入力によって、シミュレーション中にチャートを起動するタイミングが決定されます (既定)。

チャートの入力イベントを定義した場合、Stateflow チャートは、接続している Simulink ブロックから派生するトリガー端子の信号によって明示的にトリガーされます。このトリガー入力イベントを、Simulink 信号に応答して発生するように設定できます。Simulink 信号は、[立ち上がり][立ち下がり]、または [両方] (立ち上がりと立ち下がり) か、[関数呼び出し] に応答するものになります。詳細については、入力イベントの送信による Stateflow チャートのアクティブ化を参照してください。

入力イベントを定義していない場合、Stateflow チャートは暗黙的に Stateflow モデルからのトリガーを継承します。これらの暗黙的なイベントは、入力をチャートに渡す Stateflow 信号の離散サンプル時間または連続サンプル時間です。データ入力を定義している場合、チャートは最速のデータ入力のレートで起動します。チャートのデータ入力を定義していない場合は、チャートは親サブシステムの実行動作の定義に従って起動します。

離散

Simulink モデルは、一定の時間間隔で暗黙的イベントを生成し、[サンプル時間] チャート プロパティで指定したレートで Stateflow チャートを起動します。Simulink モデルの他のブロックは、サンプル時間が異なる場合があります。

連続Stateflow チャートがそのステートを更新するのはメジャー タイム ステップ中のみですが、出力およびローカル連続変数はメジャー タイム ステップ中とマイナー タイム ステップ中に計算されます。チャートはゼロクロッシングを登録でき、ステートの変化が発生するたびに、Simulink モデルによる Stateflow チャートのサンプリングを許可します。Stateflow チャートは、ローカル連続変数の導関数を計算します。詳細については、Stateflow の連続時間モデルを参照してください。

サンプル時間

シミュレーション中に Stateflow チャートが起動する時間間隔。サンプル時間にはゼロ以外の任意の数値を指定できます。サンプル時間は、Simulink シミュレーション時間と単位が同じです。Simulink モデルの他のブロックは、サンプル時間が異なる場合があります。このオプションは、チャートのプロパティ [更新方法][離散] に設定している場合にのみ使用できます。

ゼロクロッシング検出を有効にする

ゼロクロッシング検出が有効になるように指定します (既定)。このオプションは、チャートのプロパティ [更新方法][連続] に設定している場合にのみ使用できます。詳細は、ゼロクロッシング検出の無効化を参照してください。

C 言語のビット演算が可能

演算子 &^| および ~ がアクション ステートメントでビット演算を実行するように指定します (既定)。このチェック ボックスをオフにすると、次が行われます。

  • &| および ~ が論理演算を実行

  • ^ がべき乗演算を実行

このオプションは、C をアクション言語として使用するチャートでのみ使用できます。詳細については、Stateflow データの演算を参照してください。

ユーザー指定のステート/遷移実行順序

チャートがパラレル ステートおよび遷移の明示的な順序付けを使用するように指定します (既定)。チャートがパラレル ステートを実行し、遷移元からの遷移をテストする順序を決定します。このオプションは、C をアクション言語として使用するチャートでのみ使用できます。詳細については、パラレル ステートの実行順序および遷移の評価を参照してください。

チャート レベルの関数をエクスポート

チャートのルート レベルで定義されている関数のスコープを、モデルの他の部分まで拡張します。このオプションにより、Simulink Caller ブロックは、修飾表記 chartName.functionName を使用してローカル階層で Stateflow 関数を呼び出せるようになります。詳細については、再利用のための Stateflow 関数のエクスポートを参照してください。

エクスポートされた関数をグローバルに可視として扱う

モデル全体の Stateflow ブロックおよび Simulink Caller ブロックが、修飾表記を使用せずに、Stateflow からエクスポートした関数を呼び出せるようにします。このオプションは、チャート プロパティ [チャート レベルの関数をエクスポート] を選択している場合にのみ使用できます。詳細については、再利用のための Stateflow 関数のエクスポートを参照してください。

初期化時に指定されたチャートを実行 (入力)

チャートが、入力イベントの最初の発生時ではなく、時間 0 でステート構成を初期化するように指定します。詳細については、チャートの初期化実行を参照してください。

チャート実行ごとに出力を初期化

時間 0 だけでなく、チャートが起動するたびにチャートの出力値をリセットするように指定します。関数呼び出し、エッジ トリガー、時間刻みなどでチャートがトリガーされるたびに、出力値はリセットされます。出力データ オブジェクトの初期値を設定した場合、出力はその値にリセットされます。それ以外の場合、出力はゼロにリセットされます。このオプションは、以下の目的がある場合に選択します。

  • チャートが実行されるたびに、すべての出力が定義されるようにする

  • 出力のラッチを回避する (以前の実行時に計算された出力値を引き継ぐ)

  • すべてのチャート出力に有効な初期値を指定する

詳細については、初期値を参照してください。

スーパー ステップのセマンティクスを有効にする

安定したステートに達するまで、タイム ステップごとにチャートで複数の遷移が可能になるように指定します。このオプションは、チャート プロパティ [更新方法][連続] に設定している場合には使用できません。詳細については、スーパー ステップのセマンティクスを参照してください。

各スーパー ステップにおける最大反復回数

チャートが各タイム ステップで実行できる遷移の最大回数を指定します。チャートはスーパー ステップ中に常に 1 回の遷移を行います。このため、指定する N の値は、この 1 回に "追加して行われる" 遷移の最大回数を表します (合計 N+1 回)。このオプションは、チャート プロパティ [スーパーステップのセマンティクスを有効にする] を選択した場合にのみ使用できます。詳細については、最大反復回数を参照してください。

多すぎる反復後の動作

1 つのタイム ステップにおける最大遷移回数に達した後のチャートの動作を指定します。

動作説明
続行次のタイム ステップまでチャートの実行が継続します。
エラー発生

シミュレーションが停止し、エラー メッセージが表示されます。この設定はシミュレーションに対してのみ有効です。生成コードでは、エラーを生成せずに、常にチャートの実行が次のタイム ステップに移行します。

このオプションは、チャート プロパティ [スーパーステップのセマンティクスを有効にする] を選択した場合にのみ使用できます。

可変サイズの配列をサポート

シミュレーション中にサイズが変化するデータをチャートでサポートするように指定します。Stateflow チャートでの可変サイズ データの宣言を参照してください。

長さ 1 の次元を固定サイズとして扱う

R2023a 以降

少なくとも長さ 1 の 1 つの次元をもつ出力データが固定サイズかどうかを指定します。このプロパティが有効な場合、チャートは、次元が 1 であるチャート内の可変サイズのデータを固定サイズに設定します。このプロパティが無効な場合、[可変サイズ] プロパティが有効になっているチャート内のデータは常に可変サイズです。R2023a より前では、チャートは、少なくとも長さ 1 の 1 つの次元をもつデータを固定サイズとして扱います。

このプロパティは、[可変サイズ] プロパティが有効になっている出力データにのみ影響します。Stateflow チャートでの可変サイズ データの宣言を参照してください。

整数オーバーフローで飽和

生成コードで整数オーバーフローが飽和するように指定します。チャート データの整数オーバーフローの処理を参照してください。

バリアントのアクティベーションのタイミング

バリアント ブロックまたはバリアント パラメーターのアクティブな選択肢をシミュレーションおよびコード生成ワークフローのさまざまな段階で指定します。このプロパティを使用して指定する段階に基づいて、Stateflow は、生成されたコードに、アクティブな選択肢のみ、またはアクティブな選択肢と非アクティブな選択肢の両方が含まれていなければならないかを決定します。

  • ブロック線図の更新時にすべての選択肢を解析 – このオプションが有効になっている場合、Stateflow は、アクティブな選択肢と非アクティブな選択肢の両方について信号の属性の非互換性を解析しますが、アクティブな選択肢についてのみコードを生成します。

  • コードのコンパイル – このオプションが有効になっている場合、Stateflow は、バリアント遷移のアクティブな選択肢と非アクティブな選択肢の両方を解析し、アクティブな選択肢と非アクティブな選択肢の両方についてコードを生成します。選択肢は、生成されたコードをコンパイルする際に条件付きでコンパイルされる C プリプロセッサ条件付きステートメント #if と #endif で囲まれます。

バリアント条件を使用したインジケーター ランプ調光器の制御を参照してください。

イネーブル時の状態

関数呼び出し入力イベントがチャートを再び有効にしたときのステートの動作を指定します。オプションは次のとおりです。

  • 保持

  • リセット

関数呼び出し入力イベントによって有効になったチャートでのステートの制御を参照してください。

監視する出力の作成

チャートがアクティブ ステートの出力を生成するように指定します。このオプションを有効にすると、次のいずれかのアクティビティ タイプを選択して出力できます。

  • 子アクティビティ

  • リーフ ステート アクティビティ

アクティブ ステート データによるステート アクティビティの監視を参照してください。

固定小数点プロパティ

チャートの固定小数点プロパティは次の場所で設定できます。

  • [プロパティ インスペクター][プロパティ] タブ

  • モデル エクスプローラーまたはチャートのプロパティ ダイアログ ボックスの [固定小数点プロパティ] タブ

固定小数点プロパティは、MATLAB® をアクション言語として使用するチャートでのみ使用できます。

これらの継承される Simulink 信号タイプを fi オブジェクトとして扱う

継承される固定小数点および整数の信号を、チャートが Fixed-Point Designer™ fi オブジェクトとして扱うかどうかを指定します。

設定説明
固定小数点チャートはすべての固定小数点入力を fi オブジェクトとして扱います (既定)。
固定小数点および整数チャートはすべての固定小数点および整数の入力を fi オブジェクトとして扱います。

MATLAB チャート fimath

チャートの既定のプロパティを指定します。

設定説明
MATLAB と同じMATLAB 内の現在の既定の fimath オブジェクトと同じ fimath プロパティを使用します。
それ以外を指定

独自の既定の fimath オブジェクトを使用します。次のことが可能です。

  • エディット ボックス内で fimath オブジェクトを作成

  • fimath オブジェクトを MATLAB またはモデル ワークスペース内で作成し、その変数名をエディット ボックスに入力

詳細については、固定小数点演算での fimath プロパティの使用方法 (Fixed-Point Designer)を参照してください。

追加のプロパティ

チャートの追加プロパティは次の場所で設定できます。

  • [プロパティ インスペクター][情報] タブ

  • モデル エクスプローラーまたはチャートのプロパティ ダイアログ ボックスの [ドキュメンテーション] タブ

説明

チャートの説明。

ドキュメント リンク

チャートのオンライン ドキュメンテーションへのリンク。HTML ファイルまたは MATLAB コマンド ウィンドウのテキストとしてドキュメンテーションを表示する、Web の URL アドレスまたは MATLAB コマンドを入力できます。[ドキュメント リンク] ハイパーリンクをクリックすると、Stateflow でリンクが評価され、ドキュメンテーションが表示されます。

マシン プロパティ

Stateflow マシンは、モデル内のすべての Stateflow ブロック (すべての chartsstate transition tablestruth tables を含む) を表します。[マシン プロパティ] ダイアログ ボックスで、以下に示すプロパティを変更できます。

  1. モデル内の任意のチャートについて、モデル エクスプローラーまたは [チャート] プロパティ ダイアログ ボックスを開きます。

  2. [マシン] チャート プロパティ フィールドで、マシン名のリンクをクリックします。

  3. [Machine] プロパティ ダイアログ ボックスで、Stateflow マシンのプロパティを編集します。

マシンのプロパティは、Stateflow.Machine オブジェクトを使用してプログラムで変更することもできます。Stateflow プログラム インターフェイスの詳細については、Stateflow API の概要を参照してください。

Simulink モデル

この Stateflow マシンを定義する Simulink モデルの名前。このプロパティは読み取り専用です。モデルを保存するときにモデル名を変更します。

作成日

この Stateflow マシンが作成された日。このプロパティは読み取り専用です。

作成者

この Stateflow マシンを作成したユーザーの名前。

変更

この Stateflow マシンを定義する Simulink モデルへの変更を記録するためのコメント テキスト。

バージョン

この Stateflow マシンを定義する Simulink モデルのバージョンを記録するためのコメント テキスト。

説明

Stateflow マシンの説明。

ドキュメント リンク

Stateflow マシンのオンライン ドキュメンテーションへのリンク。HTML ファイルまたは MATLAB コマンド ウィンドウのテキストとしてドキュメンテーションを表示する、Web の URL アドレスまたは MATLAB コマンドを入力できます。[ドキュメント リンク] ハイパーリンクをクリックすると、Stateflow でリンクが評価され、ドキュメンテーションが表示されます。

参考

ブロック

オブジェクト

ツール

関連するトピック