ルート Inport マッパー ツールを使用したデータのマッピング
ルート Inport マッパー ツールを使用して、信号データおよびバス データをルートレベルの入力端子にインポート、可視化およびマッピングします。
ルートレベルの Inport マッピングは、ほとんどのモデル化要件を満たし、モデルの柔軟性を維持します。サポートされる信号データについては、ルート Inport のマッピングの信号データの作成を参照してください。ルート インポート レベルのマッピングでは以下が可能です。
ワークスペースからの信号をもつモデルをテストし、より大きなコンテキストで変更せずに参照モデルとして使用。Inport の切断とそれらへのソースの接続なしに、モデルで信号をテストします。
ルート Inport マッパー ツールを使用して、インポートする信号データに基づき [入力] パラメーターを更新し、ルートレベルの入力端子にマッピングします。
すべての信号データを MATLAB® メモリに読み込まずに、信号データを視覚的に検証します。
ルート Inport マッパー ツールを使用するには、以下を実行します。
MATLAB ワークスペースで信号データを作成します。
Simulink® モデルの場合、ワークスペースからデータをインポートします。インポートしたデータを可視化できます。
データをルートレベルの入力端子にマッピングします。
モデルのシミュレーションを実行します。
ルート Inport マッパーのシナリオを保存します。
モデル
以下の例では、ルート Inport マッパー ツールを使用してデータをもつモデルをテストする方法を示します。この方法は、別のモデルに参照されるモデルのスタンドアロンのテストを実行する場合に便利です。
この例では、ルートレベルの Inport ブロックが 3 つあるモデルを使用します。2 つの Inport ブロックはスカラー信号を出力し、その他の Inport ブロックはバス データを出力します。
model='ex_root_inport_mapping_example';
open_system(model)
信号データの作成
信号データは MATLAB timeseries
オブジェクトとして定義できます。
信号データの時間値を定義します。
sampleTime = 0.01; endTime = 10; numberOfSamples = endTime * 1/sampleTime +1; timeVector = (0:numberOfSamples) * sampleTime;
2 つのスカラー信号にデータを作成します。対応する信号の名前と一致する名前をデータ変数に指定すると、信号へのデータのマッピングが簡単になります。
signal_1 = timeseries(sin(timeVector)*10,timeVector); signal_2 = timeseries(rand(size(timeVector)),timeVector);
バスの信号を作成します。
busSignal.busElement_1 = timeseries(cos(timeVector)*2,timeVector); busSignal.busElement_2 = timeseries(randn(size(timeVector)),timeVector);
Bus_1
Inport ブロックの出力データ型にバス オブジェクトを作成します。バス オブジェクトは定義したバス信号から作成できます。モデル参照の境界を越えるバス信号には、バス オブジェクトを使用します。busInfo = Simulink.Bus.createObject(busSignal);
ワークスペース信号データのインポートと可視化
ワークスペースから作成した信号データをルート Inport マッパー ツールにインポートします。次に、このツールを使用してインポートしたデータを可視化します。
ルート Inport マッパー ツールを開きます。モデル内のいずれかの Inport ブロックに対する [ブロック パラメーター] ダイアログ ボックスを開き、[入力の接続] をクリックします。
ルート Inport マッパー ツールで、[ワークスペースから] ボタンを選択します。
データ変数をクリアするには、[名前] チェック ボックスをクリックします。次に、
busSignal
信号、signal_1
信号およびsignal_2
信号のチェック ボックスをクリックします。[OK] をクリックします。
[保存] ダイアログ ボックスで、MAT ファイルを信号の保存先に指定します。
信号を可視化できます。[ルート Inport マッパー] ダイアログ ボックスのツール バーで、[信号] 、 [MAT ファイルを編集] をクリックします。
[リンク付き MAT ファイルの選択] ウィンドウで、信号を保存した MAT ファイルを選択し、[OK] をクリックします。
[信号エディター] ユーザー インターフェイスが表示されます。プロットする信号を選択できます。たとえば、
signal_1
のプロットを確認するには、[入力] ペインでシナリオ データ セット (この例では、最上位ノードexample_rim
) を展開してからsignal_1
エントリを展開します。signal_1(1,1,:)
のデータをプロットするには、signal_1
の非表示アイコンをダブルクリックします。[X] をクリックして [信号エディター] ユーザー インターフェイスを閉じます。
Inport へのデータのマッピング
データをインポートしたら、特定の Inport ブロックで使用するデータをマッピングします。
マッピングで使われる基準を指定するマッピング モードを選択します。ツール バーで [マッピング モード] 、 [信号名] を選択します。
このモデルの信号は名前をもつため、信号名に基づいたマッピングでは Inport ブロックで使用されるデータが非常に明確になります。
マッピングのオプションを指定できます。ツール バーで [オプション] 、 [モデルの自動更新] を選択すると、マッピング後にモデルが更新されます。モデルのコンパイルにより、信号の次元とデータ型がデータと Inport ブロック間で一致するかどうかが検証されます。
データをマッピングします。[シナリオ] ペインで、シナリオのデータ セットを選択します。ツール バーで [マップの準備状態のチェック] 、 [選択したシナリオ] をクリックします。
ダイアログ ボックスにマッピングされたデータの結果が表示されます。
ヒント
あるいは、ツリー領域で右クリックし、コンテキスト メニューを使用して [マップの準備状態のチェック] を選択します。
マッピングとデータの保存
設定したマッピングとデータを再利用するには、シナリオとして保存します。ルート Inport マッパー ツールで、[保存] 、 [名前を付けて保存] をクリックし、シナリオを .mldatx
ファイルとして保存します。
モデルのシミュレーション
[シナリオ] ペインで、シナリオのデータ セットを選択します。
ツール バーで [モデルに適用] をクリックします。
これで、ルートレベルの Inport ブロックにマッピングしたワークスペース信号データを使用してシミュレーションするようにモデルが設定されました。
モデルのシミュレーションを実行します。
このモデルには
signal_1
のシミュレーション時に使われるデータを表示する Dashboard ブロックが含まれます。このプロットは、データのインポート プロセスの一部としてデータを可視化したときのプロットと一致します。