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

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

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

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

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

    2. チャート内をクリックします。

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

  • モデル エクスプローラー

    1. モデル エクスプローラーを開くには、[モデル化] タブで [モデル エクスプローラー] を選択します。

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

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

  • [チャート] プロパティ ダイアログ ボックス

    1. チャート内を右クリックします。

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

    3. チャートのプロパティを編集します。

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 をアクション言語として使用するチャートでのみ使用できます。詳細については、チャート データでサポートされている演算を参照してください。

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

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

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

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

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

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

Simulink I/O で厳密な型指定を使用

チャートが Simulink モデルからの信号と直接インターフェイス接続できるようにします (既定)。チャートは、対応する Stateflow データ オブジェクトの型とデータ型が一致する入力信号のみを受け入れます。それ以外の場合は、型不一致のエラーが発生します。このオプションは、C をアクション言語として使用するチャートでのみ使用できます。詳細については、Simulink 入出力での厳密なデータ型指定を参照してください。

メモ

[Simulink I/O で厳密な型指定] チャート プロパティは、下位互換性のために提供されています。このチェック ボックスをオフにすると、予期しない結果が生じる可能性があるため推奨されません。

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

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

チャート起動ごとに出力を初期化

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

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

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

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

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

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

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

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

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

多すぎる反復後の動作

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

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

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

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

シミュレーション中に次元が変化する入出力データをチャートがサポートすることを指定します。可変サイズ入出力の宣言を参照してください。

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

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

プリプロセッサの条件を生成

生成されるコードでプリプロセッサの条件を生成します。バリアント遷移を使用したソフトウェア構成を参照してください。

イネーブル時の状態

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

  • 保持

  • リセット

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

監視する出力の作成

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

  • 子アクティビティ

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

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

固定小数点プロパティ

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

  • プロパティ インスペクターの [固定小数点プロパティ] セクション

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

固定小数点プロパティは、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 を含む) を表します。マシン プロパティは、[Machine] プロパティ ダイアログ ボックスで指定できます。

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

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

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

Simulink モデル

この Stateflow マシンを定義する Simulink モデルの名前 (読み取り専用)。モデルを保存するときにモデル名を変更します。

作成日

この Stateflow マシンが作成された日 (読み取り専用)。

作成者

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

変更

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

バージョン

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

説明

Stateflow マシンの説明。簡単な説明とコメントを入力できます。

ドキュメント リンク

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

関連するトピック