MATLAB Answers

0

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

Asked by Takashi Kojima on 4 Feb 2018
Latest activity Commented on by Yoko
on 20 Feb 2018
現在、サポートパッケージ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)
以上、よろしくお願いいたします。

  0 Comments

Sign in to comment.

1 Answer

Yoko
回答者: Yoko
2018 年 2 月 5 日
 採用された回答

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

  6 Comments

Yoko
2018 年 2 月 13 日
EV3 のファームウェアのバージョン 1.08H は対応しております。
ハードウェアに展開は実施可能とのこと、了解しました。フリーズに関して、反応しなくなる状況は他にもあるとのことですね。
状況として、前のタスクが終わる前に、スケジューラが次のタスクを実行しようとして、発生している可能性があります。コンフィギュレーションパラメータに、この状況(Task Overrun)を検出するためのプロパティがあります。下記URLに詳細な情報が書いているので、こちらを設定して、Task Overrun か否か確認すると良いかと思います。その場合も対処法もURLに記載されておりますので、併せてご確認頂ければと思います。
Takashi Kojima 2018 年 2 月 18 日
遅くなりましたが、度々のご返答ありがとうございます。
Task Overrunも設定してみましたが、 固定ステップのサンプル時間を短めに設定した場合は、EV3にTask Overrunという表示が出て、10秒程度でフリーズ。 長めにした場合は、何も表示が出ないまま10秒程度(? 同程度の時間)でEV3がフリーズ、と関係が無いような挙動を示しております。
ファームウェアのバージョンが問題ないとのことで、モデルも基本的にはサンプルモデルをそのまま使っていて問題が出ておりますので、当方のWifi環境に何か問題があるのではと疑っております。 何かしら別のルータを入手して試してみようと考えております。
Yoko
2018 年 2 月 20 日
色々と試して頂いたようで、ありがとうございます。サンプル時間が短い場合も長い場合も10秒程度でフリーズするとのことで、おっしゃるように Task Overrun ではなさそうですね。 ファームウェア自体が、問題がある可能性も 0 ではないので、ルーターを試す前に一度ファームウェアの再インストールを試してみると良いかもしれません。

Sign in to comment.