モデルベース開発

事例

【上流検証】最小構成のモデルベース開発事例 その30【ネットワークRAPID③】

前回はMicroAutoBoxで使用されていたSimulinkモデルを取得した。 このSimulinkモデルの主要ロジックだけを抜き出して単体テストをしてみる。 Simulinkモデルだけでは正しい保証は困難。 テストパターンとテスト結果もセットであれば、最も正しい仕様書になる可能性は高い。
事例

【上流検証】最小構成のモデルベース開発事例 その29【ネットワークRAPID②】

正直言うとまずはMicroAutoBox使った方が良い。 すでに精度や性能の見積が出来ているのであれば、費用対効果を意識しだしても良い。 プログラマブルな振る舞いの場合、MATLAB Functionブロックを使用した方が楽な場合がある。 可能であれば、StateFlowの利用も検討しておくと状態の見える化が出来て吉。
事例

【上流検証】最小構成のモデルベース開発事例 その28【ネットワークRAPID①】

前回まででネットワークMILSは終了したが、 何となく似たようなのネタスタート。 違いは、ブラックボックスを許容してしまっている点? ダミーの信号を作る際は、普通はラピッドコントローラを使用する。 時間精度がそれほど求められないのであれば、PCから制御するタイプでもある程度なんとかなる。
事例

【上流検証】最小構成のモデルベース開発事例 その27【ネットワークMILS⑥】

前回でCANoeのノードに組み込むSimulinkDLLを作成した。 今回こそは動かす! dbc、モデル生成ウィザード、SimulinkDLL、シミュレーションまでの流れを復習。 そしてやっと動かした! あとは徐々に本物と差し替えたりすると応用の幅が広がる。
事例

【上流検証】最小構成のモデルベース開発事例 その26【ネットワークMILS⑤】

CANoeに組み込むSimulinkDLLを作成するにはSimulinkCoderとCANoeのMATLABコンポーネントが必要。 Simulinkモデルの入出力にCANoe IOのSingnal Input/Outputを接続してSignalを読んだり更新したりできる。 SimulinkDLLはCANoeの各ノード毎に設定できる。
事例

【上流検証】最小構成のモデルベース開発事例 その25【ネットワークMILS④】

今回はCANoe上にネットワークを構築する。 dbcファイルがあると、「モデル生成ウィザード」でCANoe上に自動でネットワーク構築できる。 「シミュレーションバス」であれば、実際のCAN回線につなぐ必要はない。 ノードパネルでシグナルの値を手打ちで変更可能。 本格的にテスト利用するにはCAPL言語を使用した方が良い。
事例

【上流検証】最小構成のモデルベース開発事例 その24【ネットワークMILS③】

今回はこれらをdbcというネットワーク構成定義ファイルを作成する。 CANoeでネットワーク構造を定義するにはdbcファイルを作成する必要がある。 dbcファイルはCANdb++で作成。 ネットワーク定義はノード、メッセージ、シグナルの階層構造になる。 ノードにメッセージをぶら下げる。 メッセージにシグナルをぶら下げる。
事例

【上流検証】最小構成のモデルベース開発事例 その23【ネットワークMILS②】

インターフェースがいきなりCANに変更になるという大惨事。 まずは同等の環境を作るためVector社のCANoeを手配。 CANはマルチマスタなネットワーク。 しかし概念上は個別の信号線を模しているだけ。 CANをうまく利用するためにはネットワーク構成を明確にする必要がある。 ノード、CANID、シグナル。
事例

【上流検証】最小構成のモデルベース開発事例 その22【ネットワークMILS①】

今回からはそれをどう流用していくかの話へシフト。 制御とインターフェースを分けたことで、インターフェースだけを差し替えるということは可能。 だたし、簡単かどうかは別問題。 Simulinkモデルがあればラピッドコントローラで疑似的なECUを作ることは可能。 CANに限定するならば、車載ネットワークシミュレータを使用することも可能。
事例

【上流検証】最小構成のモデルベース開発事例 その21【可変周期PID】

今回は横道にそれて、ちょっとした実験を行うことにした。 Δtをパラメータとして扱うことができる。 これにより、PIDの駆動周期が可変でも対応可能。 Δtと駆動周期が同時に変化するので、数学的には通常のPIDと同一と言える。 総和法、差分法による誤差分があるため完全一致とはいかないが、ほとんどの制御では問題なく動作する。