事例

【XCP】最小構成のMBD事例 第2章 その152【XCP Basic⑥】

XCP Basicを入手方法。 Vector社のサイトから入手。 インストール。 最初にEULAが出てくる。 インストール先にはXCP Basicのソースコードが展開されるので好きなところでOK。 ビルド環境は恒例のVisual Studio 2017 express。 Virtual CAN Busのインストール。
事例

【XCP】最小構成のMBD事例 第2章 その151【XCP Basic⑤】

XCP Basic動作までの方針を決めた。 数点、要否が確定できない作業があるが、実際に確認してみてから決める。 実験構成を提示。 CANの制御はPython-CANを使用。 単純な送受信であればお手軽。 恒例のVirtual CAN Busを使用。 物理的な制約を一旦無視して論理的な正しさを求める場合はこれが一番楽。
事例

【XCP】最小構成のMBD事例 第2章 その150【XCP Basic④】

プロプライエタリ品との差別化のためXCP Basicには機能制限がある。 XcpBasic.cに機能制限について記載されている。 特に大きいのがSTIM使用不可。 STIM使用不可に関してはDOWNLOADで代替可能。 ただし、スループットはどうしても落ちる。 とりあえずの落としどころとしてやむを得ず。
事例

【XCP】最小構成のMBD事例 第2章 その149【XCP Basic③】

XCPのシミュレーション環境が欲しい。 候補としてはVector社で無償で公開されているXCP basicがある。 XCP basicはEULAとしてはVector社の責が無いことを前提に自由にして良い。 サポートが必要な場合は有償。 XCP ProfessionalやMICROSAR XCPというプロプライエタリ品もある。
事例

【XCP】最小構成のMBD事例 第2章 その148【XCP Basic②】

ECUの外側の疑似化にXCPを使うってのはインターフェースをXCPにするってことだった。 以前やったBypassとはデータの流れは逆向きになっている。 XCPで直接RAMの読み書きを行うことで物理的なインターフェースの制約を無視できる。 逆に物理的な制約に紐づいた検証はできないという欠点はある。
事例

【XCP】最小構成のMBD事例 第2章 その147【XCP Basic①】

「HILSもどき」を利用した試したい事はXCPを利用することらしい。 XCPはBypass関連の記事で一年以上前にやったことはある。 BypassはECUの一部の機能をXCPを使って疑似化するもの。 今回やろうとしていることはECUの外側をXCPを使って疑似化するもの。 詳細は次回説明予定。
事例

【PyFMI】最小構成のMBD事例 第2章 その146【CAN連携⑩】

「指令器」と「FMU処理&グラフ描画処理」の結合実験実施。 共に問題無く動作。 CANの送信周期が100msというのもあって、波形もキレイ。 上記の状況を動画で確認。 「HILSもどき」というおおよそ目的を達成した気もするが、他のアプローチも試したいのでこのシリーズはまだまだ続く。
事例

【PyFMI】最小構成のMBD事例 第2章 その145【CAN連携⑨】

CAN連携の受信側(FMU処理、グラフ描画)のコードを開示。 __init__にバズ初期化とチェックボックス配置。 FMU_handlerでCAN受信。 ただし、タイムアウト0秒のポーリング方式。 一応起動することだけは確認済み。 あとは指令器側のCAN送信との連携を試すのみ。
事例

【PyFMI】最小構成のMBD事例 第2章 その144【CAN連携⑧】

GUI(tkinter)にチェックボックス追加。 「can rcv」というチェックボックス。 チェック時に受信有効になる想定。 CAN受信にチェックボックス判定追加。 if文を追加したのみ。 バス初期化、チェックボックス生成は__init__メソッドに追加予定。 CAN受信はFMU処理のタイマハンドラ内に追加予定。
事例

【PyFMI】最小構成のMBD事例 第2章 その143【CAN連携⑦】

CAN受信用にモード切替のUIが必要。 チェックボックスで実施予定。 CAN受信のimport、バス初期化はCAN送信側といっしょ。 実際の想定受信コードも記載。 スレッドを使うことも可能だが、タイムアウトを0秒にするポーリング型を想定。 とりあえず、負荷に影響を与えない&シンプルな実装にする。