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

シミュレーション データのログ作成とプロット

この例では、センサーをモデルに追加する代わりにシミュレーション データのログを作成し、このデータをプロットする方法を示します。

次に示すモデルは永久磁石 DC モーターを表しています。

このモデルは永久磁石 DC モーターの例に非常によく似ていますが、モデル例とは異なり、センシング ユニット w (Ideal Rotational Motion Sensor ブロックおよび PS-Simulink Converter ブロック) と Motor RPM スコープが含まれていません。永久磁石 DC モーターの例の詳細は、DC モーターの性能の評価を参照してください。

  1. 前の図に示したモデルを作成します。非表示になっているブロック名を表示するには、[情報表示] を選択して [自動生成名の非表示] チェック ボックスをオフにします。

  2. データ ログ作成を有効にするには、[コンフィギュレーション パラメーター] ダイアログ ボックスを開き、左側のペインで [Simscape] を選択し、[シミュレーション データ ログ] パラメーターを [すべて] に設定して [OK] をクリックします。

  3. モデルのシミュレーションを実行します。これにより、simlog という名前 ([ワークスペース変数名] パラメーターで指定) のワークスペース変数が作成され、シミュレーション データが格納されます。

  4. simlog 変数にはモデルと同じ階層が設けられます。変数構造の全体を確認するには、コマンド プロンプトで次のように入力します。

    simlog.print

    このコマンドにより、データ ツリーの全体が出力されます。

         mlog_ex_dcmotor1
         +-Electrical_Reference2
         | +-V
         |   +-v
         +-Friction_Mr
         | +-C
         | | +-w
         | +-R
         | | +-w
         | +-t
         | +-w
         +-L
         | +-i
         | +-i_L
         | +-n
         | | +-v
         | +-p
         | | +-v
         | +-v
         +-Load_Torque
         | +-C
         | | +-w
         | +-R
         | | +-w
         | +-S
         | +-t
         | +-w
         +-Mechanical_Rotational_Reference
         | +-W
         |   +-w
         +-Mechanical_Rotational_Reference1
         | +-W
         |   +-w
         +-Motor_Inertia_J
         | +-I
         | | +-w
         | +-t
         | +-w
         +-Rotational_Electromechanical_Converter
         | +-C
         | | +-w
         | +-R
         | | +-w
         | +-i
         | +-n
         | | +-v
         | +-p
         | | +-v
         | +-t
         | +-v
         | +-w
         +-Rotor_ResistanceR
         | +-i
         | +-n
         | | +-v
         | +-p
         | | +-v
         | +-v
         +-x1_5V
           +-i
           +-n
           | +-v
           +-p
           | +-v
           +-v
  5. アクロス変数、スルー変数、内部ブロック変数を表すすべてのノードに系列データがあります。この系列にアクセスするには、最上位の変数名から始まるツリー内での完全パスを指定する必要があります。たとえば、モーターの角速度を表す系列のハンドルを取得するには、次のように入力します。

    s1 = simlog.Rotational_Electromechanical_Converter.R.w.series;

    ここから、系列の値と時間ベクトルにアクセスして解析することができます。

  6. 系列データの値を時間や他の系列に対してプロットするために、系列データを分離する必要はありません。たとえば、モーター速度 (1 分あたりの回転数) の時間による変化を表示するには、次のように入力します。

    plot(simlog.Rotational_Electromechanical_Converter.R.w,'units','rpm')

  7. この図を、「永久磁石 DC モーター」の例での RPM スコープの表示と比較します。結果は完全に同じになります。

  8. モーターのトルクを角速度 (rpm 単位) に対してプロットし、わかりやすい軸名を追加するには、次のように入力します。

    plotxy(simlog.Rotational_Electromechanical_Converter.R.w,simlog.Motor_Inertia_J.t,...
       'xunit','rpm','xname','Angular velocity','yname','Torque')
    

    ログに記録されたシミュレーション データのプロットの詳細は、simscape.logging.plotsimscape.logging.plotxy のリファレンス ページを参照してください。