Main Content

add_block

ブロックをモデルに追加

説明

h = add_block(source,dest) では、ライブラリまたはモデルからのブロック source のコピーが、指定した宛先のモデルおよびブロック名に追加されます。この構文では、モデルまたはライブラリ モデルに表示される場所と同じ場所にブロックが作成されます。

モデル間またはライブラリからコピーする場合、宛先のモデルを最初に読み込みます。

h = add_block(source,dest,'MakeNameUnique','on') により、宛先のブロック名がモデル内で確実に固有になります。その名前をもつブロックが存在する場合は、この構文によって宛先のブロック名に数値が追加され、名前が確実に固有になるようにインクリメントされます。

h = add_block(___,'CopyOption','nolink') は、ライブラリ ブロックへのリンクを作成せずにブロックまたはサブシステム source をライブラリからコピーします。

h = add_block(sourceIn,destIn,'CopyOption','duplicate') は、サブシステム内の入力端子ブロックを複製し、宛先のブロックにソース ブロックと同じ端子番号を与えます。入力端子ブロックを複製し、端子を作成またはラインを追加せずに入力端子から信号を分岐します。詳細については、重複する Inport ブロックの作成を参照してください。

h = add_block(___,Name,Value) はオプションの Name,Value 引数を使用します。

オプションのコンマ区切りされた Name,Value の引数ペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

関数 add_block では、ブロック パラメーターと値のペアを使用できます。すべてのブロック パラメーターのリストについては、共通のブロック プロパティブロック固有のパラメーターを参照してください。

すべて折りたたむ

次の入力引数を指定して関数 add_block を使用することで、ライブラリからブロックを追加できます。

  • ライブラリ ブラウザーのツリー階層の最上位レベルから、追加するライブラリ ブロックへのライブラリ ブロック パス。たとえば、'Simulink/Math Operations/Gain'

  • モデルの階層構造の最上位レベルから、新しいブロックを追加する場所への絶対ブロック パス。たとえば、'myModel/mySubsystem/myblock'

両方のパスが、ブロック名で終わらなければなりません。

この例では、カスタマイズ可能な円形ゲージを f14 モデルの Controller サブシステムに追加します。

例を開きます。次に、宛先のモデルを読み込むか開きます。

open_system('f14')

このタスクを完了するために必要なブロックの正確な名前、またはライブラリ ブラウザー ツリー内のブロックの場所がわからないとします。ライブラリ ブロック パスを取得するには、ライブラリ ブラウザーでキーワードを検索します。ライブラリ ブラウザーを開きます。検索ボックスで、「gauge」と入力し、"Enter" キーを押します。

検索結果で、円形ゲージのアイコンの上にマウスをポイントします。ツールヒントにライブラリ ブロック パスが表示されます。

Circular Gauge ブロックを Controller サブシステムに追加します。ブロックに myGauge という名前を付けます。

  • ライブラリ ブロック パスは 'simulink_hmi_customizable_blocks/Circular Gauge'.

  • 絶対ブロック パスは 'f14/Controller/myGauge' です。

add_block('simulink_hmi_customizable_blocks/Circular Gauge','f14/Controller/myGauge');

ブロックを確認するには、f14 モデルで、Controller サブシステム内に移動します。

open_system('f14/Controller')

f14 モデルから vdp モデルにブロックのコピーを追加します。

宛先のモデルを読み込むか開きます。

open_system('vdp');

Actuator Model ブロックを f14 モデルから vdp モデルに追加します。

add_block('f14/Actuator Model','vdp/Actuator Model');

Simulink® ライブラリから vdp モデルに Scope ブロックを追加します。vdp モデルには Scope という名前のブロックが既にあるため、MakeNameUnique オプションを使用して新しいブロック名が確実に固有になるようにします。

宛先のモデルを読み込むか開きます。

open_system('vdp');

Simulink® Sinks ライブラリから Scope ブロックを vdp モデルに追加し、名前が確実に固有になるようにします。

add_block('simulink/Sinks/Scope','vdp/Scope','MakeNameUnique','on')

f14/Controller サブシステムで、そのサブシステム内の別の Inport ブロックと同じ端子番号を使用する Inport ブロックを追加します。

Controller サブシステムの Stick Input (in) という名前の Inport ブロックを複製します。コピーに Stick Input (in)2 という名前を付けます。

add_block('f14/Controller/Stick Input (in)',...
'f14/Controller/Stick Input (in)2','CopyOption','duplicate')

得られるブロックは Stick Input (in) という名前のブロックと同じ端子番号を使用しますが、親サブシステムで入力端子は追加しません。その端子に入る信号は両方の Inport ブロックに分岐します。

ライブラリからモデルにブロックを追加し、名前と値の引数を使用してパラメーターを設定します。

宛先のモデルを読み込むか開きます。

open_system('vdp');

ライブラリから vdp モデルに Gain ブロックを追加します。次に、ゲイン値を 5 に設定します。

add_block('simulink/Math Operations/Gain','vdp/Five','Gain','5')

入力引数

すべて折りたたむ

モデルにコピーするブロック。次のように指定します。

  • モデルからブロックをコピーする場合は、絶対ブロック パス。たとえば、'vdp/Mu'。この使用方法によりブロックとその設定がコピーされます。

  • ライブラリからブロックを追加する場合は、ライブラリ ブロック パス。たとえば、'simulink/Math Operations/Gain'

    ライブラリ ブロック パスを取得するには、ライブラリ ブラウザーでブロックをポイントします。あるいは、ライブラリ モデルを開き、ブロックを選択して、コマンド ラインに gcb を入力できます。ライブラリ モデルを開くには、ライブラリ ブラウザーのライブラリ リストでライブラリ名を右クリックし、[library_name ライブラリを開く] を選択します。

構文 'built-in/blocktype' をソース ブロック パスとして使用することもできます。ここで、blocktype はプログラム上のブロック名で、BlockType パラメーターの値です (共通のブロック プロパティを参照)。ただし、'built-in/blocktype' を使用して追加されたブロックはライブラリ ブロックと異なる既定のパラメーター値をもつ場合があります。

サブシステムとマスクされたブロックの場合、ライブラリ ブロック パスを使用します。BlockType 値 (SubSystem) を使用して空のサブシステムを作成します。

例: 'vdp/Mu', 'simulink/Sinks/Scope'

モデル内の新しいブロックの名前と場所。ブロック パスとして指定します。

例: 'f14/Controller/MyNewBlock'

複製する入力端子ブロック。ブロック パスとして指定します。

例: 'f14/Controller/Stick Input (in)', 'myModel/mySubsystem/In1'

作成する入力端子ブロック。ブロック パスとして指定します。ソース ブロックと同じシステム内に宛先のブロックを作成します。

例: 'myModel/mySubsystem/DupPortIn'

出力引数

すべて折りたたむ

新しいブロック。ハンドルとして返されます。

バージョン履歴

R2006a より前に導入