ee_getPowerLossTimeSeries

Вычислите рассеянные потери мощности и переключающиеся потери, и возвратите данные временных рядов

Описание

пример

lossesCell = ee_getPowerLossTimeSeries(node) вычисляет рассеянные потери мощности для блоков в модели, на основе регистрируемых данных моделирования, и возвращает данные временных рядов для каждого блока.

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

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

Примечание

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

Две различных переменные, lastTurnOnLoss и lastTurnOffLoss сообщите о переключающихся потерях.

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

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

пример

lossesCell = ee_getPowerLossTimeSeries(node,startTime,endTime) вычисляет рассеянные потери мощности и возвращает данные временных рядов для временных шагов от startTime к endTime. Если startTime равно endTime, интервал является эффективно нулем, и функция возвращает мгновенную степень для временного шага, который происходит в тот момент. Если вы не используете эти два входных параметра, функция возвращает данные по целому времени симуляции.

пример

lossesCell = ee_getPowerLossTimeSeries(node,startTime,...
endTime,intervalWidth)
вычисляет рассеянные потери мощности и возвращает данные временных рядов для временных шагов от startTime к endTime, усредненный за время intervalWidth. Если вы не используете intervalWidth, или набор это к 0, функция возвращает мгновенные данные без усреднения. Если вы не используете все три дополнительных аргумента, функция возвращает мгновенные данные по целому времени симуляции.

[lossesCell, switchingLosses] = ee_getPowerLossTimeSeries(node) вычисляет рассеянные потери мощности для блоков в модели, на основе регистрируемых данных моделирования, и возвращает данные временных рядов, lossesCell, для каждого блока и массива ячеек, switchingLosses, с переключающимися потерями каждого устройства.

Если нет никаких потерь переключения, появляются, switchingLosses выход является массивом пустой ячейки.

Примеры

свернуть все

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

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

model = 'ee_solar_inverter';
open_system(model)

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

sim(model)

Логарифмическая переменная simlog_ee_solar_inverter симуляции сохранено в вашей текущей рабочей области.

Вычислите рассеянные потери мощности и возвратите данные временных рядов в массиве ячеек.

lossesCell = ee_getPowerLossTimeSeries(simlog_ee_solar_inverter)
lossesCell =

  8×2 cell array

    {'ee_solar_inverter.Diode1'}    {77180×3 double}
    {'ee_solar_inverter.MOS1'  }    {77180×3 double}
    {'ee_solar_inverter.MOS2'  }    {77180×3 double}
    {'ee_solar_inverter.MOS3'  }    {77180×3 double}
    {'ee_solar_inverter.MOS4'  }    {77180×3 double}
    {'ee_solar_inverter.Diode2'}    {77180×3 double}
    {'ee_solar_inverter.Diode3'}    {77180×3 double}
    {'ee_solar_inverter.Diode4'}    {77180×3 double}

Просмотрите данные временных рядов. Из рабочей области откройте lossesCell массив ячеек, затем откройтесь 77180x3 double числовой массив для ee_solar_inverter.Diode1.

Первые два столбца содержат время начала и конца интервала. Третий столбец содержит данные о потерях мощности.

Отобразите данные на графике.

plot(lossesCell{1, 2}(:,end))
title('Dissipated Power')
xlabel('Time Interval')
ylabel('Power (W)')

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

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

model = 'ee_solar_inverter';
open_system(model)

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

sim(model)

Логарифмическая переменная simlog_ee_solar_inverter симуляции сохранено в вашей текущей рабочей области.

Время симуляции модели (t) является 1/60 секундами. Вычислите рассеянные потери мощности и возвратите данные временных рядов в массиве ячеек для второй половины цикла симуляции, когда t будет между 1/120 и 1/60 секунды.

lossesCell = ee_getPowerLossTimeSeries(simlog_ee_solar_inverter,1/120,1/60)
lossesCell =

  8×2 cell array

    {'ee_solar_inverter.Diode1'}    {39150×3 double}
    {'ee_solar_inverter.MOS1'  }    {39150×3 double}
    {'ee_solar_inverter.MOS2'  }    {39150×3 double}
    {'ee_solar_inverter.MOS3'  }    {39150×3 double}
    {'ee_solar_inverter.MOS4'  }    {39150×3 double}
    {'ee_solar_inverter.Diode2'}    {39150×3 double}
    {'ee_solar_inverter.Diode3'}    {39150×3 double}
    {'ee_solar_inverter.Diode4'}    {39150×3 double}

Просмотрите данные временных рядов. Из рабочей области откройте lossesCell массив ячеек, затем откройтесь 39150x3 double числовой массив для ee_solar_inverter.Diode1.

Первые два столбца содержат время начала и конца интервала. Третий столбец содержит данные о потерях мощности.

Отобразите данные на графике.

plot(lossesCell{1, 2}(:,end))
title('Dissipated Power')
xlabel('Time Interval')
ylabel('Power (W)')

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

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

model = 'ee_solar_inverter';
open_system(model)

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

sim(model)

Логарифмическая переменная simlog_ee_solar_converter симуляции сохранено в вашей текущей рабочей области.

Время симуляции модели (t) является 1/60 секундами. Вычислите средние рассеянные потери мощности для 1.1e-4 s интервалы и возвратите данные временных рядов в массиве ячеек в течение периода, когда время симуляции, t, составит 0.008-0.017 секунды.

lossesCell = ee_getPowerLossTimeSeries(simlog_ee_solar_inverter,0.008,0.016,1.1e-4)
lossesCell =

  8×2 cell array

    {'ee_solar_inverter.Diode1'}    {72×3 double}
    {'ee_solar_inverter.MOS1'  }    {72×3 double}
    {'ee_solar_inverter.MOS2'  }    {72×3 double}
    {'ee_solar_inverter.MOS3'  }    {72×3 double}
    {'ee_solar_inverter.MOS4'  }    {72×3 double}
    {'ee_solar_inverter.Diode2'}    {72×3 double}
    {'ee_solar_inverter.Diode3'}    {72×3 double}
    {'ee_solar_inverter.Diode4'}    {72×3 double}

Просмотрите данные временных рядов. Из рабочей области откройте lossesCell массив ячеек, затем откройтесь 72x3 double числовой массив для ee_solar_inverter.Diode1

Первые два столбца содержат время начала и конца интервала. Третий столбец содержит данные о потерях мощности. В этом случае, чтобы использовать усреднение интервалов, которые равны по ширине 1.1e-4 секундам, функция настраивает время начала для первого интервала от заданного значения 0,008 секунд к значению 0,0081 секунд. Существует 72 интервала 1.1e-4 секунд.

Отобразите данные на графике.

plot(lossesCell{1, 2}(:,end))
title('Dissipated Power')
xlabel('Time Interval')
ylabel('Power (W)')

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

свернуть все

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

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

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

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

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

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

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

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

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

Размер временного интервала для вычисления среднего рассеивания энергии в виде вещественного числа, в секундах. Если задано, функция возвращает данные для временных шагов от startTime к endTime, усредненный по intervalWidth. Если вы не используете intervalWidth аргумент или набор это к 0, функция возвращает мгновенные данные без усреднения. Если все дополнительные аргументы не использованы, функция возвращает мгновенные данные по целому времени симуляции.

Если время между заданным startTime и endTime не целочисленное кратное intervalWidth, функция настраивает время начала. Рисунок показывает, как функция настраивает время начала, чтобы гарантировать, что ширина каждого временного интервала, что рассеянная степень усреднена, равна заданному intervalWidth.

Черная линия является примером мгновенных переменных power_dissipated, суммированных по всем элементам в отдельном блоке. Симуляция запускается в течение 6 секунд. startTime и endTime обозначаются чисто синими линиями. intervalWidth установлен в 1 секунду. Существует пять интервалов, как обозначено красными пунктирными линиями. Самый правый край последнего интервала совпадает с endTime. Крайнее левое ребро первого интервала всегда больше или равно startTime. Ребро равно startTime только если (endTime Время начала)/intervalWidth целое число. Выход в этом случае состоит из пяти значений для усредненного рассеивания энергии, одной точки для каждого периода времени. Функциональные выходные параметры фактический запуск и времена остановки в сведенных в таблицу выходных данных.

Пример: 1.1e-3

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

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

свернуть все

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

  • Столбец каждый содержит время начала интервала.

  • Столбец два содержит время окончания интервала.

  • Столбец три содержит рассеянную степень для временного интервала.

Если ширина интервала составляет 0 секунд, то есть, время начала равно в конец время, то рассеянная степень является мгновенными потерями мощности. Если интервал больше 0 секунд, рассеянная степень является средними потерями мощности в течение времени интервала.

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

Если нет никаких потерь переключения, появляются, массив ячеек пуст.

Введенный в R2017a