Electric range
[Residential loads (residential)]

The range simulation is based on a demand profile attached to the object. More...

Files

file  range.cpp
 
Id
range.cpp 4738 2014-07-03 00:55:39Z dchassin

Copyright (C) 2008 Battelle Memorial Institute


file  range.h
 
Id
range.h 4738 2014-07-03 00:55:39Z dchassin

Copyright (C) 2008 Battelle Memorial Institute


Typedefs

typedef enum range::e_state range::STATE
 control state

Enumerations

enum  range::e_state {
  range::CT_STOPPED = 1, range::CT_STAGE_1_ONLY = 2, range::CT_STAGE_2_ONLY = 3, range::CT_STAGE_3_ONLY = 4,
  range::CT_STALLED = 5, range::CT_TRIPPED = 6
}
enum  range::HEATMODE { range::ELECTRIC, range::GASHEAT }
enum  range::WHLOCATION { range::INSIDE, range::GARAGE }
enum  range::WHMODEL { range::ONENODE, range::NONE }
enum  range::WHQFLOW { range::DEPLETING, range::RECOVERING, range::STABLE }
enum  range::WHQSTATE { range::FULL, range::PARTIAL, range::EMPTY }

Functions

int range::init (OBJECT *parent)
 Initialize oven model properties - randomized defaults for all published variables.
EXPORT TIMESTAMP plc_range (OBJECT *obj, TIMESTAMP t0)
TIMESTAMP range::presync (TIMESTAMP t0, TIMESTAMP t1)
 oven plc control code to set the oven 'heat_needed' state The thermostat set point, deadband, oven state and current food temperature are used to determine 'heat_needed' state.
 range::range (MODULE *mod)
 Register the class and publish range object properties.
enumeration range::range_state (void)
 Oven state determined based on the height of the column of hot food.
enumeration range::set_current_model_and_load_state (void)
 Set the oven model and its state based on the estimated temperature differential along the height of the food column when it is full, emplty or partial at the current height.
void range::set_time_to_transition (void)
 Calculate the time to transition from the current state to new state.
TIMESTAMP range::sync (TIMESTAMP t0, TIMESTAMP t1)
 oven synchronization determines the time to next synchronization state and the power drawn since last synch

Variables

double range::area
 oven cross-sectional area [ft^2]
bool range::cooktop_coil_1_check
 logic check to see if coil 1 is activated
bool range::cooktop_coil_2_check
 logic check to see if coil 2 is activated
double range::cooktop_coil_power [3]
 installed heating coil power [W]
double range::cooktop_energy_baseline
 amount of energy needed to
double range::cooktop_energy_needed
 total energy needed to cook or warm up food with cooktop
double range::cooktop_energy_used
 amount of energy used in current cycle
double range::cooktop_interval [3]
 length of time of each setting section for cooktop operation
double range::cooktop_run_prob
 probability of turning on cooktop
enumeration range::current_model
 Discerns which range model we need to use.
double range::Cw
 thermal mass of the the food item [Btu/F]
double range::enduse_demand_cooktop
 amount of demand added per hour (units/hr)
double range::enduse_queue_cooktop
 accumulated demand (units)
double range::h
 boundary between hot and cold the food layers [ft from top of the container]
double range::heat_fraction
 fraction of the plugload that is transferred as heat (default = 0.90)
enumeration range::heat_mode
 method of heating the food (gas or electric) [enum]
bool range::heat_needed
 need to maintain this bit of state because of Tstat deadband...
double range::heating_element_capacity
 rated Q of (each) heating element, input in W, converted to[Btu/hr]
double range::height
 oven height [ft]
double range::is_range_on
 Simple logic for determining state of range 1-on, 0-off.
enumeration range::location
 location of oven (inside or garage) [enum]
double range::oven_demand
 food draw rate [gpm]
double range::oven_demand_old
 previous food demand, needed for temperature change (reflects heat loss from hot the food draw)
double range::oven_diameter
 oven diameter [ft]
double range::oven_setpoint
 setpoint T of heating element [F]
double range::oven_UA
 oven UA [BTU/hr-F]
double range::oven_volume
 oven size [gal]
double range::queue_max
 maximum accumulated demand
double range::queue_min
 minimum accumulated demand
complex range::range_actual_power
 the actual power draw of the object after accounting for voltage
double range::reset_delay
 trip time before thermal reset and restart
complex range::stall_impedance
 impedance of motor when stalled
double range::stall_voltage
 voltage at which the motor stalls
double range::start_voltage
 voltage at which motor can start
double range::state_time
 remaining time in current state (s)
double range::thermostat_deadband
 deadband around Tset (half above, half below) [F]
double range::time_to_transition
 time until next transition [in seconds]
double range::Tinlet
 default will be set to 60 degF
double range::Tlower
 temperature in lower zone of the oven (for 2-zone model) [F]
double range::Toff
 cut-out temperature [F]
double range::Ton
 cut-in temperature [F]
double range::total_power_cooktop
 total power usage in cooktop
double range::total_power_oven
 total power usage in oven
double range::total_power_range
 total power usage in range
double range::total_time
 tootal cooktop operating time
double range::trip_delay
 stalled time before thermal trip
double range::Tset_curtail
 lower limit before we cancel curtailment [F]
double range::Tupper
 temperature in upper zone of the oven (for 2-zone model) [F]
double range::Tw
 oven temperature [F]
double range::Tw_old
 previous oven temperature, for internal_gains

Detailed Description

The range simulation is based on a demand profile attached to the object.

The residential electric range uses a hybrid thermal model that is capable of tracking a single-mass of food.

The internal heat gain is calculated as the demand fraction of installed power.


Enumeration Type Documentation

enum range::e_state [inherited]
Enumerator:
CT_STOPPED 

cooktop is stopped

CT_STAGE_1_ONLY 

cooktop is running with stage 1 settings

CT_STAGE_2_ONLY 

cooktop is running with stage 2 settings

CT_STAGE_3_ONLY 

cooktop is running with stage 3 settings

CT_STALLED 

cooktop is stalled

CT_TRIPPED 

cooktop is tripped

Definition at line 20 of file range.h.

enum range::HEATMODE [inherited]
Enumerator:
ELECTRIC 

oven heats with an electric resistance element

GASHEAT 

oven heats with natural gas

Definition at line 50 of file range.h.

enum range::WHLOCATION [inherited]
Enumerator:
INSIDE 

oven located in conditioned space

GARAGE 

oven located in unconditioned space

Definition at line 41 of file range.h.

enum range::WHMODEL [inherited]
Enumerator:
ONENODE 

range model uses a single zone

NONE 

range model zoning isn't defined

Definition at line 32 of file range.h.

enum range::WHQFLOW [inherited]
Enumerator:
DEPLETING 

heat in the oven is dropping fast

RECOVERING 

heat in the is rising fast

STABLE 

heat in the relatively stable

Definition at line 36 of file range.h.

enum range::WHQSTATE [inherited]
Enumerator:
FULL 

heat in the oven is full

PARTIAL 

heat in the oven is partial

EMPTY 

heat in the oven is empty

Definition at line 45 of file range.h.


Function Documentation

EXPORT TIMESTAMP plc_range ( OBJECT *  obj,
TIMESTAMP  t0 
)

Todo:
If external plc codes return a timestamp, it will allow sync sooner but not later than oven time to transition (ticket #147)

Definition at line 1308 of file range.cpp.


GridLAB-D™ Version 4.1
An open-source smart grid simulator created by PNNL for the US Department of Energy Office of Electricity