事例 【上流検証】最小構成のモデルベース開発事例 その33【ネットワークRAPID⑥】 今回は、CAPLを使用したシステム変数のシグナルへの分配を行う。 CAPLはValueObjectというイベントハンドラを起点に処理を走らせる。 シグナル更新とCAN送信は別物。 シグナルの更新有無に関係なく送信周期を定義できる。 2020.06.28 事例
事例 【上流検証】最小構成のモデルベース開発事例 その32【ネットワークRAPID⑤】 今回は、システム変数の定義と出力の仕方の話になる。 SimulinkモデルからCANoeのシステム変数に出力する場合はSystemVriableOutputブロックを使用する。CANoeでシステム変数を定義できる。システム変数の型は、扱うシグナルに近いものを選択しておいた方が良い。 2020.06.27 事例
事例 【上流検証】最小構成のモデルベース開発事例 その31【ネットワークRAPID④】 SimulinkDLLの出力を2つのシグナルに渡すには2つの手法がある。 Signal Outputブロックを2つ使用。 システム変数に書き込んでからCAPLで各シグナルへ分配。 複数の回線のシグナルを扱うにはゲートウェイノードを定義する必要がある。 SimulinkDLL、CAPLのどっちを使うにしても同様の対応が必要。 2020.06.26 事例
事例 【上流検証】最小構成のモデルベース開発事例 その30【ネットワークRAPID③】 前回はMicroAutoBoxで使用されていたSimulinkモデルを取得した。 このSimulinkモデルの主要ロジックだけを抜き出して単体テストをしてみる。 Simulinkモデルだけでは正しい保証は困難。 テストパターンとテスト結果もセットであれば、最も正しい仕様書になる可能性は高い。 2020.06.25 事例
事例 【上流検証】最小構成のモデルベース開発事例 その29【ネットワークRAPID②】 正直言うとまずはMicroAutoBox使った方が良い。 すでに精度や性能の見積が出来ているのであれば、費用対効果を意識しだしても良い。 プログラマブルな振る舞いの場合、MATLAB Functionブロックを使用した方が楽な場合がある。 可能であれば、StateFlowの利用も検討しておくと状態の見える化が出来て吉。 2020.06.24 事例
事例 【上流検証】最小構成のモデルベース開発事例 その28【ネットワークRAPID①】 前回まででネットワークMILSは終了したが、 何となく似たようなのネタスタート。 違いは、ブラックボックスを許容してしまっている点? ダミーの信号を作る際は、普通はラピッドコントローラを使用する。 時間精度がそれほど求められないのであれば、PCから制御するタイプでもある程度なんとかなる。 2020.06.23 事例
事例 【上流検証】最小構成のモデルベース開発事例 その27【ネットワークMILS⑥】 前回でCANoeのノードに組み込むSimulinkDLLを作成した。 今回こそは動かす! dbc、モデル生成ウィザード、SimulinkDLL、シミュレーションまでの流れを復習。 そしてやっと動かした! あとは徐々に本物と差し替えたりすると応用の幅が広がる。 2020.06.22 事例
事例 【上流検証】最小構成のモデルベース開発事例 その26【ネットワークMILS⑤】 CANoeに組み込むSimulinkDLLを作成するにはSimulinkCoderとCANoeのMATLABコンポーネントが必要。 Simulinkモデルの入出力にCANoe IOのSingnal Input/Outputを接続してSignalを読んだり更新したりできる。 SimulinkDLLはCANoeの各ノード毎に設定できる。 2020.06.21 事例
事例 【上流検証】最小構成のモデルベース開発事例 その25【ネットワークMILS④】 今回はCANoe上にネットワークを構築する。 dbcファイルがあると、「モデル生成ウィザード」でCANoe上に自動でネットワーク構築できる。 「シミュレーションバス」であれば、実際のCAN回線につなぐ必要はない。 ノードパネルでシグナルの値を手打ちで変更可能。 本格的にテスト利用するにはCAPL言語を使用した方が良い。 2020.06.20 事例
事例 【上流検証】最小構成のモデルベース開発事例 その24【ネットワークMILS③】 今回はこれらをdbcというネットワーク構成定義ファイルを作成する。 CANoeでネットワーク構造を定義するにはdbcファイルを作成する必要がある。 dbcファイルはCANdb++で作成。 ネットワーク定義はノード、メッセージ、シグナルの階層構造になる。 ノードにメッセージをぶら下げる。 メッセージにシグナルをぶら下げる。 2020.06.19 事例