Полностью заданный путь к блоку Simulink
Объект Simulink.BlockPath представляет полностью заданный блок path, который однозначно определяет блок в иерархии модели, включая иерархии модели - ссылки, которые включают несколько экземпляров модели, на которую ссылаются. Использование Simulink® блокирует объекты контуров во множестве контекстов. Например, когда вы задаете видимость режима normal mode, использование Симулинка блокирует объекты контуров, чтобы идентифицировать модели с видимостью Режима normal mode. Для получения дополнительной информации смотрите Видимость Режима normal mode.
Класс Simulink.BlockPath очень похож на класс Simulink.SimulationData.BlockPath.
Необходимо было установить Simulink, чтобы использовать класс Simulink.BlockPath. Однако вам нельзя было устанавливать Simulink, чтобы использовать класс Simulink.SimulationData.BlockPath. Если вам установили Simulink, рассматриваете использование Simulink.BlockPath вместо Simulink.SimulationData.BlockPath, потому что класс Simulink.BlockPath включает метод для проверки законности блочных объектов контуров без вас имеющий необходимость обновить образцовую схему.
Имя | Описание |
|---|---|
Отдельный компонент в блоке задан блоком path |
Имя | Описание |
|---|---|
Создайте блок path. | |
Преобразуйте блок path в массив ячеек из символьных векторов. | |
Получите единственный блок path в иерархии модели - ссылки. | |
Получите длину блока path. | |
Определите, представляет ли блок path допустимую блочную иерархию. |
Представляет отдельный компонент в блоке, заданном блоком path.
Например, если блок path обращается к графику Stateflow®, можно использовать SubPath, чтобы указать на сигналы графика. Например:
Block Path:
'sf_car/shift_logic'
SubPath:
'gear_state.first'символьный вектор
RW
Создайте блок path
blockpath_object = Simulink.BlockPath() blockpath_object = Simulink.BlockPath(blockpath) blockpath_object = Simulink.BlockPath(paths) blockpath_object = Simulink.BlockPath(paths, subpath)
blockpathБлокируйте объект контуров, который вы хотите скопировать.
пути Вектор символа или массив ячеек из символьных векторов, что использование Симулинка, чтобы создать блок path.
Задайте каждый вектор символа по порядку от топ-модели к определенному блоку, для которого вы создаете блок path.
Каждый вектор символа должен быть путем к блоку в модели Simulink. Блок должен быть:
Блок в единственной модели
Блок модели (за исключением вектора последнего знака, который может быть блоком кроме Блока модели),
Блок, который находится в модели, на которую ссылается Блок модели, который задан в предыдущем векторе символа
Когда вы создаете блок path для определения видимости Режима normal mode:
Первый вектор символа должен представлять блок, который находится в топ-модели в иерархии модели - ссылки.
Векторы символов должны представлять Блоки модели, которые находятся в Режиме normal mode.
Векторы символов, которые представляют различные модели или различные подсистемы, должны относиться к активному варианту.
Можно использовать gcb в массиве ячеек, чтобы задать в настоящее время выбранный блок.
subpathВектор символа, который представляет отдельный компонент в блоке.
blockpath_objectБлок path, который вы создаете.
blockpath_object = Simulink.BlockPath() создает пустой блок path.
создает копию блока path блочного объекта контуров, который вы задаете с аргументом blockpath_object = Simulink.BlockPath(blockpath)source_blockpath.
создает блок path из массива ячеек из символьных векторов, который вы задаете с аргументом blockpath = Simulink.BlockPath(paths)paths. Каждый вектор символа представляет путь на уровне иерархии модели. Simulink создает полный блок path на основе векторов символов.
создает блок path из вектора символа или массива ячеек из символьных векторов, который вы задаете с аргументом blockpath = Simulink.BlockPath(paths, subpath) paths, и создает путь для отдельного компонента (например, сигнал) блока.
Создайте блочный объект контуров под названием bp1, с помощью gcb, чтобы получить текущий блок.
sldemo_mdlref_depgraph bp1 = Simulink.BlockPath(gcb)
Получившимся блоком path является Блок модели верхнего уровня под названием thermostat (верхний левый Блок модели.
bp1 =
Simulink.BlockPath
Package: Simulink
Block Path:
'sldemo_mdlref_depgraph/thermostat'
Создайте блочный объект контуров под названием bp2, с помощью массива ячеек из символьных векторов, представляющего элементы блока path.
sldemo_mdlref_depgraph
bp2 = Simulink.BlockPath({'sldemo_mdlref_depgraph/thermostat', ...
'sldemo_mdlref_heater/Fahrenheit to Celsius', ...
'sldemo_mdlref_F2C/Gain1'})Получившийся блок path отражает иерархию модели - ссылки для блока path
bp2 =
Simulink.BlockPath
Package: Simulink
Block Path:
'sldemo_mdlref_depgraph/thermostat'
'sldemo_mdlref_heater/Fahrenheit to Celsius'
'sldemo_mdlref_F2C/Gain1'Преобразуйте блок path в массив ячеек из символьных векторов
cellarray = Simulink.BlockPath.convertToCell()
cellArrayМассив ячеек из символьных векторов, представляющий элементы блока path.
cellarray = Simulink.BlockPath.convertToCell() преобразовывает блок path в массив ячеек из символьных векторов.
sldemo_mdlref_depgraph
bp2 = Simulink.BlockPath({'sldemo_mdlref_depgraph/thermostat', ...
'sldemo_mdlref_heater/Fahrenheit to Celsius', ...
'sldemo_mdlref_F2C/Gain1'})
cellarray_for_bp2 = bp2.convertToCell()Результатом является массив ячеек, представляющий элементы блока path.
cellarray_for_bp2 =
'sldemo_mdlref_depgraph/thermostat'
'sldemo_mdlref_heater/Fahrenheit to Celsius'
'sldemo_mdlref_F2C/Gain1'
Получите блок path в иерархии модели - ссылки
block = Simulink.BlockPath.getBlock(index)
indexИндекс блока, для которого вы хотите получить блок path. Индекс отражает уровень в иерархии модели - ссылки. Индекс 1 представляет блок в модели верхнего уровня, индекс 2 представляет блок в модели, на которую ссылается блок индекса 1, и индекс n представляет блок что блок с индексом ссылки n-1.
blockБлок, представляющий уровень в иерархии модели - ссылки, задан аргументом index.
возвращает блок path блока, заданного аргументом blockpath = Simulink.BlockPath.getBlock(index)index.
Получите блок для второго уровня в иерархии модели - ссылки.
sldemo_mdlref_depgraph
bp2 = Simulink.BlockPath({'sldemo_mdlref_depgraph/thermostat', ...
'sldemo_mdlref_heater/Fahrenheit to Celsius', ...
'sldemo_mdlref_F2C/Gain1'})
blockpath = bp2.getBlock(2)Результатом является блок thermostat, который является на втором уровне в блочной path иерархии.
blockpath = sldemo_mdlref_heater/Fahrenheit to Celsius
Получите длину блока path
length = Simulink.BlockPath.getLength()
длинаДлина блока path. Длина является количеством уровней в иерархии модели - ссылки.
length = Simulink.BlockPath.getLength() возвращает числовое значение, которое соответствует количеству уровней в иерархии модели - ссылки для блока path.
Получите длину блока path bp2.
sldemo_mdlref_depgraph
bp2 = Simulink.BlockPath({'sldemo_mdlref_depgraph/thermostat', ...
'sldemo_mdlref_heater/Fahrenheit to Celsius', ...
'sldemo_mdlref_F2C/Gain1'})
length_bp2 = bp2.getLength()Результат отражает, что блок path имеет три элемента.
length_bp2 =
3Определите, представляет ли блок path допустимую блочную иерархию
Simulink.BlockPath.validate() Simulink.BlockPath.validate(AllowInactiveVariant)
Simulink.BlockPath.validate() определяет, представляет ли блок path допустимую блочную иерархию. Если существуют какие-либо проблемы законности, сообщения появляются в командном окне MATLAB®. Метод проверяет что:
Все элементы в блоке path представляют допустимые блоки.
Каждый элемент за исключением последнего элемента:
Допустимый Блок модели
Ссылается на модель следующего элемента