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

15 次查看(过去 30 天)
Soichiro Kato
Soichiro Kato 2020-7-20
現在研究室にてサードパーティー製の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 中查找有关 Development Computer Setup 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!