Simulink.SimulationData.BlockPath class

Пакет: Simulink .SimulationData

Полностью заданный путь блока Simulink

Описание

Simulink® создает объекты пути блоков при создании объектов набора данных для логгирования сигналов и логгирования хранилища данных. Simulink.SimulationData.Signal и Simulink.SimulationData.DataStoreMemory объекты включают объекты пути блоков.

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

The Simulink.SimulationData.BlockPath класс очень похож на Simulink.BlockPath класс.

Для использования Simulink.SimulationData.BlockPath не обязательно устанавливать Simulink класс. Однако для использования Simulink.BlockPath необходимо установить Simulink класс. Если у вас установлен Simulink, рассмотрите использование Simulink.BlockPath вместо Simulink.SimulationData.BlockPath, потому что Simulink.BlockPath класс включает метод для проверки валидности объектов пути блока без необходимости обновления диаграммы модели.

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

Имя

Описание

SubPath

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

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

Имя

Описание

BlockPath

Создайте путь к блоку.

convertToCell

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

getBlock

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

getLength

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

Свойства

SubPath

Описание

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

Для примера, если путь блока относится к Stateflow® график, можно использовать SubPath для указания сигналов на графике. Для примера:

Block Path:
      'sf_car/shift_logic'
 
    SubPath:
      'gear_state.first'
Тип данных

вектор символов

Доступ

RW

Методы

BlockPath

Цель

Создайте путь блока

Синтаксис
blockpath_object = Simulink.SimulationData.BlockPath()
blockpath_object = Simulink.SimulationData.BlockPath(blockpath)
blockpath_object = Simulink.SimulationData.BlockPath(paths)
blockpath_object = Simulink.SimulationData.BlockPath(paths, subpath)
Входные параметры
blockpath

Объект пути блока, который вы хотите скопировать.

paths

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

Задайте каждый вектор символов по порядку от верхней модели до конкретного блока, для которого вы создаете путь блока.

Каждый вектор символов должен быть путем к блоку в модели Simulink. Блок должен быть:

  • Блок в одной модели

  • Блок Model (за исключением последнего вектора символов, который может быть блоком, отличным от блока Model)

  • Блок, который находится в модели, на которую ссылается блок Model, заданный в предыдущем векторе символов

subpath

Вектор символов, который представляет индивидууму компонент внутри блока.

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

Путь к блоку, который вы создаете.

Описание

blockpath_object = Simulink.SimulationData.BlockPath() создает пустой путь к блоку.

blockpath_object = Simulink.SimulationData.BlockPath(blockpath) создает копию пути блока объекта пути блока, заданную с помощью source_blockpath аргумент.

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

blockpath = Simulink.SimulationData.BlockPath(paths, subpath) создает путь к блоку из вектора символов или массива ячеек из векторов символов, которые вы задаете с помощью paths аргумент и создает путь для компонента индивидуума (для примера, сигнала) блока.

Пример

Создайте объект пути блока с именем bp1, использование массива ячеек из векторов символов, представляющего элементы пути блока.

bp1 = Simulink.SimulationData.BlockPath(...
{'sldemo_mdlref_depgraph/thermostat', ...
'sldemo_mdlref_heater/Fahrenheit to Celsius', ...
'sldemo_mdlref_F2C/Gain1'})

Получившийся путь блока отражает иерархию модели-ссылки для пути блока.

bp1 = 

  Simulink.BlockPath
  Package: Simulink

  Block Path:
    'sldemo_mdlref_depgraph/thermostat'
      'sldemo_mdlref_heater/Fahrenheit to Celsius'
        'sldemo_mdlref_F2C/Gain1

convertToCell

Цель

Преобразуйте путь блока в массив ячеек из векторов символов

Синтаксис
cellarray = blockPathObject.convertToCell()
Выходные аргументы
cellarray

Массив ячеек из векторов символов, представляющих элементы пути блока.

Описание

cellarray = blockPathObject.convertToCell() преобразует путь к блоку в массив ячеек из векторов символов.

Примеры

bp1 = Simulink.SimulationData.BlockPath(...
{'sldemo_mdlref_depgraph/thermostat', ...
'sldemo_mdlref_heater/Fahrenheit to Celsius', ...
'sldemo_mdlref_F2C/Gain1'})
cellarray_for_bp1 = bp1.convertToCell()

Результатом является массив ячеек, представляющий элементы пути блока.

cellarray_for_bp1 = 

    'sldemo_mdlref_depgraph/thermostat'
    'sldemo_mdlref_heater/Fahrenheit to Celsius'
    'sldemo_mdlref_F2C/Gain1'

getBlock

Цель

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

Синтаксис
block = blockPathObject.getBlock(index)
Входные параметры
index

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

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

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

Описание

blockpath = Simulink.SimulationData.BlockPath.getBlock(index) возвращает путь блока, заданный как index аргумент.

Пример

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

bp1 = Simulink.SimulationData.BlockPath(...
{'sldemo_mdlref_depgraph/thermostat', ...
'sldemo_mdlref_heater/Fahrenheit to Celsius', ...
'sldemo_mdlref_F2C/Gain1'})
blockpath = bp1.getBlock(2)

Результатом является thermostat блок, который находится на втором уровне в иерархии пути блока.

blockpath =

sldemo_mdlref_heater/Fahrenheit to Celsius

getLength

Цель

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

Синтаксис
length = blockPathObject.getLength()
Выходные аргументы
length

Длина пути блока. Длина - это количество уровней в иерархии модели-ссылки.

Описание

length = Simulink.SimulationData.BlockPath.getLength() возвращает числовое значение, которое соответствует количеству уровней в иерархии модели-ссылки для пути блока.

Пример

Получите длину пути к блоку bp1.

bp1 = Simulink.SimulationData.BlockPath(...
{'sldemo_mdlref_depgraph/thermostat', ...
'sldemo_mdlref_heater/Fahrenheit to Celsius', ...
 'sldemo_mdlref_F2C/Gain1'})
length_bp1 = bp1.getLength()

Результат отражает, что путь блока имеет три элемента.

length_bp1 =

     3
Введенный в R2012b