ターゲット ハードウェア上でのパラメーター値の変更
この例では、次のような操作方法を説明します。
Simscape™ モデルを構成して、信号の可視化と Simscape 実行時パラメーターへの変更をサポートするコードを生成します。
Simulink® Real-Time™ と Simulink Coder™ を使用して、モデルの実行可能バージョンをリアルタイム ターゲット マシンに展開します。
開発用コンピューターで Simulink Real-Time エクスプローラーを使用して、ターゲット マシン上の Simscape 実行時パラメーターの値を変更し、パラメーター変更の効果を確認します。
前提条件
この例では、開発用コンピューターとリアルタイム ターゲット マシンの間にアクティブな接続が必要です。開発用コンピューターを構成し、ターゲット ハードウェアに接続する方法の詳細については、Get Started with Simulink Real-Time (Simulink Real-Time)を参照してください。
展開のための Simscape モデルの構成
開発用コンピューターでリアルタイム ターゲット マシン上のパラメーター値を変更できるようにするには、Simscape モデルの Simscape ランタイムおよびコード生成パラメーターを構成します。
参照モデルを開くには、MATLAB® コマンド プロンプトで次を入力します。
ssc_resistive_ac_circuit
モデルが開き、PreLoadFcn によってモデルのパラメーターが MATLAB ワークスペースに読み込まれます。ピーク電圧
A_peak_voltage_src
は 3 V、抵抗R_resistor
は 10 Ω、ステップ サイズは 1e-5 です。ターゲット マシンでのパラメーター調整の効果を確認する十分な時間を確保するには、シミュレーションの停止時間を
inf
に設定することで、シミュレーションを停止するまで実行されるようにアプリケーションを構成します。ステップ サイズをリアルタイム シミュレーション用に調整します。MATLAB コマンド プロンプトに以下を入力します。
ts = 8e-5;
Simulink Coder と Simulink Real-Time を使用してコードを生成するためにモデルを構成します。
[コンフィギュレーション パラメーター] ウィンドウを開きます。Simulink エディターで [モデル化] タブを開き [モデル設定] をクリックします。[コンフィギュレーション パラメーター] ウィンドウが開きます。
[コード生成] ペインで、[システム ターゲット ファイル] の右にある [参照] をクリックし、Simulink Real-Time モデルのシステム ターゲット ファイル (STF) を選択します。
[システム ターゲット ファイル ブラウザー] ウィンドウで [OK] をクリックします。
[コード生成] 、 [レポート] ペインを開きます。
コード生成レポートを表示するには、[コード生成レポートを作成] および [レポートを自動的に開く] を選択します。
[OK] をクリックします。
シミュレーション データ インスペクターで表示する信号について、信号ログを有効にします。Current という名前の信号をクリックし、アクション メニューから [データ ログを有効化] を選択します。
リアルタイム ターゲット マシンへのモデルの展開
ターゲット マシンに展開する実行可能アプリケーションをビルドします。
リアルタイム ターゲット マシンに接続していることを確認します。
tg = slrealtime
展開するコードをビルドするには、Simulink エディターで [リアルタイム] タブを開き、[ターゲットで実行]、[アプリケーションの作成] をクリックします。
コードのダウンロード後にコード レポートが開きます。
生成されたコードがデータ構造内の Simscape 実行時変数を表すことを検証します。
コード生成レポートの左側ペインにある [データ ファイル] ノードで、
ssc_resistive_ac_circuit_data.cpp
を開きます。パラメーター変数が含まれるコードのセクションを見つけます。[検索] ボックスに、
Block parameters (default storage)
と入力します。P_ssc_resistive_ac_circuit_T ssc_resistive_ac_circuit_P
データ構造体内に変数A_peak_voltage_src
と変数R_resistor
が表記されていることを確認します。
Simulink Real-Time エクスプローラーを使用したパラメーターの変更と結果の確認
Simulink Real-Time エクスプローラーを使用して、ターゲット ハードウェア上でのリアルタイム アプリケーションの実行の合間に Simscape 実行時パラメーターを変更します。エクスプローラー ウィンドウのスコープにシミュレーション結果を可視化します。
Simulink Real-Time エクスプローラーを開くには、開発用コンピューターで MATLAB コマンド プロンプトに以下を入力します。
slrtExplorer
[ターゲット ツリー] パネルでターゲット コンピューターを選択します。ターゲット コンピューターに接続するには、[未接続] をクリックして [接続] に切り替えます。
ビルド済みのリアルタイム アプリケーションを読み込むには、[アプリケーションの読み込み] をクリックします。[ホスト コンピューターのアプリケーション] ペインで、[ファイル セレクター] をクリックして
ssc_resistive_ac_circuit.mldatx
ファイルを選択します。[読み込み] をクリックします。ストリーミング用の信号を選択するには、[信号] タブで信号 [Current] を選択し、選択した信号を追加するボタン
をクリックしてこの信号を右側ペインのリストに追加し、[ストリーミングを開始] ボタンをクリックします。
Simulink Real-Time エクスプローラーで Simscape 実行時パラメーターを表示するには、[信号とパラメーター]、[パラメーター] タブを開いて [現在のシステム以下の内容を表示] ボタン
をクリックします。
元のピーク振幅値でアプリケーションを実行するには、[開始] をクリックします。
ストリーミング信号を表示するには、[データ インスペクター] をクリックします。
電流が約 0.3 A であることがストリームデータに表示されます。モデルの回路の定義式は I = V/R です。結果は、指定された電圧 (10 V) と抵抗 (3 Ω) に対し適正です。
A_peak_voltage_src
パラメーターを変更します。このパラメーターは Voltage Source ブロックのピーク振幅を表します。Simscape 実行時パラメーターは実行時に構成可能であるため、シミュレーション中にはパラメーター値を変更できません。その代わりに、シミュレーションを停止し、パラメーターの値を変更して、パラメーターの変更を適用します。次にシミュレーションを再スタートして、パラメーターの変更が結果にどのような影響を与えるか確認します。実行を停止するには、Simulink Real-Time エクスプローラー ウィンドウで [停止] をクリックします。
[A_peak_voltage_src] パラメーターの [値] ボックスをクリックして、「
50
」と入力します。[開始] ボタンをクリックして、変更したピーク振幅値でシミュレートします。
ピーク振幅が 50 V のときに電流は約 5 A であることがストリームデータに表示されます。この結果は、抵抗が 10 Ω であるとした場合の電圧値の変化を反映しています。
参考
slrealtime
(Simulink Real-Time) | slrtExplorer
(Simulink Real-Time)
関連する例
- コードの生成、ダウンロードおよび実行
- Set Up and Configure Simulink Real-Time (Simulink Real-Time)
- Configure and Control Real-Time Application by Using Simulink Real-Time Explorer (Simulink Real-Time)
- TCP/IP またはシリアル通信を使用するエクスターナル モード シミュレーション (Simulink Coder)
詳細
- Simscape 実行時パラメーターの管理
- Tunable Block Parameters and Tunable Global Parameters (Simulink Real-Time)
- Signal Monitoring Basics (Simulink Real-Time)
- Target and Application Objects (Simulink Real-Time)
- モデル コールバック