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

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

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

スポンサーリンク

はじめに

前回、CANoeが32bitFMUを要求する調査結果を確認。
どうらやCANoe内で2つのプロセスが動作しており、
FMUを処理する側のプロセスが32bitプロセスになっているようである。

今回はこれらの推測を裏付ける話をする。

スポンサーリンク

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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内で2つのプロセスが動作してて、
それらが64bitプロセスと32bitプロセスがあるって根拠を教えてくれるだっけ?

フクさん
フクさん

そうだね。
というわけでCANoeを起動した状態で、タスクマネージャを起動。

太郎くん
太郎くん

起動した。

フクさん
フクさん

Vector CANoeのプロセスをツリー上にプロセスの依存関係が見れる。

太郎くん
太郎くん

確かにツリー上に開いた。

タスクマネージャでCANoeのプロセス依存関係確認、Vector CANoe 12.0(3)、FMU、シミュレーションバス、Vector CANoe/pro、Vector CANoe/CANalyzer Runtime Kernel(32bit)、コンソールウィンドウホスト、ランタイムカーネル
太郎くん
太郎くん

お!
Vector CANoe/CANalyzer Runtime Kernel
ってのが32bitプロセスっぽいぞ!
これがフクさんの言ってたランタイムカーネルってやつか?!

フクさん
フクさん

そうそう。
ここから描画用プロセス計測/演算用のプロセスが分かれてて、
それぞれが64bitプロセス32bitプロセスになっているだろう。
と予測したわけだ。

スポンサーリンク

プロセス間通信の方法

太郎くん
太郎くん

プロセスが分れているってことは、プロセス間通信をしてるってことだよね?
これは流石にどうやってるかはわからないよねー。

フクさん
フクさん

プロセス間通信はPIPE、共有メモリといろいろあるが、
基本的には特定は難しい。
が、CANoeの設計思想から考えてTCP/IPでプロセス間通信をしていると仮説を立てた。

太郎くん
太郎くん

CANoeの設計思想?

フクさん
フクさん

設計思想の方は後で説明するとして、
ランタイムカーネルにTCP/IP用のListenポートがあるか確認してみよう。

太郎くん
太郎くん

どうすればわかるの?

フクさん
フクさん

タスクマネージャ上のランタイムカーネルのプロセスを右クリックして詳細を選ぶと、タスクマネージャの詳細タブに飛ぶんだけど、そこでプロセスIDというものがわかる。
そのプロセスIDをメモっとく。

太郎くん
太郎くん

メモった。
18552だったよ。

フクさん
フクさん

コマンドプロンプトを起動して以下のコマンドを実行。

> netstat -ao | find  "18552"
太郎くん
太郎くん

お!
なんか該当する行があるみたいだよ!

CANoeのランタイムカーネルプロセスのlistenポート、netstat -ao | find  "18552"
フクさん
フクさん

これで、CANoeの2つのプロセスがTCP/IPで通信している可能性が高くなったというわけだ。
次はこれらの通信状況とか、さっき言ったCANoeの思想の部分の話だな。

スポンサーリンク

まとめ

フクさん
フクさん

まとめだよ。

  • CANoe内の描画プロセスと計測/演算プロセスの存在をタスクマネージャで確認。
    • 計測/演算プロセスことランタイムカーネルが32bitプロセス。
  • ランタイムカーネル側のプロセスIDを元にTCP/IPのListenポートを確認。
    • netstatで該当プロセスにListenポートがあることを確認。

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

コメント

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