Scicoslabとは、フランス国立コンピュータ科学・制御研究所(INRIA)とフランス国立土木学校(ENPC)とが開発した計算ツールで、無償で提供されています。このScicoslabには、Scicosという制御モデルのモデリング、およびシミュレーション機能を提供するツールボックスも含まれています。
以降の連載では、これに「RTAI-LAB」を連携させたものを使用していきます(RTAI-LABを連携させる場合は、動作環境がLinuxになります)が、Scicoslabをソースからビルドする必要があったりと、それなりに手間が掛かるので今回は手軽に使えるという意味で、Windows版を使って簡単に使い方を紹介します。
Windows版のScicoslabは、Webサイト(http://www.scicoslab.org/)から入手できます。今回は、「ScicosLab 4.3」を使用することにしますので、「scicoslab43-install.exe」をダウンロード、インストールしてください。
Scicoslabを起動すると、次のような画面が表示されるので「scicos」と入力します。
すると、scicosのエディタウィンドウが開きます。
使用方法の詳細は次回以降、実際のモデリング・シミュレーション過程でその都度行うとして、本稿では先ほど使用した簡単なブロック線図(図3)の作成を例に、基本的な操作を紹介します。
まず、ブロックの配置を行います。ブロックは、メインメニューから[Palette]−[Palettes](もしくは[Pal Tree])を選択します。[Sources][Sinks]……といったカテゴリが表示されるので、そこから必要なブロックを選択して、エディタウィンドウ上にドラッグします。
図3で使用したブロックは下記のカテゴリに収められています。また、それぞれのブロックの詳しい説明は、ブロックを右クリックして[help]を選択することで確認できます。
ブロック | ブロック名 | カテゴリ | 意味 |
---|---|---|---|
1 | CONST_m | Sources | 「1」を入力する |
+ | SUM_f | Linear | 加算 |
1/Z | DOLLAR_m | Linear | 1周期前の値 |
ゲイン | GAINBLK | Linear | ゲイン |
クロック | CLOCK_c | Events | イベントを発生させる |
表示 | CSCOPE | Sinks | 出力を表示する |
表1 使用するブロックについて |
ブロックを配置したら、今度はブロックをリンクしていきます。リンクは信号などの入出力を表現する大事な機能です。リンク関連の基本的な操作方法は次のとおりです。今回のブロック線図も表2に示す操作で作成できます。
目的 | 操作方法 |
---|---|
ブロックのリンク | 接続したいブロックのポートをクリックし、接続先のブロックのポートで再度クリックする |
リンクの分岐 | リンク線を選択し、右クリックで[Link]を選択 |
ブロックの反転 | 今回は使用しないがブロックの向きを反転したい場合は、ブロックを選択し、右クリックで[Flip]を選択 |
表2 基本的な操作方法 |
ブロック線図の作成が終わったところで、各ブロックのパラメータを設定します。対象のブロックをダブルクリックすると、設定ダイアログが表示されるので値を設定します。今回の場合は、表3のように設定します。
ブロック | パラメータ |
---|---|
1 | Constant:1 |
+ | なし |
1/Z | 初期値を設定する InitialCondition:0 Inherit:0(No) |
ゲイン | ゲイン値を設定する Gain:2.5 Do On Overflow:0 |
クロック | 周期と初期値を設定する Period:1 InitTime:0 |
表示 | X軸・Y軸のレンジを設定する 下記以外はデフォルトのまま Ymin:0 Ymax:25 Refresh period:10(X軸のレンジ) |
表3 パラメータの設定 |
シミュレーションを行う場合は、メインメニューの[Simulate]−[Setup]を選択し、シミュレーション時間などを設定します。シミュレーション時間は[Final integration time]で設定を行います。今回は「11」を設定します。設定が終わったら、[Simulate]−[Run]を選択し、シミュレーションを実行します。シミュレーションを実行すると図4に示した結果が表示されます。
以上の手順で、ブロック線図の作成とシミュレーションの実行が可能です。
今回は簡単な制御モデルを使ってモデルベース開発の具体的なイメージをつかんでみました。また、モデリングで使用するツールの紹介を行いました。次回からは、Scicoslabを使いながら速度制御ロジックのモデリングを行い、「動き」の開発に入っていきます。お楽しみに!(次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.