バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
python-canでCAN-FDのシミュレーション。
今回はCAN-FD用のPythonコードを動作させる。
登場人物
博識フクロウのフクさん
イラスト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のときと一緒なんだけど。
シミュレーション
フクさん
とりあえずPython用のターミナルを3つ立ちあげて以下のコマンドでそれぞれ動作する感じ。
> python -m can.logger -i vector -c 0 --fd -f canfdlog.asc
> python canfdrecv.py
> python canfdsend.py
太郎くん
動作せる順番もこれで良いね。
シミュレーション結果
フクさん
シミュレーション結果はこうなる。
canfdsend.pyの出力
Send msg : Timestamp: 0.000000 ID: 00000111 X F BS DLC: 9 01 02 03 04 05 06 07 08 09
Recv msg : Timestamp: 1602731010.594256 ID: 00000222 X F BS DLC: 6 0a 0b 0c 0d 0e 0f Channel: 0
canfdrecv.pyの出力
Recv msg : Timestamp: 1602731010.593276 ID: 00000111 X F BS DLC: 12 01 02 03 04 05 06 07 08 09 00 00 00 Channel: 0
Send msg : Timestamp: 0.000000 ID: 00000222 X F BS DLC: 6 0a 0b 0c 0d 0e 0f
can.loggerの出力
Begin Triggerblock
0.000000 Start of measurement
0.000000 1 111x Rx d 12 01 02 03 04 05 06 07 08 09 00 00 00
0.000967 1 222x Rx d 6 0A 0B 0C 0D 0E 0F
End TriggerBlock
太郎くん
Pythonコード側の出力でFとかBSってのは、
FDF(FD Format Indicator)とBRS(Bit Rate Switch)のことかな?
フクさん
そうだね。
太郎くん
can.loggerでは判断付かないけど、
ちゃんとCAN-FDとして送受信できてるってことだねー。
フクさん
とりあえず、CAN-FDの送受信はここまでかな。
まとめ
フクさん
まとめだよ。
- シミュレーション構成復習。
- CAN-FDの送受信のシミュレーション実施。
バックナンバーはこちら。
コメント