simulinkのビルドとトリガー機能について

조회 수: 25 (최근 30일)
Soichiro Kato
Soichiro Kato 2020년 7월 20일
댓글: Soichiro Kato 2020년 7월 29일
現在研究室にてサードパーティー製のRTIシステムとmatlab/simulinkを併用して、制御系を設計しています。
RTIシステムの実行にあたり、simulinkのビルドが必要です。
その際に、ビルドを開始・終了する時間とRTIシステムで計測を開始するのにタイムラグが発生してしまいます。
しかし、計測開始時間や信号の入出力開始時間を完全にコントロールしたいのですが、どのような手段を用いればよいのでしょうか。
一部のworkspaceブロックに信号が入力されるのを時間的に遅らせるといったことでなく、simulink全体に掛かるトリガー機能のようなものを探しています。
過去の質問や自力での調査では解決しませんでした。
現在は一部の信号線にswitchブロックを加え、stpeブロックを入力2(判断基準)とし、
30秒経過した後に出力がconstant(中身は0)ブロック(入力1)から信号線(入力3)に切り替わるように対応しています。
*添付した写真のようにswitchブロックを使用しています。
この方法はあくまで応急処置のようなものであると考えており、根本的に解決できないのか教えて頂きたいです。

답변 (1개)

Toshinobu Shintai
Toshinobu Shintai 2020년 7월 23일
サードパーティー製のRTIシステムとMATLAB, Simulinkをどのように接続しているかが重用になると思います。
例えば、シリアル通信(RS232C)を用いているのであれば、Instrument Control Toolboxの「Serial Receive」ブロックが使えます。その際に、「Enable Blocking Mode」にチェックを入れておけば、指定したデータ数を受け取るまでSimulinkの処理を待たせることができます。
TCP/IPやUDP通信でも同様に「Enable Blocking Mode」が使えます。
参考までに、R2018aからはシミュレーションペーシングという機能がありまして、Simulinkの実行ペースを実時間のn倍という指定をすることができます。
また、制御という観点では、0.1秒よりも短い時間刻みで制御を行うような場合には、その制御システム内にPCを介在させることは推奨されません。専用のリアルタイム実行ハードウェアを用いることを推奨いたします。
  댓글 수: 3
Toshinobu Shintai
Toshinobu Shintai 2020년 7월 24일
dSPACE社の専用ブロックを用いてSimulinkモデルをビルドしてMicroLabBoxに機能を実装し、PC側のdSPACE社のGUIアプリとEthernet通信を行っているということでしょうか。
この場合は、dSPACE社に問い合わせていただく方が良いです。
Soichiro Kato
Soichiro Kato 2020년 7월 29일
おっしゃる通り、dSPACE社の専用ブロックを用いて信号の入出力を行っています。
dSPACE社に問い合わせてみます。
この度はご丁寧にありがとうございました。

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 一般分野への適用에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!