Полностью заданный путь к блоку Simulink
Simulink.BlockPath объект представляет полностью заданный блок path, который однозначно определяет блок в иерархии модели, включая иерархии модели - ссылки, которые включают несколько экземпляров модели, на которую ссылаются. Использование Simulink® блокирует объекты контуров во множестве контекстов. Например, когда вы задаете видимость режима normal mode, использование Simulink блокирует объекты контуров, чтобы идентифицировать модели с видимостью Режима 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. | |
open | Откройте заданную модель, библиотеку, подсистему или блок. |
Определите, представляет ли блок 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Блокируйте объект контуров, который вы хотите скопировать.
pathsВектор символов или массив ячеек из символьных векторов, что использование Simulink, чтобы создать блок path.
Задайте каждый вектор символов в порядке от топ-модели с определенным блоком, для которого вы создаете блок path.
Каждый вектор символов должен быть путем к блоку в модели Simulink. Блок должен быть:
Блок в одной модели
Блок Model (за исключением вектора последнего знака, который может быть блоком кроме блока Model),
Блок, который находится в модели, на которую ссылается блок Model, который задан в предыдущем векторе символов
Когда вы создаете блок path для определения видимости Режима normal mode:
Первый вектор символов должен представлять блок, который находится в топ-модели в иерархии модели - ссылки.
Векторы символов должны представлять блоки Model, которые находятся в Режиме normal mode.
Векторы символов, которые представляют различные модели или различные подсистемы, должны относиться к активному варианту.
Можно использовать gcb в массиве ячеек, чтобы задать в настоящее время выбранный блок.
subpathВектор символов, который представляет отдельный компонент в блоке.
blockpath_objectБлок path, который вы создаете.
blockpath_object = Simulink.BlockPath() создает пустой блок path.
blockpath_object = Simulink.BlockPath( создает копию блока path объекта контуров блока, который вы задаете с blockpath)source_blockpath аргумент.
blockpath = Simulink.BlockPath( создает блок path из массива ячеек из символьных векторов, который вы задаете с paths)paths аргумент. Каждый вектор символов представляет путь на уровне иерархии модели. Simulink создает полный блок path на основе векторов символов.
blockpath = Simulink.BlockPath( создает блок path из вектора символов или массива ячеек из символьных векторов, который вы задаете с paths, subpath)paths аргумент и создает путь для отдельного компонента (например, сигнал) блока.
Создайте объект контуров блока под названием bp1, использование gcb получить текущий блок.
sldemo_mdlref_depgraph bp1 = Simulink.BlockPath(gcb)
Получившийся блок path является блоком Model верхнего уровня под названием thermostat (верхний левый блок Model.
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 аргумент.
blockpath = Simulink.BlockPath.getBlock( возвращает блок path блока, заданного 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()
lengthДлина блока 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Откройте заданную модель, библиотеку, подсистему или блок.
Simulink.BlockPath.open()
Simulink.BlockPath.open('OpenType', openType)
Simulink.BlockPath.open('Force', forceOpen)openTypeЗадайте, где открыть подсистему или модель, заданную Simulink.BlockPath объект. Опции включают:
'REUSE_TAB' (default) — Открытый во вкладке активного окна.
'NEW_TAB' — Открытый в новой вкладке.
'NEW_WINDOW' — Открытый в новом окне.
forceOpenОбеспечьте Simulink.BlockPath возразите, чтобы открыться, независимо от маски блока. Опции включают:
'off' (default) — открывает маску блока.
'on' — открывает диалоговое окно блока под маской или открывает систему маскированную в новой вкладке.
Simulink.BlockPath.open() открывает заданную модель, библиотеку, подсистему или блок. Это эквивалентно двойному клику по модели или библиотеке в Браузере текущей папки, или подсистеме или блоку в Редакторе Simulink.
Simulink.BlockPath.open('OpenType', позволяет вам задавать, открываются ли подсистема или модель в новой вкладке или окне.openType)
Simulink.BlockPath.open('Force', взгляды под маской маскированного блока. Это открывает диалоговое окно блока под маской или открывает систему маскированную в новой вкладке. Эта опция эквивалентна пункту меню Look Under Mask.forceOpen)
Открытая модель sldemo_mdlref_depgraph.
sldemo_mdlref_depgraph
Выберите блок в иерархии модели.
bp3 = Simulink.BlockPath({'sldemo_mdlref_depgraph/thermostat', ...
'sldemo_mdlref_heater/Fahrenheit to Celsius'})Откройте модель, на которую ссылаются, заданную bp3 в новой вкладке.
bp3.open('OpenType','NEW_TAB')Определите, представляет ли блок path допустимую иерархию блока
Simulink.BlockPath.validate() Simulink.BlockPath.validate(AllowInactiveVariant)
Simulink.BlockPath.validate() определяет, представляет ли блок path допустимую иерархию блока. Если существуют какие-либо проблемы валидности, сообщения появляются в командном окне MATLAB®. Метод проверяет что:
Все элементы в блоке path представляют допустимые блоки.
Каждый элемент за исключением последнего элемента:
Допустимый блок Model
Ссылается на модель следующего элемента
Simulink.SimulationData.BlockPath | Simulink.SimulationData.Dataset