xlAddTerms は Simulink の addterms コマンドに似ており、モデル内の未接続のポートを終端または駆動するブロックを追加します。xlAddTerms を使用すると、出力ポートは Simulink のターミネーター ブロックで終端され、入力ポートは Simulink または HDL の定数ブロックで正しく駆動されます。また、HDL ゲートウェイ ブロックを条件付きで追加することもできます。
optionStruct 引数は、ブロックのプロパティを設定するか (例: 定数ブロックの値を 5 に設定)、異なるソース ブロックまたはターミネーター ブロックを使用するよう指定します。
構文
xlAddTerms(arg1,optionStruct)
説明
次の説明では、ソース ブロックは、未接続のポートを駆動するために使用されるブロックを指します。ターミネーター ブロックは、未接続のポートを終端させるためのブロックを指します。
xlAddTerms(arg1,optionStruct)
xlAddTerms には、引数を 1 つまたは 2 つ指定できます。2 番目の引数 optionStruct はオプションです。最初の引数には、システムの名前やブロック リストを指定します。
arg1 | 説明 |
---|---|
gcs | 現在のシステムの文字列ハンドル |
'top/test1' | test1 というシステムの文字列ハンドル。xlAddTerms にシステムへのハンドルが渡されます。xlAddTerms は、サブシステムのすべての子ブロックを含む test1 以下のすべてのブロックで実行されます。 |
{'top/test1'} | 文字列ハンドルのブロック リスト。xlAddTerms にブロックへのハンドルが渡されます。xlAddTerms は test1 という名前のブロックに対してのみ実行され、子ブロックに対しては実行されません。 |
{'t/b1';'t/b2';'t/b3'} | 文字列ハンドルのブロック リスト。 |
[1;2;3] | 数値ハンドルのブロック リスト。 |
optionStruct 引数はオプションですが、指定する場合は MATLAB の構造体である必要があります。次の表に、構造体で使用可能な値を示します。構造体のフィールド名では、MATLAB のすべての構造体のフィールド名と同様に、大文字と小文字が区別されます。
optionStruct | 説明 |
---|---|
Source |
xlAddTerms は、任意のソース ブロックを使用して入力ポートを終端できます (SourceWith フィールドを参照)。ソース ブロックのパラメーターを指定するには、optionStruct の Source フィールドを使用して、パラメーターをサブフィールドとして渡します。Source フィールドを指定すると、xlAddTerms によりソース ブロック上で一連の set_params が実行されます。ソース ブロックのタイプを変更することが可能なので、ここでのパラメーターが使用中のソース ブロックに関連するものであることを確認してください。 たとえば、Simulink の定数ブロックをソース ブロックとして使用する場合、ブロックの値を 10 に設定するには、次のように入力します。
HDL の定数ブロックをソース ブロックとして使用する場合、定数ブロックの値を 10、データ型を UFIX_32_0 に設定するには、次のように入力します。
|
SourceWith |
SourceWith フィールドは、ソース ブロックを指定します。デフォルトでは定数ブロックを使用します。SourceWith には、指定する必要のある 2 つのサブフィールドがあります。 SourceWithBlock: 使用するブロックへの完全パスとその名前を指定する文字列 (例: built-in/Constant または xbsIndex_r3/AddSub)。 SourceWithPort: 接続に使用するポート番号を指定する文字列。1 または 3 のように指定します。たとえば 1 を指定すると、接続にポート 1 が使用されます。 |
TermWith |
TermWith フィールドは、ターミネーター ブロックを指定します。デフォルトでは、Simulink ターミネーター ブロックが使用されます。TermWith には、指定する必要のある 2 つのサブフィールドがあります。 TermWithBlock: 使用するブロックへの完全パスとその名前を指定する文字列 (例: built-in/Terminator または xbsIndex_r3/AddSub)。 TermWithPort:
接続に使用するポート番号を指定する文字列です。1 または 3 のように指定します。
たとえば 1 を指定すると、接続にポート 1 が使用されます。 |
UseGatewayIns | xlAddTerms に必要に応じて HDL Gateway In を挿入するよう指示します。このフィールドは、Gateway In を挿入するために使用します。Gateway In を使用しない場合は、このフィールドは使用しないでください。 |
GatewayIn |
Gateway In を挿入する場合、Source や Term と同様に、そのパラメーターをこのフィールドを使用して設定できます。 次に例を示します。
Gateway In を ufix_32_0 を出力するよう設定します。 |
UseGatewayOuts | xlAddTerms に必要に応じて HDL Gateway Out を挿入するよう指示します。このフィールドは、Gateway Out を挿入するために使用します。Gateway Out を使用しない場合は、このフィールドは使用しないでください。 |
GatewayOut |
Gateway Out を挿入する場合、Source や Term と同様に、そのパラメーターをこのフィールドを使用して設定できます。 次に例を示します。
Gateway Out を ufix_32_0 の入力を受信するよう設定します。 |
RecurseSubsystems | すべての子サブシステムの下で xlAddTerm を再帰的に実行するよう指示します。1 または 0 のスカラー値を指定します。 |
例
例 1: 現在のシステムで、デフォルトのパラメーターを使用して xlAddTerms を実行します。定数のソース ブロックが使用され、Gateway は追加されません。サブシステムは再帰的に終端されます。
xlAddTerms(gcs);
例 2: サブシステム tt./mySubsystem のすべてのブロックで xlAddTerms を実行します。
xlAddTerms(find_system('tt/mySubsystem','SearchDepth',1));
例 3: 現在のシステムで、ソース ブロックの定数値を 1 に設定し、Gateway Out を使用し、ターミネーター ブロックが Simulink Display ブロックを使用するよう変更して xlAddTerms を実行します。
s.Source.const = '10';
s.UseGatewayOuts = 1;
s.TermWith.Block = 'built-in/Display';
s.TermWith.Port = '1';
s.RecurseSubsystem = 1;
xlAddTerms(gcs,s);
注記
フィールド名の大文字と小文字は区別されません。Source、GatewayIn、GatewayOut フィールドを使用する場合、設定するパラメーター名が有効であることを確認してください。