simscape.logging.findPath

Путь к узлу в записанном дереве данных моделирования

Описание

пример

[isvalid nodepath] = simscape.logging.findPath(simlog,block) возвращает логическое значение и путь к узлу в дереве данных моделирования simlog. Узел содержит записанные данные моделирования для указанного блока или подсистемы в модели. Прежде чем вы вызовете эту функцию, вы должны загрузить модель. Вы также должны иметь переменную журнала симуляции в текущей рабочей области. Создайте переменную журнала симуляции путем симуляции модели с включенным логгированием данных или загрузите ранее сохраненную переменную из файла.

Примеры

свернуть все

Откройте модель примера двигателя постоянного тока с постоянными магнитами, в которой уже включена регистрация данных, и запустите симуляцию, чтобы создать переменную журнала симуляции simlog_ssc_dcmotor (как задано параметром конфигурации модели Workspace variable name) в текущей рабочей области:

ssc_dcmotor
sim('ssc_dcmotor');

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

Найдите путь к узлу, соответствующему выбранному блоку:

[a, b] = simscape.logging.findPath(simlog_ssc_dcmotor,gcbh)
a =

     1


b =

DC_Motor.Inertia

a возвращает 1, что указывает на то, что был найден допустимый путь к узлу. b - вектор символов, содержащая путь в переменной журнала симуляции к Node объект, соответствующий выбранному блоку.

Откройте модель примера двигателя постоянного тока с постоянными магнитами, в которой уже включена регистрация данных, и запустите симуляцию, чтобы создать переменную журнала симуляции simlog_ssc_dcmotor (как задано параметром конфигурации модели Workspace variable name) в текущей рабочей области:

ssc_dcmotor
sim('ssc_dcmotor');

Найдите путь к узлу, соответствующему блоку Inertia в подсистеме двигателя постоянного тока:

[a, b] = simscape.logging.findPath(simlog_ssc_dcmotor,'ssc_dcmotor/DC Motor/Inertia')
a =

     1


b =

DC_Motor.Inertia

a возвращает 1, что указывает на то, что был найден допустимый путь к узлу. b - вектор символов, содержащая путь в переменной журнала симуляции к Node объект, соответствующий выбранному блоку.

Найдите путь к узлу, соответствующему модели верхнего уровня:

[a1, b1] = simscape.logging.findPath(simlog_ssc_dcmotor,'ssc_dcmotor')
a1 =

     1


b1 =

     ''

a1 возвращает 1, что указывает на то, что был найден допустимый путь к узлу. b1 является пустым символьным вектором, потому что ssc_dcmotor - имя модели верхнего уровня.

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

свернуть все

Переменная рабочей области журнала симуляции, которая содержит записанные данные симуляции модели, заданные как Node объект. Имя переменной журнала симуляции задается с помощью параметра Workspace variable name на панели Simscape диалогового окна Параметры конфигурации.

Блок или имя подсистемы или идентификатор, заданные как указатель, полный путь к блоку или подсистеме в модели, Simulink.Block Объект или действительный идентификатор Simulink (SID).

Типы данных: double | char | string

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

свернуть все

Логическое значение, указывающее, найдено ли соответствие между блоком и узлом, возвращается как true (1) или ложь (0). Возвращает true (1), если дерево журнала данных моделирования содержит узел, относящийся к указанному блоку. Возвращает false (0), если соответствующий узел не найден. Функция может вернуть false, если модель сконфигурирована для регистрации данных только для выбранных блоков (а не для всей модели), и указанный блок не был выбран для логгирования. Функция может также вернуть false, если указанный блок не производит записанные данные моделирования (для примера, блока Solver Configuration или возможностей).

Путь к узлу, содержащему записанные данные моделирования для указанного блока, возвращенный как вектор символов. Если isvalid возвращает false (0), затем nodepath - пустой символьный вектор. Если block является моделью верхнего уровня в блоке, затем nodepath также является пустым символьным вектором, но isvalid возвращает true (1).

Введенный в R2020a
Для просмотра документации необходимо авторизоваться на сайте