事例 【上流検証】最小構成のモデルベース開発事例 その23【ネットワークMILS②】 インターフェースがいきなりCANに変更になるという大惨事。 まずは同等の環境を作るためVector社のCANoeを手配。 CANはマルチマスタなネットワーク。 しかし概念上は個別の信号線を模しているだけ。 CANをうまく利用するためにはネットワーク構成を明確にする必要がある。 ノード、CANID、シグナル。 2020.06.18 事例
事例 【上流検証】最小構成のモデルベース開発事例 その22【ネットワークMILS①】 今回からはそれをどう流用していくかの話へシフト。 制御とインターフェースを分けたことで、インターフェースだけを差し替えるということは可能。 だたし、簡単かどうかは別問題。 Simulinkモデルがあればラピッドコントローラで疑似的なECUを作ることは可能。 CANに限定するならば、車載ネットワークシミュレータを使用することも可能。 2020.06.17 事例
事例 【上流検証】最小構成のモデルベース開発事例 その21【可変周期PID】 今回は横道にそれて、ちょっとした実験を行うことにした。 Δtをパラメータとして扱うことができる。 これにより、PIDの駆動周期が可変でも対応可能。 Δtと駆動周期が同時に変化するので、数学的には通常のPIDと同一と言える。 総和法、差分法による誤差分があるため完全一致とはいかないが、ほとんどの制御では問題なく動作する。 2020.06.16 事例
事例 【上流検証】最小構成のモデルベース開発事例 その20【PID振動対策】 前回のプラントモデルの精度向上の続き。 今回は実際にモデルの修正までする。 時間も調整可能パラメータの一部と考える。 さらに時間の単位も調整可能のパラメータと考えられる。 積分単位時間を組み込むことで制御駆動周期が変わってもPID制御器の流用が効く。 2020.06.15 事例
事例 【上流検証】最小構成のモデルベース開発事例 その19【プラントリアル化後編】 前回のプラントモデルの精度向上の続き。 今回は実際にモデルの修正までする。 出力(仕事率)と速度の関係は質量が確定していれば算出可能。 最大速度が確定していれば、定常ゲインが算出可能。 2020.06.14 事例
事例 【上流検証】最小構成のモデルベース開発事例 その18【プラントリアル化前編】 今回は制御対象ことプラントモデルの精度向上を考える。 プラントモデルの精度を上げるためには本物の動作特性が必要。 一次遅れ系を使っている場合、時定数と定常ゲインが重要。 立ち上がり時定数と立下り時定数が異なる場合がある。 プラント出力の偏差を見て切り替えるような仕掛けが必要になる。 2020.06.13 事例
事例 【上流検証】最小構成のモデルベース開発事例 その17【S-Function】 S-Functionを作る具体的な手順ってどうなってるの? という質問が来たので、S-Function Builderの使い方の説明。 これ以外のS-Functionの作成方法もある。 Simulinkに抵抗ある人はS-Functionから始めても良いかもしれない。 出力を波形で見れる。 複数のロジックの入出力の簡単な繋ぎ替えができる。 2020.06.12 事例
事例 【上流検証】最小構成のモデルベース開発事例 その16【SILS】 成果物として上がってくるがCコード。これの正当性を評価したい。 CコードをS-Function化することでSimuklinkブロックとして扱えるようになる。 MILSの一部を差し替えても同様の動きになるかを確認できる。 元のSimulinkモデルと同一の入力にして出力を比較することで一致性確認ができる。 2020.06.11 事例
事例 【上流検証】最小構成のモデルベース開発事例 その15【ACG】 SimulinkCoderを使ってSimulinkモデルをACGできる。 SimulinkCoderを使用するためにはMATLAB Coderのライセンスも必要。 ACGされたコードは可読性が良くない場合がある。 プロタイプの段階では、一旦可読性は無視するという選択もあり。 リコードする場合は別の手段で品質担保することを考える必要がある。 2020.06.10 事例
事例 【上流検証】最小構成のモデルベース開発事例 その14【MILS後編】 引き続きにシミュレーションの話。 前回はExcelをつかったメンドクサイ側の手法だったが、 今回はちゃんとSimulinkを使う。 制御器と制御対象をつないでMILSにすることができる。 SignalBuilderを使ってテストパターンを作れる。 わざと問題のあるモデルと比較すると、今回の対策の効能が見えるのでやってみると良い。 2020.06.09 事例