Main Content

信号データのルート入力端子へのマッピング

データをインポートした後、マップ モードおよびオプションを選択し、データを選択することで、信号データをルート入力端子にマッピングします。

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

マッピング モードの選択

信号データをルートレベルの端子にマッピングするには、[ルート Inport マッパー] ツールストリップの [マッピング コンフィギュレーション] セクションで次のいずれかのマッピング モードを使用します。[ブロック名][端子の順序] のような、ツールストリップから選択するマッピング モードは、MATLAB® セッションおよびモデル間で維持されます。信号データをルート入力端子にマッピングするたびにマッピング モードを選択する必要はありません。

マッピング モードの詳細については、ルート Inport マッパーを参照してください。

マッピングのオプションの設定

マッピング オプションを設定する場合は、[ルート Inport マッパー] ツールストリップの [マッピング コンフィギュレーション] セクションで [オプション] をクリックします。[モデルの自動更新][バスの部分指定を許可します] のような、ツールストリップから選択するオプションは、MATLAB セッションおよびモデル間で維持されます。信号データをルート Inport にマッピングするたびにオプションを選択する必要はありません。

信号をマッピングするには、データのマッピングを参照してください。

マッピングするデータの選択

シナリオのサブセットを指定してマッピングするには、[マップの準備状態のチェック] ボタンの上の下矢印をクリックします。[マップの準備状態のチェック] ボタンの既定の動作は、選択されている最後の [マップの準備状態のチェック] オプションになります。

シナリオによって、異なるマッピング モードを選択できます。マッピング モードの詳細については、ルート Inport マッパーを参照してください。

データのマッピング

信号またはバスをインポートした後で、データをマッピングできます。

  1. [ルート Inport マッパー] ツール バーで、データ セットがマッピング可能かどうかを確認するために [マップの準備状態のチェック] をクリックします。

    その後、別のマッピング モードを選択して準備状態を再度チェックできます。信号マッピングの結果は [シナリオ データセット] タブに表示されます。

    マッピング モードとマッピングに互換性がない場合、ルート Inport マッパーに次のようなメッセージが表示されます。

    Root Inport Mapper warning that Block Name mode cannot generate a mapping.

    その後、別のマッピング モードを選択して準備状態を再度チェックできます。

  2. 左側のペインで、マッピング結果を表示するデータ セットをクリックします。

    • [シミュレーションの準備状態] セクションには、入力データとマッピング ステータスのリストが表示されます。

      メモ

      マッピング結果の理解を参照してください。

    • 入力データのマッピング定義はモデルに適用されます。

モデルを保存して閉じた後で、同じシナリオの入力データをワークスペースに読み込むと、そのシナリオ用に定義されたマッピングがモデルで使用されます。

信号データのルートレベルの入力へのマッピングの例については、MAT ファイル入力データを使用したハーネスのないモデルの作成を参照してください。

モデルのマッピング定義を保存したら、データの読み込みを自動化できます。詳細については、マッピング データ読み込みの代替ワークフローを参照してください。

マッピング結果の理解

インポートとマッピングのプロセスが完了すると、[シミュレーションの準備状態] セクションのステータス領域に結果が表示されます。結果は、マッピングを設定するときに [モデルの自動更新] オプションを選択したかどうかによって変わります。

ステータスモデルの自動更新モデルを自動更新せずに続行

マッピングされたデータと入力端子のプロパティはシミュレーションに適しています。

データと入力端子のデータ型、次元、信号タイプのプロパティには互換性があります。

該当なし

データとルートレベルの端子のデータ型、次元、信号タイプのプロパティの比較では、一致するかどうかを判定できません。マッピングの前にモデルを更新しなかった場合、入力端子のデータ型を明示的に指定しない限り、すべてのデータ型が一致しているかどうかを評価できません。次のブロック パラメーターが正しく設定されていることを確認してください。

Inport ブロック パラメーターの [データ型][Inherit:auto] に設定されていない。

Inport ブロック パラメーターの [次元][-1] に設定されていない。

Inport ブロック パラメーターの [信号タイプ][自動] にすることはできない。

マッピングされたデータと入力端子のプロパティはシミュレーションに適していません。

信号データのデータ型、次元、信号タイプの 1 つ以上がルートレベルの入力端子と互換性がありません。

モデルでシミュレーションを有効にするには、ルート Inport マッパーがマッピングする入力端子信号を検出しない場合、これらの入力端子をマッピングして接地し、[信号が見つかりません] ダイアログ ボックスを表示します。接地信号にマッピングされた入力端子は空 ([]) として表示されます。

Missing Signals dialog box listing ports 2, 3 as not having mapping signals.

次の図は、成功したマッピング、失敗したマッピング、接地割り当てを示しています。問題がある場合、ステータス列に推奨される解決策が表示されます。解決策を読み、問題の診断を行います。

[シミュレーションの準備状態] セクションに警告やエラーが表示された場合でも、要素を調べた結果、データのマッピングには問題がないこともあります。その場合は、[オプション] メニューの [モデルの自動更新] チェック ボックスをオンにしていなければオンにして、[マップの準備状態のチェック] を再度クリックします。

ルート Inport マッパー ツールの [モデルに適用] をクリックすると、モデルの [コンフィギュレーション パラメーター] ダイアログ ボックスの [データのインポート/エクスポート] ペインにある [入力] チェック ボックスがオンになります。また、値がインポートしたデータ変数に設定されます。変更内容をモデル コンフィギュレーションに適用するには、[データのインポート/エクスポート] ペインで [OK] をクリックします。[モデルに適用] をクリックすると、最初にマッピングするシナリオの特定も自動的に行われます。

コンフィギュレーション参照を使用してコンフィギュレーション セットを参照しているモデルは、シミュレーション用にマークできません。このデータをルート Inport マッパー ツールでモデルをシミュレートするために使用するには、先に、モデル エクスプローラーを使用してコンフィギュレーション セットを有効にします。

次のグラフィックスは、データのマッピングのモデルについて、変更内容のモデル コンフィギュレーションへの適用を示しています。

インポートしたデータを検証するには、以下を行います。

  • 出力をスコープに接続し、モデルをシミュレーションして、データを観察します。

  • 信号のログを作成し、シミュレーション データ インスペクター ツールを使用してデータを観察します。

信号に関連付けられている Inport ブロックを強調表示するには、[シミュレーションの準備状態] セクション内の項目を選択します。選択された Inport ブロックは、青で縁取りされています。

メモ

入力がバスの場合、バス オブジェクトのレベルをクリックすると、バスの個々の要素が表示されます。

マッピング データ読み込みの代替ワークフロー

マッピング定義をモデルに保存したら、データの読み込みとシミュレーションを自動化できます。次のいずれかの方法を検討してください。

コマンド ラインまたはスクリプト

MATLAB コマンド ラインでデータを読み込んでモデルのシミュレーションを実行するには、次のようなコマンドを使用します。

load('signaldata.mat');
simout = sim('model_name');

異なる信号グループのテストおよび読み込みを自動化するには、スクリプトの使用を検討してください。

次のコード例では、timeseries データを作成して、各信号グループの読み込み後にモデルのシミュレーションを実行します。具体的には、以下のとおりです。

  • 変数名 In1、In2、In3 で信号グループを作成して、各変数を MAT ファイルに保存します。

  • 各信号グループの読み込み後にモデルのシミュレーションを実行します。

メモ

変数名は、[コンフィギュレーション パラメーター][データのインポート/エクスポート][入力] パラメーターのインポート データ変数と一致しなければなりません。

% Create signal groups
fileName = 'testCase';
for k =1 :3
    
    % Create the timeseries data
    var1 = timeseries(rand(10,1));
    var2 = timeseries(rand(10,1));
    var3 = timeseries(rand(10,1));
    
    %create a dataset
    ds = Simulink.SimulationData.Dataset();
    ds = ds.addElement( var1, 'var1');
    ds = ds.addElement( var2, 'var2');
    ds = ds.addElement( var3, 'var3');
    
    % Save the data 
    save([fileName '_' num2str(k) '.mat' ],'ds');
end
clear all
 
% After mapping and saving the model loop over signal groups and simulate
% Set the filename to append testcase # to
fileName = 'testCase';
% Loop backwards to preallocate
for k=3:-1:1
   % Load the MAT-file.
   load([fileName '_' num2str(k) '.mat']);
   
   % Simulate the model
   simOut{k} = sim('model_name');
end

PreLoadFcn モデル コールバックの使用

データとマッピングに満足したら、信号グループが含まれる MAT ファイルを MATLAB ワークスペースに読み込むようにモデルを構成できます。関数 load をモデルの PreLoadFcn コールバックで呼び出します。

  1. MAT ファイルを保存した後、[モデル化] タブで、[モデル設定] ドロップダウンをクリックし、[モデル プロパティ] を選択します。

  2. モデル プロパティ ウィンドウで、[コールバック] タブ、PreLoadFcn ノードの順に選択します。

  3. 信号データが含まれる MAT ファイルを読み込むコマンドを入力します。以下に例を示します。

    load d_signal_data.mat;
  4. [OK] をクリックし、モデルを保存します。

参考

関連するトピック