Main Content

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

From Workspace

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

  • ライブラリ:
  • Simulink / Sources

  • From Workspace block

説明

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 オブジェクト

  • 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'

読み込まれたワークスペース データのサンプルレート。既定では、From Workspace ブロックは連続サンプル時間を使用します。0 として指定します。下流ブロックからサンプル時間を継承するには、-1 を指定します。離散入力データの場合、サンプルレートを指定します。

詳細については、サンプル時間の指定を参照してください。

プログラムでの使用

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

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

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

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

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

プログラムでの使用

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

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

From Workspace ブロックは、データに同じ時間を持つ複数のサンプルが含まれている場合に、読み込まれたワークスペース データ内のゼロクロッシングを検出します。たとえば、以下のようなワークスペース データを仮定します。

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

From Workspace ブロックは、入力データ内の不連続点による時間 2 でのゼロクロッシングを検出します。

最後のワークスペース データ点の後に出力をゼロに設定するようにブロックを構成している場合、From Workspace ブロックは、ワークスペース データ内の最後のデータ点の後に発生する可能性があるゼロクロッシングも検出します。たとえば、読み込まれた最後のデータ値が 3 であり、ブロックが最後のワークスペース データ点の後に出力をゼロに設定するように構成されている場合、値をゼロに設定すると、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 point[a] | half | integer | single | string

直接フィードスルー

いいえ

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

はい

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

ヒント

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

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

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

アルゴリズム

すべて展開する

拡張機能

R2006a より前に導入