MATLAB Answers

0

Simulinkのバ​ージョンの違いにより​, シミュレーション​が実行できない

Asked by tawatawasi on 14 Mar 2018
Latest activity Answered by Yoko
on 15 Mar 2018
Simulink2017bにて構築したシミュレータが、Simulink2016bにおいて実行できません. エラーコードは以下のように表示されます. *** :ファイル名
エラー: *** (line 132) MATLAB System ブロック "*****/コントロール2/LMS Update" で、入力端子 1 の次元が不明です。 入力端子が、ループ内にある、Groundブロックまたは次元未指定のソースによって駆動されている、 あるいは未接続の信号線をもつ場合に、この問題が発生することがあります。 次元を指定した Signal Specification ブロックを入力端子の前に追加することを検討してください。
エラーコードは以上です. また, Simulink2017bにて、Simulink2016bのバージョンに書き出して実行しても, シミュレーションが実行できません. なぜなのでしょうか? 回答をよろしくおねがいします.

  0 Comments

Sign in to comment.

1 Answer

Yoko
回答者: Yoko
2018 年 3 月 15 日

上記が MATLAB System ブロックのダウンバージョンに関連する問題である可能性があると考え、試しに MATLAB System ブロックを含むデモモデル slexSysIdentMATLABSystemExample を R2016b 用のモデルとしてエクスポートして保存したものを、R2016b で起動・シミュレーションしたところ、特にエラーなくシミュレーションできました。そのため、どのような状況で本エラーが再現するか、把握しきれていない状態です。
上記エラー内容から、信号の次元に関する問題が発生していることが推測されます。MATLAB System ブロックの問題か、それともMATLAB System に入ってくるまでの信号に問題があるかを切り分けるために、下記を試されては如何でしょうか。
  • MATLAB System ブロック単体で動作するモデルを作成し、R2016b にエクスポートして実行
上記でエラーが出る場合、もしくは R2017b と入出力の次元が異なる場合は、MATLAB System の処理内容に問題がないかご確認頂ければと思います。
ブロック単体のモデルで動作する場合は、MATLAB System ブロックを空のサブシステムで置き換え、信号の次元がR2017bと同じ次元になっているか確認し、問題がある箇所があればそこを修正して再度試してみてください。
上記を試して分かったことがあれば、その内容を元に原因を推測することもできるかもしれません。どうぞよろしくお願いします。

  0 Comments

Sign in to comment.