ee_getEfficiency

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

Синтаксис

efficiency = ee_getEfficiency('loadIdentifier',node)
efficiency = ee_getEfficiency('loadIdentifier',node,startTime,endTime)
[efficiency,lossesTable] = ee_getEfficiency('loadIdentifier',node)

Описание

пример

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.0324

Этот пример показывает, как вычислить эффективность на основе степени, рассеянной для определенного периода времени с помощью функции 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.4879

Этот пример показывает, как использование функции 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.0324


lossesTable =

  7×2 table

                    LoggingNode                       Power   
    ____________________________________________    __________

    'ee_converter_dcdc_class_e.LDMOS'                   3.6584
    'ee_converter_dcdc_class_e.R_Trans.Resistor'         2.911
    '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.00044579

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

свернуть все

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

Имя блока в модели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 должен быть больше, чем или равным симуляции Start time и меньше, чем endTime.

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

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

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

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

свернуть все

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

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

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

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

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

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

Введенный в R2017a