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