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

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

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

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

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

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

前提条件

この例では、開発用コンピューターとリアルタイム ターゲット マシンの間にアクティブな接続が必要です。開発用コンピューターを構成し、ターゲット ハードウェアに接続する方法の詳細については、Simulink Real-Time Setup and Configuration (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 = 4e-5;

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

    1. モデル コンフィギュレーション パラメーターを開きます。

    2. システム ターゲット ファイルを設定するには、[コード生成] ペインで [参照] をクリックして slrt.tlc を選択します。

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

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

    5. コード生成レポートを表示するには、[レポート] ペインで [コード生成レポートを作成] チェック ボックスを選択します。

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

  5. Simulink Real-Time Scope ブロックを Simscape プラント モデルに追加します。

    1. Simulink ライブラリ ブラウザーで [Simulink Real-Time][Displays and Logging] ライブラリに移動します。

    2. Scope ブロックを Simscape モデルに追加します。

    3. スコープを PS-Simulink Converter ブロックからの出力信号に接続します。

  6. Simulink Real-Time Scope ブロックをホスト スコープとして構成します。

    1. [Scope type] パラメーターを [Host] に指定します。

    2. [Number of samples]100000 に設定します。

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

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

実行可能アプリケーションを作成し、リアルタイム ハードウェアにダウンロードします。

  1. リアルタイム ターゲット マシンに接続されていることを確認します。この場合、ターゲット名は SLRTLABTG2 です。

    tg = slrt
    
    Target: SLRTLABTGT2
    Connected            = Yes
    Application          = loader
  2. コードをビルドしてターゲット マシンにダウンロードするには、モデル ウィンドウで [ビルド] ボタン をクリックします。

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

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

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

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

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

Simulink Real-Time Explorer を使用したパラメーターの変更と結果の確認

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

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

    slrtexplr
    

  2. Simscape 実行時パラメーターを Simulink Real-Time Explorer に表示します。

    1. [Applications] ペインで、リアルタイム アプリケーション ノード (この場合は SLRTLABTGT2/ssc_resistive_ac_circuit) を展開します。

    2. リアルタイム アプリケーション ノードの下で [Model Hierarchy] ノードを展開します。

    3. [ssc_resistive_ac_circuit] を選択して、[View Parameters] ボタン をクリックします。

      パラメーター ワークスペースが開き、パラメーターのテーブルにプロパティとアクションが表示されます。

  3. Simulink Real-Time Explorer にホスト スコープを表示します。

    1. [Scopes] ペインで、リアルタイム アプリケーション ノード (SLRTLABTGT2/ssc_resistive_ac_circuit) を展開します。

    2. リアルタイム アプリケーション ノードで [Host Scopes] ノードを展開します。

    3. スコープ ワークスペースを開くには、[Scope 1] を選択し、[View Host Scope] ボタン をクリックします。

    4. パラメーターとスコープのワークスペースを同時に可視化するには、スコープ ワークスペース タブをクリックして、[Pane Move] ボタン がダイアログ ボックスの中央に表示されるまでタブを下にドラッグします。カーソルが [Pane Move] ボタンの下の象限に達したらタブを離します。

  4. 電圧源のピーク振幅の値を確認するには、[A_peak_voltage_src] パラメーターの隣にある矢印をクリックします。

    ピーク振幅の元の値 3 V が含まれる [Values] テキスト ボックスが開きます。

  5. 元のピーク振幅値を使用してシミュレーションを実行します。実行を開始するには、リアルタイム アプリケーション (SLRTLABTGT2/ssc_resistive_ac_circuit) をクリックしてから、[Applications] ツール バーの [Start] ボタン をクリックします。

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

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

    1. 実行を停止するには、アプリケーション ワークスペースでリアルタイム アプリケーションをクリックしてから、[Stop] ボタン をクリックします。

    2. ピーク振幅パラメーターの [値] テキスト ボックスに「50」と指定し、Enter キーを押します。

    3. [Apply parameter value changes] ボタン をクリックします。

    4. [Start] ボタン をクリックして、変更したピーク振幅値でシミュレーションを実行します。

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

  7. Resistor ブロックの抵抗値を変更して元に戻します。

    1. 実行を停止します。

    2. [R_resistor] パラメーターの隣にある矢印をクリックします。

      [Values] テキスト ボックスが開き、抵抗は元の値である 10 Ω と表示されます。

    3. テキスト ボックスに「2」と指定し、Enter キーを押します。

    4. 抵抗を前の値に戻すには、[Revert] ボタン をクリックします。

参考

| | |

関連する例

詳細