このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
ルート Inport のマッピングの信号データの作成
ルート Inport マッパー ツールを使用する最初のステップは、インポートおよびマッピングする信号データのソースを特定することです。既存のデータ (たとえば Microsoft® Excel® スプレッドシート内の) を使用して MAT ファイルにデータを作成することも、信号エディターのインターフェイスを使用して信号データを作成することもできます。
ルート Inport マッパー ツールの使用に関連するその他のステップの概要については、インポートおよびマッピングのワークフローを参照してください。
インポートしてマッピングするデータのソースの選択
データは次のソースからインポートできます。
ベース ワークスペース — ベース ワークスペースからデータを選択してインポートできます。サポートされているデータ形式の詳細については、ベース ワークスペースと MAT ファイルの形式の選択を参照してください。
データ ファイル — MAT ファイルと Microsoft Excel ファイルに含まれている信号を選択してインポートできます。ファイルの内容をインポートするたびに、この内容によってルート Inport マッパー ツールで既に読み込まれているファイルのデータがオーバーライドされます。
詳細については、ベース ワークスペースと MAT ファイルの形式の選択とサポートされている Microsoft Excel のファイル形式を参照してください。
ヒント
シミュレーションの入力データを Microsoft Excel スプレッドシートから読み込む場合は、From Spreadsheet ブロックの使用を検討してください。シミュレーション中に、From Spreadsheet ブロックはスプレッドシートのデータを段階的に読み込みます。From Spreadsheet ブロックを使用する場合、シートの値への変更を処理するために何もする必要はありません。
信号エディターのインターフェイスを使用して信号データを作成および編集することもできます。詳細については、信号データの作成と編集を参照してください。
信号およびバスの命名規則の選択
インポートする信号を識別するときは、このデータのグループ化 (シナリオ) が相互交換可能になるような信号およびバスの命名規則の使用を検討してください。たとえば、命名規則に従って名付けられた同じ変数セットを持つ 2 つの MAT ファイルは、異なるデータ値を持つことができます。そして、モデルへの入力データおよびモデルからの入力データのシナリオを簡単に切り替えることができます。
ベース ワークスペースと MAT ファイルの形式の選択
ルート Inport マッパー ツールは MATLAB® データ型またはインポートされた信号データのテーブルで説明されている形式をサポートしています。各データ型について、表で示されているマッピング モードを使用できます。
データ形式 | ブロック名 | ブロック パス | 信号名 | 端子の順序 | カスタム |
---|---|---|---|---|---|
| ![]() | ![]() | ![]() | ![]() | ![]() |
MATLAB | ![]() | ![]() | ![]() | ![]() | |
MATLAB | ![]() | ![]() | ![]() | ![]() | |
| ![]() | ![]() | ![]() | ![]() | ![]() |
| ![]() | ![]() | ![]() | ![]() | ![]() |
時間付き構造体と時間なし構造体 | ![]() | ||||
データ配列 | ![]() | ||||
バス配列 | ![]() | ![]() | ![]() | ![]() | |
![]() | ![]() | ![]() | ![]() |
メモ
ルート Inport マッパー ツールでサポートされない形式のデータが MAT ファイルまたはベース ワークスペースに含まれている場合、データは無視されます。
メモ
ルート Inport マッパー ツールがこれらの形式を受け入れたとしても、Simulink.SimulationData.Dataset
オブジェクトでリンクするだけの場合があります。MAT ファイル内のデータを Simulink.SimulationData.Dataset
オブジェクトに変換するには、[ルート Inport マッパー] ダイアログ ボックスで [信号をシナリオ データセットに変換して MAT ファイルに保存] チェック ボックスをオンにします。あるいは、関数 convertToSLDataset
を使用してデータを変換します。
メモ
timetable
を Dataset
またはバスの要素として指定するとき、timetable
には 1 つの信号のみのデータを含めなければなりません。
データセットの信号データ
データセットに一意ではない要素名が付けられている場合、[端子の順序] マッピング モードを使用します。
MATLAB 時系列信号データ
列挙型データを含む MATLAB timeseries データがあり、列挙型クラスが MATLAB パス上にない場合、その timeseries データは無視されます。
構造体の信号データ
構造体信号データをデータセットに変換する場合、信号の名前は、構造体信号の信号フィールドのラベル フィールドに含まれる値を使用して付けられます。
配列の信号データ
ルート Inport マッパー ツールは、データ配列を単一の入力端子にマッピングしようとします。この場合、どのマッピング モードでも選択できます。
ルート Inport のマッピング用のバスの信号データ
ルートレベルの Inport ブロックにインポートおよびマッピングする信号データには、バス データを含めることができます。バス信号をルートレベルの Enable ブロックまたは Trigger ブロックにマッピングすることはできません。
MATLAB ワークスペースで、インポートおよびマッピングするバス データのバス オブジェクトを作成するか読み込みます。
バス オブジェクトをベース ワークスペースに作成する場合は、バス オブジェクトの定義を MAT ファイルに保存します (
d_myBusObj.mat
など)。バス オブジェクトに対し、インポートするバス データを含む別の MAT ファイルを作成します。次のいずれかの方法を使用します。
MATLAB 構造体または
Simulink.SimulationData.Dataset
オブジェクトが既に含まれている既存の MAT ファイルを使用します。ベース ワークスペース内でバスを作成して、それを MAT ファイルに保存します。
バス オブジェクトを読み込むようにモデルを設定します。
信号のマッピング先のルートレベルの Inport ブロックの場合は、[データ型] フィールドを
[バス]
に設定します。信号のマッピングに使用するバス オブジェクトの変数の名前を指定します。マッピングに使用するバス オブジェクトを含む MAT ファイルをモデルに読み込みます。たとえば、コールバック関数
PreLoadFcn
を使用します。詳細については、マッピング データ読み込みの代替ワークフローを参照してください。
ルート Inport のマッピング用の信号データの MAT ファイルでの作成
信号データを MAT ファイルで作成して、ルート Inport のマッピングで使用できます。たとえば、3 つの信号 (signal1
、signal2
および signal3
) をインポートして、信号を MAT ファイルで保存できます。Simulink.SimulationData.Signal
オブジェクトには、信号名、ブロック名、ブロック パスおよび端子の順序インデックス値が含まれます。
関数 convertToSLDataset
を使用して MAT ファイルの内容を Simulink.SimulationData.Dataset
オブジェクトに変換できます。
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;
MATLAB ワークスペースで、
signal1
、signal2
およびsignal3
を選択します。選択を右クリックして、コンテキスト メニューで [名前を付けて保存] をクリックします。ファイルをmySigData.mat
として保存します。MAT ファイルを開きます。
open mySigData.mat
ans = signal1: [1x1 Simulink.SimulationData.Signal] signal2: [1x1 Simulink.SimulationData.Signal] signal3: [1x1 Simulink.SimulationData.Signal]
この MAT ファイルでは、[信号名]、[ブロック名]、[ブロック パス] または [端子の順序] マッピング モードを使用できます。マッピング モードに基づいて、ルート Inport マッパー ツールは MAT ファイルの信号データを対応する端子にマッピングします。
サポートされている Microsoft Excel のファイル形式
ルート Inport マッパー ツールを使用して、データを Excel スプレッドシートからインポートできます。またルート Inport マッパー ツールを使用して、Microsoft Office がインストールされている Windows® システムで CSV ファイルの信号データをインポートすることもできます。ルート Inport マッパー ツールでは、Excel スプレッドシートのチャートはサポートされません。
MATLAB 変数名規則に従うシート名を使用します。規則に従っていない名前のシートからインポートした場合、ルート Inport マッパー ツールはシート名を変更して使用します。変更後のシート名は、MATLAB の変数名規則に従います。たとえば、シート名が
Group Name
の場合、ルート Inport マッパーは名前をGroupName
に変更して使用します。シートの最初の行を使用して信号名を指定します。すべての信号について信号名を指定するか、信号名を指定しないでください。信号名を指定しない場合、ツールが
Signal
の形式を使用して信号名を割り当てます。#
時間値については、残りの行の最初の列を使用します。行ごとに、時間値が増加しなければなりません。
信号値を残りの列に設定します。
インポート中、ルート Inport マッパー ツールは、フォーマットされた数値を Excel スプレッドシートから double に変換します。
ルート Inport マッパー ツールはスプレッドシートのブロック パス マッピング モードをサポートしません。
Microsoft Excel スプレッドシートの例がルート Inport のマッピング用に設定されています。
シート名は
sigData
です。これは有効な MATLAB 変数名です。最初の行には信号名
signal1
、signal2
およびsignal3
が含まれます。最初の列には各行で増加する 6 つの時間値があります。
時間値をもつ各行の、最初の列の右側にある列には各信号の信号データの値が含まれます。