Simulink. BlockPath

Полностью заданный путь к блоку 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 включает метод для проверки валидности объектов контуров блока без вас имеющий необходимость обновить диаграмму модели.

Сводные данные свойства

Имя

Описание

SubPath

Отдельный компонент в блоке задан блоком path

Сводные данные метода

Имя

Описание

BlockPath

Создайте блок path.

convertToCell

Преобразуйте блок path в массив ячеек из символьных векторов.

getBlock

Получите один блок path в иерархии модели - ссылки.

getLength

Получите длину блока path.

open

Откройте заданную модель, библиотеку, подсистему или блок.

validate

Определите, представляет ли блок path допустимую иерархию блока.

Свойства

SubPath

Описание

Представляет отдельный компонент в блоке, заданном блоком path.

Например, если блок path обращается к графику Stateflow®, можно использовать SubPath, чтобы указать на сигналы графика. Например:

Block Path:
      'sf_car/shift_logic'
 
    SubPath:
      'gear_state.first'

Тип данных

символьный вектор

Доступ

RW

Методы

BlockPath

Цель

Создайте блок 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(blockpath) создает копию блока path объекта контуров блока, который вы задаете с аргументом source_blockpath.

blockpath = Simulink.BlockPath(paths) создает блок path от массива ячеек из символьных векторов, который вы задаете с аргументом paths. Каждый вектор символов представляет путь на уровне иерархии модели. Simulink создает полный блок path на основе векторов символов.

blockpath = Simulink.BlockPath(paths, subpath) создает блок path от вектора символов или массива ячеек из символьных векторов, который вы задаете с аргументом 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'

convertToCell

Цель

Преобразуйте блок 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'

getBlock

Цель

Получите блок path в иерархии модели - ссылки

Синтаксис

block = Simulink.BlockPath.getBlock(index)

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

index

Индекс блока, для которого вы хотите получить блок path. Индекс отражает уровень в иерархии модели - ссылки. Индекс 1 представляет блок в модели верхнего уровня, индекс 2 представляет блок в модели, на которую ссылается блок индекса 1, и индекс n представляет блок что блок с индексом ссылки n-1.

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

block

Блок, представляющий уровень в иерархии модели - ссылки, задан аргументом index.

Описание

blockpath = Simulink.BlockPath.getBlock(index) возвращает блок path блока, заданного аргументом 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

getLength

Цель

Получите длину блока 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', forceOpen) взгляды под маской маскированного блока. Это открывает диалоговое окно блока под маской или открывает систему маскированную в новой вкладке. Эта опция эквивалентна пункту меню Look Under Mask.

Пример

Открытая модель 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

    • Ссылается на модель следующего элемента