このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink.SimulationData.BlockPath クラス
名前空間: Simulink.SimulationData
完全に指定された Simulink ブロック パス
説明
Simulink® は信号のログおよびデータ ストアのログ用に Dataset オブジェクトを作成する際にブロック パス オブジェクトを作成します。Simulink.SimulationData.Signal
および Simulink.SimulationData.DataStoreMemory
オブジェクトにはブロック パス オブジェクトが含まれます。
特定のデータセット要素にアクセスする getElement
メソッドで使用可能なブロック パスを作成できます。信号のログまたはデータ ストアのログ データセットとの比較時のベースラインとして使用する MATLAB 中にデータセット作成をする場合は、データセットの一部としてブロック パスを作成しなければなりません。
Simulink.SimulationData.BlockPath
クラスは Simulink.BlockPath
とよく似ています。
Simulink.SimulationData.BlockPath
クラスの使用については Simulink をインストールしておく必要はありません。ただし、Simulink.BlockPath
クラスを使用するには Simulink をインストールしておかなくてはなりません。Simulink.BlockPath
クラスには、モデル ブロック線図を更新せずにブロック パス オブジェクトの有効性をチェックできるメソッドが用意されているため、Simulink をインストールした場合は Simulink.SimulationData.BlockPath
の代わりに Simulink.BlockPath
を使用することを検討してください。
プロパティのまとめ
名前 | 説明 |
---|---|
ブロック パスに指定されたブロック内の各コンポーネント |
メソッドのまとめ
名前 | 説明 |
---|---|
ブロック パスを作成します。 | |
ブロック パスを文字ベクトルの cell 配列に変換します。 | |
モデル参照階層にある単一のブロック パスを取得します。 | |
ブロック パスの長さを取得します。 |
プロパティ
SubPath
ブロック パスに指定されたブロックにある 1 つのコンポーネントを示します。
たとえば、SubPath
チャートを参照するロック パスの場合、チャートの信号は Stateflow® を用いて示せます。以下に例を示します。
Block Path: 'sf_car/shift_logic' SubPath: 'gear_state.first'
文字ベクトル
RW
メソッド
BlockPath
ブロック パスの作成
blockpath_object = Simulink.SimulationData.BlockPath() blockpath_object = Simulink.SimulationData.BlockPath(blockpath) blockpath_object = Simulink.SimulationData.BlockPath(paths) blockpath_object = Simulink.SimulationData.BlockPath(paths, subpath)
blockpath
コピーするブロック パス オブジェクト。
paths
Simulink がブロック パスを構築するために使用する文字ベクトルまたは文字ベクトルの cell 配列。
個々の文字ベクトルの指定は、最上位モデルからブロック パス作成を指定した各ブロックの順番で行います。
各文字ベクトルは、Simulink モデルにある 1 つのブロックへのパスとなっていなければなりません。ブロックは、次の要件を満たさなければなりません。
単一モデルにある 1 つのブロック
1 つの Model ブロック (最後の文字ベクトルは例外で、Model ブロック以外のブロックとなる場合もある)
1 つ前の文字ベクトルに指定された Model ブロックによって参照される、モデル中のブロックの 1 つ
subpath
1 つのブロック内の各コンポーネントを示す文字ベクトルです。
blockpath_object
作成するブロック パスです。
blockpath_object = Simulink.SimulationData.BlockPath()
は、空のブロック パスを作成します。
blockpath_object = Simulink.SimulationData.BlockPath(
は、blockpath
)source_blockpath
引数に指定されたブロック パス オブジェクトに対し、そのブロック パスのコピーを作成します。
blockpath = Simulink.SimulationData.BlockPath(
は、paths
)paths
引数に指定された文字ベクトルまたは文字ベクトルの cell 配列から、1 つのブロック パスを作成します。個々の文字ベクトルはモデルの階層構造の各レベルにおける 1 つのパスを示します。
blockpath = Simulink.SimulationData.BlockPath(
は、paths
, subpath
)paths
引数に指定された文字ベクトルまたは文字ベクトルの cell 配列からブロック パスを作成し、ブロックの各コンポーネント (たとえば 1 つの信号) に対する 1 つのパスを作成します。
ブロック パスの要素を示す文字ベクトルの cell 配列を使用して、bp1
という名前のブロック パス オブジェクトを作成します。
bp1 = Simulink.SimulationData.BlockPath(... {'sldemo_mdlref_depgraph/thermostat', ... 'sldemo_mdlref_heater/Fahrenheit to Celsius', ... 'sldemo_mdlref_F2C/Gain1'})
得られるブロック パスは、ブロック パスのモデル参照階層を反映したものになります。
bp1 = Simulink.BlockPath Package: Simulink Block Path: 'sldemo_mdlref_depgraph/thermostat' 'sldemo_mdlref_heater/Fahrenheit to Celsius' 'sldemo_mdlref_F2C/Gain1
convertToCell
ブロック パスを文字ベクトルの cell 配列に変換
cellarray = blockPathObject.convertToCell()
cellarray
ブロック パスの要素を示す文字ベクトルの cell 配列です。
cellarray = blockPathObject.convertToCell()
は、ブロック パスを文字ベクトルの cell 配列に変換します。
ブロック パスの cell 配列を作成します。
bp1 = Simulink.SimulationData.BlockPath(... {'sldemo_mdlref_depgraph/thermostat', ... 'sldemo_mdlref_heater/Fahrenheit to Celsius', ... 'sldemo_mdlref_F2C/Gain1'}) cellarray_for_bp1 = bp1.convertToCell
得られる結果は、ブロック パスの要素を示す cell 配列です。
cellarray_for_bp1 = 'sldemo_mdlref_depgraph/thermostat' 'sldemo_mdlref_heater/Fahrenheit to Celsius' 'sldemo_mdlref_F2C/Gain1'
getBlock
モデル参照階層にある単一のブロック パスを取得
block = blockPathObject.getBlock(index)
index
取得するブロック パスのブロック インデックスです。このインデックスは、モデル参照階層のレベルを反映しています。インデックス 1 は最上位モデルに対応し、インデックス 2 はインデックス 1 のブロックで参照されるモデル中のブロックに対応し、インデックス
n
はインデックスn-1
の参照ブロックに対応します。
block
index
引数に指定されたモデル参照階層のレベルを示すブロックです。
blockpath = Simulink.SimulationData.BlockPath.getBlock(
は、index
)index
引数に指定されたブロックのブロック パスを返します。
モデル参照階層にある 2 番目のレベルに対するブロックを取得します。
bp1 = Simulink.SimulationData.BlockPath(... {'sldemo_mdlref_depgraph/thermostat', ... 'sldemo_mdlref_heater/Fahrenheit to Celsius', ... 'sldemo_mdlref_F2C/Gain1'}) blockpath = bp1.getBlock(2)
ブロック パス階層の 2 番目のレベルに存在する thermostat
ブロックが得られます。
blockpath = sldemo_mdlref_heater/Fahrenheit to Celsius
getLength
ブロック パスの長さを取得します。
length = blockPathObject.getLength()
length
ブロック パスの長さです。この長さは、モデル参照階層のレベル数です。
length = Simulink.SimulationData.BlockPath.getLength()
は、ブロック パスのモデル参照階層におけるレベル数を、対応する数値で返します。
bp1
ブロック パスの長さを取得します。
bp1 = Simulink.SimulationData.BlockPath(... {'sldemo_mdlref_depgraph/thermostat', ... 'sldemo_mdlref_heater/Fahrenheit to Celsius', ... 'sldemo_mdlref_F2C/Gain1'}) length_bp1 = bp1.getLength()
得られる結果は、3 つの要素をもつブロック パスを反映したものとなります。
length_bp1 = 3
バージョン履歴
R2012b で導入