2020-06

事例

【上流検証】最小構成のモデルベース開発事例 その35【Bypass①】

今回からBypassという手法の話に突入。 まずはいつもの太郎くんの災難からスタート。 Bypassという実験手法がある。 使用する回線は特に決められていないが、EthernetやCANであることが多い。 アルゴリズムが確定しておらず、試行回数を増やす場合にとても有効な手法。
事例

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

いろいろ準備は整ったので今回は動かす! CAPLもブレークポイント、ステップ実行などのデバッグ機能は保有している。 ただし、シミュレーションバスの時だけ可能。 送信周期はプロットで見るか、CAN回線モニタで確認できる。
事例

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

今回は、CAPLを使用したシステム変数のシグナルへの分配を行う。 CAPLはValueObjectというイベントハンドラを起点に処理を走らせる。 シグナル更新とCAN送信は別物。 シグナルの更新有無に関係なく送信周期を定義できる。
事例

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

今回は、システム変数の定義と出力の仕方の話になる。 SimulinkモデルからCANoeのシステム変数に出力する場合はSystemVriableOutputブロックを使用する。CANoeでシステム変数を定義できる。システム変数の型は、扱うシグナルに近いものを選択しておいた方が良い。
事例

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

SimulinkDLLの出力を2つのシグナルに渡すには2つの手法がある。 Signal Outputブロックを2つ使用。 システム変数に書き込んでからCAPLで各シグナルへ分配。 複数の回線のシグナルを扱うにはゲートウェイノードを定義する必要がある。 SimulinkDLL、CAPLのどっちを使うにしても同様の対応が必要。
事例

【上流検証】最小構成のモデルベース開発事例 その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の各ノード毎に設定できる。