複数のラズパイでのシミュレーションペースの統一
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
複数のラズベリーパイが直列に並んでいて,それぞれsimulinkプログラムを実行しているとします.
これらは互いに隣り合うラズパイと通信を行っていて,Aから受け取った値を用いてBは計算し,その結果をCへ渡すとします.
何も気にしないでABCのsimulinkプログラムを実行時間infでスタンドアロンビルドかつ実行すると,
Bのシミュレーションペースが遅いのに(まだ計算が終わっていないのに)Aがひたすらデータを送り続けてしまうということが起こります.
[やりたいこと]
そこで,パソコンをmaster,各ラズパイをslaveとして,
①slaveは計算が終わったらA,B,Cの順にプログラムを1ステップだけ実行し,計算が終わったらmasterに報告
②masterは全てのslaveから計算が終わりましたと報告があったら再び各slaveへ1ステップだけプログラムを実行しろと命令する
以降その繰り返し
といったことを行いたいと考えています.
(1ステップずつ歩調を合わせて実行したい)
[やってみたけどダメだったこと]
リアルタイムシミュレーションの要領で,シミュレーションペースを遅くしてスタンドアロンビルド
スタンドアロンビルドの場合はシミュレーションペースが調整できないようです.
[詳細]
サンプリングタイム:0.001s
ラズパイ同士の通信方法:UDP
ラズパイ同士の接続方法:スイッチングハブを介した有線LAN接続
パソコンとラズパイの接続方法:上に同じ
各ラズパイでシミュレーションペースを合わせたエクスターナル実行を同時に行うとか可能なのでしょうか.
0 Commenti
Risposta accettata
Shoumei
il 26 Dic 2019
「ポーリング」という処理方法をご存じでしょうか?
UDPデータが入力されたら処理を実行するように、Enabled SubsystemまたはTriggered Subsystemでモデルを構築してはいかがでしょうか?
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Installation Setup and Configuration in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!