制御の世界のモデルベース開発とは?:体験! MBD&MDDによる組み込みシステム開発(4)(2/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」と入力します。
すると、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 基本的な操作方法 | |
ブロック線図の作成が終わったところで、各ブロックのパラメータを設定します。対象のブロックをダブルクリックすると、設定ダイアログが表示されるので値を設定します。今回の場合は、表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.


