6
Simulink 7 シミュレーションおよびモデルベースデザイン Simulink®はマルチドメインシミュレーションや ダイナミックシステム、および組込みシステムの モデルベースデザインのためのプラットフォーム です。Simulinkの対話型グラフィカル環境およ びカスタマイズ可能なブロックライブラリ群によ り、通信、制御、動画像処理、静止画像処理を含 め、時間依存システムの設計、シミュレーション、 実装、テストが可能です。 また設計、実装、検証といった機能を提供するア ドオン製品により、Simulink 環境を拡張します。 SimulinkはMATLAB®環境に統合され、ユー ザはアルゴリズム開発、シミュレーションの解析 と可視化、バッチ処理のスクリプト作成、モデリ ング環境、信号、パラメータおよびテストデータ のカスタマイズ機能を持つ広範囲にわたるツー ルに迅速にアクセスすることができます。 主な機能 ■ あらかじめ定義された広範囲かつ拡張可能なブロックライブラリ ■ 直感的なブロックダイヤグラムを構築、管理する対話型グラフィ カルエディタ ■ モデルを設計コンポーネントの階層に分割することにより、複雑 な設計の処理が可能 ■ モデルの信号、パラメータ、プロパティ、および生成されたコード 全てをナビゲート、作成、設定、検索するためのモデルエクスプ ローラ ■ 他のシミュレーションプログラムとの接続やハンドコードの組込 みを可能にするAPI (Application Programming Interfaces) ■ MATLABのアルゴリズムをSimulinkに統合し、システム実装を 行なうEmbedded MATLAB™ Functionブロック ■ インタプリタ方式でのシミュレーション、もしくは固定/可変ステ ップソルバを用いてコンパイルされたCコードのスピードでシミュ レーションを行なうシミュレーションモード(ノーマルモード、アク セラレータモード、ラピッドアクセラレータモード) ■ グラフィカルデバッガおよびプロファイラによるシミュレーション 結果の検証、設計のパフォーマンスおよび予測外の挙動の診断 ■ 結果の解析と可視化、モデリング環境のカスタマイズ、および信 号、パラメータ、テストデータ定義のためのMATLAB へのフルア クセス ■ モデルの整合性を確保しエラーを特定する、モデルの解析およ び診断用ツール 自動車のパワートレインモデル(左)は、それ自体もモデルで ある設計コンポーネント(中央/右)の集合体です。 Transmission Control Model w p shift_logic down_threshold up_threshold vehicle _speed gear up12 up23 up34 down43 down32 down21 alert relax compute _thresholds shift points ev () gear throttl e down_threshold up_threshold clutch _controller clutch _controller Tin win gear upshift 12 upshift 23 upshift 34 downshif 43 downshift 32 downshift 21 alert relax wout pset wset RT RT RT RT RT RT RT RT RT wout 5 win 4 Tin 3 vehicle _speed 2 throttle 1 4 Clutch Controller Model wset 2 pset 1 vmerge In1 In2 In3 Out 1 shift control2−3 win wlow whigh lowgear Clowlocked Chighlocked T0low dTlow w0low dwlow lowcontrol T0high dThigh w0high dwhigh highcontrol shift control1−2 win wlow whigh lowgear Clowlocked Chighlocked T0low dTlow w0low dwlow lowcontrol T0high dThigh w0high dwhigh highcontrol gear ratios wout wgear clutch lock wgear win Clocked UD TIC Tdelta wIC w_rate control win wout Tin Pset wset Merge Low TIC Tdelta wIC w_rate control win wout Tin Pset wset Gain=R41/(1 + R41) K− Gain=1/R41 K− Gain=R41/(1 + R32) K− Gain=R41 K− m m m u−2 u−1 A604 shift control 3−4 win wlow whigh lowgear Clowlocked Chighlocked T0high dThigh w0high dwhigh highcontrol T0low dTlow w0low dwlow lowcontrol 3−4 TIC Tdelta wIC w_rate control win wout Tin Pset wset 2−4 TIC Tdelta wIC w_rate control win wout Tin Pset wset wout 12 relax 11 alert 10 downshift21 9 downshift32 8 downshif43 7 upshift34 6 upshift23 5 upshift12 4 gear 3 win 2 Tin 1 4 5 <wout> <win> <wout> <win> <wout> <win> <wout> <win> Tin 6 6 20{20} 20{20} 20{20} 20{20} 20{20} 20{20} 20{20} 20{20} 20{20} 20{20} 20{20} 20{20} 4 <wgear> 4 {4} wgear 5 5 <C4locked> <C3locked> <C3locked> <gear> <w4> <w3> <win> gear <C3locked> <C2locked> <gear> <w3> <w2> <win> up34 dn43 relax alert up23 dn32 <C2locked> <C2locked> <C1locked> <gear> <w2> <w1> <win> up12 dn21 wout 6 6 5 5 5 <Tin> <Tin> <Tin> <Tin> <Tin> win <win> 4 {4} Clocked 5 5 5 5 6 6

Simulink 7¯MATLABコマンドラインからバッチモー ドで体系的にシミュレーションを行うことが できます。以下のシミュレーションモードが

  • Upload
    lenhi

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simulink 7¯MATLABコマンドラインからバッチモー ドで体系的にシミュレーションを行うことが できます。以下のシミュレーションモードが

www.mathworks.co.jp

© 2009 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc.See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.

91684v00 07/09

モデルのドキュメント化Simulinkモデルには、ドキュメンテーションを容易に追加することができます。他のドキュメントやWebページへのハイパーリンクを含めた注釈をダイアグラムに直接加えることができます。また、モデルプロパティだけでなく、ブロックプロパティにも、モデルの履歴のような詳細情報を加えることが可能です。DocBlockを用いることで、モデル内にテキストファイル文書をブロックとして含むことができます。また、Simulinkの印刷機能でモデルを簡単にドキュメント化することも可能です。コマンドをひとつ入力するだけで、ブロックの仕様や異なる階層の様 な々スナップショットなど、モデルの全てを記述するHTMLドキュメントを作成することができます。

Simulink Manifest Toolを使用すると、作成したモデルに必要なファイルをリストアップしたり、他のユーザと共有するためにそれらのファイルを圧縮することができます。また、Simulink Report Generator(オプション製品)で、特定の文書基準を満たすユーザ仕様のレポートを作成したり、モデルをWebブラウザ上で対話的に閲覧できるようエクスポートすることが可能です。

C/C++コードおよびHDLコードの生成Simulink環境で構築されたモデルは、コード生成設定を行うことができます。Real-Time Workshop®とReal-Time Workshop® Embedded Coder(どちらもオプション製品)を用いて、リアルタイムシミュレーション、ラピッドプロトタイピング、および組込みシステム用のC/C++コードをモデルから生成することができます。Simulink® HDL Coder(オプション製品)を用いると、合成可能かつターゲットに依存しないVerilogおよびVHDLコードを生成したり、外部のHDLシミュレータでコードの妥当性を検証するためのテストベンチを生成することができます。

シミュレーションのデバッグSimulinkデバッカは、Simulink環境においてのシミュレーション結果を調べ、予測外の挙動を発見および診断するための対話型ツールです。1度に1メソッドずつシミュレーションを行うことで各メソッド実行の結果を検証し、モデルの問題をすばやく特定することができます。(メソッドとはSimulinkがモデルを解くためにシミュレーション時の時間ステップごとに使う関数であり、ブロックは複数のメソッドにより構成されています。)

Simulinkデバッカにより、ブレークポイントを設定し、シミュレーション実行を制御し、モデルの情報を表示することができます。MATLABコマンドラインあるいはグラフィカルユーザインタフェース(GUI)から実行することができます。GUIはモデルの実行状態を分かりやすく色分けして表示します。モデルのシミュレーションに伴い、モデル上で直接ブロックメソッドの実行をアニメーション化できることに加え、ブロックの状態量、ブロックの入出力やその他の情報を表示することができます。

シミュレーションの実行モデルのシミュレーションオプションの設定後、Simulink GUIを用いて対話的に、もしくはMATLABコマンドラインからバッチモードで体系的にシミュレーションを行うことができます。以下のシミュレーションモードが使用可能です。

・ インタプリタ処理でシミュレーションするノーマル(デフォルト)モード

・ コンパイルされたターゲットコードを生成し、実行速度を速めたアクセラレータモード(モデルパラメータの変更は可能)

・ 2つめの演算処理コア上で実行可能なSimulinkから独立した実行コードを作成することにより、対話的ではないがアクセラレータモードよりさらに速いラピッドアクセラレータモード

また、MATLABのコマンドを用いてモデルのデータとパラメータをロードおよび処理することに加え、結果を可視化することも可能です。

シミュレーションのプロファイリングモデルをプロファイリングすることで、シミュレーションのパフォーマンスのボトルネックを検出することが可能となります。モデルのシミュレーション中にパフォーマンスデータを収集し、それぞれのシミュレーションメソッドを実行するためにかかった時間を表示するシミュレーションのプロファイルレポートを作成することができます。

結果の解析Simulinkのいくつかのツールを使用し、システムの解析、結果の可視化、テスト、検証およびモデルのドキュメント化を行うことができます。

結果の可視化Simulinkの提供するDisplayや Scopeで信号を観測することにより、システムを可視化することができます。あるいは、MATLABの可視化およびGUI構築ツールを用いてユーザ独自の表示機能を作成することも可能です。また、後処理のために信号を記録することもできます。

ダイナミックシステムの複雑な3次元モーションをより深く理解するために、Virtual Reality Toolbox(オプション製品)を用いてバーチャルリアリティ画像をユーザの可視化画像に組込むことができます。

モデルのテストおよび検証Simulinkではテスト条件の生成、モデルのパフォーマンスを検証するツールが提供されています。これらは、シミュレーションテストを作成するブロックも含まれています。たとえば、Signal Builderブロックは、グラフィカルに波形を作成し、モデルを検証する機能を提供します。また、Signal & Scope Managerを用いて、ブロックを加えることなくモデルに信号、ログ、ビュー信号を入力することができます。Simulinkが提供するモデル検証ブロックで、ブロックの出力が設計要件を満たしているかを調べることも可能です。

Simulink Verifi cation and Validation(オプション製品)を使用することで、要求仕様をモデルの関連する部分とリンクさせたり、独自のモデルスタイルチェックを作成したり、モデルカバレッジを測定することができます。また、Simulink® Design Verifi er(オプション製品)を使用し、モデルに対しモデルカバレッジとユーザ定義オブジェクトを満足するテストを生成し、モデルプロパティの検証を行うことができます。テストをモデルから独立して管理する場合、SystemTest(オプション製品)を使用すると、一連のテストを構築し、テストレポートを生成することができます。

Simulink 7シミュレーションおよびモデルベースデザイン

Simulink®はマルチドメインシミュレーションやダイナミックシステム、および組込みシステムのモデルベースデザインのためのプラットフォームです。Simulinkの対話型グラフィカル環境およびカスタマイズ可能なブロックライブラリ群により、通信、制御、動画像処理、静止画像処理を含め、時間依存システムの設計、シミュレーション、実装、テストが可能です。

また設計、実装、検証といった機能を提供するアドオン製品により、Simulink環境を拡張します。

SimulinkはMATLAB®環境に統合され、ユーザはアルゴリズム開発、シミュレーションの解析と可視化、バッチ処理のスクリプト作成、モデリング環境、信号、パラメータおよびテストデータのカスタマイズ機能を持つ広範囲にわたるツールに迅速にアクセスすることができます。

主な機能■ あらかじめ定義された広範囲かつ拡張可能なブロックライブラリ

■ 直感的なブロックダイヤグラムを構築、管理する対話型グラフィカルエディタ

■ モデルを設計コンポーネントの階層に分割することにより、複雑な設計の処理が可能

■ モデルの信号、パラメータ、プロパティ、および生成されたコード全てをナビゲート、作成、設定、検索するためのモデルエクスプローラ

■ 他のシミュレーションプログラムとの接続やハンドコードの組込みを可能にするAPI(Application Programming Interfaces)

■ MATLABのアルゴリズムをSimulinkに統合し、システム実装を行なうEmbedded MATLAB™ Functionブロック

■ インタプリタ方式でのシミュレーション、もしくは固定/可変ステップソルバを用いてコンパイルされたCコードのスピードでシミュレーションを行なうシミュレーションモード(ノーマルモード、アクセラレータモード、ラピッドアクセラレータモード)

■ グラフィカルデバッガおよびプロファイラによるシミュレーション結果の検証、設計のパフォーマンスおよび予測外の挙動の診断

■ 結果の解析と可視化、モデリング環境のカスタマイズ、および信号、パラメータ、テストデータ定義のためのMATLABへのフルアクセス

■ モデルの整合性を確保しエラーを特定する、モデルの解析および診断用ツール

自動車のパワートレインモデル(左)は、それ自体もモデルである設計コンポーネント(中央/右)の集合体です。

Transmission Control Model

w

p

shift_ logic

down_threshold

up_threshold

vehicle _speed

gear

up12

up23

up34

down43

down32

down21

alert

relax

compute _thresholds

shift points

ev ()

gear

throttl e

down_threshold

up_threshold

clutch _controller

clutch _controllerTin

win

gear

upshift 12

upshift 23

upshift 34

downshif 43

downshift 32

downshift 21

alert

relax

wout

pset

wset

RT

RT

RT

RT

RT

RT

RT

RT

RT

wout5

win4Tin3

vehicle _speed2

throttle1

4

Clutch Controller Model

wset2

pset1

vmerge

In1

In2

In3

Out1shift control2−3

win

wlow

whigh

lowgear

Clowlocked

Chighlocked

T0lowdTloww0lowdwlow

lowcontrolT0highdThighw0highdwhigh

highcontrol

shift control1−2

win

wlow

whigh

lowgear

Clowlocked

Chighlocked

T0lowdTloww0lowdwlow

lowcontrolT0highdThighw0highdwhigh

highcontrol

gear ratios

wout wgear

clutch lock

wgearwinClocked

UD

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wsetMerge

Low

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wset

Gain=R41/(1 + R41)

−K−

Gain=1/R41

−K−

Gain=R41/(1 + R32)

−K−

Gain=R41

−K−

m

m

m

u−2

u−1

A604 shift control 3−4

win

wlow

whigh

lowgear

Clowlocked

Chighlocked

T0highdThighw0highdwhigh

highcontrolT0lowdTloww0lowdwlow

lowcontrol

3−4

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wset

2−4

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wset

wout12relax11alert10

downshift219

downshift328

downshif437

upshift346

upshift235

upshift124

gear3win2Tin1

4

5

<wout><win>

<wout><win>

<wout><win>

<wout><win>

Tin

66

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20} 20{20}

4<wgear>

4 {4}wgear

5

5

<C4locked>

<C3locked><C3locked>

<gear>

<w4>

<w3>

<win>

gear

<C3locked>

<C2locked>

<gear>

<w3>

<w2>

<win>

up34

dn43

relax

alert

up23

dn32

<C2locked><C2locked>

<C1locked>

<gear>

<w2>

<w1>

<win>

up12

dn21

wout

66

5

5

5

<Tin>

<Tin><Tin>

<Tin>

<Tin>

win

<win>

4 {4}Clocked

5

5

5

5

66

Gust Accel .(qdot)

2

Gust Accel .(wdot )

1Signal Builder :Gaussian Noise

W−gust model

s +(2/a)s +1/a^22Swg /sqrt (a 3̂ )*[sqrt (3)*a,1](s)

Q−gust model

s

s +pi*Vto /(4*b)pi/(4*b)

Mw

Mq

ZwVertical

Pitch GustAcceleration

F-14ディジタルフライトコントロールシステムのモデル。Signal & Scope Managerにより、ブロックを追加せずにソースとスコープをモデルに接続することが可能です。

Multirate Feedback Speed Control System

1

11

scope1:Speed (MPH)

Zero-OrderHold

1

111

Scope2:Position

(feet)

1s

11

11

11

1

Integrator2Initial position

1000 feet

1s

11

11

11

1

Integrator1Initial speed

50*5280/3600 feet/sec

-K-1

11

Gain4: Convert to MPH

-K-

Gain3:divide by

mass in pounds

500

Gain2:proportional

control

-K-

Gain1:Convert to

Feet/Second

60

Constant:DesiredSpeed (MPH)

error forceposition (feet)

speed_fps(feet/sec)accel

@ 0.2 Integrator Outputs [Minor Time Step]

SimulinkデバッガGUIでは、メソッドごとの段階的なシミュレーション実行や、ブレークポイントに至るまでの実行も可能です。

動作環境Simulinkには、以下の製品が必要です。

・ MATLAB・ Simulink Fixed Point(固定小数点データタイプのシミュレーションに必要)

動作環境につきましては、       www.mathworks.co.jp をご覧ください。

Page 2: Simulink 7¯MATLABコマンドラインからバッチモー ドで体系的にシミュレーションを行うことが できます。以下のシミュレーションモードが

www.mathworks.co.jp

モデルの構築および編集Simulinkでは、ライブラリブラウザからグラフィカルエディタへブロックをドラッグ&ドロップし、ブロック間に数学的な関係を構築する線でブロックを接続してモデルを作成します。コピー、ペースト、取り消し、整列、分配、サイズ変更などのグラフィカルな編集機能を利用し、モデルを配置することが可能です。

Simulinkのユーザインタフェースでは、画面上で表示、使用するものをコントロールできます。エディタやコンテキストメニューにコマンド、サブメニューを追加することが可能です。また、メニュー、メニューアイテム、ダイアログボックスのコントロールを無効にしたり隠したりもできます。

モデルのグループ化Simulinkでは、サブシステムおよびモデルリファレンスを使うことでモデルを階層化し、明確かつ簡単に処理を行うことができます。サブシステムはブロック群や信号をひとつのブロックにまとめます。また、カスタムユーザインタフェースをサブシステムに加え、サブシステムのコンテンツを隠し、独自のアイコンとパラメータダイアログボックスを持つAtomicブロックとしてサブシステムを表すことができます。

モデルを設計コンポーネントに分割し、各コンポーネントを個別にモデリング、シミュレーション、検証することも可能です。コンポーネントはモデルリファレンスを使った個別のモデル、もしくはサブシステムとしてライブラリに保存されます。CVSやClearCaseなどの構成管理システムやWindowsプラットフォームの上でのSource Control Providerアプリケーションとの互換性があります。

設計コンポーネントを複数のプロジェクトで再利用することができます。監視、改訂の履歴も簡単に管理可能です。

モデルをグループ化することで設計タスクに合った詳細なレベルで選ぶことができます。たとえば、高レベルの仕様をモデル化する際はシンプルな関係を利用し、実装段階に向かうにつれて詳細な関係を追加していくことが可能です。

Confi gurableサブシステムConfi gurableサブシステムにより、モデル内で設計の可変要素とサブシステムを関連付けることができます。この機能により、一つのモデルで複数通りのデザインを表現できるため、コンポーネントを共有する設計の作成および処理が簡素化されます。

条件付き実行サブシステム条件付きで実行されるサブシステムにより、設計の特定の部分を制御ロジック信号によって有効もしくは無効にし、システムのダイナミックスを変えることができます。Simulinkでは、特定の時間やイベントに基づいてサブシステムの実行をイネーブルもしくはトリガにする制御信号を作成することができます。

ロジックブロックを使って、イネーブルドサブシステムもしくはトリガードサブシステムを制御する簡単なコマンドをモデリングすることができます。また、Statefl ow®(オプション製品)を使用することで、より複雑なロジックを含むイベントドリブンシステムをモデリングすることも可能です。

信号とパラメータの定義および管理Simulinkでは、モデルの信号やパラメータの特性を定義および制御することが可能です。信号とはブロックを接続する線で表現される時間依存量であり、パラメータとはダイナミクスおよびシステムの挙動を定義する係数です。

信号やパラメータの特性は、ダイアグラム内もしくは個別のデータ・ディクショナリ内で直接指定することができます。モデルエクスプローラにより、データ・ディクショナリの管理や、異なるデータセットを組込んで、モデルをすばやく再定義することができます。

下記の信号特性およびパラメータ特性の定義が可能です。

・ データタイプ:単精度、倍精度、符号付および符号なし8-、16-、32-ビットの整数、固定小数点、ブーリアン

・ 次元:スカラ、ベクトル、行列、N次元配列

・ 複素数:実数、複素数

・ 最小範囲、最大範囲、工学単位

固定小数点データタイプでは、128ビットまでの任意のワード長とスケーリングがサポートされます。これらのデータタイプのシミュレーションおよびコード生成には、Simulink® Fixed Point(オプション製品)が必要です。

SimulinkおよびSignal Processing Blockset(オプション製品)環境において、信号処理アプリケーションをより高速に実行するために信号サンプルモードをサンプルベースもしくはフレームベースに指定することも可能です。

Simulinkデータオブジェクトを使うことで、カスタムデータタイプおよびバス信号を定義することができます。バス信号により、設計コンポーネント間のインタフェースを定義することが可能です。

Simulinkでは、信号の仕様のレベルを指定することができます。ユーザがデータ特性を指定しなければ、Simulinkが自動的に継承します。コンポーネントインタフェースのみの指定、およびモデルの全データの指定のどちらも可能です。どのような場合でも、Simulinkはデータの信頼性を確実にするために整合性チェックを行います。

ワークスペースの階層を通じてモデルの特定の部分のパラメータのスコープを制限することができます。また、グローバルワークスペースを経由して、モデル間で共有することも可能です。

シミュレーションの実行Simulink環境でモデルを作成した後、ダイナミック挙動をシミュレーションし、時々刻々の変化をシミュレーション中に確認することができます。Simulinkは、固定および可変ステップソルバやグラフィカルデバッガ、モデルプロファイラなどの、シミュレーションの速度と正確性を実現するための機能やツールを提供します。

ソルバの使用ソルバは、モデルに含まれる情報を用いて時間的なシステムダイナミクスを計算する数値積分アルゴリズムです。Simulinkはあらゆるサイズの連続時間(アナログ)、離散時間(ディジタル)、ハイブリッド(連続・離散混合信号)およびマルチレートシステムなどの広範囲なシステムのシミュレーションをサポートするソルバを提供します。

これらのソルバはスティッフなシステムや、システムダイナミクスの瞬時変化を含む不連続性といった状態イベントを持つシステムのシミュレーションを行うことができます。

ソルバのタイプおよびプロパティ、シミュレーションの開始および終了時間、シミュレーションデータの読み込み/保存の実行などのシミュレーションオプションを指定することが可能です。また、シミュレーションの最適化、診断情報を設定することもできます。異なるオプションを組み合わせてモデルに保存することが可能です。

Library Browserを用い、標準、アドオン、カスタムブロックライブラリから容易に目的のブロックを選択して、モデル上にドラック&ドロップすることができます。

このSimulinkモデルは、レーダー計測からの飛行機の位置を推定します。このモデルは、Enbedded MATLAB Functionブロックを用いてMATLAB言語で書かれた拡張カルマンフィルタアルゴリズムを含みます。シミュレーション結果はMATLAB上でプロットされます。(右下)

Radar Tracking Using Embedded MATLAB

Copyright 1990 −2005 The MathWorks Inc .

Est . Position[x, xdot , y, ydot ]

2

Residuals1

ZOH

XYVelocity

1s

XYPosition

1s

XY toRange −Bearing

XYAccleration

Model

F a

Randomaircraftmotion

Radar Measurment

Noise

?

Meas . noiseintensity

K *uvec

Embedded MATLAB Function

meas

residual

xhatOut

EXTKALMAN

2XYCoordsXYCoordsXYCoordsXYCoordsXYCoords

2

2

2PolarCoords

2xydotxydotxydotxydotxydotxydot

2

2residual

2

4X_hat

2 2

2

Measurement_noise

2

モデルの作成および利用Simulinkの広範囲にわたるあらかじめ定義されたブロック群により、システムの詳細なブロックダイアグラムをすばやく作成し、管理することができます。Simulinkは階層的なモデリング、データ管理、サブシステムのカスタマイズのためのツールを提供し、複雑なモデルを簡潔かつ正確に表現します。

ブロックの選択およびカスタマイズSimulinkには、システムのモデリングで広く使用される機能を実現する広範囲のライブラリが含まれています。以下はその例です。

・ IntegratorブロックやUnit Delayブロックといった連続および離散ダイナミックブロック

・ Sumブロック、Productブロック、Lookup Tableブロックといったアルゴリズムブロック

・ Muxブロック、Switchブロック、Bus Selectorブロックといった構造ブロック

これらの標準ブロックのカスタマイズに加え、ユーザ独自のブロック作成およびライブラリへの追加も可能です。

航空宇宙、通信、信号処理、動画像処理などのアプリケーションに特化した機能を持つ追加ブロックセット(オプション製品)により、Simulink環境を拡張します。

また、Simulinkは物理システムをモデリングすることもできます。Simscape、SimDr i ve l i ne、SimHydrau l i cs®、SimMechanicsおよびSimPowerSystems(オプション製品)を用いると、機械、電気、油圧コンポーネントのような物理システムをモデリングすることが可能です。

MATLABアルゴリズムおよびハンドコードの統合MATLABコードを組込むと、MATLAB関数を呼び出してデータ解析や可視化を行うことができます。さらに、SimulinkはEmbedded MATLAB™コードを用い、組込みアルゴリズムを設計し、コード生成を通

じて他のモデルと共に展開することができます。また、Simulinkでは、手書きのCコード、Fortran、Adaコードをモデルに直接組込み、カスタムブロックを作成することができます。

Simulinkでブロックを結線するためのオプション。マウス操作により手動でブロックを接続できます。または、自動で結線をして間にあるブロックを避けたり複雑なトポロジーを通ることも可能です。

ScopeSaturationIntegrator

1s

In11

モデルの信号、パラメータ、プロパティ、および生成コード全てを、ナビゲート、表示、作成、設定、検索するためのモデルエクスプローラ。

Simulink、Communications BlocksetおよびSignal Processing Blocksetで作成したエンド・トゥ・エンドのマルチレート防衛通信システムです。Simulinkのソルバは、各ブロックのメソッドを呼び出すタイミングを自動で決定します。

Page 3: Simulink 7¯MATLABコマンドラインからバッチモー ドで体系的にシミュレーションを行うことが できます。以下のシミュレーションモードが

www.mathworks.co.jp

モデルの構築および編集Simulinkでは、ライブラリブラウザからグラフィカルエディタへブロックをドラッグ&ドロップし、ブロック間に数学的な関係を構築する線でブロックを接続してモデルを作成します。コピー、ペースト、取り消し、整列、分配、サイズ変更などのグラフィカルな編集機能を利用し、モデルを配置することが可能です。

Simulinkのユーザインタフェースでは、画面上で表示、使用するものをコントロールできます。エディタやコンテキストメニューにコマンド、サブメニューを追加することが可能です。また、メニュー、メニューアイテム、ダイアログボックスのコントロールを無効にしたり隠したりもできます。

モデルのグループ化Simulinkでは、サブシステムおよびモデルリファレンスを使うことでモデルを階層化し、明確かつ簡単に処理を行うことができます。サブシステムはブロック群や信号をひとつのブロックにまとめます。また、カスタムユーザインタフェースをサブシステムに加え、サブシステムのコンテンツを隠し、独自のアイコンとパラメータダイアログボックスを持つAtomicブロックとしてサブシステムを表すことができます。

モデルを設計コンポーネントに分割し、各コンポーネントを個別にモデリング、シミュレーション、検証することも可能です。コンポーネントはモデルリファレンスを使った個別のモデル、もしくはサブシステムとしてライブラリに保存されます。CVSやClearCaseなどの構成管理システムやWindowsプラットフォームの上でのSource Control Providerアプリケーションとの互換性があります。

設計コンポーネントを複数のプロジェクトで再利用することができます。監視、改訂の履歴も簡単に管理可能です。

モデルをグループ化することで設計タスクに合った詳細なレベルで選ぶことができます。たとえば、高レベルの仕様をモデル化する際はシンプルな関係を利用し、実装段階に向かうにつれて詳細な関係を追加していくことが可能です。

Confi gurableサブシステムConfi gurableサブシステムにより、モデル内で設計の可変要素とサブシステムを関連付けることができます。この機能により、一つのモデルで複数通りのデザインを表現できるため、コンポーネントを共有する設計の作成および処理が簡素化されます。

条件付き実行サブシステム条件付きで実行されるサブシステムにより、設計の特定の部分を制御ロジック信号によって有効もしくは無効にし、システムのダイナミックスを変えることができます。Simulinkでは、特定の時間やイベントに基づいてサブシステムの実行をイネーブルもしくはトリガにする制御信号を作成することができます。

ロジックブロックを使って、イネーブルドサブシステムもしくはトリガードサブシステムを制御する簡単なコマンドをモデリングすることができます。また、Statefl ow®(オプション製品)を使用することで、より複雑なロジックを含むイベントドリブンシステムをモデリングすることも可能です。

信号とパラメータの定義および管理Simulinkでは、モデルの信号やパラメータの特性を定義および制御することが可能です。信号とはブロックを接続する線で表現される時間依存量であり、パラメータとはダイナミクスおよびシステムの挙動を定義する係数です。

信号やパラメータの特性は、ダイアグラム内もしくは個別のデータ・ディクショナリ内で直接指定することができます。モデルエクスプローラにより、データ・ディクショナリの管理や、異なるデータセットを組込んで、モデルをすばやく再定義することができます。

下記の信号特性およびパラメータ特性の定義が可能です。

・ データタイプ:単精度、倍精度、符号付および符号なし8-、16-、32-ビットの整数、固定小数点、ブーリアン

・ 次元:スカラ、ベクトル、行列、N次元配列

・ 複素数:実数、複素数

・ 最小範囲、最大範囲、工学単位

固定小数点データタイプでは、128ビットまでの任意のワード長とスケーリングがサポートされます。これらのデータタイプのシミュレーションおよびコード生成には、Simulink® Fixed Point(オプション製品)が必要です。

SimulinkおよびSignal Processing Blockset(オプション製品)環境において、信号処理アプリケーションをより高速に実行するために信号サンプルモードをサンプルベースもしくはフレームベースに指定することも可能です。

Simulinkデータオブジェクトを使うことで、カスタムデータタイプおよびバス信号を定義することができます。バス信号により、設計コンポーネント間のインタフェースを定義することが可能です。

Simulinkでは、信号の仕様のレベルを指定することができます。ユーザがデータ特性を指定しなければ、Simulinkが自動的に継承します。コンポーネントインタフェースのみの指定、およびモデルの全データの指定のどちらも可能です。どのような場合でも、Simulinkはデータの信頼性を確実にするために整合性チェックを行います。

ワークスペースの階層を通じてモデルの特定の部分のパラメータのスコープを制限することができます。また、グローバルワークスペースを経由して、モデル間で共有することも可能です。

シミュレーションの実行Simulink環境でモデルを作成した後、ダイナミック挙動をシミュレーションし、時々刻々の変化をシミュレーション中に確認することができます。Simulinkは、固定および可変ステップソルバやグラフィカルデバッガ、モデルプロファイラなどの、シミュレーションの速度と正確性を実現するための機能やツールを提供します。

ソルバの使用ソルバは、モデルに含まれる情報を用いて時間的なシステムダイナミクスを計算する数値積分アルゴリズムです。Simulinkはあらゆるサイズの連続時間(アナログ)、離散時間(ディジタル)、ハイブリッド(連続・離散混合信号)およびマルチレートシステムなどの広範囲なシステムのシミュレーションをサポートするソルバを提供します。

これらのソルバはスティッフなシステムや、システムダイナミクスの瞬時変化を含む不連続性といった状態イベントを持つシステムのシミュレーションを行うことができます。

ソルバのタイプおよびプロパティ、シミュレーションの開始および終了時間、シミュレーションデータの読み込み/保存の実行などのシミュレーションオプションを指定することが可能です。また、シミュレーションの最適化、診断情報を設定することもできます。異なるオプションを組み合わせてモデルに保存することが可能です。

Library Browserを用い、標準、アドオン、カスタムブロックライブラリから容易に目的のブロックを選択して、モデル上にドラック&ドロップすることができます。

このSimulinkモデルは、レーダー計測からの飛行機の位置を推定します。このモデルは、Enbedded MATLAB Functionブロックを用いてMATLAB言語で書かれた拡張カルマンフィルタアルゴリズムを含みます。シミュレーション結果はMATLAB上でプロットされます。(右下)

Radar Tracking Using Embedded MATLAB

Copyright 1990 −2005 The MathWorks Inc .

Est . Position[x, xdot , y, ydot ]

2

Residuals1

ZOH

XYVelocity

1s

XYPosition

1s

XY toRange −Bearing

XYAccleration

Model

F a

Randomaircraftmotion

Radar Measurment

Noise

?

Meas . noiseintensity

K *uvec

Embedded MATLAB Function

meas

residual

xhatOut

EXTKALMAN

2XYCoordsXYCoordsXYCoordsXYCoordsXYCoords

2

2

2PolarCoords

2xydotxydotxydotxydotxydotxydot

2

2residual

2

4X_hat

2 2

2

Measurement_noise

2

モデルの作成および利用Simulinkの広範囲にわたるあらかじめ定義されたブロック群により、システムの詳細なブロックダイアグラムをすばやく作成し、管理することができます。Simulinkは階層的なモデリング、データ管理、サブシステムのカスタマイズのためのツールを提供し、複雑なモデルを簡潔かつ正確に表現します。

ブロックの選択およびカスタマイズSimulinkには、システムのモデリングで広く使用される機能を実現する広範囲のライブラリが含まれています。以下はその例です。

・ IntegratorブロックやUnit Delayブロックといった連続および離散ダイナミックブロック

・ Sumブロック、Productブロック、Lookup Tableブロックといったアルゴリズムブロック

・ Muxブロック、Switchブロック、Bus Selectorブロックといった構造ブロック

これらの標準ブロックのカスタマイズに加え、ユーザ独自のブロック作成およびライブラリへの追加も可能です。

航空宇宙、通信、信号処理、動画像処理などのアプリケーションに特化した機能を持つ追加ブロックセット(オプション製品)により、Simulink環境を拡張します。

また、Simulinkは物理システムをモデリングすることもできます。Simscape、SimDr i ve l i ne、SimHydrau l i cs®、SimMechanicsおよびSimPowerSystems(オプション製品)を用いると、機械、電気、油圧コンポーネントのような物理システムをモデリングすることが可能です。

MATLABアルゴリズムおよびハンドコードの統合MATLABコードを組込むと、MATLAB関数を呼び出してデータ解析や可視化を行うことができます。さらに、SimulinkはEmbedded MATLAB™コードを用い、組込みアルゴリズムを設計し、コード生成を通

じて他のモデルと共に展開することができます。また、Simulinkでは、手書きのCコード、Fortran、Adaコードをモデルに直接組込み、カスタムブロックを作成することができます。

Simulinkでブロックを結線するためのオプション。マウス操作により手動でブロックを接続できます。または、自動で結線をして間にあるブロックを避けたり複雑なトポロジーを通ることも可能です。

ScopeSaturationIntegrator

1s

In11

モデルの信号、パラメータ、プロパティ、および生成コード全てを、ナビゲート、表示、作成、設定、検索するためのモデルエクスプローラ。

Simulink、Communications BlocksetおよびSignal Processing Blocksetで作成したエンド・トゥ・エンドのマルチレート防衛通信システムです。Simulinkのソルバは、各ブロックのメソッドを呼び出すタイミングを自動で決定します。

Page 4: Simulink 7¯MATLABコマンドラインからバッチモー ドで体系的にシミュレーションを行うことが できます。以下のシミュレーションモードが

www.mathworks.co.jp

モデルの構築および編集Simulinkでは、ライブラリブラウザからグラフィカルエディタへブロックをドラッグ&ドロップし、ブロック間に数学的な関係を構築する線でブロックを接続してモデルを作成します。コピー、ペースト、取り消し、整列、分配、サイズ変更などのグラフィカルな編集機能を利用し、モデルを配置することが可能です。

Simulinkのユーザインタフェースでは、画面上で表示、使用するものをコントロールできます。エディタやコンテキストメニューにコマンド、サブメニューを追加することが可能です。また、メニュー、メニューアイテム、ダイアログボックスのコントロールを無効にしたり隠したりもできます。

モデルのグループ化Simulinkでは、サブシステムおよびモデルリファレンスを使うことでモデルを階層化し、明確かつ簡単に処理を行うことができます。サブシステムはブロック群や信号をひとつのブロックにまとめます。また、カスタムユーザインタフェースをサブシステムに加え、サブシステムのコンテンツを隠し、独自のアイコンとパラメータダイアログボックスを持つAtomicブロックとしてサブシステムを表すことができます。

モデルを設計コンポーネントに分割し、各コンポーネントを個別にモデリング、シミュレーション、検証することも可能です。コンポーネントはモデルリファレンスを使った個別のモデル、もしくはサブシステムとしてライブラリに保存されます。CVSやClearCaseなどの構成管理システムやWindowsプラットフォームの上でのSource Control Providerアプリケーションとの互換性があります。

設計コンポーネントを複数のプロジェクトで再利用することができます。監視、改訂の履歴も簡単に管理可能です。

モデルをグループ化することで設計タスクに合った詳細なレベルで選ぶことができます。たとえば、高レベルの仕様をモデル化する際はシンプルな関係を利用し、実装段階に向かうにつれて詳細な関係を追加していくことが可能です。

Confi gurableサブシステムConfi gurableサブシステムにより、モデル内で設計の可変要素とサブシステムを関連付けることができます。この機能により、一つのモデルで複数通りのデザインを表現できるため、コンポーネントを共有する設計の作成および処理が簡素化されます。

条件付き実行サブシステム条件付きで実行されるサブシステムにより、設計の特定の部分を制御ロジック信号によって有効もしくは無効にし、システムのダイナミックスを変えることができます。Simulinkでは、特定の時間やイベントに基づいてサブシステムの実行をイネーブルもしくはトリガにする制御信号を作成することができます。

ロジックブロックを使って、イネーブルドサブシステムもしくはトリガードサブシステムを制御する簡単なコマンドをモデリングすることができます。また、Statefl ow®(オプション製品)を使用することで、より複雑なロジックを含むイベントドリブンシステムをモデリングすることも可能です。

信号とパラメータの定義および管理Simulinkでは、モデルの信号やパラメータの特性を定義および制御することが可能です。信号とはブロックを接続する線で表現される時間依存量であり、パラメータとはダイナミクスおよびシステムの挙動を定義する係数です。

信号やパラメータの特性は、ダイアグラム内もしくは個別のデータ・ディクショナリ内で直接指定することができます。モデルエクスプローラにより、データ・ディクショナリの管理や、異なるデータセットを組込んで、モデルをすばやく再定義することができます。

下記の信号特性およびパラメータ特性の定義が可能です。

・ データタイプ:単精度、倍精度、符号付および符号なし8-、16-、32-ビットの整数、固定小数点、ブーリアン

・ 次元:スカラ、ベクトル、行列、N次元配列

・ 複素数:実数、複素数

・ 最小範囲、最大範囲、工学単位

固定小数点データタイプでは、128ビットまでの任意のワード長とスケーリングがサポートされます。これらのデータタイプのシミュレーションおよびコード生成には、Simulink® Fixed Point(オプション製品)が必要です。

SimulinkおよびSignal Processing Blockset(オプション製品)環境において、信号処理アプリケーションをより高速に実行するために信号サンプルモードをサンプルベースもしくはフレームベースに指定することも可能です。

Simulinkデータオブジェクトを使うことで、カスタムデータタイプおよびバス信号を定義することができます。バス信号により、設計コンポーネント間のインタフェースを定義することが可能です。

Simulinkでは、信号の仕様のレベルを指定することができます。ユーザがデータ特性を指定しなければ、Simulinkが自動的に継承します。コンポーネントインタフェースのみの指定、およびモデルの全データの指定のどちらも可能です。どのような場合でも、Simulinkはデータの信頼性を確実にするために整合性チェックを行います。

ワークスペースの階層を通じてモデルの特定の部分のパラメータのスコープを制限することができます。また、グローバルワークスペースを経由して、モデル間で共有することも可能です。

シミュレーションの実行Simulink環境でモデルを作成した後、ダイナミック挙動をシミュレーションし、時々刻々の変化をシミュレーション中に確認することができます。Simulinkは、固定および可変ステップソルバやグラフィカルデバッガ、モデルプロファイラなどの、シミュレーションの速度と正確性を実現するための機能やツールを提供します。

ソルバの使用ソルバは、モデルに含まれる情報を用いて時間的なシステムダイナミクスを計算する数値積分アルゴリズムです。Simulinkはあらゆるサイズの連続時間(アナログ)、離散時間(ディジタル)、ハイブリッド(連続・離散混合信号)およびマルチレートシステムなどの広範囲なシステムのシミュレーションをサポートするソルバを提供します。

これらのソルバはスティッフなシステムや、システムダイナミクスの瞬時変化を含む不連続性といった状態イベントを持つシステムのシミュレーションを行うことができます。

ソルバのタイプおよびプロパティ、シミュレーションの開始および終了時間、シミュレーションデータの読み込み/保存の実行などのシミュレーションオプションを指定することが可能です。また、シミュレーションの最適化、診断情報を設定することもできます。異なるオプションを組み合わせてモデルに保存することが可能です。

Library Browserを用い、標準、アドオン、カスタムブロックライブラリから容易に目的のブロックを選択して、モデル上にドラック&ドロップすることができます。

このSimulinkモデルは、レーダー計測からの飛行機の位置を推定します。このモデルは、Enbedded MATLAB Functionブロックを用いてMATLAB言語で書かれた拡張カルマンフィルタアルゴリズムを含みます。シミュレーション結果はMATLAB上でプロットされます。(右下)

Radar Tracking Using Embedded MATLAB

Copyright 1990 −2005 The MathWorks Inc .

Est . Position[x, xdot , y, ydot ]

2

Residuals1

ZOH

XYVelocity

1s

XYPosition

1s

XY toRange −Bearing

XYAccleration

Model

F a

Randomaircraftmotion

Radar Measurment

Noise

?

Meas . noiseintensity

K *uvec

Embedded MATLAB Function

meas

residual

xhatOut

EXTKALMAN

2XYCoordsXYCoordsXYCoordsXYCoordsXYCoords

2

2

2PolarCoords

2xydotxydotxydotxydotxydotxydot

2

2residual

2

4X_hat

2 2

2

Measurement_noise

2

モデルの作成および利用Simulinkの広範囲にわたるあらかじめ定義されたブロック群により、システムの詳細なブロックダイアグラムをすばやく作成し、管理することができます。Simulinkは階層的なモデリング、データ管理、サブシステムのカスタマイズのためのツールを提供し、複雑なモデルを簡潔かつ正確に表現します。

ブロックの選択およびカスタマイズSimulinkには、システムのモデリングで広く使用される機能を実現する広範囲のライブラリが含まれています。以下はその例です。

・ IntegratorブロックやUnit Delayブロックといった連続および離散ダイナミックブロック

・ Sumブロック、Productブロック、Lookup Tableブロックといったアルゴリズムブロック

・ Muxブロック、Switchブロック、Bus Selectorブロックといった構造ブロック

これらの標準ブロックのカスタマイズに加え、ユーザ独自のブロック作成およびライブラリへの追加も可能です。

航空宇宙、通信、信号処理、動画像処理などのアプリケーションに特化した機能を持つ追加ブロックセット(オプション製品)により、Simulink環境を拡張します。

また、Simulinkは物理システムをモデリングすることもできます。Simscape、SimDr i ve l i ne、SimHydrau l i cs®、SimMechanicsおよびSimPowerSystems(オプション製品)を用いると、機械、電気、油圧コンポーネントのような物理システムをモデリングすることが可能です。

MATLABアルゴリズムおよびハンドコードの統合MATLABコードを組込むと、MATLAB関数を呼び出してデータ解析や可視化を行うことができます。さらに、SimulinkはEmbedded MATLAB™コードを用い、組込みアルゴリズムを設計し、コード生成を通

じて他のモデルと共に展開することができます。また、Simulinkでは、手書きのCコード、Fortran、Adaコードをモデルに直接組込み、カスタムブロックを作成することができます。

Simulinkでブロックを結線するためのオプション。マウス操作により手動でブロックを接続できます。または、自動で結線をして間にあるブロックを避けたり複雑なトポロジーを通ることも可能です。

ScopeSaturationIntegrator

1s

In11

モデルの信号、パラメータ、プロパティ、および生成コード全てを、ナビゲート、表示、作成、設定、検索するためのモデルエクスプローラ。

Simulink、Communications BlocksetおよびSignal Processing Blocksetで作成したエンド・トゥ・エンドのマルチレート防衛通信システムです。Simulinkのソルバは、各ブロックのメソッドを呼び出すタイミングを自動で決定します。

Page 5: Simulink 7¯MATLABコマンドラインからバッチモー ドで体系的にシミュレーションを行うことが できます。以下のシミュレーションモードが

www.mathworks.co.jp

© 2009 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc.See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.

91684v00 07/09

モデルのドキュメント化Simulinkモデルには、ドキュメンテーションを容易に追加することができます。他のドキュメントやWebページへのハイパーリンクを含めた注釈をダイアグラムに直接加えることができます。また、モデルプロパティだけでなく、ブロックプロパティにも、モデルの履歴のような詳細情報を加えることが可能です。DocBlockを用いることで、モデル内にテキストファイル文書をブロックとして含むことができます。また、Simulinkの印刷機能でモデルを簡単にドキュメント化することも可能です。コマンドをひとつ入力するだけで、ブロックの仕様や異なる階層の様 な々スナップショットなど、モデルの全てを記述するHTMLドキュメントを作成することができます。

Simulink Manifest Toolを使用すると、作成したモデルに必要なファイルをリストアップしたり、他のユーザと共有するためにそれらのファイルを圧縮することができます。また、Simulink Report Generator(オプション製品)で、特定の文書基準を満たすユーザ仕様のレポートを作成したり、モデルをWebブラウザ上で対話的に閲覧できるようエクスポートすることが可能です。

C/C++コードおよびHDLコードの生成Simulink環境で構築されたモデルは、コード生成設定を行うことができます。Real-Time Workshop®とReal-Time Workshop® Embedded Coder(どちらもオプション製品)を用いて、リアルタイムシミュレーション、ラピッドプロトタイピング、および組込みシステム用のC/C++コードをモデルから生成することができます。Simulink® HDL Coder(オプション製品)を用いると、合成可能かつターゲットに依存しないVerilogおよびVHDLコードを生成したり、外部のHDLシミュレータでコードの妥当性を検証するためのテストベンチを生成することができます。

シミュレーションのデバッグSimulinkデバッカは、Simulink環境においてのシミュレーション結果を調べ、予測外の挙動を発見および診断するための対話型ツールです。1度に1メソッドずつシミュレーションを行うことで各メソッド実行の結果を検証し、モデルの問題をすばやく特定することができます。(メソッドとはSimulinkがモデルを解くためにシミュレーション時の時間ステップごとに使う関数であり、ブロックは複数のメソッドにより構成されています。)

Simulinkデバッカにより、ブレークポイントを設定し、シミュレーション実行を制御し、モデルの情報を表示することができます。MATLABコマンドラインあるいはグラフィカルユーザインタフェース(GUI)から実行することができます。GUIはモデルの実行状態を分かりやすく色分けして表示します。モデルのシミュレーションに伴い、モデル上で直接ブロックメソッドの実行をアニメーション化できることに加え、ブロックの状態量、ブロックの入出力やその他の情報を表示することができます。

シミュレーションの実行モデルのシミュレーションオプションの設定後、Simulink GUIを用いて対話的に、もしくはMATLABコマンドラインからバッチモードで体系的にシミュレーションを行うことができます。以下のシミュレーションモードが使用可能です。

・ インタプリタ処理でシミュレーションするノーマル(デフォルト)モード

・ コンパイルされたターゲットコードを生成し、実行速度を速めたアクセラレータモード(モデルパラメータの変更は可能)

・ 2つめの演算処理コア上で実行可能なSimulinkから独立した実行コードを作成することにより、対話的ではないがアクセラレータモードよりさらに速いラピッドアクセラレータモード

また、MATLABのコマンドを用いてモデルのデータとパラメータをロードおよび処理することに加え、結果を可視化することも可能です。

シミュレーションのプロファイリングモデルをプロファイリングすることで、シミュレーションのパフォーマンスのボトルネックを検出することが可能となります。モデルのシミュレーション中にパフォーマンスデータを収集し、それぞれのシミュレーションメソッドを実行するためにかかった時間を表示するシミュレーションのプロファイルレポートを作成することができます。

結果の解析Simulinkのいくつかのツールを使用し、システムの解析、結果の可視化、テスト、検証およびモデルのドキュメント化を行うことができます。

結果の可視化Simulinkの提供するDisplayや Scopeで信号を観測することにより、システムを可視化することができます。あるいは、MATLABの可視化およびGUI構築ツールを用いてユーザ独自の表示機能を作成することも可能です。また、後処理のために信号を記録することもできます。

ダイナミックシステムの複雑な3次元モーションをより深く理解するために、Virtual Reality Toolbox(オプション製品)を用いてバーチャルリアリティ画像をユーザの可視化画像に組込むことができます。

モデルのテストおよび検証Simulinkではテスト条件の生成、モデルのパフォーマンスを検証するツールが提供されています。これらは、シミュレーションテストを作成するブロックも含まれています。たとえば、Signal Builderブロックは、グラフィカルに波形を作成し、モデルを検証する機能を提供します。また、Signal & Scope Managerを用いて、ブロックを加えることなくモデルに信号、ログ、ビュー信号を入力することができます。Simulinkが提供するモデル検証ブロックで、ブロックの出力が設計要件を満たしているかを調べることも可能です。

Simulink Verifi cation and Validation(オプション製品)を使用することで、要求仕様をモデルの関連する部分とリンクさせたり、独自のモデルスタイルチェックを作成したり、モデルカバレッジを測定することができます。また、Simulink® Design Verifi er(オプション製品)を使用し、モデルに対しモデルカバレッジとユーザ定義オブジェクトを満足するテストを生成し、モデルプロパティの検証を行うことができます。テストをモデルから独立して管理する場合、SystemTest(オプション製品)を使用すると、一連のテストを構築し、テストレポートを生成することができます。

Simulink 7シミュレーションおよびモデルベースデザイン

Simulink®はマルチドメインシミュレーションやダイナミックシステム、および組込みシステムのモデルベースデザインのためのプラットフォームです。Simulinkの対話型グラフィカル環境およびカスタマイズ可能なブロックライブラリ群により、通信、制御、動画像処理、静止画像処理を含め、時間依存システムの設計、シミュレーション、実装、テストが可能です。

また設計、実装、検証といった機能を提供するアドオン製品により、Simulink環境を拡張します。

SimulinkはMATLAB®環境に統合され、ユーザはアルゴリズム開発、シミュレーションの解析と可視化、バッチ処理のスクリプト作成、モデリング環境、信号、パラメータおよびテストデータのカスタマイズ機能を持つ広範囲にわたるツールに迅速にアクセスすることができます。

主な機能■ あらかじめ定義された広範囲かつ拡張可能なブロックライブラリ

■ 直感的なブロックダイヤグラムを構築、管理する対話型グラフィカルエディタ

■ モデルを設計コンポーネントの階層に分割することにより、複雑な設計の処理が可能

■ モデルの信号、パラメータ、プロパティ、および生成されたコード全てをナビゲート、作成、設定、検索するためのモデルエクスプローラ

■ 他のシミュレーションプログラムとの接続やハンドコードの組込みを可能にするAPI(Application Programming Interfaces)

■ MATLABのアルゴリズムをSimulinkに統合し、システム実装を行なうEmbedded MATLAB™ Functionブロック

■ インタプリタ方式でのシミュレーション、もしくは固定/可変ステップソルバを用いてコンパイルされたCコードのスピードでシミュレーションを行なうシミュレーションモード(ノーマルモード、アクセラレータモード、ラピッドアクセラレータモード)

■ グラフィカルデバッガおよびプロファイラによるシミュレーション結果の検証、設計のパフォーマンスおよび予測外の挙動の診断

■ 結果の解析と可視化、モデリング環境のカスタマイズ、および信号、パラメータ、テストデータ定義のためのMATLABへのフルアクセス

■ モデルの整合性を確保しエラーを特定する、モデルの解析および診断用ツール

自動車のパワートレインモデル(左)は、それ自体もモデルである設計コンポーネント(中央/右)の集合体です。

Transmission Control Model

w

p

shift_ logic

down_threshold

up_threshold

vehicle _speed

gear

up12

up23

up34

down43

down32

down21

alert

relax

compute _thresholds

shift points

ev ()

gear

throttl e

down_threshold

up_threshold

clutch _controller

clutch _controllerTin

win

gear

upshift 12

upshift 23

upshift 34

downshif 43

downshift 32

downshift 21

alert

relax

wout

pset

wset

RT

RT

RT

RT

RT

RT

RT

RT

RT

wout5

win4Tin3

vehicle _speed2

throttle1

4

Clutch Controller Model

wset2

pset1

vmerge

In1

In2

In3

Out1shift control2−3

win

wlow

whigh

lowgear

Clowlocked

Chighlocked

T0lowdTloww0lowdwlow

lowcontrolT0highdThighw0highdwhigh

highcontrol

shift control1−2

win

wlow

whigh

lowgear

Clowlocked

Chighlocked

T0lowdTloww0lowdwlow

lowcontrolT0highdThighw0highdwhigh

highcontrol

gear ratios

wout wgear

clutch lock

wgearwinClocked

UD

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wsetMerge

Low

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wset

Gain=R41/(1 + R41)

−K−

Gain=1/R41

−K−

Gain=R41/(1 + R32)

−K−

Gain=R41

−K−

m

m

m

u−2

u−1

A604 shift control 3−4

win

wlow

whigh

lowgear

Clowlocked

Chighlocked

T0highdThighw0highdwhigh

highcontrolT0lowdTloww0lowdwlow

lowcontrol

3−4

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wset

2−4

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wset

wout12relax11alert10

downshift219

downshift328

downshif437

upshift346

upshift235

upshift124

gear3win2Tin1

4

5

<wout><win>

<wout><win>

<wout><win>

<wout><win>

Tin

66

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20} 20{20}

4<wgear>

4 {4}wgear

5

5

<C4locked>

<C3locked><C3locked>

<gear>

<w4>

<w3>

<win>

gear

<C3locked>

<C2locked>

<gear>

<w3>

<w2>

<win>

up34

dn43

relax

alert

up23

dn32

<C2locked><C2locked>

<C1locked>

<gear>

<w2>

<w1>

<win>

up12

dn21

wout

66

5

5

5

<Tin>

<Tin><Tin>

<Tin>

<Tin>

win

<win>

4 {4}Clocked

5

5

5

5

66

Gust Accel .(qdot)

2

Gust Accel .(wdot )

1Signal Builder :Gaussian Noise

W−gust model

s +(2/a)s +1/a^22Swg /sqrt (a 3̂ )*[sqrt (3)*a,1](s)

Q−gust model

s

s +pi*Vto /(4*b)pi/(4*b)

Mw

Mq

ZwVertical

Pitch GustAcceleration

F-14ディジタルフライトコントロールシステムのモデル。Signal & Scope Managerにより、ブロックを追加せずにソースとスコープをモデルに接続することが可能です。

Multirate Feedback Speed Control System

1

11

scope1:Speed (MPH)

Zero-OrderHold

1

111

Scope2:Position

(feet)

1s

11

11

11

1

Integrator2Initial position

1000 feet

1s

11

11

11

1

Integrator1Initial speed

50*5280/3600 feet/sec

-K-1

11

Gain4: Convert to MPH

-K-

Gain3:divide by

mass in pounds

500

Gain2:proportional

control

-K-

Gain1:Convert to

Feet/Second

60

Constant:DesiredSpeed (MPH)

error forceposition (feet)

speed_fps(feet/sec)accel

@ 0.2 Integrator Outputs [Minor Time Step]

SimulinkデバッガGUIでは、メソッドごとの段階的なシミュレーション実行や、ブレークポイントに至るまでの実行も可能です。

動作環境Simulinkには、以下の製品が必要です。

・ MATLAB・ Simulink Fixed Point(固定小数点データタイプのシミュレーションに必要)

動作環境につきましては、       www.mathworks.co.jp をご覧ください。

Page 6: Simulink 7¯MATLABコマンドラインからバッチモー ドで体系的にシミュレーションを行うことが できます。以下のシミュレーションモードが

www.mathworks.co.jp

© 2009 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc.See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.

91684v00 07/09

モデルのドキュメント化Simulinkモデルには、ドキュメンテーションを容易に追加することができます。他のドキュメントやWebページへのハイパーリンクを含めた注釈をダイアグラムに直接加えることができます。また、モデルプロパティだけでなく、ブロックプロパティにも、モデルの履歴のような詳細情報を加えることが可能です。DocBlockを用いることで、モデル内にテキストファイル文書をブロックとして含むことができます。また、Simulinkの印刷機能でモデルを簡単にドキュメント化することも可能です。コマンドをひとつ入力するだけで、ブロックの仕様や異なる階層の様 な々スナップショットなど、モデルの全てを記述するHTMLドキュメントを作成することができます。

Simulink Manifest Toolを使用すると、作成したモデルに必要なファイルをリストアップしたり、他のユーザと共有するためにそれらのファイルを圧縮することができます。また、Simulink Report Generator(オプション製品)で、特定の文書基準を満たすユーザ仕様のレポートを作成したり、モデルをWebブラウザ上で対話的に閲覧できるようエクスポートすることが可能です。

C/C++コードおよびHDLコードの生成Simulink環境で構築されたモデルは、コード生成設定を行うことができます。Real-Time Workshop®とReal-Time Workshop® Embedded Coder(どちらもオプション製品)を用いて、リアルタイムシミュレーション、ラピッドプロトタイピング、および組込みシステム用のC/C++コードをモデルから生成することができます。Simulink® HDL Coder(オプション製品)を用いると、合成可能かつターゲットに依存しないVerilogおよびVHDLコードを生成したり、外部のHDLシミュレータでコードの妥当性を検証するためのテストベンチを生成することができます。

シミュレーションのデバッグSimulinkデバッカは、Simulink環境においてのシミュレーション結果を調べ、予測外の挙動を発見および診断するための対話型ツールです。1度に1メソッドずつシミュレーションを行うことで各メソッド実行の結果を検証し、モデルの問題をすばやく特定することができます。(メソッドとはSimulinkがモデルを解くためにシミュレーション時の時間ステップごとに使う関数であり、ブロックは複数のメソッドにより構成されています。)

Simulinkデバッカにより、ブレークポイントを設定し、シミュレーション実行を制御し、モデルの情報を表示することができます。MATLABコマンドラインあるいはグラフィカルユーザインタフェース(GUI)から実行することができます。GUIはモデルの実行状態を分かりやすく色分けして表示します。モデルのシミュレーションに伴い、モデル上で直接ブロックメソッドの実行をアニメーション化できることに加え、ブロックの状態量、ブロックの入出力やその他の情報を表示することができます。

シミュレーションの実行モデルのシミュレーションオプションの設定後、Simulink GUIを用いて対話的に、もしくはMATLABコマンドラインからバッチモードで体系的にシミュレーションを行うことができます。以下のシミュレーションモードが使用可能です。

・ インタプリタ処理でシミュレーションするノーマル(デフォルト)モード

・ コンパイルされたターゲットコードを生成し、実行速度を速めたアクセラレータモード(モデルパラメータの変更は可能)

・ 2つめの演算処理コア上で実行可能なSimulinkから独立した実行コードを作成することにより、対話的ではないがアクセラレータモードよりさらに速いラピッドアクセラレータモード

また、MATLABのコマンドを用いてモデルのデータとパラメータをロードおよび処理することに加え、結果を可視化することも可能です。

シミュレーションのプロファイリングモデルをプロファイリングすることで、シミュレーションのパフォーマンスのボトルネックを検出することが可能となります。モデルのシミュレーション中にパフォーマンスデータを収集し、それぞれのシミュレーションメソッドを実行するためにかかった時間を表示するシミュレーションのプロファイルレポートを作成することができます。

結果の解析Simulinkのいくつかのツールを使用し、システムの解析、結果の可視化、テスト、検証およびモデルのドキュメント化を行うことができます。

結果の可視化Simulinkの提供するDisplayや Scopeで信号を観測することにより、システムを可視化することができます。あるいは、MATLABの可視化およびGUI構築ツールを用いてユーザ独自の表示機能を作成することも可能です。また、後処理のために信号を記録することもできます。

ダイナミックシステムの複雑な3次元モーションをより深く理解するために、Virtual Reality Toolbox(オプション製品)を用いてバーチャルリアリティ画像をユーザの可視化画像に組込むことができます。

モデルのテストおよび検証Simulinkではテスト条件の生成、モデルのパフォーマンスを検証するツールが提供されています。これらは、シミュレーションテストを作成するブロックも含まれています。たとえば、Signal Builderブロックは、グラフィカルに波形を作成し、モデルを検証する機能を提供します。また、Signal & Scope Managerを用いて、ブロックを加えることなくモデルに信号、ログ、ビュー信号を入力することができます。Simulinkが提供するモデル検証ブロックで、ブロックの出力が設計要件を満たしているかを調べることも可能です。

Simulink Verifi cation and Validation(オプション製品)を使用することで、要求仕様をモデルの関連する部分とリンクさせたり、独自のモデルスタイルチェックを作成したり、モデルカバレッジを測定することができます。また、Simulink® Design Verifi er(オプション製品)を使用し、モデルに対しモデルカバレッジとユーザ定義オブジェクトを満足するテストを生成し、モデルプロパティの検証を行うことができます。テストをモデルから独立して管理する場合、SystemTest(オプション製品)を使用すると、一連のテストを構築し、テストレポートを生成することができます。

Simulink 7シミュレーションおよびモデルベースデザイン

Simulink®はマルチドメインシミュレーションやダイナミックシステム、および組込みシステムのモデルベースデザインのためのプラットフォームです。Simulinkの対話型グラフィカル環境およびカスタマイズ可能なブロックライブラリ群により、通信、制御、動画像処理、静止画像処理を含め、時間依存システムの設計、シミュレーション、実装、テストが可能です。

また設計、実装、検証といった機能を提供するアドオン製品により、Simulink環境を拡張します。

SimulinkはMATLAB®環境に統合され、ユーザはアルゴリズム開発、シミュレーションの解析と可視化、バッチ処理のスクリプト作成、モデリング環境、信号、パラメータおよびテストデータのカスタマイズ機能を持つ広範囲にわたるツールに迅速にアクセスすることができます。

主な機能■ あらかじめ定義された広範囲かつ拡張可能なブロックライブラリ

■ 直感的なブロックダイヤグラムを構築、管理する対話型グラフィカルエディタ

■ モデルを設計コンポーネントの階層に分割することにより、複雑な設計の処理が可能

■ モデルの信号、パラメータ、プロパティ、および生成されたコード全てをナビゲート、作成、設定、検索するためのモデルエクスプローラ

■ 他のシミュレーションプログラムとの接続やハンドコードの組込みを可能にするAPI(Application Programming Interfaces)

■ MATLABのアルゴリズムをSimulinkに統合し、システム実装を行なうEmbedded MATLAB™ Functionブロック

■ インタプリタ方式でのシミュレーション、もしくは固定/可変ステップソルバを用いてコンパイルされたCコードのスピードでシミュレーションを行なうシミュレーションモード(ノーマルモード、アクセラレータモード、ラピッドアクセラレータモード)

■ グラフィカルデバッガおよびプロファイラによるシミュレーション結果の検証、設計のパフォーマンスおよび予測外の挙動の診断

■ 結果の解析と可視化、モデリング環境のカスタマイズ、および信号、パラメータ、テストデータ定義のためのMATLABへのフルアクセス

■ モデルの整合性を確保しエラーを特定する、モデルの解析および診断用ツール

自動車のパワートレインモデル(左)は、それ自体もモデルである設計コンポーネント(中央/右)の集合体です。

Transmission Control Model

w

p

shift_ logic

down_threshold

up_threshold

vehicle _speed

gear

up12

up23

up34

down43

down32

down21

alert

relax

compute _thresholds

shift points

ev ()

gear

throttl e

down_threshold

up_threshold

clutch _controller

clutch _controllerTin

win

gear

upshift 12

upshift 23

upshift 34

downshif 43

downshift 32

downshift 21

alert

relax

wout

pset

wset

RT

RT

RT

RT

RT

RT

RT

RT

RT

wout5

win4Tin3

vehicle _speed2

throttle1

4

Clutch Controller Model

wset2

pset1

vmerge

In1

In2

In3

Out1shift control2−3

win

wlow

whigh

lowgear

Clowlocked

Chighlocked

T0lowdTloww0lowdwlow

lowcontrolT0highdThighw0highdwhigh

highcontrol

shift control1−2

win

wlow

whigh

lowgear

Clowlocked

Chighlocked

T0lowdTloww0lowdwlow

lowcontrolT0highdThighw0highdwhigh

highcontrol

gear ratios

wout wgear

clutch lock

wgearwinClocked

UD

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wsetMerge

Low

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wset

Gain=R41/(1 + R41)

−K−

Gain=1/R41

−K−

Gain=R41/(1 + R32)

−K−

Gain=R41

−K−

m

m

m

u−2

u−1

A604 shift control 3−4

win

wlow

whigh

lowgear

Clowlocked

Chighlocked

T0highdThighw0highdwhigh

highcontrolT0lowdTloww0lowdwlow

lowcontrol

3−4

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wset

2−4

TICTdeltawICw_ratecontrolwinwoutTin

Pset

wset

wout12relax11alert10

downshift219

downshift328

downshif437

upshift346

upshift235

upshift124

gear3win2Tin1

4

5

<wout><win>

<wout><win>

<wout><win>

<wout><win>

Tin

66

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20}

20{20} 20{20}

4<wgear>

4 {4}wgear

5

5

<C4locked>

<C3locked><C3locked>

<gear>

<w4>

<w3>

<win>

gear

<C3locked>

<C2locked>

<gear>

<w3>

<w2>

<win>

up34

dn43

relax

alert

up23

dn32

<C2locked><C2locked>

<C1locked>

<gear>

<w2>

<w1>

<win>

up12

dn21

wout

66

5

5

5

<Tin>

<Tin><Tin>

<Tin>

<Tin>

win

<win>

4 {4}Clocked

5

5

5

5

66

Gust Accel .(qdot)

2

Gust Accel .(wdot )

1Signal Builder :Gaussian Noise

W−gust model

s +(2/a)s +1/a^22Swg /sqrt (a 3̂ )*[sqrt (3)*a,1](s)

Q−gust model

s

s +pi*Vto /(4*b)pi/(4*b)

Mw

Mq

ZwVertical

Pitch GustAcceleration

F-14ディジタルフライトコントロールシステムのモデル。Signal & Scope Managerにより、ブロックを追加せずにソースとスコープをモデルに接続することが可能です。

Multirate Feedback Speed Control System

1

11

scope1:Speed (MPH)

Zero-OrderHold

1

111

Scope2:Position

(feet)

1s

11

11

11

1

Integrator2Initial position

1000 feet

1s

11

11

11

1

Integrator1Initial speed

50*5280/3600 feet/sec

-K-1

11

Gain4: Convert to MPH

-K-

Gain3:divide by

mass in pounds

500

Gain2:proportional

control

-K-

Gain1:Convert to

Feet/Second

60

Constant:DesiredSpeed (MPH)

error forceposition (feet)

speed_fps(feet/sec)accel

@ 0.2 Integrator Outputs [Minor Time Step]

SimulinkデバッガGUIでは、メソッドごとの段階的なシミュレーション実行や、ブレークポイントに至るまでの実行も可能です。

動作環境Simulinkには、以下の製品が必要です。

・ MATLAB・ Simulink Fixed Point(固定小数点データタイプのシミュレーションに必要)

動作環境につきましては、       www.mathworks.co.jp をご覧ください。