ee_getPowerLossSummary

Calculate dissipated power losses

Description

example

lossesTable = ee_getPowerLossSummary(node) calculates dissipated power losses for semiconductor blocks in a model, based on logged simulation data, and returns the data for each block in a table.

Before you call this function, you must have the simulation log variable in your current workspace. Create the simulation log variable by simulating the model with data logging turned on, or load a previously saved variable from a file. If node is the name of the simulation log variable, then the table contains the data for all semiconductor blocks in the model. If node is the name of a node in the simulation data tree, then the table contains the data only for the blocks within that node.

Checking dissipated power is useful for verifying that circuit components are operating within their working envelopes. All blocks in the Semiconductor Devices library, as well as some other blocks, have an internal variable called power_dissipated, which represents the instantaneous power dissipated by the block. When you log simulation data, the time-value series for this variable represents the power dissipated by the block over time. You can view and plot this data using the Simscape™ Results Explorer.

The ee_getPowerLossSummary function calculates average losses for each block that has a power_dissipated variable. Some blocks have more than one power_dissipated variable, depending on their configuration. For example, the N-Channel MOSFET block has separate power_dissipated logging nodes for the MOSFET, the gate resistor, and for the source and drain resistors if they have nonzero resistance values. The function sums all these losses and provides the power loss value for the whole block, averaged over simulation time.

example

lossesTable = ee_getPowerLossSummary(node,startTime,endTime) calculates dissipated power losses within a time interval. startTime and endTime represent the start and end of the time interval for averaging the power losses. If you omit these two input arguments, the function averages the power losses over the whole simulation time.

Examples

collapse all

You can calculate average power losses for the individual components of a block in your model.

1. Open the Push-Pull Buck Converter in Continuous Conduction Mode example model. At the MATLAB® command prompt, enter

model = 'ee_push_pull_converter_ccm';
open_system(model)

The model has data logging enabled.

2. Add a diode component in the N-Channel MOSFET 1 block using the MATLAB® command prompt:

set_param('ee_push_pull_converter_ccm/ N-Channel  MOSFET 1','diode_param','2')

Alternatively, you can add the component in the Simulink® Editor:

a. Open the Property Inspector pane. In the model window, in the menu bar, click View > Property Inspector

b. Click the N-Channel MOSFET1 block to access the block parameters.

c. In the Property Inspector pane, expand the Integral Diode setting and change the value for the Integral protection from None to Protection diode with no dynamics.

3. Run the simulation, create a simulation log variable, and open the simlog in the Simscape Results Explorer using the sscexplore function.

sim(model)
sscexplore(simlog_ee_push_pull_converter_ccm)

4. View the power loss data for the two N-Channel MOSFET blocks, expand these nodes and CTRL + click the power_dissipated nodes:

  • N_Channel_MOSFET_1 > diode > power_dissipated

  • N_Channel_MOSFET_1 > mosfet_equation > power_dissipated

  • N_Channel_MOSFET_2 > mosfet_equation > power_dissipated

The N-Channel MOSFET 2 block has only one power_dissipated variable. The N-Channel MOSFET 1 block has one power_dissipated variable for each of the two components (MOSFET and diode) that the block contains.

5. Calculate power losses for both components of the N-Channel MOSFET 1 block and display the results in a table

tabulatedLosses = ee_getPowerLossSummary(simlog_ee_push_pull_converter_ccm.N_Channel_MOSFET_1)
tabulatedLosses =

  1x2 table

         LoggingNode          Power 
    ______________________    ______

    {'N_Channel_MOSFET_1'}    2.6075

The table shows the combined dissipated power losses for both the diode and the MOSFET components of the N-Channel MOSFET 1 block, averaged over the total simulation time.

6. Calculate power losses for only the diode component of the NChannel MOSFET 1 block and display the results in a table.

tabulatedLosses = ee_getPowerLossSummary(simlog_ee_push_pull_converter_ccm.N_Channel_MOSFET_1.diode)
tabulatedLosses =

  1x2 table

    LoggingNode    Power 
    ___________    ______

     {'diode'}     2.3669

The table shows dissipated power losses only for the diode component of the block, averaged over the total simulation time.

Open the Solar Power Converter example model.

ee_solar_converter

This example model has data logging enabled. Run the simulation to create the simulation log variable simlog_ee_solar_converter in your current workspace.

sim('ee_solar_converter');

Calculate power losses for the MOS1 block.

mosfetLosses = ee_getPowerLossSummary(simlog_ee_solar_converter.MOS1)
mosfetLosses =

  1x2 table

    LoggingNode    Power 
    ___________    ______

     {'MOS1'}      15.143

The table shows dissipated power losses for the MOS1 block, averaged over the whole simulation time.

Use the sscexplore function to further explore the power loss data for the MOSFET block and in the results explorer, expand the mos > power_dissipated nodes.

sscexplore(simlog_ee_solar_converter.MOS1, 'mos.power_dissipated')

The block has several power_dissipated logging nodes: under drain_resistor, under gate_resistor, under mos, and under source_resistor. The Power value calculated by the ee_getPowerLossSummary function is a sum of all these losses, averaged over the simulation time.

Input Arguments

collapse all

Simulation log workspace variable, or a node within this variable, that contains the logged model simulation data, specified as a Node object. You specify the name of the simulation log variable by using the Workspace variable name parameter on the Simscape pane of the Configuration Parameters dialog box. To specify a node within the simulation log variable, provide the complete path to that node through the simulation data tree, starting with the top-level variable name.

Example: simlog.Cell1.MOS1

Start of the time interval for averaging dissipated power losses, specified as a real number, in seconds. startTime must be greater than or equal to the simulation Start time and less than endTime.

Data Types: double

End of the time interval for averaging dissipated power losses, specified as a real number, in seconds. endTime must be greater than startTime and less than or equal to the simulation Stop time.

Data Types: double

Output Arguments

collapse all

Dissipated power losses for each block, returned as a table. The first column lists logging nodes for all blocks that have at least one power_dissipated variable. The second column lists the corresponding losses in watts.

Introduced in R2015a