Main Content

ルート Inport のマッピングの信号データの作成

ルート Inport マッパー ツールを使用する最初のステップは、インポートおよびマッピングする信号データのソースを特定することです。既存のデータ (たとえば Microsoft® Excel® スプレッドシート内の) を使用して MAT ファイルにデータを作成することも、信号エディターのインターフェイスを使用して信号データを作成することもできます。

ルート Inport マッパー ツールの使用に関連するその他のステップの概要については、インポートおよびマッピングのワークフローを参照してください。

インポートしてマッピングするデータのソースの選択

データは次のソースからインポートできます。

  • ベース ワークスペース — ベース ワークスペースからデータを選択してインポートできます。サポートされているデータ形式の詳細については、ベース ワークスペースと MAT ファイルの形式の選択を参照してください。

  • データ ファイル — MAT ファイルと Microsoft Excel ファイルに含まれている信号を選択してインポートできます。ファイルの内容をインポートするたびに、この内容によってルート Inport マッパー ツールで既に読み込まれているファイルのデータがオーバーライドされます。

    詳細については、ベース ワークスペースと MAT ファイルの形式の選択およびSupported Microsoft Excel File Formatsを参照してください。

    ヒント

    シミュレーションの入力データを Microsoft Excel スプレッドシートから読み込む場合は、From Spreadsheet ブロックの使用を検討してください。シミュレーション中に、From Spreadsheet ブロックはスプレッドシートのデータを段階的に読み込みます。From Spreadsheet ブロックを使用する場合、シートの値への変更を処理するために何もする必要はありません。

信号エディターのインターフェイスを使用して信号データを作成および編集することもできます。詳細については、信号データの作成と編集を参照してください。

信号およびバスの命名規則の選択

インポートする信号を識別するときは、このデータのグループ化 (シナリオ) が相互交換可能になるような信号およびバスの命名規則の使用を検討してください。たとえば、命名規則に従って名付けられた同じ変数セットを持つ 2 つの MAT ファイルは、異なるデータ値を持つことができます。そして、モデルへの入力データおよびモデルからの入力データのシナリオを簡単に切り替えることができます。

ベース ワークスペースと MAT ファイルの形式の選択

ルート Inport マッパー ツールは MATLAB® データ型またはインポートされた信号データのテーブルで説明されている形式をサポートしています。各データ型について、Choose Map Modeで示されているマッピング モードを使用できます。

メモ

ルート Inport マッパー ツールでサポートされない形式のデータが MAT ファイルまたはベース ワークスペースに含まれている場合、データは無視されます。

メモ

ルート Inport マッパー ツールがこれらの形式を受け入れたとしても、Simulink.SimulationData.Dataset オブジェクトでリンクするだけの場合があります。MAT ファイル内のデータを Simulink.SimulationData.Dataset オブジェクトに変換するには、[ルート Inport マッパー] ダイアログ ボックスで [信号をシナリオ データセットに変換して MAT ファイルに保存] チェック ボックスをオンにします。あるいは、関数 convertToSLDataset を使用してデータを変換します。

メモ

timetableDataset またはバスの要素として指定するとき、timetable には 1 つの信号のみのデータを含めなければなりません。

データセットの信号データ

データセットに一意ではない要素名が付けられている場合、[端子の順序] マッピング モードを使用します。マッピング モードの詳細については、Map Modeを参照してください。

MATLAB 時系列信号データ

列挙データを含む MATLAB timeseries データがあり、列挙クラスが MATLAB パス上にない場合、その timeseries データは無視されます。

構造体の信号データ

構造体信号データをデータセットに変換する場合、信号の名前は、構造体信号の信号フィールドのラベル フィールドに含まれる値を使用して付けられます。

配列の信号データ

ルート Inport マッパー ツールは、データ配列を単一の入力端子にマッピングしようとします。この場合、どのマッピング モードでも選択できます。

ルート Inport のマッピング用のバスの信号データ

ルートレベルの Inport ブロックにインポートおよびマッピングする信号データには、バス データを含めることができます。バス信号をルートレベルの Enable ブロックまたは Trigger ブロックにマッピングすることはできません。

  1. MATLAB ワークスペースで、インポートおよびマッピングするバス データのバス オブジェクトを作成するか読み込みます。

  2. バス オブジェクトをベース ワークスペースに作成する場合は、バス オブジェクトの定義を MAT ファイルに保存します (d_myBusObj.mat など)。

  3. バス オブジェクトに対し、インポートするバス データを含む別の MAT ファイルを作成します。次のいずれかの方法を使用します。

    • MATLAB 構造体または Simulink.SimulationData.Dataset オブジェクトが既に含まれている既存の MAT ファイルを使用します。

    • ベース ワークスペース内でバスを作成して、それを MAT ファイルに保存します。

  4. バス オブジェクトを読み込むようにモデルを設定します。

    • 信号のマッピング先のルートレベルの Inport ブロックの場合は、[データ型] フィールドを [バス] に設定します。信号のマッピングに使用するバス オブジェクトの変数の名前を指定します。

    • マッピングに使用するバス オブジェクトを含む MAT ファイルをモデルに読み込みます。たとえば、コールバック関数 PreLoadFcn を使用します。詳細については、マッピング データ読み込みの代替ワークフローを参照してください。

ルート Inport のマッピング用の信号データの MAT ファイルでの作成

信号データを MAT ファイルで作成して、ルート Inport のマッピングで使用できます。たとえば、3 つの信号 (signal1signal2 および signal3) をインポートして、信号を MAT ファイルで保存できます。Simulink.SimulationData.Signal オブジェクトには、信号名、ブロック名、ブロック パスおよび端子の順序インデックス値が含まれます。

関数 convertToSLDataset を使用して MAT ファイルの内容を Simulink.SimulationData.Dataset オブジェクトに変換できます。

  1. MATLAB で、3 つの Simulink.SimulationData.Signal オブジェクトを作成して信号名、ブロック パスおよび端子の順序インデックス値を指定します。

    signal1 = Simulink.SimulationData.Signal;
    signal1.Name = 'signal1';
    signal1.BlockPath = Simulink.SimulationData.BlockPath('Out1');
    signal1.PortType = 'inport';
    signal1.PortIndex = 1;
    
    signal2 = Simulink.SimulationData.Signal;
    signal2.Name = 'signal2';
    signal2.BlockPath = Simulink.SimulationData.BlockPath('Out2');
    signal2.PortType = 'inport';
    signal2.PortIndex = 2;
    
    signal3 = Simulink.SimulationData.Signal;
    signal3.Name = 'signal3';
    signal3.BlockPath = Simulink.SimulationData.BlockPath('Out3');
    signal3.PortType = 'inport';
    signal3.PortIndex = 3;
    
  2. MATLAB ワークスペースで、signal1signal2 および signal3 を選択します。選択を右クリックして、コンテキスト メニューで [名前を付けて保存] をクリックします。ファイルを mySigData.mat として保存します。

  3. MAT ファイルを開きます。

    open mySigData.mat
    ans = 
    
        signal1: [1x1 Simulink.SimulationData.Signal]
        signal2: [1x1 Simulink.SimulationData.Signal]
        signal3: [1x1 Simulink.SimulationData.Signal]

この MAT ファイルでは、[信号名][ブロック名][ブロック パス] または [端子の順序] マッピング モードを使用できます。マッピング モードに基づいて、ルート Inport マッパー ツールは MAT ファイルの信号データを対応する端子にマッピングします。

参考

関連するトピック