Calculation of power usage

This is a description of the formula used to calculate power usage.

Assumptions:

  • There are 240 working days of 8 hour durations.
  • The printer waits 60 minutes before entering powersave mode.
  • The printer is not turned off.

First we calculate the time used for printing as amount of pages printed then divided by how many pages the printer can print per minute.

For the rest of the working hours, we assume the printer is in standby.

Then we calculate the powersave time as the time remaining for the day.

All time values are then multiplied by the power values for the specific printer.

Below is the actual code used for the power usage calculation

Constants:

  • // The time it takes to go in powersave mode
    private int _PowerSaveMinutes = 60
  • // default pages pr day
    private int _PagesPrDay = 200
  • // default working days for a year.
    private int _WorkingDaysPrYear = 240
  • // default work hours pr day
    private int _WorkHours = 8
  • // watt
    private float _powerprinting
    private float _powerStandBy
    private float _powerEnergysave

The code:

public float Calc_KwhPrYear (float Watt_PrinterPower, float Watt_PrinterStandBy, float Watt_PrinterEnergySave,int PrinterpagesPrMin )

{

// Calculate pr day.
// calculate minutes of printing pr day as pages pr day divided by pages pr minute
_powerprinting =
( System.Convert.ToSingle( PagesPrDay ) / PrinterpagesPrMin ) * Watt_PrinterPower;
// calculate minutes of standby pr day. We assume its in standby mode all working day, minus the time its printing.
_powerStandBy =
( ( _WorkHours * 60 ) + _PowerSaveMinutes - ( System.Convert.ToSingle( _PagesPrDay ) / PrinterpagesPrMin ) ) * Watt_PrinterStandBy;
// The rest of the time we assume its in powersave mode
_powerEnergysave =
( ( 24 - WorkHours ) * 60 - _PowerSaveMinutes ) * Watt_PrinterEnergySave;
//  now calculate pr year, we assume its not turned off.
return
( ( _powerprinting + _powerStandBy + _powerEnergysave ) * _WorkingDaysPrYear + ( Watt_PrinterEnergySave * 60 * 24 * ( 364 - _WorkingDaysPrYear ) ) ) / 60 / 1000;

}