Main Content

getRootInportMap

信号をルートレベルの Inport にマッピングするカスタム オブジェクトの作成

説明

map = getRootInportMap('Empty'); は、空のマップ オブジェクト map を作成します。このマップ オブジェクトを使用して、空のカスタム マッピング オブジェクトを設定します。詳細については、ヒントを参照してください。

map = getRootInportMap(Name=Value); は、modelmdl で使うための、指定されたブロック名と信号名をもつマップ オブジェクトを作成します。このオブジェクトからマップする変数のコンマ区切りリストを作成するには、関数 getInputString を使用します。詳細については、ヒントを参照してください。

すべて折りたたむ

空のマッピング オブジェクトを作成します。

map = getRootInportMap('Empty')
map = 

  1x0 InputMap array with properties:

    Type
    DataSourceName
    Destination
    Status
    BlockName
    BlockPath
    SignalName
    PortNumber

MATLAB® 時系列オブジェクトを使用して単純なマッピング オブジェクトを作成します。

時系列オブジェクト signalIn1 を作成します。

signalIn1 = timeseries((1:10)')
  timeseries

  Common Properties:
            Name: 'unnamed'
            Time: [10x1 double]
        TimeInfo: tsdata.timemetadata
            Data: [10x1 double]
        DataInfo: tsdata.datametadata

モデルの時系列オブジェクトのマッピング オブジェクトを作成します。

model = 'ex_three_inports'
model = 
'ex_three_inports'
open_system(model);
map = getRootInportMap('model','ex_three_inports',...
'blockName','In1','signalname','signalIn1')
map = 
  InputMap with properties:

              Type: 'Inport'
    DataSourceName: 'signalIn1'
       Destination: [1x1 Simulink.iospecification.Destination]
            Status: -1
         BlockName: 'In1'
         BlockPath: 'ex_three_inports/In1'
        SignalName: 'signalGain5'
        PortNumber: 1

モデルのブロック名と信号名のベクトルを使用して、マッピング オブジェクトを作成します。

ベクトルのマッピング オブジェクトを作成します。

model = 'ex_three_inports';
open_system(model);
map = getRootInportMap('model','ex_three_inports',...
'blockName',{'In1' 'In2'}, ...
'signalname',{'signalIn1' 'signalIn2'})
map=1×2 object
  1x2 InputMap array with properties:

    Type
    DataSourceName
    Destination
    Status
    BlockName
    BlockPath
    SignalName
    PortNumber

信号 "var2" を含むマッピング オブジェクトを作成し、"var2""var1" でオーバーライドします。

モデルを読み込み、変数を定義します。

model = 'ex_three_inports';
open_system(model);
blockNameValue = 'In1';
signalNameValue = 'var2';
portType = 'Inport';

"var1" を定義し、"var2""var1" でオーバーライドします。

signalNameToOverload = 'var1';
mapToOverload = getRootInportMap('model',model,...
'blockName',blockNameValue,...
 'signalName',signalNameToOverload)
mapToOverload = 
  InputMap with properties:

              Type: 'Inport'
    DataSourceName: 'var1'
       Destination: [1x1 Simulink.iospecification.Destination]
            Status: -1
         BlockName: 'In1'
         BlockPath: 'ex_three_inports/In1'
        SignalName: 'signalGain5'
        PortNumber: 1

入力引数

すべて折りたたむ

空のマップ オブジェクトを作成します。

データ型: char | string

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

R2021a より前は、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'model','ex_three_inports' はモデル 'ex_three_inports' をルート Inport のマップに関連付けます。

ルート Inport のマップに関連付けられたモデル名

例: 'ex_three_inports'

データ型: char | string

ルートレベルの入力端子のブロック名。cell 配列として指定します。ツールは、ルート Inport ブロックの名前に基づいて、データを端子に割り当てます。ルート Inport ブロックの名前に一致する名前のデータ要素が検出されると、ツールはそのデータを対応する端子にマッピングします。

この引数は、次の値をとることができます。

ルートレベルの入力端子のブロック名。
ルートレベルの入力端子のブロック名を複数含んでいる cell 配列。

例: 'In1'

データ型: char | string

ルートレベルの入力端子のブロック パス。cell 配列として指定します。ツールは、ルート Inport ブロックのブロック パスに基づいて、データを端子に割り当てます。ルート Inport ブロックのブロック パスに一致する名前のデータ要素が検出されると、ツールはそのデータを対応する端子にマッピングします。

この引数は、次の値をとることができます。

ルートレベルの入力端子のブロック パス。
ルートレベルの入力端子のブロック パスを複数含んでいる cell 配列。

例: 'ex_three_inports/In1'

データ型: char | string

マッピング対象の信号名。cell 配列として指定します。ツールは、端子の信号の名前に基づいて、データを端子に割り当てます。端子の信号名に一致する名前のデータ要素が検出されると、ツールはそのデータを対応する端子にマッピングします。

この引数は、次の値をとることができます。

マッピング対象の信号名。
マッピング対象の信号の信号名を複数含んでいる cell 配列。

例: 'var2'

データ型: char | string

オーバーライドするマッピング オブジェクトの名前。スカラーとして指定します。関数は、指定したプロパティで inputmap オブジェクトをオーバーライドします。マッピング オブジェクトの modelblockNamesignalName のプロパティのみをオーバーライドできます。この関数を使用する前に、モデルを読み込んでください。最初にモデルを読み込まなかった場合、この関数は、モデルを読み込んでマッピングを作成し、その後にこのモデルを閉じます。このオブジェクトからマップする変数のコンマ区切りリストを作成するには、関数 getInputString を使用します。

例: 'newMap'

データ型: char | string

出力引数

すべて折りたたむ

データをルートレベルの入力端子にマッピングするためのカスタム オブジェクト。マッピング オブジェクトとして返されます。このオブジェクトからマップする変数のコンマ区切りリストを作成するには、関数 getInputString を使用します。

ヒント

  • この関数を実行する前に、モデルを読み込んでください。最初にモデルを読み込まなかった場合、この関数は、モデルを読み込んでマッピングを作成し、その後にこのモデルを閉じます。

  • カスタム マッピング モードが既存の Simulink® マッピング モードと同様である場合、代わりに関数 getSlRootInportMap の使用を検討してください。

  • データをルートレベルの Inport にマッピングするカスタム マッピング モードを作成するときは、関数 getRootInportMap を使用します。詳細については、カスタム マッピング モードの作成と使用を参照してください。

バージョン履歴

R2012b で導入