エクスターナルモード​において表示される時​間の意味について

4 views (last 30 days)
mochi
mochi on 16 Aug 2022
Edited: Toshinobu Shintai on 22 Aug 2022
Arduino dueを用いてsimulinkのエクスターナルモードでシミュレーションを実行しています.
その際にArduinoが外部から最大10kHzのパルスを印加されそのパルス数を計測するためサンプル数を1E-5にしています.
そうすると当然シミュレーションの実行も遅くなるのですが,その際にscopeの軸で表示される時間は一体何を表しているのでしょうか?
また,モデルの実行時間を現実時間と同じ流れにしたい場合はどうすればいいのでしょうか?ハードウェアで実行ではエクスターナルモードより高速で処理されるのでしょうか?

Accepted Answer

Toshinobu Shintai
Toshinobu Shintai on 22 Aug 2022
Edited: Toshinobu Shintai on 22 Aug 2022
簡単に言いますと、モデルの繰り返し実行回数に比例した時刻表記になります。例えば、モデルが10回目の実行であった時は、Scopeに表示された時刻は(1e-5 * 10) = 1e-4 [s] になります。
サンプリングタイムステップが10μsという設定は、SimulinkとArduinoの連携(エクスターナルモード実行)では実行できないと考えてください。Arduinoの性能と、ArduinoとSimulinkの通信の限界がありますので、そのような制約があります。エクスターナルモード実行の実用的なタイムステップは1ms以上になります。
処理時間に余裕のあるタイムステップを設定した場合、エクスターナルモード実行は、自動的に実時間と同期した実行を行います。

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!