Upload
lenhi
View
217
Download
0
Embed Size (px)
Citation preview
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 をご覧ください。
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のソルバは、各ブロックのメソッドを呼び出すタイミングを自動で決定します。
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のソルバは、各ブロックのメソッドを呼び出すタイミングを自動で決定します。
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のソルバは、各ブロックのメソッドを呼び出すタイミングを自動で決定します。
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 をご覧ください。
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 をご覧ください。