最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

getSimulinkBlockHandle

ブロック パスからのブロック ハンドルの取得

説明

handle = getSimulinkBlockHandle(path)path で指定されたブロックの数値ハンドルを返します (読み込まれたモデルまたはライブラリに存在する場合)。ブロックが見つからない場合は -1 を返します。必要に応じてライブラリ リンクは関連付けられます。

getSimulinkBlockHandle で返された数値ハンドルを使用して、それ以降の get_param または set_param の呼び出しでブロックを操作します。この方法は、ブロックの絶対パスを使用してこれらの関数を複数回呼び出すよりも効率的です。通常 MATLAB® に表示されるよりも多くの桁を指定しなければならないため、ハンドルの数値 (5.007 など) を単独で使用しないでください。ハンドルを変数に代入し、その変数名を使用してブロックを指定します。ハンドルは現在の MATLAB セッションに対してのみ適用されます。

getSimulinkBlockHandle を使用してブロック パスが有効かどうかを確認します。この方法は try ステートメントの内部で get_param を呼び出すよりも効率的です。

handle = getSimulinkBlockHandle(path,true) は指定したブロック path を含むモデルまたはライブラリを読み込み、ブロックが存在するかどうかを確認しようとします。モデルまたはライブラリが見つからない場合、エラーは返されません。指定したパスで関数によってブロックが見つからない場合でも、この方法で読み込まれたモデルまたはライブラリはメモリ内に残ります。

すべて折りたたむ

Pilot ブロックのハンドルを取得します。

load_system('f14')
handle = getSimulinkBlockHandle('f14/Pilot')
handle =

  562.0004

ハンドルはそれ以降の get_param または set_param の呼び出しで使用できます。

必要に応じてモデル f14 を読み込み (true を指定することにより)、Pilot ブロックのハンドルを取得します。

handle = getSimulinkBlockHandle('f14/Pilot',true)
handle =

  562.0004

ハンドルはそれ以降の get_param または set_param の呼び出しで使用できます。

モデル f14 が読み込まれ、Pilot という名前のブロックが含まれているかどうかを確認します。有効なハンドルは常に 0 よりも大きくなります。関数でブロックが見つけられない場合は、-1 が返されます。

valid_block_path = getSimulinkBlockHandle('f14/Pilot') > 0
valid_block_path =

     0

モデルにブロックが含まれていてもモデルが読み込まれず、ブロックを見つけることができないため、このコマンドから 0 が返されます。

getSimulinkBlockHandle を使用してブロック パスが有効であるかどうかを確認する方が、try ステートメントの内部で get_param を呼び出すよりも効率的です。

入力引数

すべて折りたたむ

ブロック パス名。文字ベクトル、または文字ベクトルの cell 配列として指定します。

例: 'f14/Pilot'

データ型: char

出力引数

すべて折りたたむ

ブロックの数値ハンドル。double または double の配列として返されます。有効なハンドルは常に 0 よりも大きくなります。関数でブロックが見つけられない場合は、-1 が返されます。path 入力が文字ベクトルの cell 配列の場合、出力はハンドルの数値配列になります。

データ型: double

R2015a で導入