【CANoe】最小構成のMBD事例 第2章 その269【仮想ECU連携⑥】

【CANoe】最小構成のMBD事例 第2章 その269【仮想ECU連携⑥】 事例
【CANoe】最小構成のMBD事例 第2章 その269【仮想ECU連携⑥】

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

はじめに

前回までで
テストノードにXCPセットアップ関連のCAPL。
ネットワークノードのControllerにXCP DAQ/STIM関連のCAPL。
を実装したところ。

おおよそ準備は整ったところだが、AUTOSAR-XCP側も修正しておいた方が良いところがちょっとだけある。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

AUTOSAR-XCP側も修正するのか?

太郎くん
太郎くん

CAPLでXCPの実装も終わったことだし、あとは実際に動かすだけだねー。

フクさん
フクさん

いんや。
AUTOSAR-XCP側こと仮想ECUもちょっとだけ修正を入れる。

太郎くん
太郎くん

え?
なんか修正するところあったっけ?

フクさん
フクさん

まぁぶっちゃけ修正しなくても動作はするんだけど、
CANoe側のFMUとかCAN送信周期を1msにしてるんで、
仮想ECU側のPID制御の処理周期も1ms周期にしておいた方が良いかな。
って思って。

太郎くん
太郎くん

元々はどのくらいで回してたんだっけ?

フクさん
フクさん

10ms周期で回してるね。

太郎くん
太郎くん

10ms周期を1ms周期にするのってなんか大変なイメージがあるんだけど・・・。

フクさん
フクさん

今回のコード構成だと割と一撃な予定。

太郎くん
太郎くん

なんだ。
実は制御周期が変わることも想定済みってことだったのか。

フクさん
フクさん

想定済みか。
と問われるとあまり想定はしてなかったけど、
制御器の処理周期が変わることってのはプロトタイプ時にはあるあるなんでね。
本能的にそういう風にしてたってだけかな。

太郎くん
太郎くん

(本能に刷り込まれてるのか。それはそれでやべぇな・・・。)

仮想ECU側の修正

フクさん
フクさん

で、仮想ECU側の修正だけど、
ecu.cの中を弄るだけでOKなはずだ。
以下の修正を想定している。

  • PID制御器の制御周期パラメータdTを0.01から0.001へ
  • ecu_t10ms_job()でPID制御器を処理していたのをecu_t1ms_job()へ移動。
太郎くん
太郎くん

あ、そんなもんなんだ。

フクさん
フクさん

大した変更じゃないで次回までに修正よろしく。

太郎くん
太郎くん

って、僕がやるの?!

フクさん
フクさん

「あ、そんなもんなんだ。」
って言ってたじゃん!

太郎くん
太郎くん

いや、自分でやるってことになるとちょっと事情が変わってくるよう!

フクさん
フクさん

まぁ間違ってたら指摘してあげるからやってみな。

太郎くん
太郎くん

つまるところ、呼び出す処理周期を変えるって話とPID制御器が想定している処理周期のパラメータがあるからそこも合わせて修正するってことなんだろうけど・・・。(ぶつくさぶつくさ)

フクさん
フクさん

(たまには頭使わせないとな)

まとめ

フクさん
フクさん

まとめだよ。

  • AUTOSAR-XCP側こと仮想ECUもちょっとだけ修正が必要。
    • 修正しなくても動くがCANoe側が1ms駆動なので仮想ECU側も1ms駆動にしたい。
  • 修正は以下。
    • PID制御器の処理周期を1ms化。
    • PID制御器の演算用の想定処理周期パラメータを1ms化。

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

コメント

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