exponenta event banner

Класс Simulink.CharingData.BlockPath

Пакет: Simulink. SimulationData

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

Описание

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

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

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

Для использования программы Simulink не требуется Simulink.SimulationData.BlockPath класс. Однако для использования программы Simulink необходимо установить Simulink.BlockPath класс. Если установлена программа 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)

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

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