Calculation of power usage in JetAdvice
This is a description of the formula used to calculate power usage in JetAdvice.
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.
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;}