Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

パラメーター付きリンクと自己修正可能なリンク付きサブシステム

MATLAB® コマンド プロンプトを使用して、リンク付きブロックのパラメーターの値を変更できます。このようにリンク付きブロックでパラメーターを変更すると、パラメーター付きリンクが作成されます。

同様に、親ライブラリ ブロックを変更せずにリンク付き Subsystem ブロックの構造を変更することもできます。このような変更はマスク初期化コードを使用して適用でき、自己修正可能なリンク付きサブシステムと呼ばれます。

パラメーター付きリンク

マスク サブシステムのリンク付きブロックの子ブロックのパラメーター値を変更すると、パラメーター付きリンクが作成されます。

パラメーター付きリンクにより、リンク付きブロックと親ライブラリ ブロックに異なるパラメーター値を設定できます。このようなライブラリ ブロックの場合でも、親ブロックへのリンクは保持されます。

メモ

親ライブラリ ブロックのマスク値を変更しても、パラメーター付きリンクは作成されません。

たとえば、set_param コマンドを使用して、リンク付きサブシステム ブロックの子ブロックのパラメーター値を設定できます。set_param コマンドは、サブシステムのリンク付きブロックの子ブロックのパラメーター値をオーバーライドします。これにより、子ブロックの値を親ライブラリ ブロックと区別し、パラメーター付きリンクを作成します。

パラメーター値が 1 である Gain ブロックを含む Subsystem ライブラリ ブロックについて考えます (Subsystem ライブラリ ブロックを参照)。

Subsystem ライブラリ ブロック

この Subsystem ブロックをモデル内のリンク付きブロックとして使用します。

親ライブラリ ブロックの値を変更せずに、リンク付きブロックの子ブロックのパラメーター値を変更できます。たとえば、Subsystem リンク付きブロック内の Gain ブロックのパラメーター値を変更できます。

Subsystem リンク付きブロック内の Gain ブロックの Gain パラメーター値を 100 に変更するには、MATLAB コマンド プロンプトで次のコマンドを順番に入力します。

pathName = [ModelName,'/Gain_Subsystem1/Gain'];
set_param(pathName, 'Gain', '100')

パラメーター付きリンクが作成されたら、パラメーター値をオーバーライドします (パラメーター表示リンク付きブロックを参照)。同様に、Subsystem1 リンク付きブロックの Gain パラメーター値を変更します。

パラメーター表示リンク付きブロック

パラメーター付きリンクを含むモデルを保存する場合、Simulink® は変更内容を、親ライブラリのパスとともに Subsystem のローカル コピーに保存します。モデルを再度開くときに、Simulink は、読み込まれたモデルにライブラリ ブロックをコピーして、保存されている変更を適用します。

メモ

ブロックでパラメーター化された変更を表示するには、ブロックを右クリックして、コンテキスト メニューで [変更を表示] を選択します。[Link changes] ダイアログ ボックスが開き、変更されたブロックのリストが表示されます。このダイアログ ボックスを使用して、ブロックからパラメーター化された変更を削除することもできます。

パラメーター付きリンクの識別

パラメーター付きリンクには、次の識別が表示されます。

  • パラメーター付きリンクのリンク バッジには、赤い星印のアイコンの付いた黒色のリンク が含まれます。詳細については、ライブラリ リンクの表示を参照してください。

  • パラメーター表示リンク付きブロックのツールヒントには、[リンク内の変更されたパラメーター] が表示されます。

  • リンク付き Subsystem ブロックのブロック ダイアログ ボックスには、[パラメーター付きのリンク] が含まれます。

自己修正可能なリンク付きサブシステム

ヒント

自己修正可能なリンク付きサブシステムに対してバリアント ブロックを使用することをお勧めします。

自己修正可能なリンク付きサブシステムは、リンクを無効にせずにサブシステムで構造的な変更を行う機能をもつリンク付きブロックです。リンク付きブロックとして自己修正可能なマスクを含むライブラリ ブロックを使用する場合、自己修正可能なリンク付きサブシステムが作成されます。マスク初期化コードを使用して構造的な内容を変更できます。

詳細については、動的なマスク サブシステムおよび自己修正可能マスクを参照してください。

関連するトピック