MATLAB

事例

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

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

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

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

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

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

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

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

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

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

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

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

【上流検証】最小構成のモデルベース開発事例 その20【PID振動対策】

前回のプラントモデルの精度向上の続き。 今回は実際にモデルの修正までする。 時間も調整可能パラメータの一部と考える。 さらに時間の単位も調整可能のパラメータと考えられる。 積分単位時間を組み込むことで制御駆動周期が変わってもPID制御器の流用が効く。
事例

【上流検証】最小構成のモデルベース開発事例 その19【プラントリアル化後編】

前回のプラントモデルの精度向上の続き。 今回は実際にモデルの修正までする。 出力(仕事率)と速度の関係は質量が確定していれば算出可能。 最大速度が確定していれば、定常ゲインが算出可能。
事例

【上流検証】最小構成のモデルベース開発事例 その18【プラントリアル化前編】

今回は制御対象ことプラントモデルの精度向上を考える。 プラントモデルの精度を上げるためには本物の動作特性が必要。 一次遅れ系を使っている場合、時定数と定常ゲインが重要。 立ち上がり時定数と立下り時定数が異なる場合がある。 プラント出力の偏差を見て切り替えるような仕掛けが必要になる。
事例

【上流検証】最小構成のモデルベース開発事例 その17【S-Function】

S-Functionを作る具体的な手順ってどうなってるの? という質問が来たので、S-Function Builderの使い方の説明。 これ以外のS-Functionの作成方法もある。 Simulinkに抵抗ある人はS-Functionから始めても良いかもしれない。 出力を波形で見れる。 複数のロジックの入出力の簡単な繋ぎ替えができる。