exponenta event banner

ee_getEfficiency

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

Описание

пример

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

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

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

Примечание

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

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

Eff=100⋅PloadPloss+Pload,

где:

  • Eff - эффективность схемы.

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

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

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

Некоторые блоки имеют более одного power_dissipated переменная, в зависимости от их конфигурации. Например, N-канальный блок 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,25-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-канальный IGBTN-канальный IGBTДиодДиод
Блокировать роль в моделиИсточникГрузГрузГруз
'loadIdentifier''IGBT'ДаДаНетНет
'Diode'НетНетДаДа
'Load'НетДаНетНет
'1'НетДаНетДа
'D'НетНетДаДа
'd'НетДаДаДа

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

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

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

Пример: 'Load'

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

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

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

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

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

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

Начало временного интервала для вычисления КПД, заданного как действительное число, в секундах. startTime должно быть больше или равно времени начала моделирования и меньше endTime.

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

Окончание временного интервала для вычисления КПД, заданного как действительное число, в секундах. endTime должно быть больше, чем startTime и меньше или равно времени остановки моделирования.

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

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

свернуть все

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

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

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

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

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

  • power_dissipated переменные фиксируют все вклады потерь.

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