simulink

事例

【上流検証】最小構成のモデルベース開発事例 その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を使ってテストパターンを作れる。わざと問題のあるモデルと比較すると、今回の対策の効能が見えるのでやってみると良い。
事例

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

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

Matlab/SimulinkによるモーターMILS

前回の「ScilabによるモーターMILS」のMatlab/Simulink版。慣れているということもあるが、やはりMatlab/Simulinkの方が楽。プラントモデル、制御モデル、シミュレーション結果。
scilab

scilabの紹介

scilabによるPID制御及びモーターシミュレーション。PID制御器とモータープラント。Scilab CBlockにCコードをいれて動作確認。さらに、浮動小数点から固定小数点化しても制御が成立するかを確認。モデルとCコードの挙動を比較することで正しさを証明することができる。