バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
AUTOSAR-XCPによるSTIMの実現を確認できた。
しかし、現所はXCPのプロトコルが実装されているだけで、
ECUっぽい制御は入っていない。
ECUっぽいXCPスレーブである仮想ECUとして仕上げる必要がある。
登場人物
博識フクロウのフクさん

イラスト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でSTIMが出来たことだし、
HILSもどきとしてはおおよそ完成なんじゃない?

まぁHILS側としていい線まで来たが、
そもそもECU側の制御がXCPスレーブ側に居ないだよね。

あれ?
制御というとPID制御がFMUの中に入ってたから
それを使うのかとおもってたんだけど?

FMUはHILS側で制御対象を実現することに使用するが、
制御としてはECU側に居ないと現実に即していない。

以前、見せた絵ではあるが、以下を実現するにはECU側にPID制御器を入れる必要がある。


と、いうことは前回まで使用していたAUTOSAR-XCPにPID制御を埋め込む必要があると・・・。
使用するPID制御器

使用するPID制御器だが、
過去に作ったものをそのまま流用しよう。

PID制御は確かに過去何回かやった記憶はあるが・・・。
やったという記憶しかないな・・・。

まぁ代表的な記事としては以下を参照かな。

あ、そうそう。
こんか感じでやってた。
PIDを実装する箇所

で、PIDのコードとしてはどこに入れ込むの?

AUTOSAR-XCPにECUの処理周期として、
1ms、10ms、100ms、200msをすでに用意してある。
今回のPID制御としては10msの処理周期に入れ込む感じになるかな。

なるほど。
すでにどこに入れ込むかも想定ずみだったのね。
動作確認方法

PID制御器をAUTOSAR-XCPに入れ込むのは分かったけど、
動作確認はどうするの?
以前のやり方だとSimulinkのS-Functionにしたりとかしてたけど。

以前やった方式はS-FunctionはPID制御器のコードとSimulinkモデルの振る舞いの一致性を評価する目的だった。
今回はソースコードレベルであれば、問題無いことが保証されてるから、
XCP経由で入出力を指定して、PID制御器の特性が見て折れればOK。
って感じでしてしまおうかと思ってる。

そうか。
XCP経由でRAM値の読み書きができるから、
そういった動作確認の仕方もできるのか。

本当はちゃんとしたプラントモデルと繋ぎたいが
まずは仮想ECU側の正しさを証明するため、
テスト用のデータパターンを入れて見て、
目標値に対して追従してそうかだけを評価しよう。
まとめ

まとめだよ。
- 仮想ECUを作るべくAUTOSAR-XCPに制御器を組み込む必要がある。
- PID制御器は過去記事で作ったものを流用予定。
- 制御周期はとりあえず、10msあたりにしておく。
- PID制御器の動作確認はXCP経由で入出力を制御することで実施する予定。
- PID制御器自体のソースコードは以前、SILS等で確認済み。
バックナンバーはこちら。
コメント