パラメーター付きリンクと自己修正可能なリンク付きサブシステム
パラメーター値の変更も親ライブラリ ブロック内のリンクの無効化も行わずに、リンク付きサブシステム ブロックの子ブロックのパラメーター値を変更すると、パラメーター付きリンクが作成されます。
同様に、自己修正可能なマスクをもつリンク付きサブシステム ブロックがある場合、親ライブラリ ブロックを変更せずにリンク付きサブシステムの構造を変更できます。
パラメーター付きリンク
パラメーター付きリンクにより、親ライブラリ ブロックと比較して、リンク付きブロックに異なるパラメーター値を設定する柔軟性が得られます。親ライブラリ ブロックの元の値に影響することなく、リンク付きブロックの特定のパラメーター値をオーバーライドまたはカスタマイズできます。このようなパラメーター付きリンク ブロックの場合でも、親ブロックへのリンクは保持されます。
メモ
親ライブラリ ブロックのマスク値を変更しても、パラメーター付きリンクは作成されません。
サブシステム ブロック Subsystem が含まれているカスタム ライブラリ Libraries
について考えます。Subsystem には、パラメーター値が 1
に設定されている Gain ブロックが含まれています。
モデルに Subsystem ブロックを追加して、リンク付きブロック Subsystem および Subsystem1 を作成します。
モデルでは、親ライブラリ ブロックの値を変更せずに、リンク付きブロックの子ブロックのパラメーター値を変更できます。たとえば、Subsystem リンク付きブロック内の Gain ブロックのパラメーター値を 100
に変更できます。パラメーター値の変更の詳細については、Edit Block Parametersを参照してください。
プログラムによってパラメーター値を変更するには、以下のコマンドを使用します。
pathName = [ModelName,'/Gain_Subsystem/Gain']; set_param(pathName, 'Gain', '100')
同様に、Subsystem1 リンク付きブロック内の Gain ブロックのパラメーター値を 200
に変更できます。
リンク付きブロック内のパラメーター値を変更すると、親ライブラリ ブロックから取得された以前のパラメーター値がオーバーライドされます。子ブロックの値とその親ライブラリ ブロックのこのような区別により、パラメーター付きリンクが作成されます。
パラメーター付きリンクを含むモデルを保存する場合、Simulink® は変更内容を、親ライブラリのパスとともに Subsystem のローカル コピーに保存します。モデルを再度開くときに、Simulink は、読み込まれたモデルにライブラリ ブロックをコピーして、保存されている変更を適用します。
モデル内のパラメーター付きリンクを表示するには、Simulink ツールストリップで [Subsystem ブロック] タブに移動し、[リンク マネージャー] をクリックします。ライブラリ リンク マネージャーが開きます。[パラメーター付きのリンク] タブをクリックして、モデル内のパラメーター付きリンクをすべて表示します。
パラメーター付きリンクの識別
パラメーター付きリンクを識別するには、リンク付きサブシステム ブロックのリンク バッジの以下の識別情報を使用します。
リンク バッジに赤い星のアイコンが付いた黒いリンク 。詳細については、ライブラリ リンクの表示を参照してください。
リンク バッジのツールヒントに、[リンク内の変更されたパラメーター] と表示される。
自己修正可能なリンク付きサブシステム
ヒント
自己修正可能なリンク付きサブシステムに対してバリアント ブロックを使用することをお勧めします。
自己修正可能なリンク付きサブシステムは、親ライブラリ ブロックでリンクを無効にせずにサブシステムで構造的な変更を行う機能をもつリンク付きブロックです。リンク付きブロックとして自己修正可能なマスクを含むライブラリ ブロックを使用する場合、自己修正可能なリンク付きサブシステムが作成されます。マスク初期化コードを使用して構造的な内容を変更できます。詳細については、動的なマスク サブシステムおよび自己修正可能マスクを参照してください。