Main Content

ターゲット ハードウェア上でのパラメーター値の変更

この例では、次のような操作方法を説明します。

  • Simscape™ モデルを構成して、信号の可視化と Simscape 実行時パラメーターへの変更をサポートするコードを生成します。

  • Simulink® Real-Time™Simulink Coder™ を使用して、モデルの実行可能バージョンをリアルタイム ターゲット マシンに展開します。

  • 開発用コンピューターで Simulink Real-Time エクスプローラーを使用して、ターゲット マシン上の Simscape 実行時パラメーターの値を変更し、パラメーター変更の効果を確認します。

前提条件

この例では、開発用コンピューターとリアルタイム ターゲット マシンの間にアクティブな接続が必要です。開発用コンピューターを構成し、ターゲット ハードウェアに接続する方法の詳細については、Get Started with Simulink Real-Time (Simulink Real-Time)を参照してください。

展開のための Simscape モデルの構成

開発用コンピューターでリアルタイム ターゲット マシン上のパラメーター値を変更できるようにするには、Simscape モデルの Simscape ランタイムおよびコード生成パラメーターを構成します。

  1. 参照モデルを開くには、MATLAB® コマンド プロンプトで次を入力します。

    ssc_resistive_ac_circuit

    モデルが開き、PreLoadFcn によってモデルのパラメーターが MATLAB ワークスペースに読み込まれます。ピーク電圧 A_peak_voltage_src は 3 V、抵抗 R_resistor は 10 Ω、ステップ サイズは 1e-5 です。

  2. ターゲット マシンでのパラメーター調整の効果を確認する十分な時間を確保するには、シミュレーションの停止時間を inf に設定することで、シミュレーションを停止するまで実行されるようにアプリケーションを構成します。

  3. ステップ サイズをリアルタイム シミュレーション用に調整します。MATLAB コマンド プロンプトに以下を入力します。

    ts = 8e-5;

  4. Simulink CoderSimulink Real-Time を使用してコードを生成するためにモデルを構成します。

    1. [コンフィギュレーション パラメーター] ウィンドウを開きます。Simulink エディターで [モデル化] タブを開き [モデル設定] をクリックします。[コンフィギュレーション パラメーター] ウィンドウが開きます。

    2. [コード生成] ペインで、[システム ターゲット ファイル] の右にある [参照] をクリックし、Simulink Real-Time モデルのシステム ターゲット ファイル (STF) を選択します。

    3. [システム ターゲット ファイル ブラウザー] ウィンドウで [OK] をクリックします。

    4. [コード生成][レポート] ペインを開きます。

    5. コード生成レポートを表示するには、[コード生成レポートを作成] および [レポートを自動的に開く] を選択します。

    6. [OK] をクリックします。

  5. シミュレーション データ インスペクターで表示する信号について、信号ログを有効にします。Current という名前の信号をクリックし、アクション メニューから [データ ログを有効化] を選択します。

    Resistive AC circuit model demonstrating the Enable Data Logging option

リアルタイム ターゲット マシンへのモデルの展開

ターゲット マシンに展開する実行可能アプリケーションをビルドします。

  1. リアルタイム ターゲット マシンに接続していることを確認します。

    tg = slrealtime
    
  2. 展開するコードをビルドするには、Simulink エディターで [リアルタイム] タブを開き、[ターゲットで実行][アプリケーションの作成] をクリックします。

    コードのダウンロード後にコード レポートが開きます。

  3. 生成されたコードがデータ構造内の Simscape 実行時変数を表すことを検証します。

    1. コード生成レポートの左側ペインにある [データ ファイル] ノードで、ssc_resistive_ac_circuit_data.cpp を開きます。

    2. パラメーター変数が含まれるコードのセクションを見つけます。[検索] ボックスに、Block parameters (default storage) と入力します。

    3. P_ssc_resistive_ac_circuit_T ssc_resistive_ac_circuit_P データ構造体内に変数 A_peak_voltage_src と変数 R_resistor が表記されていることを確認します。

Simulink Real-Time エクスプローラーを使用したパラメーターの変更と結果の確認

Simulink Real-Time エクスプローラーを使用して、ターゲット ハードウェア上でのリアルタイム アプリケーションの実行の合間に Simscape 実行時パラメーターを変更します。エクスプローラー ウィンドウのスコープにシミュレーション結果を可視化します。

  1. Simulink Real-Time エクスプローラーを開くには、開発用コンピューターで MATLAB コマンド プロンプトに以下を入力します。

    slrtExplorer
    

  2. [ターゲット ツリー] パネルでターゲット コンピューターを選択します。ターゲット コンピューターに接続するには、[未接続] をクリックして [接続] に切り替えます。

    Simulink Real-Time Explorer window with disconnected target computer.

  3. ビルド済みのリアルタイム アプリケーションを読み込むには、[アプリケーションの読み込み] をクリックします。[ホスト コンピューターのアプリケーション] ペインで、[ファイル セレクター] をクリックして ssc_resistive_ac_circuit.mldatx ファイルを選択します。[読み込み] をクリックします。

  4. ストリーミング用の信号を選択するには、[信号] タブで信号 [Current] を選択し、選択した信号を追加するボタン をクリックしてこの信号を右側ペインのリストに追加し、[ストリーミングを開始] ボタンをクリックします。

    Simulink Real-Time Explorer window with connected target computer.

  5. Simulink Real-Time エクスプローラーで Simscape 実行時パラメーターを表示するには、[信号とパラメーター]、[パラメーター] タブを開いて [現在のシステム以下の内容を表示] ボタン をクリックします。

    Simulink Real-Time Exporer window. The Parameters tab shows A_peak_voltage_src and R_resistor, their values, data type, and size.

  6. 元のピーク振幅値でアプリケーションを実行するには、[開始] をクリックします。

  7. ストリーミング信号を表示するには、[データ インスペクター] をクリックします。

    Simulation Data Inspector window showing a signal amplitude of plus or minus 0.3

    電流が約 0.3 A であることがストリームデータに表示されます。モデルの回路の定義式は I = V/R です。結果は、指定された電圧 (10 V) と抵抗 (3 Ω) に対し適正です。

  8. A_peak_voltage_src パラメーターを変更します。このパラメーターは Voltage Source ブロックのピーク振幅を表します。Simscape 実行時パラメーターは実行時に構成可能であるため、シミュレーション中にはパラメーター値を変更できません。その代わりに、シミュレーションを停止し、パラメーターの値を変更して、パラメーターの変更を適用します。次にシミュレーションを再スタートして、パラメーターの変更が結果にどのような影響を与えるか確認します。

    1. 実行を停止するには、Simulink Real-Time エクスプローラー ウィンドウで [停止] をクリックします。

    2. [A_peak_voltage_src] パラメーターの [値] ボックスをクリックして、「50」と入力します。

      Parameters tab showing the updated value of 50 for A_peak_voltage_src.

    3. [開始] ボタンをクリックして、変更したピーク振幅値でシミュレートします。

      Simulation Data Inspector window showing a signal amplitude of plus or minus 5.

      ピーク振幅が 50 V のときに電流は約 5 A であることがストリームデータに表示されます。この結果は、抵抗が 10 Ω であるとした場合の電圧値の変化を反映しています。

参考

(Simulink Real-Time) | (Simulink Real-Time)

関連する例

詳細