Only show generator output when load exists during spool
This commit is contained in:
@@ -52,8 +52,11 @@ class DieselGenerator:
|
|||||||
state.battery_output_mw = 0.0
|
state.battery_output_mw = 0.0
|
||||||
if state.starting:
|
if state.starting:
|
||||||
state.spool_remaining = max(0.0, state.spool_remaining - dt)
|
state.spool_remaining = max(0.0, state.spool_remaining - dt)
|
||||||
state.power_output_mw = self.rated_output_mw * (1.0 - state.spool_remaining / max(self.spool_time, 1e-6))
|
progress = 1.0 - state.spool_remaining / max(self.spool_time, 1e-6)
|
||||||
state.battery_output_mw = min(0.5, load_demand_mw)
|
available = self.rated_output_mw * progress
|
||||||
|
delivered = min(available, max(0.0, load_demand_mw))
|
||||||
|
state.power_output_mw = delivered
|
||||||
|
state.battery_output_mw = min(0.5, delivered) if delivered > 0 else 0.0
|
||||||
if state.spool_remaining <= 0.0:
|
if state.spool_remaining <= 0.0:
|
||||||
state.starting = False
|
state.starting = False
|
||||||
state.running = True
|
state.running = True
|
||||||
@@ -61,7 +64,8 @@ class DieselGenerator:
|
|||||||
LOGGER.info("Generator online at %.1f MW", self.rated_output_mw)
|
LOGGER.info("Generator online at %.1f MW", self.rated_output_mw)
|
||||||
elif state.running:
|
elif state.running:
|
||||||
available = self.rated_output_mw
|
available = self.rated_output_mw
|
||||||
state.power_output_mw = min(available, load_demand_mw)
|
delivered = min(available, max(0.0, load_demand_mw))
|
||||||
|
state.power_output_mw = delivered
|
||||||
state.status = "RUN" if state.power_output_mw > 0 else "IDLE"
|
state.status = "RUN" if state.power_output_mw > 0 else "IDLE"
|
||||||
else:
|
else:
|
||||||
state.power_output_mw = 0.0
|
state.power_output_mw = 0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user