信号データのルート入力端子へのマッピング
データをインポートした後、マップ モードおよびオプションを選択し、データを選択することで、信号データをルート入力端子にマッピングします。
ルート Inport マッパー ツールの使用に関連するその他のステップの概要については、インポートおよびマッピングのワークフローを参照してください。
マッピング モードの選択
信号データをルートレベルの端子にマッピングするには、[ルート Inport マッパー] ツールストリップの [マッピング コンフィギュレーション] セクションで次のいずれかのマッピング モードを使用します。[ブロック名] や [端子の順序] のような、ツールストリップから選択するマッピング モードは、MATLAB® セッションおよびモデル間で維持されます。信号データをルート入力端子にマッピングするたびにマッピング モードを選択する必要はありません。
マッピング モードの詳細については、ルート Inport マッパーを参照してください。
マッピングのオプションの設定
マッピング オプションを設定する場合は、[ルート Inport マッパー] ツールストリップの [マッピング コンフィギュレーション] セクションで [オプション] をクリックします。[モデルの自動更新] や [バスの部分指定を許可します] のような、ツールストリップから選択するオプションは、MATLAB セッションおよびモデル間で維持されます。信号データをルート Inport にマッピングするたびにオプションを選択する必要はありません。
信号をマッピングするには、データのマッピングを参照してください。
マッピングするデータの選択
シナリオのサブセットを指定してマッピングするには、[マップの準備状態のチェック] ボタンの上の下矢印をクリックします。[マップの準備状態のチェック] ボタンの既定の動作は、選択されている最後の [マップの準備状態のチェック] オプションになります。
シナリオによって、異なるマッピング モードを選択できます。マッピング モードの詳細については、ルート Inport マッパーを参照してください。
データのマッピング
信号またはバスをインポートした後で、データをマッピングできます。
[ルート Inport マッパー] ツール バーで、データ セットがマッピング可能かどうかを確認するために [マップの準備状態のチェック] をクリックします。
その後、別のマッピング モードを選択して準備状態を再度チェックできます。信号マッピングの結果は [シナリオ データセット] タブに表示されます。
マッピング モードとマッピングに互換性がない場合、ルート Inport マッパーに次のようなメッセージが表示されます。
その後、別のマッピング モードを選択して準備状態を再度チェックできます。
左側のペインで、マッピング結果を表示するデータ セットをクリックします。
[シミュレーションの準備状態] セクションには、入力データとマッピング ステータスのリストが表示されます。
メモ
マッピング結果の理解を参照してください。
入力データのマッピング定義はモデルに適用されます。
モデルを保存して閉じた後で、同じシナリオの入力データをワークスペースに読み込むと、そのシナリオ用に定義されたマッピングがモデルで使用されます。
信号データのルートレベルの入力へのマッピングの例については、MAT ファイル入力データを使用したハーネスのないモデルの作成を参照してください。
モデルのマッピング定義を保存したら、データの読み込みを自動化できます。詳細については、マッピング データ読み込みの代替ワークフローを参照してください。
マッピング結果の理解
インポートとマッピングのプロセスが完了すると、[シミュレーションの準備状態] セクションのステータス領域に結果が表示されます。結果は、マッピングを設定するときに [モデルの自動更新] オプションを選択したかどうかによって変わります。
ステータス | モデルの自動更新 | モデルを自動更新せずに続行 |
---|---|---|
マッピングされたデータと入力端子のプロパティはシミュレーションに適しています。 | データと入力端子のデータ型、次元、信号タイプのプロパティには互換性があります。 | |
該当なし | データとルートレベルの端子のデータ型、次元、信号タイプのプロパティの比較では、一致するかどうかを判定できません。マッピングの前にモデルを更新しなかった場合、入力端子のデータ型を明示的に指定しない限り、すべてのデータ型が一致しているかどうかを評価できません。次のブロック パラメーターが正しく設定されていることを確認してください。 Inport ブロック パラメーターの [データ型] が Inport ブロック パラメーターの [次元] が Inport ブロック パラメーターの [信号タイプ] は | |
マッピングされたデータと入力端子のプロパティはシミュレーションに適していません。 | 信号データのデータ型、次元、信号タイプの 1 つ以上がルートレベルの入力端子と互換性がありません。 |
モデルでシミュレーションを有効にするには、ルート Inport マッパーがマッピングする入力端子信号を検出しない場合、これらの入力端子をマッピングして接地し、[信号が見つかりません] ダイアログ ボックスを表示します。接地信号にマッピングされた入力端子は空 ([]
) として表示されます。
次の図は、成功したマッピング、失敗したマッピング、接地割り当てを示しています。問題がある場合、ステータス列に推奨される解決策が表示されます。解決策を読み、問題の診断を行います。
[シミュレーションの準備状態] セクションに警告やエラーが表示された場合でも、要素を調べた結果、データのマッピングには問題がないこともあります。その場合は、[オプション] メニューの [モデルの自動更新] チェック ボックスをオンにしていなければオンにして、[マップの準備状態のチェック] を再度クリックします。
ルート 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
コールバックで呼び出します。
MAT ファイルを保存した後、[モデル化] タブで、[モデル設定] ドロップダウンをクリックし、[モデル プロパティ] を選択します。
モデル プロパティ ウィンドウで、[コールバック] タブ、
PreLoadFcn
ノードの順に選択します。信号データが含まれる MAT ファイルを読み込むコマンドを入力します。以下に例を示します。
load d_signal_data.mat;
[OK] をクリックし、モデルを保存します。