exponenta event banner

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

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

свернуть все

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

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

См. также

|

Представлен в R2015a