モデルベース開発

事例

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

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

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

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

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

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

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

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

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

成果物として上がってくるがCコード。これの正当性を評価したい。 CコードをS-Function化することでSimuklinkブロックとして扱えるようになる。 MILSの一部を差し替えても同様の動きになるかを確認できる。 元のSimulinkモデルと同一の入力にして出力を比較することで一致性確認ができる。
事例

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

SimulinkCoderを使ってSimulinkモデルをACGできる。 SimulinkCoderを使用するためにはMATLAB Coderのライセンスも必要。 ACGされたコードは可読性が良くない場合がある。 プロタイプの段階では、一旦可読性は無視するという選択もあり。 リコードする場合は別の手段で品質担保することを考える必要がある。
事例

【上流検証】最小構成のモデルベース開発事例 その14【MILS後編】

引き続きにシミュレーションの話。 前回はExcelをつかったメンドクサイ側の手法だったが、 今回はちゃんとSimulinkを使う。 制御器と制御対象をつないでMILSにすることができる。 SignalBuilderを使ってテストパターンを作れる。 わざと問題のあるモデルと比較すると、今回の対策の効能が見えるのでやってみると良い。
事例

【上流検証】最小構成のモデルベース開発事例 その13【MILS前編】

今回から実際にシミュレーション。 しかし、わざとメンドクサイ手法を取ってみる。 離散化済みであれば、ExcelでもPID制御のシミュレーションは可能。 ただし、かなり面倒くさい。 MATLAB/Simulinkが無い時代は恐らくこういった面倒なことをやっていたのだろう。
事例

【仕様書】最小構成のモデルベース開発事例 その12【フィルタ】

前回で、おおよその仕様決めは終わったと思われた。 しかし、太郎くんのド忘れ発覚によりフィルタ仕様も考える必要が出てきた。 ノイズは様々な種類があり、設置場所や扱う信号によって異なる。 複数のノイズ対策をソフトウェアで実施するとリアルタイム性が犠牲になることがある。 よって、適切なフィルタアルゴリズムが無いか調べる必要が出てくる。
事例

【仕様書】最小構成のモデルベース開発事例 その11【制御対象離散化】

前回、一次遅れ系と出力(仕事率)から車速への変換で簡易的な車両モデルを作った。 最終的に簡易HILSに適用するために、車両モデルも離散化する。 積分要素には基本的にはサチュレーションを入れた方が安全。 物理量を算出する際は基本的にはSI単位系だが、制御として必要な単位はその限りではない。 よって、単位変換が必要な場合がある。