ee_getEfficiency

Вычислите КПД как функцию рассеянных потерь мощности

Описание

пример

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

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

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

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

Eff=100PloadPloss+Pload,

где:

  • Eff является КПД схемы.

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

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

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

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

пример

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. Никакие другие блоки с 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.0327

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

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

model = 'ee_converter_dcdc_class_e';
open_system(model)

Загрузка в модели представлена Нагрузочным резистором R. Никакие другие блоки с 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.4898

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

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

model = 'ee_converter_dcdc_class_e';
open_system(model)

Загрузка в модели представлена Нагрузочным резистором R. Никакие другие блоки с 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.0327


lossesTable =

  7x2 table

                     LoggingNode                        Power   
    ______________________________________________    __________

    {'ee_converter_dcdc_class_e.LDMOS'           }        3.6584
    {'ee_converter_dcdc_class_e.R_Trans.Resistor'}        2.9111
    {'ee_converter_dcdc_class_e.D2'              }        1.9446
    {'ee_converter_dcdc_class_e.D1'              }        1.8371
    {'ee_converter_dcdc_class_e.Cs'              }       0.27392
    {'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 диалогового окна Configuration Parameters. Чтобы задать узел в рамках симуляции регистрируют переменную, обеспечивают полный путь к тому узлу через дерево данных моделирования, начиная с имени переменной верхнего уровня.

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

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

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

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

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

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

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

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

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

свернуть все

КПД схемы на основе данных извлечен из узла логгирования Simscape.

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

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

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

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

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

Введенный в R2017a