CANoe

事例

最小構成のMBD事例 第2章 バックナンバー

Modelicaによるプラント設計。それをFMUにして他のプラットフォーム(Python等)での再利用。さらに制御器との様々な接続方法(ASAM XCP等)の事例を紹介していく話。Modelica用ツールとしてはOpenModelicaを使用する。
事例

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

CANoe仮想HILS、AUTOSAR-XCP仮想ECUの実験構成を再確認上記の動作確認実施。かなりキレイな波形が取れている。CANoe環境であれば1msオーダーの応答性が確保可能。Python環境、CANoe環境を検証プロセスに含めると確保難な設備利用の回数を減らす効果が期待できる。
事例

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

AUTOSAR-XCPこと仮想ECU側の修正コード開示。PID制御器の処理周期修正。ecu_t10ms_job()関数からecu_t1ms_job()関数へ移動。PID制御器か内の微分、積分の演算で使用しているΔtを修正。#define dTを0.001に変更。
事例

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

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

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

ネットワークノード(Controller)に追加するXCP DAQ/STIM関連のCAPLコード開示。CAPLのCAN送信/受信の機能を使って、無理やりXCPを実現。on message 2でDAQ受信を実現、stimでSTIM送信を実現。同時にシグナル単位の単位変換も行っている。
事例

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

CANoeテストノードに記載するXCPセットアップ関連のCAPLコード開示。ネットワークノードはイベントドリブン型、テストノードはシーケンシャル型とやや性格が違う。といっても、テストノードでもCAN送信/受信イベントは受け取れるので気にするほどの差ではない。
事例

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

CANoeでXCP関連の処理を追加する際の方針を確認。複数のノードにXCP関連処理を記載するので連携が必要。ノード間連携はCANoeシステム変数を使うのが最も手っ取り早い。CANoeシステム変数の追加方法を確認。CAPLからシステム変数にアクセスする際は変数名の目に「@」をつける。
事例

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

CANoe上の指令器をdisable。シミュレーション設定ウィンドウのノード上でdisable操作が可能。CANOe上にテストノード追加。シミュレーション設定ウィンドウのバス上で追加操作可能。今回はCAPLテストモジュールを使用。.NET、XMLのテストモジュールは気が向いたら調べる。
事例

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

残り作業はXCPだけではない。構造が複雑なので一旦整理。Virtual CAN BusとCANoeシミュレーションバスは直結していると思って良い。CANoe仮想HILSと仮想ECU連携のロードマップ提示。指令器disable。テストノード追加。XCP関連セットアップ。DAQ/STIM関連。
事例

【FMI/FMU】最小構成のMBD事例 第2章 その263【CANoe⑯】

32bit FMU作成しCANoeに組み込んだ。CANoeでFMU駆動の実験。かなりキレイな波形が取れた。FMU、CAN送信共に1ms駆動させているため。Pythonの時は100ms駆動相当になっていた。このあとはCAPLでXCPを実現するがpython-canでやったことと同じことをやればOK。