【XCP】最小構成のMBD事例 第2章 その234【CAN-FD⑪】

【XCP】最小構成のMBD事例 第2章 その234【CAN-FD⑪】 事例
【XCP】最小構成のMBD事例 第2章 その234【CAN-FD⑪】

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

はじめに

前回は、PyXCPの各種VersionのCAN-FD対応状況の確認。
いろいろあって、最新版ではなく0.16.5を使用することとした。

今回から再度CAN-FD関連の動作確認をPyXCP Version0.16.5にて実施する。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

動作確認内容

太郎くん
太郎くん

PyXCPのVersionを変えて再度動作確認するわけだけど、
内容的には以前と一緒だね。

フクさん
フクさん

そうだね。
UPLOAD、DOWNLOAD、DAQ、STIMを確認すればOKだ。

コンフィグレーション用JSON記述

フクさん
フクさん

コンフィグレーション用JSON記述も変更しておく必要がある。
と言っても、SERIALのパラメータを削除するだけなんだけど。

JSON = """{
"TRANSPORT": "CAN",
"CAN_DRIVER": "Vector",
"CAN_USE_DEFAULT_LISTENER": true,
"CHANNEL": "0",
"CAN_ID_MASTER": 2,
"CAN_ID_SLAVE": 1,
"CAN_ID_BROADCAST": 256,
"MAX_DLC_REQUIRED": false,
"CREATE_DAQ_TIMESTAMPS": true,
"BITRATE": 500000,
"FD":true,
"DATA_BITRATE": 2000000,
"APP_NAME": "PyXCP-CANFD"
}"""
CONF_JSON = StringIO(JSON)
CONF_JSON.name = "conf_can_vector.json"
CONFIG = readConfiguration(CONF_JSON)

SERIALのパラメータの謎

太郎くん
太郎くん

そういえば、なんでSERIALのパラメータがあるとダメなの?

フクさん
フクさん

ここは私もハッキリとは分かっていないのだが。

フクさん
フクさん

SERIALパラメータは本来、複数のVector社デバイス、例えばVN1610とかを接続している場合、製品シリアルNoを元にどのデバイスに対して処理を行うか。
ってのを指定するものっぽい。

フクさん
フクさん

で、今回はVirtual CAN Busなんで製品シリアルNoなんてものは存在しない
よって、とりあえず0を指定していた。

フクさん
フクさん

この指定を元に該当デバイスを見て、このデバイスがCAN-FDに対応しているか
ってのは判断して、CAN-FD未対応デバイスに対して、CAN-FDフレーム送出を指示するとXLドライバライブラリ側でエラーとして処理する。

フクさん
フクさん

で、Virtual CAN BusはCAN-FDに対応しているはずなので、CAN-FDフレームを指示しても問題無いのだが、
ここら辺の内部エラーハンドリングが一部食い違っているのかもしれない。

太郎くん
太郎くん

かもしれないって・・・。

フクさん
フクさん

まぁ無償で使わせてもらってるものだし、
Vector社に問い合わせるのもアレでしね・・・。

太郎くん
太郎くん

確かに問い合わせ難いよねぇ。
こんな半分遊びでやってるものにわざわざ対応してもらうのも悪いよねぇ。

フクさん
フクさん

(遊び・・・。まぁいいけど。確かに遊びだもん)

フクさん
フクさん

というわけで、ここはこれ以上掘り下げるのは困難なので、
そういうもんだ」ってことにしよう。

まとめ

フクさん
フクさん

まとめだよ。

  • PyXCP Version0.16.5にてCAN-FDの動作確認再開。
  • まずはコンフィグレーション用JSON記述を修正。
    • SERIALパラメータを削除。
  • SERIALパラメータはデバイスの製品シリアルを指定するもの。
    • CAN-FD対応有無を判断しているようで、この判定でCAN-FD不可側になってるように見える。

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

コメント

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