リアルタイムシミュレーションのグラフ表示
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
現在,SimulinkのReal-Timeのシミュレーションで実際の計測機からのデータを計算し,XYグラフで表示したいと考えています.
時間に対する信号の表示ができることは知っているのですが,このようなことは出来るのでしょうか
0 commentaires
Réponses (3)
Toshinobu Shintai
le 4 Fév 2020
Simulink Real-Timeに限った話ではありませんが、バージョンR2019bであれば、Simulinkの信号線をシミュレーションデータインスペクター(SDI)に出力させることでXYプロットを行うことができます。
添付のモデルのように、信号線をSDIに登録します。信号線をクリックし、青字の「・・・」にカーソルを合わせると、以下のように現れるので、「データログを有効化」をクリックして有効にします。
次にSDIを開き、右上のレイアウトをクリックし、ビューの編集をクリックします。
可視化ギャラリーが開くので、XYをドラッグしてグラフにドロップします。
次に表示したい信号にチェックを入れ、X軸かY軸かを選択します。
設定が終わると波形が表示されます。
あらかじめ設定しておけばリアルタイムでXYプロットがなされます。
その他の方法としては、「XY Graph」というScopeブロックの亜種を使う方法がありますが、軸の範囲選択が固定なので使いにくいです。
1ステップ終了時にMATLABコマンドを呼び出してFigureを描画するという方法もあります。
2 commentaires
Toshinobu Shintai
le 5 Fév 2020
凝りだすといくらでも作りこむことができるのですが、一番シンプルには以下のようにするとできます。
MATLAB Fuctionブロックを挿入し、画像のように接続します。内部のコードを以下のように記述します。
function plot_XY_graph(Y, X)
coder.extrinsic('scatter');
coder.extrinsic('hold');
scatter(X, Y, 'MarkerEdgeColor', 'b');
hold('on');
end
実行すると、以下のようにFigureが現れて描画が行われます。
参考までに、R2019bで作成したモデルも添付しています。
Katsunori
le 6 Fév 2020
1 commentaire
Toshinobu Shintai
le 6 Fév 2020
リアルタイムシミュレータに実装する環境であることを失念していました。
その場合はcoder.extrinsicで記述されたコマンドはコード生成で無視されてしまいますので、これでは解決できないことになります。
私はこの環境で動作する他の仕組みを思いつきません。お力になれず申し訳ありませんでした。
Voir également
Catégories
En savoir plus sur Target Computer Setup dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!