EV3とSimuli​nkのエクスターナル​モード実行時のエラー​について

現在、サポートパッケージSimulink Support Package for LEGO MINDSTORMS EV3を用いて SimulinkからEV3を動かそうとしています。
ひとまずサポートパッケージに含まれる
 ev3_communication.slx をベースに、PC~EV3間はWifi接続で環境を準備しています。
IPの設定等を実施し「エクスターナル」モードでシミュレーションを実行させたところ、
プログラムがビルドされEV3で動き始め、Simulink上のScopeでセンサやボタンの変化が確認できますが、
数秒ほどで、EV3がフリーズし、 Simulinkの診断ビューアー上では下記エラーメッセージが表示され停止してしまいます。
*******************************************
エクスターナル モードの MEX ファイル 'ext_comm' の実行中にエラーが発生しました:
ExtTargetPktPending() call failed while checking for target pkt
*******************************************
このようなエラーに対し、
どのような原因が考えられますでしょうか。
使用バージョン等を下記に示します。
・Simulink R2016b
・EV3ファームウェア V1.08H
・Wifiドングル uwf-1(Onkyo)
以上、よろしくお願いいたします。

 Risposta accettata

Yoko
Yoko il 5 Feb 2018

1 voto

メッセージが発生する状況として、Simulink が EV3 と通信できていない状況が考えられます。 サンプル時間を大きく設定するか、MATLAB へ送るデータを減らすことで状況が改善するか、ご確認頂ければと思います。
下記に、メッセージに関連する MATLAB Answers の投稿があります。

6 Commenti

Takashi Kojima
Takashi Kojima il 6 Feb 2018
ご回答ありがとうございます。残念ながらサンプル時間を1~2秒程度にしても改善されず、使用するブロックをセンサ一個、Display一個といったデータ量が少ないであろう構成でもエラーが発生します。
エラーとどちらが先なのか不明確ですが、エクスターナルのSimulink実行中にEV3がフリーズをしているようで、そのために通信ができていない状況になっていると思われます。
サンプル時間を変えても、Runからエラーが発生するまでの時間はほぼ変わらず、何か他要因が考えられそうです。
Yoko
Yoko il 9 Feb 2018
なるほど、サンプル時間の問題ではないとのこと、了解しました。 また、エクスターナルモードで EV3 フリーズするとのことですね。 フリーズしてしまったため、通信ができない状況という可能性もあるかと思います。 何か、コマンドウィンドウに、フリーズや通信に関連しそうなメッセージが表示されておりますか?
正直、要因が把握できていない状況ですが、通信環境(Wifi) か、エクスターナルモードか、どちらかに問題がある可能性があると考えています。この事象がエクスターナルモードが問題になっているか、Wifi か、切り分ける作業が必要かと思います。今回、エクスターナルモードで問題が発生しているということですが、エクスターナルモードではなく、ダウンロードして EV3 で動かすのは問題ないでしょうか。また、Ethernet でエクスターナルモードを試すことは可能でしょうか。この2つの方法を試すことにより、事象が起こっている要因が今より狭められるのではないかと考えています。
Takashi Kojima
Takashi Kojima il 11 Feb 2018
コメントありがとうございます。
表示されるメッセージは最初の投稿に示したエラー文のみとなります。
フリーズに関しては、 例えば毎ループ1ずつ増加させた値をEV3のディスプレイに表示させていると、 10秒程度は意図したとおりに値の増加が確認できますが、そこから値が動かなくなり、 戻るボタン等を押しても反応しなくなります(リセットするしかない)。
Wifiに関しては、 スタンドアロンで動かすための「ハードウェアに展開」によるプログラムの転送は問題なく機能しています。 EthernetはUSBアダプタが必要と認識しておりますが、所有しておらず、すぐには試すことができません。
一点確認しておきたいのですが、 そもそもですが、EV3のファームウェアは V1.08Hを使用しておりますが、 本サポートパッケージには対応しておりますでしょうか。 以上、よろしくお願いいたします。
Yoko
Yoko il 13 Feb 2018
EV3 のファームウェアのバージョン 1.08H は対応しております。
ハードウェアに展開は実施可能とのこと、了解しました。フリーズに関して、反応しなくなる状況は他にもあるとのことですね。
状況として、前のタスクが終わる前に、スケジューラが次のタスクを実行しようとして、発生している可能性があります。コンフィギュレーションパラメータに、この状況(Task Overrun)を検出するためのプロパティがあります。下記URLに詳細な情報が書いているので、こちらを設定して、Task Overrun か否か確認すると良いかと思います。その場合も対処法もURLに記載されておりますので、併せてご確認頂ければと思います。
Takashi Kojima
Takashi Kojima il 18 Feb 2018
遅くなりましたが、度々のご返答ありがとうございます。
Task Overrunも設定してみましたが、 固定ステップのサンプル時間を短めに設定した場合は、EV3にTask Overrunという表示が出て、10秒程度でフリーズ。 長めにした場合は、何も表示が出ないまま10秒程度(? 同程度の時間)でEV3がフリーズ、と関係が無いような挙動を示しております。
ファームウェアのバージョンが問題ないとのことで、モデルも基本的にはサンプルモデルをそのまま使っていて問題が出ておりますので、当方のWifi環境に何か問題があるのではと疑っております。 何かしら別のルータを入手して試してみようと考えております。
Yoko
Yoko il 20 Feb 2018
色々と試して頂いたようで、ありがとうございます。サンプル時間が短い場合も長い場合も10秒程度でフリーズするとのことで、おっしゃるように Task Overrun ではなさそうですね。 ファームウェア自体が、問題がある可能性も 0 ではないので、ルーターを試す前に一度ファームウェアの再インストールを試してみると良いかもしれません。

Accedi per commentare.

Più risposte (0)

Richiesto:

il 4 Feb 2018

Commentato:

il 20 Feb 2018

Community Treasure Hunt

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

Start Hunting!