【CAN-FD】車両診断通信 その91【python-can④】

【CAN-FD】車両診断通信 その91【python-can④】 車両診断通信

バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/

はじめに

python-canでCAN-FDのシミュレーション。
今回こそcan.playerで再生、can.loggerで収録。

登場人物

博識フクロウのフクさん

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

can.playerでCAN-FD再生方法

フクさん
フクさん

よし、勝手に拡張したんで、
使用方法をおさらいついでに説明する。

太郎くん
太郎くん

うん。CAN-FD用に勝手に拡張したもんね。

フクさん
フクさん

can.player(CAN-FDモード)の使用法は以下。

> python -m can.player -i vector -c 0  --fd canfd.asc

-m:動作モジュール指定
-i:インターフェース指定
-c:チャンネル指定
–fd:CAN-FD対応オプション(今回追加)
オプション無しで再生ファイル指定

太郎くん
太郎くん

4つ目の”–fd”オプションが勝手に追加したヤツね。

can.loggerでCAN-FD収録方法

フクさん
フクさん

そしてcan.loggerの方。

> python -m can.logger -i vector -c 0 --fd -f canfdlog.asc

-m:動作モジュール指定
-i:インターフェース指定
-c:チャンネル指定
–fd:CAN-FD対応オプション(今回追加)
-f:収録ファイル指定
  ※ 拡張子によってフォーマットが変化
  asc、blf、csv等

太郎くん
太郎くん

こっちも4つ目の”–fd”オプションが勝手に追加したヤツだね。

フクさん
フクさん

というわけで、使い方についてはほとんど変わらないってことになるね。

再生&収録結果

フクさん
フクさん

そして、動作結果

フクさん
フクさん

こっちが再生したasc

Begin Triggerblock
 0.000000 Start of measurement
 0.000000 CANFD   1 Rx 111 1 1 d 8 11 22 33 44 55 66 77 88
 0.001000 CANFD   1 Rx 222 1 1 d 64 21 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79
 0.002000 CANFD   1 Rx 333 1 1 d 64 22 7A 7B 7C 7D 7E 7F 01 0A 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36
 0.010000 1  111    Rx         d 8 11 22 33 44 55 66 77 88
 0.011000 1  222    Rx         d 8 11 22 33 44 55 66 77 88
 0.012000 1  333    Rx         d 8 11 22 33 44 55 66 77 88
 0.020000 CANFD   1 Rx 111 1 1 d 8 11 22 33 44 55 66 77 88
 0.021000 CANFD   1 Rx 222 1 1 d 64 21 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79
 0.022000 CANFD   1 Rx 333 1 1 d 64 22 7A 7B 7C 7D 7E 7F 01 0A 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36
 0.030000 1  111    Rx         d 8 11 22 33 44 55 66 77 88
 0.031000 1  222    Rx         d 8 11 22 33 44 55 66 77 88
 0.032000 1  333    Rx         d 8 11 22 33 44 55 66 77 88
End TriggerBlock
フクさん
フクさん

こっちが収録したasc

Begin Triggerblock
 0.000000 Start of measurement
 0.000000 1  111             Rx   d 8 11 22 33 44 55 66 77 88
 0.000991 1  222             Rx   d 64 21 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79
 0.001991 1  333             Rx   d 64 22 7A 7B 7C 7D 7E 7F 01 0A 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36
 0.008987 1  111             Rx   d 8 11 22 33 44 55 66 77 88
 0.009953 1  222             Rx   d 8 11 22 33 44 55 66 77 88
 0.011977 1  333             Rx   d 8 11 22 33 44 55 66 77 88
 0.018932 1  111             Rx   d 8 11 22 33 44 55 66 77 88
 0.020980 1  222             Rx   d 64 21 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79
 0.022970 1  333             Rx   d 64 22 7A 7B 7C 7D 7E 7F 01 0A 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36
 0.028934 1  111             Rx   d 8 11 22 33 44 55 66 77 88
 0.030917 1  222             Rx   d 8 11 22 33 44 55 66 77 88
 0.032907 1  333             Rx   d 8 11 22 33 44 55 66 77 88
End TriggerBlock
太郎くん
太郎くん

おー。バッチリ取れてるね!

太郎くん
太郎くん

と、思ったのだけど、
can.loggerの結果がCAN-FDじゃなくて、CANのログのフォーマットになってない?

フクさん
フクさん

そーなんだよねー。
これが前回いってたcan.loggerの問題点。

can.loggerの問題点

太郎くん
太郎くん

察するに、can.loggerでCAN-FDの収録はできるけど、
フォーマットがCAN-FDにならないってことになるのかな?

フクさん
フクさん

そうだね。
can.player、can.loggerに内包する形でascreaderとascwriterというモジュールがあるんだけど、

  • ascreaderはCAN-FDに対応している。
  • ascwriterはCAN-FDに対応していない。

って状態になってる。

※ 本記事執筆時点のversionが3.3.3なんで、それより後のversionでは対応されてるかもしれない。

太郎くん
太郎くん

でも、まぁDLCを見ればわかるからあんまり問題にはならないのかなー?

フクさん
フクさん

うーん、DLCが8以下だとCANかCAN-FDか見分けがつかないことになるけど、
今回のシミュレーションに於いては目をつむるしかないねー。

まとめ

フクさん
フクさん

まとめだよ。

  • 改造版のcan.playerとcan.loggerの使用方法説明。
    • ともに”–fd”というオプションを追加しただけ。
  • can.player、can.loggerで再生&収録した。
    • can.loggerが内包しているascwriterがCAN-FDフォーマットに対応していないためCANとCAN-FDの区別がつかない。
    • とりあえず、シミュレーションする上では気にしない方針。

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

コメント

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