Main Content

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

[シンボル] ペインでのデータ、イベントおよびメッセージの管理

Stateflow® エディターでの作業中に、[シンボル] ペインでデータ、イベントおよびメッセージを表示し、管理することができます。[モデル化] タブで、[[シンボル] ペイン] を選択します。

[シンボル] ペインでは以下が可能です。

  • データ、イベント、メッセージの追加と削除。

  • オブジェクト タイプとスコープの設定。

  • 端子番号の変更。

  • オブジェクト名の編集およびチャート内のそのオブジェクト名の全インスタンスの更新。

  • タイプ、名前、端子番号の変更の取り消しとやり直し。

  • 未使用オブジェクトの検出。

  • 未解決オブジェクトの検出と修正。

  • ウィンドウ内のオブジェクトとオブジェクトが使用されているチャート内の場所間のトレース。

  • プロジェクト インスペクターでのオブジェクト プロパティの表示と編集。

[シンボル] ペインの行にはオブジェクト階層が表示されます。ウィンドウでオブジェクトを展開すると、そのオブジェクトを親とするデータ、イベントおよびメッセージが表示されます。既定では、チャートのすべての非グラフィカル オブジェクトがウィンドウにリストされます。現在の階層以下のレベルで使用されているオブジェクトのみを表示するには、 アイコンを選択します。特定のシンボルを検索するには、[フィルター] 検索ボックス に入力します。

データ、イベント、メッセージの追加および変更

非グラフィカル オブジェクトを Stateflow ブロックに追加するには、[シンボル] ペインで以下を実行します。

  1. 以下のアイコンのいずれかを選択します。

    オブジェクトアイコン
    データ
    イベント
    メッセージ

  2. 新規オブジェクトの行の [タイプ] で、オブジェクト タイプを選択します。

  3. オブジェクトの名前を編集します。

  4. 入出力オブジェクトの場合、[端子] で端子番号を選択します。

  5. プロパティ インスペクターでオブジェクトを表示するには、オブジェクトを右クリックし、[検査] を選択します。

  6. プロパティ インスペクターで、オブジェクトのプロパティを変更します。

[シンボル] ペインでオブジェクトを追加した後、オブジェクトは Stateflow 設計で参照されるまで未使用として表示されます。

[シンボル] ペインで、Stateflow オブジェクトの名前、タイプ、ポート番号を修正できます。[名前] フィールドでオブジェクトの名前を編集します。オブジェクトの名前を変更する際は、Shift + Enter キーを選択して、ステート マシン全体でそのオブジェクトの全インスタンスの名前を変更します。オブジェクトのタイプまたは端子番号を変更するには、対応するフィールドをクリックし、使用可能なオプションから選択します。ステート マシンからオブジェクトを削除するには、オブジェクトを右クリックして [Delete] を選択します。

[シンボル] ペインでの未使用データの検出

[シンボル] ペインには、未使用のデータ、メッセージ、関数、イベントが黄色の警告アイコンで示されます。未使用のオブジェクトを削除するには、[シンボル] ペインでオブジェクトを右クリックし、[削除] を選択します。シミュレーションに影響がないオブジェクトを削除することで、モデルのサイズを小さくできます。このチャートでは、data を追加すると、最初は未使用として表示されます。チャートで data を参照した後は、警告サインが消えます。

次のタイプの未使用データは検出されません。

  • マシンを親とするデータ

  • MATLAB® 関数の入力と出力

  • Atomic サブチャートを含むチャート内のパラメーター スコープのデータ

データ、イベント、メッセージのトレース

Stateflow は、ステート マシンと非グラフィカル シンボル間のトレーサビリティを提供します。[シンボル] ペインでシンボルを選択すると、Stateflow はそのシンボルにアクセスするチャートのセクションを強調表示します。チャートでオブジェクトを選択すると、Stateflow はそのオブジェクトが使用するシンボルを強調表示します。

オブジェクトとシンボルが強調表示されるタイミングを制御するには、基本設定ボタン を選択します。ドロップダウン メニューが表示されます。

Stateflow で、オブジェクトが使用するシンボルを [シンボル] ペインで強調表示するには、[使用した記号を強調表示] をオンにします。Stateflow で、シンボルを使用するチャート内のオブジェクトを強調表示するには、[ブロック線図での使用を強調表示] をオンにします。[ブロック線図での使用を強調表示] がオンの場合、以下を強調表示するよう選択できます。

  • チャート内での、対象シンボルのすべての使用。

  • シンボルが読み取られるオブジェクト。

  • シンボルが書き込まれるオブジェクト。

たとえば、モデル sf_tetris2 を開き、チャート TetrisLogic をダブルクリックします。[シンボル] ペインでは、定数 ARENA_HEIGHT を選択すると、ARENA_HEIGHT を使用するステートと関数が強調表示されます。チャートでオブジェクトを使用しない場合、ウィンドウにはシンボルが黄色の警告アイコン 付きで表示されます。

定数 ARENA_HEIGHT の使用を確認するには、関数 freeze を開きます。

チャート内のステート、遷移、関数などのグラフィカル オブジェクトを選択して、オブジェクトが使用するシンボルを表示することもできます。たとえば、チャート TetrisLogic で、[シンボル] ペインのシンボル MainArea を展開します。チャートでステート FreezeShape を選択すると、ローカル データ shape と関数 freeze() が [シンボル] ペインで強調表示されます。強調表示は、これらのオブジェクトがステート FreezeShape 内で使用されていることを示します。

デバッグ モードのとき、各データの値は [シンボル] ペインの [値] 列に表示されます。Stateflow は、シミュレーションの実行時に値を定期的に更新します。値列では、変更発生時、データ値の変更個所が強調表示されます。デバッガーがブレークポイントで停止しているときは、コマンド プロンプトまたは [シンボル] ペインで、初期値を更新するか、シンボルの値を変更できます。

データまたはメッセージ初期値の更新デバッグ中の更新
入力不可不可
出力
パラメーター不可不可
定数不可
データ ストア メモリ不可
ローカル

バス要素の場合は、コマンド プロンプトまたは [シンボル] ペインでシンボルの値を変更できます。

バス要素初期値の更新デバッグ中の更新
入力不可不可
出力不可
パラメーター不可不可
定数不可不可
データ ストア メモリ不可
ローカル不可

[シンボル] ペインでは、多次元配列が配列のデータ型とサイズとして表示されます。配列の要素が 100 個以内の場合は、シンボルにカーソルを合わせると要素が表示されます。配列に含まれる要素が 100 個を超える場合は、コマンド プロンプトを使用して要素を表示します。

シミュレーションの一時停止中に、キャンバス内のメッセージにカーソルを合わせると、キューに入っているペイロードが表示されます。これは、キャンバス上の機能にカーソルを合わせる場合と同様です。その他の非スカラー オブジェクトの場合は、サイズとデータ型が表示されます。これらの値を表示するには、監視ウィンドウを使用します。デバッグ中のデータおよびメッセージの検査と変更監視リストでのデータの追跡を参照してください。

[シンボル] ペインの制限

[シンボル] ペインでは、次の表にリストされているタイプのオブジェクトを追加できません。これらのタイプのオブジェクトを追加するには、モデル エクスプローラーを使用します。ベスト プラクティスとして、マシンを親とするデータの使用は避けてください。

オブジェクト[シンボル] ペインでの使用[シンボル] ペインでの表示
ステートを親とするデータ、イベント、メッセージ不可
関数内のデータ、イベント、メッセージ不可
ステート マシンを親とするデータとイベント不可不可

その他に、以下の制限があります。

  • MATLAB 関数内のコードを変更した場合、MATLAB 関数を保存するまで [シンボル] ペインでは変更は更新されません。

  • MATLAB 関数の入出力の変更は、元に戻したりやり直したりできません。

  • 状態遷移表から削除したデータ、イベントまたはメッセージは元に戻せません。

  • グラフィカル関数、MATLAB 関数および真理値表を親とするデータのスコープの変更は元に戻せません。

  • 真理値表のオブジェクト名の変更は、元に戻せません。

  • Simulink ベースのステートに含まれるオブジェクトのデータを削除した場合、そのオブジェクトは Simulink ベースのステート内に残り、[シンボル] ペインにデータ シンボルが未定義として表示されます。

関連するトピック