質問: 複数のラズパイでのシミュレーションペースの統一 複数のラズベリーパイが直列に並んでいて,それぞれsimulinkプログラムを実行しているとします. これらは互いに隣り合うラズパイと通信を行っていて,aから受け取った値を用いてbは計算し,その結果をcへ渡すとします. 何も気にしないでabcのsimulinkプログラムを実行時間infでスタンドアロンビルドかつ実行すると, bのシミュレーションペースが遅いのに(まだ計算が終わっていないのに)aがひたすらデータを送り続けてしまうということが起こります. [やりたいこと] そこで,パソコンをmaster,各ラズパイをslaveとして, 1slaveは計算が終わったらa,b,cの順にプログラムを1ステップだけ実行し,計算が終わったらmasterに報告 2masterは全てのslaveから計算が終わりましたと報告があったら再び各slaveへ1ステップだけプログラムを実行しろと命令する 以降その繰り返し といったことを行いたいと考えています. (1ステップずつ歩調を合わせて実行したい) [やってみたけどダメだったこと] リアルタイムシミュレーションの要領で,シミュレーションペースを遅くしてスタンドアロンビルド スタンドアロンビルドの場合はシミュレーションペースが調整できないようです. [詳細] サンプリングタイム:0.001s ラズパイ同士の通信方法:udp ラズパイ同士の接続方法:スイッチングハブを介した有線lan接続 パソコンとラズパイの接続方法:上に同じ 各ラズパイでシミュレーションペースを合わせたエクスターナル実行を同時に行うとか可能なのでしょうか.
回答: 「ポーリング」という処理方法をご存じでしょうか? udpデータが入力されたら処理を実行するように、enabled subsystemまたはtriggered subsystemでモデルを構築してはいかがでしょうか?