The residential electric waterheater uses a hybrid thermal model that is capable of tracking either a single-mass of water, or a dual-mass with a varying thermocline. More...
Functions | |
int | waterheater::init (OBJECT *parent) |
Initialize water heater model properties - randomized defaults for all published variables. | |
EXPORT TIMESTAMP | plc_waterheater (OBJECT *obj, TIMESTAMP t0) |
TIMESTAMP | waterheater::presync (TIMESTAMP t0, TIMESTAMP t1) |
Water heater plc control code to set the water heater 'heat_needed' state The thermostat set point, deadband, tank state(height of hot water column) and current water temperature are used to determine 'heat_needed' state. | |
enumeration | waterheater::set_current_model_and_load_state (void) |
Set the water heater model and tank state based on the estimated temperature differential along the height of the water column when it is full, emplty or partial at the current height, given the current water draw. | |
void | waterheater::set_time_to_transition (void) |
Calculate the time to transition from the current state to new state. | |
TIMESTAMP | waterheater::sync (TIMESTAMP t0, TIMESTAMP t1) |
Water heater synchronization determines the time to next synchronization state and the power drawn since last synch. | |
enumeration | waterheater::tank_state (void) |
Tank state determined based on the height of the hot water column. | |
waterheater::waterheater (MODULE *mod) | |
Register the class and publish water heater object properties. |
The residential electric waterheater uses a hybrid thermal model that is capable of tracking either a single-mass of water, or a dual-mass with a varying thermocline.
The driving dynamic parameters of the waterheater are
EXPORT TIMESTAMP plc_waterheater | ( | OBJECT * | obj, | |
TIMESTAMP | t0 | |||
) |
Definition at line 1583 of file waterheater.cpp.