事例

【上流検証】最小構成のモデルベース開発事例 その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単位系だが、制御として必要な単位はその限りではない。よって、単位変換が必要な場合がある。
事例

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

前回、PID制御を離散化した。Simulinkへ転記しても動作するレベルまで来たが、制御対象が無いため、動作確認ができない。制御対象の仕様を決めていく。制御対象はおおよそ一次遅れ系で表現できることが多い。アクセル開度と一次遅れ系の関係性を持っているのは出力。出力(仕事率)から車速が算出できる。
事例

【仕様書】最小構成のモデルベース開発事例 その9【PID離散化】

前回まで3回に分けてはテイラー展開を応用した微分、積分の説明をした。今回をそれをPID制御に適用して離散化する。速度型PIDの復習。PIDの積分を総和法で、微分を差分法に置き換えた。Δtは制御周期。今回の場合は10[ms]。・ワインドアップ対策は積分要素に切り替えスイッチとサチュレーションを含めることで対応。