exponenta event banner

getSource

Переход от объекта узла к блоку, который его создал

Описание

пример

block_id = getSource(node) возвращает идентификатор Simulink (SID) блока, сгенерировавшего данные в указанном simscape.logging.Node объект. Если объект узла соответствует переменной, возвращает родительский блок для этой переменной. Перед вызовом этой функции объекта необходимо загрузить модель. Необходимо также иметь переменную журнала моделирования в текущей рабочей области. Создайте переменную журнала моделирования путем моделирования модели с включенным протоколированием данных или загрузите ранее сохраненную переменную из файла.

Примеры

свернуть все

Откройте пример модели Full-Wave Bridge Rectifier и выполните моделирование:

ssc_bridge_rectifier
sim('ssc_bridge_rectifier');

В модели включено ведение журнала данных для всех блоков, для параметра Имя переменной рабочей области (Workspace variable name) установлено значение simlog_ssc_bridge_rectifier. Поэтому при выполнении моделирования создается переменная журнала моделирования в текущей рабочей области.

Распечатайте полное дерево регистрации для модели:

print(simlog_ssc_bridge_rectifier)
     ssc_bridge_rectifier
     +-AC_Voltage_Source
     | +-i
     | +-n
     | | +-v
     | +-p
     | | +-v
     | +-v
     +-C
     | +-i
     | +-n
     | | +-v
     | +-p
     | | +-v
     | +-v
     | +-vc
     +-Diode_1
     | +-SimulationStatistics
     | | +-zc_1
     | |   +-crossings
     | |   +-values
     | +-i
     | +-n
     | | +-v
     | +-p
     | | +-v
     | +-v
     +-Diode_2
     | +-SimulationStatistics
     | | +-zc_1
     | |   +-crossings
     | |   +-values
     | +-i
     | +-n
     | | +-v
     | +-p
     | | +-v
     | +-v
     +-Diode_3
     | +-SimulationStatistics
     | | +-zc_1
     | |   +-crossings
     | |   +-values
     | +-i
     | +-n
     | | +-v
     | +-p
     | | +-v
     | +-v
     +-Diode_4
     | +-SimulationStatistics
     | | +-zc_1
     | |   +-crossings
     | |   +-values
     | +-i
     | +-n
     | | +-v
     | +-p
     | | +-v
     | +-v
     +-ERef_T1
     | +-V
     |   +-v
     +-ERef_T2
     | +-V
     |   +-v
     +-Ideal_Transformer
     | +-i1
     | +-i2
     | +-n1
     | | +-v
     | +-n2
     | | +-v
     | +-p1
     | | +-v
     | +-p2
     | | +-v
     | +-v1
     | +-v2
     +-Load
     | +-i
     | +-n
     | | +-v
     | +-p
     | | +-v
     | +-v
     +-Voltage_Sensor
       +-V
       +-i1
       +-n
       | +-v
       +-p
       | +-v
       +-v1

Найти идентификатор Simulink для блока, соответствующего Diode_1 узел:

id = getSource(simlog_ssc_bridge_rectifier.Diode_1)
id =

ssc_bridge_rectifier:3

ssc_bridge_rectifier:3 - идентификатор Simulink блока, соответствующего указанному узлу.

На основе идентификатора Simulink получите полное имя пути блока:

blockName = getfullname(id)
blockName =

ssc_bridge_rectifier/Diode 1

ssc_bridge_rectifier/Diode 1 - полный путь и имя блока.

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

свернуть все

Узел в дереве журнала данных моделирования, указанный как simscape.logging.Node объект. Имя переменной журнала моделирования задается с помощью параметра Имя переменной рабочего пространства (Workspace variable name) на панели Simscape диалогового окна Параметры конфигурации (Configuration Parameters). Чтобы указать узел в переменной журнала моделирования, укажите полный путь к этому узлу через дерево данных моделирования, начиная с имени переменной верхнего уровня.

Пример: simlog.DC_Motor.Inertia

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

свернуть все

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

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