ブロックを積みながら(147) Scilab/Xcos、Sinksパレットその1

Joseph Halfmoon

Scilab/Xcosを使う際には結果をグラフとして見ることが多いので、毎度グラフを描くための「スコープ」にお世話になっております。ここまでY軸1個のCSCOPE、複数Y軸を持てるCMSCOPEなど使用しております。今回は「スコープ」が属しておりますSinksパレットについて改めて練習してみたいと思います。

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

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

Scilab 2024.0.0

Sinksパレット

出力を流し出す先ということでSinksと呼ばれているのだと思います。パレットの全貌が以下に。使ったことのないブロックがぎょうさんあるわいな。sinksPalette

今回は過去回で使ったことのない以下のブロック共について練習してみたいと思います。

    1. AFFICH_m
    2. TOWS_c
    3. CSCOPXY
    4. TRASH_f
    5. CFSCOPE
今回実験のフロー

実験フローには信号源として、振幅、周波数の異なる正弦波源が左に置かれてます。これら2つの波形についてブロック共を接続してその挙動を観察してみます。sink1Flow

AFFICH_m

このブロックはイベントが到来したときの「素の値」を保持して表示してくれるものみたいです。下の(緑)選択ブロックの場合、イベントは1発、0.6sの位置で到来するので、そのときの値が取り込まれて表示されてます。なお、デフォルトは小数点以下の桁数が1とかになっているので、以下の黄色マーカ部分をテキトーに多くしてやらないと思ったような表示になりませぬ。AFFICH

TOWS_c

このブロックはXcosで計算した結果を、Scilab本体の変数に戻すときに使うブロックです。上記フローでの設定が以下に(デフォルトそのまま。)TOWS

黄色のマーカーで指定したところが変数名の欄です。Xcosのシミュレーション後、Scilab本体内のAの内容を確認してみるとこんな感じ。バッファサイズは128点としてあるけど、シミュレーションでは100点のデータしか生成していないので、サイズは100点。variableA

通常のScilabワークスペース側変数は単なるベクトルだったりしますが、TOWS_cでワークスペースにもってくる場合「時間」が明確なXcosだけに、時間と値の両方を保持した「構造体」として渡されるようです。後はよしなにという感じか。

CSCOPXY

これもスコープ一族ですが、他のX軸を時間にとるスコープとは違い、いわゆるリサージュ図形のようなX、Yで駆動できるスコープです。

CSCOPXY

TRASH_f

ブラックホール的なブロックみたいです。流れこむデータを吸い込んで「捨てて」しまうものみたい。

CFSCOPE

CFSCOPEのFはFloatingみたいです。他のスコープと異なりデータ信号に接続しないのにグラフを描いてくれるブロックです。ただ、何を描いてくれるのだかは、素人老人にはよく把握できてないデス。今回のフローの場合は以下のようでした。振幅2、0.5HzのTRASH_fに捨てられてしまう方の波形が観察できてます。CFSCOPE

上記は、

links to view というフィールドをデフォルトの「1」のままの場合

です。該当のフィールドに「1 2」などと書き込むとこんな感じ。CFSCOPE2

まあ、両方の信号源をアカラサマに配線接続せずに観察できるのは分かったけれど、1,2とかどういう順番で番号つけてるの?ううむ。。。

ブロックを積みながら(146) Scilab/Xcos、イベントのハンドリングその2 へ戻る

ブロックを積みながら(148) Scilab/Xcos、Sinksパレットその2 へ進む