Scilabには制御系の構成と解析がGUI操作で行えるSCICOSがあります。 このSCICOSは微分方程式をブロック図と呼ばれるダイアグラムに書換 えるだけで能く、Scilabの処理言語を覚えなくても利用する事が容易 に出来ます。正にScilabで遊ぶ為に願ってもないツールと言えます。 因にSCICOSはMATLABのSIMLINKをモデルにして作られています。 尚、MATLABとSIMLINKはセットで購入して20万円以上する非常に 高価なツールです。但し、SCICOSと比較して売り物としての品質を 除けば機能的な違いは気する程ありません。一般的な利用では Linux+Scilabの環境は最強のシミュレーション環境を提供してくれる でしょう。
SCICOSはScilab上で起動するプログラムです。その為、いきなり SCICOSを立ち上げる事は出来ず、予めScilabを立ち上げておく必要が あります。Scilabを立ち上げた状態で、Scilabのフロントエンドに scicos()と入力します。するとSICOSが早速起動し、SCICOSのウ インドウが開かれます。
図2-1.にScilabのフロントエンドでscicos()と入力した状態を示し、 図2-2.にSCICOSのフロントエンドを表示しておきます。
図2-1.scilabの起動画面
図2-2.SCICOSの起動画面
図2-2.に示す様にSCICOSのメインウィンドウの上部にメニューが並ん でいます。SCICOSを一旦起動した場合、基本的な操作は全てこれらの メニューから選んで行ないます。これらのウインドウから基本的な操作 に関連するものを幾つかを説明します。
ここではブロック図のモデルとしてのデータやそのイメージデータ の出力が行えます。先ず、SCICOSで作成したモデル自体の保存と 読み込みはloadとsave等で行います。画像として出力する場合は Exportを用います。又、構築した要素群をPaletteとして保存した り、逆にPaletteとして開く事がSave as PaletteとOpen as Palette で行えます。
モデルの編集を行います。尚、このEditメニューからPalettes を選択すると図3-1.に示すウインドウが開き、ここからSCICOSで 用意された制御系要素をグループ別に纏めたパレットを開く事が 出来ます。尚、制御系パレットにユーザー独自の要素を纏めた パレットを登録する事も可能です。
図3-1.Palettes
図3-1.に示すウインドウからグループを選択すると対応する 制御要素のパレットが表示されます。例えばLinearを選択すると 図3-3.に示す線形の制御要素 のパレットが表示されます。この図に示す様に制御要素は入力と 出力をもつブロックとして表現されていますが、各ブロックは 入力に対する出力を表す方程式で、実体はScilabのプログラムです。
しかし、SCICOS上では必要に応じてSCICOSのEditメニューから copyを選択し、パレットから制御要素をマウスでピックするだけで SCICOSのウインドウに要素がコピーされます。そして、SCICOSの ウインドウ上で各制御要素の入力と出力をGUI操作で繋いで行くと 制御系が構成出来ます。
以下に代表的なグループを示します。
制御系の入力と出力に関する要素。
図3-2.Inputs/Outputsパレット
線形の制御系要素。
図3-3.線形要素パレット
非線型の要素。三角関数等の関数や入力同士の積等。 より複雑な式はOthersのscifuncでscilabの関数を引用します。
図3-4.非線型要素パレット
Event全般。
図3-5.イベント要素パレット
SuperBlock要素、Text要素、Scilab関数やC,Fortranの プログラムの引用、メモリに結果を記憶等が行えます。
図3-6.その他の要素
入力される数値からEventを生成します。if文みたいなもの。
図3-7.TresHold
入力データの分岐に関する要素。
図3-8.分岐要素
解析パラメータの設定と解析実行を行います。
制御要素のパラメータ等の修正、制御要素のScilab内部での 情報等の表示等を行います。又、アイコンの作成や修正も行え ますが、作成エディタの能力はあまり高いものでは無くいので 複雑なものを書く事に向きません。
このメニューにはSCICOSのフォントやLinkの色等の設定とヘルプ、 SCICOSを一時中断してScilabを用で計算等の処理が行えます。 この処理はCalcを選べば処理がScilabに戻されます。 尚、SCICOSに戻る場合はScilab上でreturnと入力します。
解析の中断を行います。SimulationでRunを選び、Continueを 選択すれば中断した個所から計算が行えます。但し、このメニュー はモデルが未定義の場合は選択出来ません。
メニューの大まかな説明はここ迄です。では、具体的な例で遊びましょう。