Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

From Workspace

ワークスペースから Simulink モデルへの信号データの読み込み

  • From Workspace block

ライブラリ:
Simulink / Sources

説明

From Workspace ブロックは、ワークスペースから Simulink® モデルに対してデータを読み取り、そのデータをブロック出力で信号または非バーチャル バスとして提供します。データはベース ワークスペース、モデル ワークスペース、またはマスク ワークスペースから読み込むことができます。From Workspace ブロックを使用して、参照モデルまたはサブシステムにアクセスできるワークスペースからモデルの階層構造内の任意のモデルまたはサブシステムに信号データを読み込むことができます。

サンプルの出力周期、内挿および外挿動作、ゼロクロッシング検出を使用するかどうかを含む、ブロックでワークスペース データから出力を構成する方法を指定できます。

From Workspace ブロック アイコンは [データ] パラメーターの値を表示します。たとえば、From Workspace ブロックを使用してデータを変数 x に読み込む場合、x[データ] パラメーターの値として指定すると、ブロックが x を表示します。

読み込むデータの指定

From Workspace ブロックの読み込むデータは [データ] パラメーターを使用して指定します。変数名などの [データ] パラメーターの値は MATLAB® 式として指定できます。[データ] パラメーター内の式は、From Workspace ブロックがサポートする形式のデータとして評価されなければなりません。式がどのように評価されるかの詳細については、記号の解釈を参照してください。

From Workspace ブロックはデータ ディクショナリからデータを読み込みません。データ ディクショナリを使用して、シミュレーションの入力データではなく、モデルの設計データのみを保存します。[サンプル時間] パラメーターの値など、From Workspace ブロックに関連する設計データをデータ ディクショナリに保存できます。

端子

出力

すべて展開する

ワークスペースから読み込まれたデータ。ブロック出力で信号または非バーチャル バスとして提供されます。読み込むデータに応じて、出力信号はスカラー、ベクトル、多次元、または可変サイズの信号、バス、またはバス配列になる可能性があります。From Workspace ブロックは、int64 および uint64 を除くすべての組み込みデータ型の実数データおよび複素数データの読み込みをサポートします。

データ型: single | double | half | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus
複素数のサポート: あり

パラメーター

すべて展開する

ワークスペースから読み込むデータ。変数名、または From Workspace ブロックによってサポートされている形式のデータとして評価される MATLAB 式として指定します。この式では、From Workspace ブロックが出力で提供するデータを作成したり、あるいは読み込むデータが含まれるワークスペース変数を参照することができます。式の評価方法の詳細については、記号の解釈を参照してください。

From Workspace ブロックは、スカラー、多次元、可変サイズの信号のデータ、さらにバスまたはバス配列のデータを読み込むことができます。From Workspace ブロックが読み込みをサポートするのは、以下の形式のデータです。

  • timeseries オブジェクト。

  • 時間値が duration ベクトルとして定義された 1 列のみの timetable

  • Simulink.SimulationData.Signal オブジェクト

  • バス データを表す構造体。構造体の階層はバスの階層と一致し、timeseries オブジェクトと timetable オブジェクトを使用して信号データを表さなければなりません。

  • [構造体] または [時間付き構造体] ログ形式に一致するフィールドと階層を持つ、単一信号のデータを表す構造体。

  • 単一信号のデータを表す 2 次元配列。配列の最初の列は時間を表し、1 つ以上の追加列に信号データが含まれます。

詳細については、From Workspace ブロックを使用したデータの読み込みを参照してください。

バスのデータを読み込む場合、バスを定義する Simulink.Bus オブジェクトとして [出力データ型] パラメーターを指定します。

double 型の実数信号は、From Workspace ブロックがサポートする任意のデータ形式にできます。double 以外のデータ型の複素数信号と実数信号には、Array 以外の任意の形式を使用します。

From Workspace ブロックは、Structure 形式または Structure with time 形式での可変サイズの信号データの読み込みをサポートします。

プログラムでの使用

ブロック パラメーター: VariableName
型: 文字ベクトル
値: MATLAB 式 | timeseries オブジェクト | timetable オブジェクト | 構造体 | 2 次元配列
既定の設定: 'simin'

From Workspace ブロックが読み込むワークスペース データのデータ型。既定では、From Workspace ブロックはワークスペース データ、または信号のデータ型を定義する下流のブロックから出力信号のデータ型を継承します。

スカラーまたは多次元信号のデータを読み込むときに、出力データ型を継承することを選択するか、ワークスペース データのデータ型に一致するように出力データ型を指定することができます。

バスまたはバス配列のデータを読み込むには、[出力データ型]Bus: <bus_object> に設定し、出力バスを定義する Simulink.Bus オブジェクトの名前を指定します。

列挙型データを読み込むときは、[出力データ型]Enum: <class_name> に設定し、列挙型データ値を定義する列挙型クラスの名前を指定します。

[データ型アシスタントを表示] ボタン をクリックして、データ型の属性の設定に役立つ [データ型アシスタント] を表示します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
型: 文字ベクトル
値: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'Enum: <class name>' | 'Bus: <object name>' | '<data type expression>'
既定の設定: 'Inherit: auto'

[サンプル時間] パラメーターは、シミュレーション中にブロックが新しい出力値を計算するタイミングを指定します。詳細については、サンプル時間の指定を参照してください。

出力に時間オフセットを含めない場合は、[サンプル時間] パラメーターをスカラーとして指定します。出力に時間オフセットを追加する場合は、[サンプル時間] パラメーターを、最初の要素がサンプリング周期、2 番目の要素がオフセットである 12 列のベクトルとして指定します。

既定では、[サンプル時間] パラメーターの値は 0 で、これは時間オフセットのない連続サンプル時間を示します。離散信号の場合は、[サンプル時間] を離散サンプリング間隔として指定します。たとえば、[サンプル時間] として 0.1 を指定して、100 ミリ秒ごとにサンプリングされる離散信号をモデル化します。値を継承するには、[サンプル時間] として -1 を指定します。

プログラムでの使用

ブロック パラメーター: SampleTime
型: 文字ベクトル
値: スカラー | ベクトル
既定の設定: '0'

内挿法は、読み込まれたワークスペース データにおいて、時間値の間にあるシミュレーション時間に対して出力値を提供するために使用されます。[データを内挿する] を選択すると、From Workspace ブロックは、読み込まれたワークスペース データ内の隣接する値を使用して出力値を線形内挿します。[データを内挿する] が選択されていない場合、From Workspace ブロックは、読み込まれたワークスペース データ内の前のデータ点の値を提供します。内挿アルゴリズムの詳細については、内挿を参照してください。

列挙型、固定小数点、または可変サイズの信号データを読み込む場合は、[データを内挿する] パラメーターをクリアします。

読み込まれたワークスペース データにおいて、最後の値の後に出力値を提供する場合、From Workspace ブロックは [データを内挿する] パラメーターと [最後のデータ後の出力フォーム] パラメーターを組み合わせて使用します。

[データを内挿する] パラメーターの値は、読み込まれたワークスペース データにおいて、From Workspace ブロックが最初のデータ点の前のシミュレーション時間に対して出力値を外挿する方法にも影響を与えます。[データを内挿する] が選択されている場合、From Workspace ブロックはワークスペース データ内の最初の 2 つのデータ点を使用して、最初のデータ点の前のシミュレーション時間に対して出力値を線形外挿します。[データを内挿する] が選択されていない場合は、ブロックは最初のワークスペース データ点の前のシミュレーション時間に対して、出力値としてグラウンドを提供します。From Workspace ブロックの外挿動作に関する詳細については、外挿を参照してください。

プログラムでの使用

ブロック パラメーター: Interpolate
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'on'

ゼロクロッシング検出とは、ブロック出力内の不連続点を特定したり、不連続点近くでの過度に小さいタイム ステップの使用を回避してシミュレーションの低速化を防ぐために用いられる手法です。"ゼロクロッシング" とはデータ内の不連続点のことです。From Workspace ブロックでは、サンプル時間が連続 (0) の場合にゼロクロッシングを検出できます。

データに同じ時間を持つ複数のサンプルが含まれている場合に、読み込まれたワークスペース データによってブロック出力内の不連続点が作成されます。たとえば、次の入力データの場合、不連続点は時間 2 で発生します。

time:     0 1 2 2 3
signal:   2 3 4 5 6

また、[最後のデータ後の出力フォーム][0 に設定] に設定すると、From Workspace ブロックはワークスペース データ内の最後のサンプルで出力内の不連続点を作成できます。

バスの入力データを読み込むときに、From Workspace ブロックはすべてのバス要素のゼロクロッシングを検出します。

このブロックでは、可変ステップ ソルバーを使用するシミュレーションでのみゼロクロッシング検出がサポートされます。シミュレーションに固定ステップ ソルバーを使用する場合、このブロックに対してゼロクロッシングの検出や特定は行われません。

詳細については、ゼロクロッシング検出を参照してください。

プログラムでの使用

ブロック パラメーター: ZeroCross
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'on'

From Workspace ブロックは [データを内挿する] 設定と [最後のデータ後の出力フォーム] 設定を使用して、ワークスペース データで使用可能な最後のサンプル後のシミュレーション時間に対するブロック出力を決定します。

[最後のデータ後の出力フォーム] の設定[データを内挿する] の設定最終データの後のブロック出力

外挿

オン

最終データ値から外挿

オフ

エラー

0 に設定

オン

0

オフ

最終値を保持

オン

ワークスペースからの最終値

オフ

周期的に繰り返す

オン

エラー

オフ

読み込まれたワークスペース データが時間なしの構造体形式を使用する場合、ワークスペース データを最初の値から繰り返します。

時間付き構造体以外のワークスペース データ形式の場合はエラーになります。

From Workspace ブロックの外挿動作に関する詳細については、外挿を参照してください。

プログラムでの使用

ブロック パラメーター: OutputAfterFinalValue
型: 文字ベクトル
値: 'Extrapolation' | 'Setting to zero' | 'Holding final value' | 'Cyclic repetition'
既定の設定: 'Extrapolation'

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed pointa | half | integer | single | string

直達

いいえ

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

はい

a Fixed-Point Designer を使って作成された fi オブジェクトによる入力をサポートします。

ヒント

  • From Workspace ブロックは、部分的に指定されたバス データの読み込みをサポートします。バス データを部分的に指定するには、データを読み込む必要がないバス要素を [] に設定します。

  • To File ブロックを使用して配列形式に記録されたデータを読み込むには、時間値が 1 行ではなく 1 列になるように配列を転置します。関数 transpose を使用して、転置されたデータを新しいファイルに保存できます。

  • 関数 simparsim、または batchsim を使用したプログラムによるシミュレーションでは、Simulink.SimulationInput オブジェクトを使用して From Workspace ブロックの読み込むデータを指定できます。

アルゴリズム

すべて展開する

拡張機能

バージョン履歴

R2006a より前に導入