MATLAB Answers

実時間での10ms制御 シリアル送信

7 views (last 30 days)
Yuuki Tanaka
Yuuki Tanaka on 21 Feb 2020
Commented: Toshinobu Shintai on 21 Feb 2020
お世話になります。
実時間での10ms間隔で、シリアル送信を行いたいです。
MATLABでは可能でしょうか?
現在、SImlink上でSerial Send Blockにて制御周期 0.01(10ms)を指定し、
受信側の自作C++アプリケーションのシリアル受信間隔を確認したところ、16ms間隔でした。
受信側の自作アプリケーションは5ms間隔で動作させており、5ms間隔なのは動作確認済みです。
MATLABでは実時間での10ms間隔シリアル送信は可能でしょうか?

Answers (1)

Toshinobu Shintai
Toshinobu Shintai on 21 Feb 2020
Simulinkで制御周期を0.01sに指定したとのことですが、コンフィギュレーションパラメータでステップサイズを0.01sに設定して「シミュレーションペーシング」を設定したということでしょうか。
いずれにしても、PCで動作しているMATLAB及びSimulinkでの実時間制御は難しいです。
以前同じような質問がありまして、以下に詳しく回答しましたのでご参照ください。
  2 Comments
Toshinobu Shintai
Toshinobu Shintai on 21 Feb 2020
Real Time Pacerもシミュレーションペーシングと原理は同じようなものでして、ソフトタイマーから得た時間からシミュレーションを遅らせているだけです。
おそらく、Real Time Pacerの動作としては正しく動いているのではないでしょうか。それでも、そのPCの動作精度では10msのリアルタイムを実現できていない、ということだと思われます。

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!