KEI

事例

【上流検証】最小構成のモデルベース開発事例 その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と同一と言える。総和法、差分法による誤差分があるため完全一致とはいかないが、ほとんどの制御では問題なく動作する。