ee_getEfficiency

Вычислите эффективность как функцию рассеянных потерь степени

Описание

пример

efficiency = ee_getEfficiency('loadIdentifier',node) возвращает эффективность схемы на основе данных, извлеченных из узла логгирования Simscape™.

Прежде чем вы вызовете эту функцию, у вас должна быть переменная журнала симуляции в текущей рабочей области. Создайте переменную журнала симуляции путем симуляции модели с включенным логгированием данных или загрузите ранее сохраненную переменную из файла. Если node - имя переменной журнала симуляции, затем таблица содержит данные для всех полупроводниковых блоков в модели. Если node является именем узла в дереве данных моделирования, тогда таблица содержит данные только для блоков в этом узле.

Проверка эффективности позволяет вам определить, работают ли компоненты схемы в соответствии с их требованиями. Все блоки в библиотеке Semiconductor Devices, а также некоторые другие блоки имеют внутреннюю переменную, называемую power_dissipated, который представляет мгновенную степень, рассеянную блоком. Эта мгновенная рассеянная степень включает только реальную степень (не реактивную или кажущуюся степень), которую рассеивает блок. Когда вы записываете данные моделирования, временной ряд для этой переменной представляет степень, рассеянную блоком с течением времени. Просмотреть и построить графики этих данных можно с помощью Simscape Results Explorer. ee_getPowerLossTimeSeries функция также позволяет вам получить доступ к этим данным.

Примечание

The power_dissipated внутренняя переменная не сообщает о динамических потерях, вызванных полупроводниковым переключением или магнитным гистерезисом.

ee_getEfficiency функция вычисляет эффективность схемы на основе потерь для блоков, которые имеют power_dissipated переменная, которую вы идентифицируете как блок загрузки. Уравнение для эффективности

Eff=100PloadPloss+Pload,

где:

  • Eff - эффективность цепи.

  • Pload - выход степени, то есть степень, рассеянная блоками нагрузки.

  • Ploss - степень, рассеянная блоками без нагрузки.

Это уравнение принимает, что все механизмы потерь захватываются блоками, содержащими, по меньшей мере, один power_dissipated переменная. Если модель содержит любые блоки с потерями, которые не имеют этой переменной, вычисление эффективности дает неправильные результаты.

Некоторые блоки имеют несколько power_dissipated переменная, в зависимости от их строения. Для примера блок N-Channel MOSFET имеет отдельные power_dissipated каротажные узлы для МОП-транзистора, резистора затвора и для резисторов истока и стока, если они имеют ненулевые значения сопротивления. Функция суммирует все эти потери, чтобы обеспечить общие потери степени для блока, усредненные за время симуляции. Функция использует данные потерь, чтобы вычислить эффективность схемы.

пример

efficiency = ee_getEfficiency('loadIdentifier',node,...
startTime,endTime)
возвращает эффективность схемы, основанной на power_dissipated данные, извлеченные из узла логгирования Simscape за определенный временной интервал. startTime и endTime представление начала и конца временного интервала для вычисления эффективности. Если вы опускаете эти два входных параметров, функция вычисляет эффективность за все время симуляции.

пример

[efficiency,lossesTable] = ee_getEfficiency('loadIdentifier',node) возвращает эффективность схемы и вклады потерь степени блоков без нагрузки в схеме на основе данных, извлеченных из узла логгирования Simscape.

Примеры

свернуть все

В этом примере показов, как вычислить эффективность на основе степени, рассеянной блоками в схеме, использующей ee_getEfficiency функция.

Откройте модель. В командной строке MATLAB ® введите:

model = 'ee_converter_dcdc_class_e';
open_system(model)

Нагрузка в модели представлена резистором R Load. Никаких других блоков с power_dissipated переменные содержат Load в своих именах. Поэтому можно использовать строку Load как loadIdentifier аргумент.

Если ни одна строка хотя бы частично не совпадает с именами всех блоков загрузки в вашей схеме, переименуйте блоки загрузки с помощью схемы, которая удовлетворяет критериям соответствия для loadIdentifier аргумент.

В этой модели примера включена регистрация данных. Запустите симуляцию и создайте переменную журнала симуляции.

sim(model)

Переменная журнала симуляции simlog_ee_converter_dcdc_class_e сохранен в текущей рабочей области.

Вычислите эффективность и отобразите результаты.

efficiency = ee_getEfficiency('Load',simlog_ee_converter_dcdc_class_e)
efficiency =

   90.0213

В этом примере показов, как вычислить эффективность на основе степени, рассеянной за определенный временной период, используя ee_getEfficiency функция.

Откройте модель. В командной строке MATLAB ® введите:

model = 'ee_converter_dcdc_class_e';
open_system(model)

Нагрузка в модели представлена резистором R Load. Никаких других блоков с power_dissipated переменные содержат Load в своих именах. Поэтому можно использовать строку Load как loadIdentifier аргумент.

Если ни одна строка хотя бы частично не совпадает с именами всех блоков загрузки в вашей схеме, переименуйте блоки загрузки с помощью схемы, которая удовлетворяет критериям соответствия для loadIdentifier аргумент.

В этой модели примера включена регистрация данных. Запустите симуляцию и создайте переменную журнала симуляции.

sim(model)

Переменная журнала симуляции simlog_ee_converter_dcdc_class_e сохранен в текущей рабочей области.

Время симуляции модели (t) составляет 1.25e-4 секунды. Вычислите эффективность для интервала, когда t находится между 1e-4 и 1.25e-4 секундами.

efficiency = ee_getEfficiency('Load',simlog_ee_converter_dcdc_class_e,1e-4,1.25e-4)
efficiency =

   90.4772

В этом примере показано, как использовать ee_getEfficiency функция позволяет вам вычислить как эффективность схемы, так и вклады потерь мощности блоков без нагрузки на основе степени, которую они рассеивают.

Откройте модель. В командной строке MATLAB ® введите:

model = 'ee_converter_dcdc_class_e';
open_system(model)

Нагрузка в модели представлена резистором R Load. Никаких других блоков с power_dissipated переменные содержат Load в своих именах. Поэтому можно использовать строку Load как loadIdentifier аргумент.

Если ни одна строка хотя бы частично не совпадает с именами всех блоков загрузки в вашей схеме, переименуйте блоки загрузки с помощью схемы, которая удовлетворяет критериям соответствия для loadIdentifier аргумент.

В этой модели примера включена регистрация данных. Запустите симуляцию и создайте переменную журнала симуляции.

sim(model)

Переменная журнала симуляции simlog_ee_converter_dcdc_class_e сохранен в текущей рабочей области.

Вычислите взносы эффективности и потерь мощности из-за рассеянной степени.

[efficiency,lossesTable] = ee_getEfficiency('Load',simlog_ee_converter_dcdc_class_e)
efficiency =

   90.0213


lossesTable =

  7x2 table

                     LoggingNode                        Power   
    ______________________________________________    __________

    {'ee_converter_dcdc_class_e.LDMOS'           }        3.6583
    {'ee_converter_dcdc_class_e.R_Trans.Resistor'}         2.911
    {'ee_converter_dcdc_class_e.D2'              }        1.9516
    {'ee_converter_dcdc_class_e.D1'              }        1.8436
    {'ee_converter_dcdc_class_e.Cs'              }       0.27391
    {'ee_converter_dcdc_class_e.Ls'              }       0.27098
    {'ee_converter_dcdc_class_e.Cout'            }    0.00044587

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

свернуть все

Строка, которая является полным или частичным совпадением для имен блоков загрузки в схеме. Например, рассмотрим схему, которая содержит четыре полупроводниковых блока, показанных в таблице.

Имя блока в моделиIGBTIGBT1_LoadDiodeDiode1
Тип блокаN-Channel IGBTN-Channel IGBTDiodeDiode
Блокируйте роль в моделиИсточникГрузГрузГруз
'loadIdentifier''IGBT'ДаДаНетНет
'Diode'НетНетДаДа
'Load'НетДаНетНет
'1'НетДаНетДа
'D'НетНетДаДа
'd'НетДаДаДа

ee_getEfficiency функция возвращает данные только для трех блоков загрузки только тогда, когда 'loadIdentifier' является 'd'.

Схема именования блоков загрузки, которая дает вам лучший контроль над выходом ee_getEfficiency функция показана в этой таблице.

Имя блока в моделиIGBTIGBT1_LoadDiode_LoadDiode1_Load
Тип блокаN-Channel IGBTN-Channel IGBTDiodeDiode
Блокируйте роль в моделиИсточникГрузГрузГруз
'loadIdentifier''IGBT'ДаДаНетНет
'Diode'НетНетДаДа
'Load'НетДаДаДа

Пример: 'Load'

Типы данных: string

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

Если node - имя переменной журнала симуляции, затем таблица содержит данные для всех блоков модели, которые содержат power_dissipated переменные. Если node - имя узла в дереве данных моделирования, тогда таблица содержит данные только для:

  • Блоки или переменные в этом узле

  • Блоки или переменные в подузлах на всех уровнях иерархии под этим узлом

Пример: simlog.Cell1.MOS1

Запуск временного интервала для вычисления эффективности, заданного как действительное число, в секундах. startTime должно быть больше или равно Start time симуляции и меньше endTime.

Типы данных: double

Конец временного интервала для вычисления эффективности, заданный как действительное число, в секундах. endTime должно быть больше startTime и меньше или равно Stop time симуляции.

Типы данных: double

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

свернуть все

Эффективность схемы на основе данных, извлеченных из узла логгирования Simscape.

Рассеянные потери степени для каждого блока без нагрузки, возвращенные как таблица. В первом столбце перечислены узлы регистрации для всех блоков, которые имеют по крайней мере один power_dissipated переменная. Во втором столбце перечислены соответствующие потери в ваттах.

Предположения

  • Выходная степень равна общей степени, рассеянной блоками, которые вы идентифицируете как блоки нагрузки.

  • Вход степени равен выход степени плюс общая степень, рассеянное блоками, которые вы не идентифицируете как блоки загрузки.

  • The power_dissipated переменные фиксируют все взносы на потери.

Введенный в R2017a