Main Content

this

シミュレーション中のチャート データへのアクセス

R2020b 以降

構文

説明

this は、関数やアプリなどの外部 MATLAB® コードが、シミュレーション時にチャート データにアクセスできるようにします。

  • Simulink® モデルのチャートの場合、外部 MATLAB コードは入力、出力、ローカル データにアクセスできます。

  • MATLAB のスタンドアロン チャートの場合、外部 MATLAB コードはローカル データにアクセスし、step、入力イベント関数、チャートのグラフィカルおよび MATLAB 関数を呼び出すことができます。詳細については、スタンドアロンのチャートの実行を参照してください。

メモ

Simulink モデルのチャートでは、キーワード this は外部 MATLAB コードの引数としてのみサポートされます。このキーワードをチャート内で他の用途で使用すると、コンパイル時にエラーが発生します。

すべて展開する

Stateflow® チャートと、App Designer で作成した MATLAB アプリとの間に双方向接続を作成します。this をコンストラクターの引数として使用し、アプリを外部関数として呼び出します。アプリで、シミュレーション中にチャートとのインターフェイスをとるカスタム プロパティを作成します。チャートで、関数の呼び出しによりアプリに返された値をローカル データ オブジェクトとして格納します。

MATLAB をアクション言語として使用するチャートで、次のように入力します。

coder.extrinsic(appConstructor);
app = appConstructor(this);

Stateflow chart that uses the keyword this in a state. This chart uses MATLAB as the action language.

C をアクション言語として使用するチャートで、次のように入力します。

app = ml.appConstructor(this);

Stateflow chart that uses the keyword this in a state. This chart uses C as the action language.

このワークフローを説明するためのその他の例については、パワー ウィンドウ コントローラーのモデル化Simulate a Media Playerを参照してください。

MATLAB でスタンドアロン Stateflow チャートのデバッグ中にローカル データ x の値を変更します。

デバッグ プロンプトで、次のように入力します。

this.x = 7

詳細については、チャート データの値の確認と変更を参照してください。

メモ

Simulink モデルでチャートをデバッグする場合、デバッグ プロンプトですべての Stateflow データに直接アクセスできます。詳細については、MATLAB コマンド ウィンドウでのデータの表示と変更を参照してください。

ヒント

  • シミュレーションの停止後は、チャート データへのアクセスにキーワード this を使用しないでください。

  • this という外部関数をチャートから呼び出すと、チャート全体でキーワード this が無効になります。このキーワードを使用するには、外部関数の名前を変更します。

バージョン履歴

R2020b で導入