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 диалогового окна Configuration Parameters.

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

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

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

свернуть все

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

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

Введенный в R2020a