バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
python-canでCAN-FDのシミュレーション。
今回はCAN-FD用のPythonコードを動作させる。
登場人物
博識フクロウのフクさん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
シミュレーション構成復習
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
フクさん
予想以上に手間取ったので一旦シミュレーション構成を復習しておこう。
![Python、CAN-FD、can.logger、can.player、python-can、BusMaster、Virtual CAN Bus](https://www.simulationroom999.com/blog/wp-content/uploads/2020/10/02_シミュレーション構成-1024x583.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
太郎くん
いろいろあって忘れかけてたけど、こんな感じだったねー。
まぁCANのときと一緒なんだけど。
シミュレーション
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
フクさん
とりあえずPython用のターミナルを3つ立ちあげて以下のコマンドでそれぞれ動作する感じ。
> python -m can.logger -i vector -c 0 --fd -f canfdlog.asc
> python canfdrecv.py
> python canfdsend.py
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
太郎くん
動作せる順番もこれで良いね。
シミュレーション結果
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
フクさん
シミュレーション結果はこうなる。
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
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
太郎くん
Pythonコード側の出力でFとかBSってのは、
FDF(FD Format Indicator)とBRS(Bit Rate Switch)のことかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
フクさん
そうだね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
太郎くん
can.loggerでは判断付かないけど、
ちゃんとCAN-FDとして送受信できてるってことだねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
フクさん
とりあえず、CAN-FDの送受信はここまでかな。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
フクさん
まとめだよ。
- シミュレーション構成復習。
- CAN-FDの送受信のシミュレーション実施。
バックナンバーはこちら。
コメント