制御の世界のモデルベース開発とは?体験! MBD&MDDによる組み込みシステム開発(4)(2/2 ページ)

» 2010年06月29日 00時00分 公開
前のページへ 1|2       

ツールの導入

 Scicoslabとは、フランス国立コンピュータ科学・制御研究所(INRIA)とフランス国立土木学校(ENPC)とが開発した計算ツールで、無償で提供されています。このScicoslabには、Scicosという制御モデルのモデリング、およびシミュレーション機能を提供するツールボックスも含まれています。

 以降の連載では、これに「RTAI-LAB」を連携させたものを使用していきます(RTAI-LABを連携させる場合は、動作環境がLinuxになります)が、Scicoslabをソースからビルドする必要があったりと、それなりに手間が掛かるので今回は手軽に使えるという意味で、Windows版を使って簡単に使い方を紹介します。

Scicoslabの使い方

インストールと起動方法

 Windows版のScicoslabは、Webサイト(http://www.scicoslab.org/)から入手できます。今回は、「ScicosLab 4.3」を使用することにしますので、「scicoslab43-install.exe」をダウンロード、インストールしてください。

 Scicoslabを起動すると、次のような画面が表示されるので「scicos」と入力します。

起動方法 図8 起動方法

 すると、scicosのエディタウィンドウが開きます。

scicosのエディタウィンドウ 図9 scicosのエディタウィンドウ
モデリングやシミュレーションには、Scicoslabのツールボックスであるscicosを使用します。エディタウィンドウを終了するには、メインメニューの[File]−[Quit]を選択します。Scicoslab自体を終了するには[File]−[Exit]を選択します

使用方法

 使用方法の詳細は次回以降、実際のモデリング・シミュレーション過程でその都度行うとして、本稿では先ほど使用した簡単なブロック線図(図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 基本的な操作方法

基本的な操作 図10 基本的な操作

リンクの分岐 図11 リンクの分岐

 ブロック線図の作成が終わったところで、各ブロックのパラメータを設定します。対象のブロックをダブルクリックすると、設定ダイアログが表示されるので値を設定します。今回の場合は、表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を使いながら速度制御ロジックのモデリングを行い、「動き」の開発に入っていきます。お楽しみに!(次回に続く)


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.