exponenta event banner

simscape.logging.findPath

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

Описание

пример

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

Примеры

свернуть все

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

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 (как указано параметром конфигурации модели имени переменной рабочей области) в текущей рабочей области:

ssc_dcmotor
sim('ssc_dcmotor');

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

[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

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

свернуть все

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

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

Представлен в R2020a