【FMI/FMU】最小構成のMBD事例 第2章 その260【CANoe⑬】

【FMI/FMU】最小構成のMBD事例 第2章 その260【CANoe⑬】 事例
【FMI/FMU】最小構成のMBD事例 第2章 その260【CANoe⑬】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/

はじめに

前回は、ついについにCANoe上でFMUを動作させる実験を開始・・・したが・・・。
謎エラーが発生。
CANoe64bitアプリなので64bit向けFMUを読み込ませればOKなはずだが、
どうも32bit向けFMUを要求している。

ここらへんの調査結果を確認する回となる。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

フクさんの調査結果

太郎くん
太郎くん

で、CANoeがFMUを読み込めない原因は分かった?

フクさん
フクさん

まぁ一応わかった。
と言ったところかな。
調べても分からないものも多いので、仮説も含まれているけど。

太郎くん
太郎くん

仮説が入るのは仕方ないよねー。

フクさん
フクさん

結論としては以下かな。

  • CANoe内部はユーザインターフェース部とランタイムカーネル部に分かれている。
  • ユーザインターフェース部は64bitアプリ、ランタイムカーネル部は32bitアプリ。
  • ユーザインターフェース部とランタイムカーネル部はTCP/IPで通信してる。
  • FMUを読み込んで処理するのはランタイムカーネル部。
  • よって、FMUはwin32向けでなければならない。
太郎くん
太郎くん

なんか予想以上にややこしい話になってた・・・。

フクさん
フクさん

ただ、CANoeのVersionにも依存しているようで、
今回我々が使用しているversion12だと上記の構成だが、
version13以降だとランタイムカーネルも64bitアプリになってる可能性は高いな。
よって、win32向けFMUを作るか、version13以降のCANoeに変えるか。
だね。

太郎くん
太郎くん

うーん、CANoeのversionを入れ変えるのは僕の一存では難しいなぁ。

フクさん
フクさん

じゃー、win32向けFMUを作成する。
ってことになるね。

調査結果の明細

太郎くん
太郎くん

念のため、今回の調査結果の詳細を教えて欲しいかな。

フクさん
フクさん

まぁまぁボリュームあるよー。
調べるの大変だったんだからー。

太郎くん
太郎くん

まぁそこはうまくかいつまんで。

フクさん
フクさん

まずはCANoeの内部構成の予想図を見せよう。

CANoe内部構成予想図、ユーザインターフェース(64bitプロセス)※ 描画担当、ランタイムカーネル(32bitプロセス)※ 計測/演算担当、TCP/IP
太郎くん
太郎くん

さっき説明してくれた話だよね。
ランタイムカーネル側が割とリアルタイムな処理を担当してるってことかな?

フクさん
フクさん

おそらくそうだろう。
まぁこの仮説を元に裏付け調査や、

なぜこのような構成を取っているかの理由の推測ってのもやってる。
次回はこれらの話をしよう。

まとめ

フクさん
フクさん

まとめだよ。

  • CANoeが32bitFMUを要求する理由の調査結果。
    • CANoe内に2つのアプリケーションが動作しているもよう。
      • 描画担当で64bitプロセス。
      • 計測/演算担当の32bitプロセス。
  • FMUは計測/演算担当のプロセス側が読み込んでるっぽい。
  • CANoeの内部構成についていろいろ考察したので次回説明予定。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました