ブロックを積みながら(139) Scilab/Xcosの信号源。シンプルで自立した奴ら

Joseph Halfmoon

前回はXcosの配線、クセが強いのうなどと文句を垂れながらも配線練習しました。今回は信号源を練習してみます。Xcosの信号源は多数あり、まずは「シンプルで自立した」信号源の皆さまデス。逆に言えば外の様子に忖度することなく、勝手に連続した信号を垂れ流しつづけるだけの皆さま。我が道を行きます。

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

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

Scilab 2024.0.0

今回練習のXcosブロック

今回練習のブロックは以下のパレットブラウザ画面のSources(信号源)に並んでいるもののいくつかです。SourcesPallete

 

列挙すると以下のとおり

    1. CONST、定数ブロック
    2. GENSIN_f、正弦波生成ブロック
    3. RAMP、ランプ関数ブロック
    4. STEP_FUNCTION、ステップ関数ブロック
    5. PULSE_SC、パルス生成ブロック

どれも「分かり易い」ブロックばかりです。しかし「1」の定数ブロックなど、今回使ってみた CONST以外に CONST_m、CONST_f と合計3種類もあったりします。その「コマケー」差は後で確かめたいと思いますが、今回はパス。

今回実験のフロー

フローとそのシミュレーション設定が以下に。sources1_diagram

上記5個の信号源をそのままスコープに接続し波形をながめてみるだけのもの。

スコープは SCALE_CMSCOPEという多信号入力に対応したスコープで、自動スケーリングに対応して「良きに計ら」ってくれるハズのもの。5個の入力信号に対応できるように設定変更した上で、デフォルト値のうち「7番」のグラフ色のインパクトが薄く老眼の目に見えにくかったので変更したもの。
scopeSetting
クロック設定はデフォルトのままです。clockSetting

各信号源ブロックの設定
    • 定数ブロック

constantSetting

    • サイン波生成ブロック

genSinSetting

周波数、位相とも 角度の単位はラジアンです。周波数 1 rad/s ってことは周期約6.28秒、ヘルツ単位の周波数0.16Hzくらいってことかい。

    • ランプ関数ブロック

rampSettingデフォルトで傾き0になっているのでご注意を。

    • ステップ関数ブロック

stepSetting

 

    • パルス生成ブロック

設定みるとPWM的な波形を生成するのに適するみたいです。

pulseSetting

波形の確認

シミュレーションを行って波形を確認してみました。こんな感じ。sources1_wave

小ネタ、DUMMYブロックの必要性

先ほどは触れなかったのですが、実験フローの片隅にDUMMY CLASSなる謎の箱あり。DUMMY_CLASS

上記のDUMMY CLASSを取り除いてシミュレーションを行うとその効果が分かります。こんな感じ。DUMMY

 

なにやら不穏な赤バッテン印とともに上記のようなエラーメッセージを受け取ります。ただし、上記のような単純なフローであればシレっと波形は出力されます。どうも上記のような信号源とスコープ直結みたいな単純すぎる仕事を「ソルバ」様にお願いしようとすると文句を言われる気がします。知らんけど。

そこでおまじないとしてDUMMY CLASSを配置すると、あーら不思議、上記のメッセージは消えます。大人の事情?

ブロックを積みながら(138) Scilab/XCOSの配線?クセが強いのう。へ戻る

ブロックを積みながら(140) Scilab/Xcosの信号源その2。指示待ち?な奴ら へ進む