信号読み込みの手法の概要
Simulink® では、信号データをモデルにインポートするための手法がいくつか用意されています。信号データ読み込みの各手法では、ブロックを使用して信号データ ソースを視覚的に表現します。
特定のモデル化要件を満たすために使用する手法の詳細については、手法の比較を参照してください。
ソース ブロック
Sine Wave ブロックなどのソース ブロックを追加して、別のブロックに入力する信号を生成できます。信号を生成する方法を指定するには、[ブロック パラメーター] ダイアログ ボックスを使用します。たとえば、Sine Wave の [ブロック パラメーター] ダイアログ ボックスに関数 sim
を指定して、時間ベース データまたはサンプルベース データを使用できます。
ソース ブロックの出力データ型は可変です。たとえば、Sine Wave ブロックは実数の double のベクトルを出力します。
ソース ブロックの使用例については、Open Modelsを参照してください。
推奨される使用法
生成された信号データがモデル化要件を満たしている場合は、初期プロトタイピングをモデルで行う。
手動でのデータの作成を避ける。
メモリ消費量を軽減する。ソース ブロックは信号データを保存しません。
信号データの種類をモデルで視覚的に明確にする。
制限
ソース ブロックは事前定義されたアルゴリズムに基づいて信号を生成します。外部ソースからの実際のデータを使用する場合や、モデルを変更せずにモデルをテストする場合は、別の信号読み込みの手法を使用します。
ルートレベルの入力端子
次のいずれかのブロックを使用して、ワークスペースから信号データをインポートし、ルートレベルの入力端子に適用できます。
ルートレベルの入力端子は、MATLAB® (ベース)、モデルまたはマスク ワークスペースから外部入力を読み込みます。これらのブロックは、[コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [入力] パラメーターまたは sim
コマンド引数の値に基づいてワークスペースからデータをインポートします。例については、モデルの階層構造からの可変ステップ入力を表すデータの読み込みを参照してください。
多くの信号をルートレベルの入力端子にインポートする場合は、ルート Inport マッパー ツールの使用を検討してください。このツールは、インポートしてルートレベルの入力端子にマップする信号データに基づいて [入力] コンフィギュレーション パラメーターを更新します。例については、ルート Inport マッパー ツールを使用したデータのマッピングを参照してください。
推奨される使用法
以下の操作でルート入力端子を使用します。
多くの信号を多くのブロックにインポートする
モデルを変更せずに、ワークスペースからの信号を使用した広範なコンテキストで参照モデルとしてモデルをテストする
ほとんどのモデル化要件を満たし、モデルの柔軟性を維持するために信号データをインポートする場合、ルートレベルの Inport のマッピングが便利な手法です。ルートレベルの Inport マッピングでは、次を行います。
すべての信号データを MATLAB メモリに読み込まずに検査対象の信号データを表示する
メモリ効率が高い信号表示を提供する
必要条件
Simulink 変数のソルバーがインポート データで指定する時間で必ず実行されるようにするには、[コンフィギュレーション パラメーター] 、
[データのインポート/エクスポート] 、 [追加パラメーター] 、
[出力オプション] パラメーターを [追加出力の生成]
に設定します。
制限
エクスターナル モードで入力端子を使用してバスをインポートすることはできません。ラピッド アクセラレータ モードでバス データをインポートするには、
Dataset
形式を使用します。ルート Inport マッパー ツールでサポートされるマッピング モードは信号のデータ型によって異なります。詳細については、ベース ワークスペースと MAT ファイルの形式の選択を参照してください。
From File ブロック
From File ブロックは、MAT ファイルからデータを読み取り、データを信号として出力します。
詳細については、From File ブロックを使用したデータの読み込みを参照してください。
推奨される使用法
読み込みに From File ブロックの使用を検討してください。
大量のデータ。Version 7.3 の MAT ファイルの場合、From File ブロックはシミュレーション時に MAT ファイルからデータを段階的に読み込みます。
ヒント
Version 7.0 ファイルを Version 7.3 に変換するには (たとえば、変数
var
を含んでいるmy_data_file.mat
)、MATLAB コマンド ラインで次のように入力します。load('my_data_file.mat') save('my_data_file.mat', 'var', '-v7.3')
To File ブロックにエクスポートされたデータ。From File ブロックは To File ブロックで書き込まれたデータを、変更や特別な準備なしで読み取ります。
モデル ファイルとは別の MAT ファイルに保存されたデータ。
制限
Version 7.0 以前の MAT ファイルの場合、From File ブロックによって読み取られるのは、配列形式のデータのみです。
Version 7.3 と Version 7.0 以前の MAT ファイルでは、複数の変数の処理が異なります。
From File ブロックは、
timeseries
オブジェクトの構造体として格納された非バーチャル バスの入力データの読み込みをサポートします。配列データの場合、From File ブロックは、double の信号データのみを読み取ります。
ERT/GRT ターゲットのビルド、または SIL/PIL シミュレーション モードの使用を含むコード生成には、いくつかの考慮事項があります。コード生成を参照してください。
From Spreadsheet ブロック
From Spreadsheet ブロックは Microsoft® Excel® スプレッドシート (すべてのプラットフォーム) または CSV スプレッドシート (Microsoft Office を使用した Microsoft Windows® プラットフォームのみ) からデータを読み取り、1 つ以上の信号としてそのデータを出力します。
推奨される使用法
以下の読み込みには From Spreadsheet ブロックを使用します。
大きな Microsoft Excel または CSV スプレッドシート。From Spreadsheet ブロックは Simulink メモリにデータを読み込む代わりに、シミュレーション時にスプレッドシートから段階的にデータを読み取ります。
変更する予定のスプレッドシート。From Spreadsheet ブロックはスプレッドシートから直接データを読み込むので、ワークシート値への変更を自動的に処理します。
制限
バス データはインポートできません。
From Spreadsheet ファイルにはスプレッドシート データに関する要件があります。Supported Microsoft Excel File Formatsに示す形式を使用して、Excel スプレッドシート データを整理します。
Linux® プラットフォームおよび Mac プラットフォームでは、From Spreadsheet ブロックを使用した CSV スプレッドシートからのデータのインポートはサポートされていません。
From Workspace ブロック
From Workspace ブロックは、ワークスペースから信号データを読み取り、データを信号として出力します。[ブロック パラメーター] ダイアログ ボックスの [データ] パラメーターで、ワークスペース データを指定する MATLAB 式を入力します。
From Workspace ブロックの使用例については、From Workspace ブロックを使用したデータの読み込みを参照してください。
推奨される使用法
以下の読み込みに From Workspace ブロックを使用します。
ローカルで暫定的なテストを実行するため、小規模な信号データセットをインポートする
MATLAB (ベース)、モデル、マスク、関数ワークスペースからのデータ
可変サイズの信号
To Workspace block を使用して、データを手動で変更せずに MATLAB
timeseries
形式で保存したデータ後のシミュレーションで使用するために、以前のシミュレーション時に To Workspace ブロックで
[時系列]
形式または[時間付き構造体]
形式で保存したデータ
制限
指定するデータ式は次のいずれかのデータ型として評価されなければなりません。
timeseries
またはtimetable
オブジェクトtimeseries
またはtimetable
オブジェクトの構造体時間付きまたは時間なしの構造体
2 次元行列
Signal Editor ブロック
Signal Editor ブロックを使用すると、相互交換可能なシナリオを作成してモデルで使用できます。
Signal Editor ブロックの使用例については、次を参照してください。
推奨される使用法
Signal Editor ブロックは、テストで使用するシナリオの作成と読み込みに使用します。
以下の製品は Signal Editor ブロックを各ワークフローに統合します。
Simulink Test™
Simulink Coverage™
Simulink Design Verifier™
制限
関数呼び出し
バス配列
ラピッド アクセラレータ モードを使用中のバス
timetable
オブジェクト接地信号
Signal Editor ブロックは動的な string をサポートします。最大長が指定された string はサポートしません。さらに、Signal Editor ブロック内の string は次を出力できません。
非スカラーの MATLAB string。
欠損値を含む string データ。
非 ASCII 文字を含む string データ。