MapleSimConnector[SBlock][GenerateSBlock] - Simulink(R) ダイアグラムを作成するためのコードを生成
|
使い方
|
|
GenerateSBlock(system, sourcename, blockname, opts)
|
|
パラメータ
|
|
system
|
-
|
System; エクスポートするオブジェクト
|
sourcename
|
-
|
string; メインの S-Function ブロックのファイル名
|
blockname
|
-
|
string; Simulink(R) ブロックダイアグラムのファイル名
|
opts
|
-
|
(省略可) option = value 形式の式; GenerateSBlock のオプションを指定
|
|
|
|
|
説明
|
|
•
|
GenerateSBlock コマンドは、 system オブジェクトのために MapleSimConnector[SBlock] が生成したコードをコンパイルする一連の MATLAB(R) コマンドと、そのコンパイルされたコード(ソースファイルは sourcename により指定)を呼ぶ Simulink(R) ダイアグラム(名前は blockname で指定)を生成します。
|
•
|
target オプションが C のとき、生成されたスクリプトは最初に C ファイルをコンパイルするため mex MATLAB コマンドのコールを作成します。このため、生成したコードを実行する前に MATLAB で mex コマンドを設定する必要があります。mex コマンドの設定方法については MapleSimConnector[setup] をご覧ください。
|
•
|
生成された m-script コマンドは、MATLAB で実行されると、Simulink(R) を呼び出してモデルダイアグラムまたはライブラリダイアグラムを作成します。作成するダイアグラムのタイプは、model オプションで指定します (「オプション」のセクションを参照)。なお生成されたコードは、Simulink(R) をインストールおよび設定しておかないと実行できません。
|
•
|
結果として得られる Simulink(R) ブロックは、blockname で指定された名前を持つ単一のサブシステムブロックで構成されています。この blockname サブシステムには、指定の system にあるのと同数の入出力ポートがあります。blockname サブシステム内には 5 つの主要な要素が含まれており、それらは各入力ポート、MUX ブロック 1 つ、S-Function ブロック 1 つ、DEMUX ブロック 1 つ、および各出力ポートです。
|
–
|
入力ポート (inports) の名前は、指定の system オブジェクトから抽出されます。
|
–
|
MUX ブロックでは入力内容が、単一の信号ベクトルに集約されて、S-Function ブロックに接続されます。MUX ブロックに付与される名前は Inputs です。
|
–
|
S-Function ブロックには、単一の入力ベクトルと、単一の出力ベクトルのみがあります。S-Function ブロックの名前は blockname で設定されます。
|
–
|
DEMUX ブロックでは、S-Function ブロックからの複数の出力信号が分離されます。DEMUX ブロックに付与される名前は Outputs です。
|
–
|
出力ポート (outports) の名前も、指定の system オブジェクトから抽出されます。
|
–
|
parameters オプションを指定すると、サブシステムブロックに対してマスクが作成されます。パラメータのタイプは symbol でなければなりません。マスクで使用できるパラメータ変数により、MATLAB 内での実行時にユーザーによる変更が可能となります。マスクにリストされる各パラメータに対するプロンプトのラベルは、labels オプションで指定された文字列から生成されます。labels オプションを指定しない場合は、parameters オプションで定義された式の左辺を使用して、マスク用のプロンプトのラベルが生成されます。
|
|
|
オプション
|
|
opts 引数は、option = value 形式の省略可能な引数です。ここで、option は以下に列挙された名前の 1 つです。これらの引数はキーワードパラメータに相当し、等式の左辺がキーワードで、右辺は値です。各キーワードパラメータには、そのパラメータが渡されなかった場合に指定されるデフォルト値があります。
各キーワードパラメータの説明を以下に示します。各項の先頭行は引数の書式を表し、左側がキーワード、右側が値の型となります。型が truefalse の場合は、キーワードのみを渡すと keyword = と見なされます。
Simulink ブロックの生成マスクで使用される、プロンプトのラベルのリストです。labels リストに含まれる要素の数は、parameters リストのものと同じでなければなりません。デフォルトでは、parameters オプションの各変数の名前 (式の左辺) となります。
|
生成される Simulink ダイアグラムのタイプを指定します。Simulink ダイアグラムのファイルには、モデルおよびライブラリという 2 つのタイプがあります。model を true に設定すると、モデルタイプの Simulink ダイアグラムが生成されます。true でない場合は、ライブラリタイプの Simulink ダイアログが生成されます。デフォルトは false です。
|
|
システムに対するパラメータ式のリストです。parameters リストを指定すると、メインのサブブロックに対してマスクが生成されます。これにより、個々のパラメータ変数が、生成される Simulink ダイアグラムのマスク・ダイアログボックスにリストされて編集可能となります。parameters を省略すると、SystemOptions(parameters) の設定内容が使用されます。parameters オプションは、指定のシステムに記号パラメータが含まれている場合に必要です。さもないと、MATLAB(R) 内で生成コードを実行した際にエラーとなります。デフォルトは空のリストです。
|
メインのサブブロックのタイプを指定します。C は、Level-2 C S-Function ブロック用にメイン・サブブロックを生成することを表します。Matlab は、Level-1 M-file S-Function ブロック用にメイン・サブブロックを生成することを表します。デフォルトは C です。
|
|
例
|
|
>
|
with(MapleSimConnector):
|
パラメータ値
>
|
par := [m=5, b=2, k=3];
|
| (5.1) |
微分方程式
>
|
de := m*diff(y(t), t, t) + b*diff(y(t), t) + k*y(t) = u(t);
|
| (5.2) |
>
|
sys1 := DynamicSystems:-DiffEquation(de, inputvariable=[u(t)], outputvariable=[y(t)]);
|
| (5.3) |
>
|
script := SBlock:-GenerateSBlock(sys1, "SpringMassDamper_C1", "Block", parameters=par):
|
|
|
Download Help Document
Was this information helpful?