ブロックを積みながら(185) Scilab/Xcos、Xcosデモに学ぶ? バンバン制御

Joseph Halfmoon

Scilab/Xcosにはデモが含まれております。改めて見直してみたらば「制御ネタ」多数収録されてます。自前で試行錯誤する前にデモで開示されておる定石をば身に着けるべしと(忘却力の老人がどれだけ記憶できるかわかりませんが。)今回は、バンバン制御(オンオフ制御のことですな)です。やっぱりデモはスマート。

※「ブロックを積みながら」投稿順 index はこちら

※動作確認にはWindows 11の パソコン(64bit)上にインストールしたScilabの以下バージョンを使用しています。

    Scilab 2024.0.0

バングバング制御

オンオフ制御という方が分かり易いじゃないかと思うのですが、どうも玄人筋はバンバン制御とおっしゃる方が多い気がします。以下の御本家『一般社団法人 日本機械学会』様のページへいったら英語の綴りそのまま和訳で「バングバング制御」と書かれております。これが正統派?

機械工学事典 バングバング制御

上記の解説、短く明瞭ですが、ちとムズイところもあります。そういうときは生成AIにおたづねするのがよろしいかと。以下は、Googleの生成AI、Gemini様におうがかいをたてた結果っす。Gemini2
ひきづつきオンオフ制御については以下に
Gemini0

なお、応用例ということで以下が列挙されとります。Gemini1

今回「味わってみる」Scilab/Xcosのデモは「サーモスタット」です。まさに上記に列挙されている温度制御でピッタンコ。しかし、4つ列挙されているけどみんな温度制御なのね。。。

Scilab/Xcosのデモの起動方法

Scilabのメニュー「その他」から以下を選択することでデモの選択画面を起動することができます。ScilabDemo

上記デモを選択すると以下のような選択を行うことができます。お手軽ね。thermostat00

今回はXcosのデモの中でも「標準デモ」を選択、その中から「簡単なサーモスタット」というデモを起動してみました。

「簡単なサーモスタット」のデモ

以下はデモのフローをロードしたものに、お惚け老人が「定石じゃないか、記憶して~」と思ったところに丸で囲ったもんです。thermostat01a

赤丸は、ゼロクロッシングの使い方ですな。ゼロをまたぐところでイベントを発生できるゼロクロッシング機能はわかりやすいですが、ゼロじゃなくて数値のxxを超えたらとか、下回ったらいうケースがありがちな筈。そういうときは「見張る」数値の「符号反対」の数値を足し合わせてやると良いのだと。言われれば当たり前すけど。

緑色は、負荷というか外乱含むの与え方ですな。この場合は温度だけれども観察用の定時イベントで駆動してます。シンプルイズベストか?

上記のフローの実行結果が以下に。thermostat02

素直にY軸を摂氏温度?だと想定すると(違うだろ~という気もするが)変動範囲広すぎてバタバタしている感じがしないでもない。定数を操作したらも少し安定するのか?その辺をいろいろやってみろと?

ブロックを積みながら(184) Scilab/Xcos、連続系状態空間システム へ戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です