PID

事例

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

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

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

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

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

前回まででネットワークMILSは終了したが、 何となく似たようなのネタスタート。 違いは、ブラックボックスを許容してしまっている点? ダミーの信号を作る際は、普通はラピッドコントローラを使用する。 時間精度がそれほど求められないのであれば、PCから制御するタイプでもある程度なんとかなる。
事例

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

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

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

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

【上流検証】最小構成のモデルベース開発事例 その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されたコードは可読性が良くない場合がある。 プロタイプの段階では、一旦可読性は無視するという選択もあり。 リコードする場合は別の手段で品質担保することを考える必要がある。
事例

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

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

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

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