バックナンバーはこちら。
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等で確認済み。
バックナンバーはこちら。
コメント