getSimulinkBlockHandle

Получите указатель на блок из пути к блоку

Описание

пример

handle = getSimulinkBlockHandle(path) возвращает числовой указатель на блок, заданный как path, если он существует в загруженной модели или библиотеке. Возвращает -1 если блок не найден. Ссылки на библиотеки разрешаются при необходимости.

Используйте числовой указатель, возвращенный getSimulinkBlockHandle для манипулирования блоком в последующих вызовах в get_param или set_param. Этот подход более эффективен, чем выполнение нескольких вызовов этих функций с помощью полного пути блока. Не пытайтесь использовать только число указателей (например 5.007) потому что обычно вам нужно задать намного больше цифр, чем MATLAB® отображает. Присвойте указатель переменной и используйте это имя, чтобы задать блок. Указатель применяется только к текущему сеансу работы с MATLAB.

Использовать getSimulinkBlockHandle чтобы проверить, является ли путь блока допустимым. Этот подход эффективнее, чем вызов get_param внутри try оператор.

пример

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. Допустимые указатели всегда больше нуля. Если функция не находит блок, она возвращается -1.

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

     0

Модель содержит блок, но модель не загружена, поэтому эта команда возвращается 0 потому что он не может найти блок.

Используя getSimulinkBlockHandle проверить, является ли путь блока допустимым, более эффективным, чем вызов get_param внутри try оператор.

Входные параметры

свернуть все

Имя пути блока, заданное как вектор символов или массив ячеек из векторов символов.

Пример: 'f14/Pilot'

Типы данных: char

Выходные аргументы

свернуть все

Числовой указатель на блок, возвращенный как double или массив типа double. Допустимые указатели всегда больше нуля. Если функция не находит блок, она возвращается -1. Если на path вход - массив ячеек из векторов символов, тогда выход - числовой массив указателей.

Типы данных: double

См. также

|

Введенный в R2015a