バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
PyXCPのCAN-FD対応版のxcp_canfdクラスを作成を作成した。
前々回までの修正方針にそって修正し、
前回はコード開示までを行った。
よって、今回は実際に動かしてみて、その結果を確認する。
登場人物
博識フクロウのフクさん

イラスト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
xcp_canfdクラス動作確認

じゃー、動かすよーポチー
![xcp_canfd動作結果、制御値[V]、目標値[rad/s]、実値[rad/s]、target[rad/s]、input[rad/s]、output[V]](https://www.simulationroom999.com/blog/wp-content/uploads/2022/01/02_xcp_canfd動作結果-1024x555.png)

おー、ちゃんと動いてるっぽい。

念のためXCPonCANだった時の物と比較してみよう。
![PID制御の結果、目標値[rad/s]、実値[rad/s]、制御値[V]](https://www.simulationroom999.com/blog/wp-content/uploads/2021/12/03_PID制御の結果-1024x555.png)

全く一緒と言って良いレベルで一緒だ!

一応挙動としては問題無いだろう。
さらに念のためCAN-FD回線モニタ結果

一応、CAN-FD回線モニタもしておいた。
DAQとSTIMところの挙動を確認しておこう。


XCponCANの時と同じでDAQとSTIMのODT_ENTRYのレイアウトを合わせてるからキレイに並ぶんだねー。

ちゃんとSTIM発行後に目標値、実値が更新されて、
それに合わせて制御値が反応してる。

ということは、PID制御の振る舞いもOKそうだね。

まぁ完全にOKまでかはこれでは判断できないが、
PID制御器の性質が出ていることはわかる。
本当に妥当かは仮想HILSと結合後に確認だな。
次は何をする?

えーっと、ここまで来たら次は仮想HILSを改造するのかな?

DAQリスナーのことを忘れてるな。

あ、そういえばそういうのもあったね。
仮想ECUのDAQ応答を覗き見るやつ。

そうそう。
DAQ応答はECUの内部変数そのものと言えるので、
ECU側の監視のためにもDAQリスナーもXCPonCANFD対応しておいた方が良いだろう。

まぁDAQリスナーはそれほど難しい構造はしてなかったはずだから、あまり心配しなくてもOKかな。
まとめ

まとめだよ。
- xcp_canfdクラス動作確認を実施。
- 問題無く動作。
- 念のためxcp_canの時の動作確認結果とも比較。
- 同じ動きをしていることが確認できる。
- CAN-FD回線モニタも実施し、CAN-FDフレームのレベルでも確認。
- こちらも想定通りの動作をしていることを確認。
- PID制御器もおおよそ狙い通り動いてそう。
バックナンバーはこちら。
コメント