|
@@ -39,7 +39,6 @@ class VAVController(EquipmentController):
|
|
realtime_list.append(space.realtime_temperature)
|
|
realtime_list.append(space.realtime_temperature)
|
|
if strategy == 'Plan B':
|
|
if strategy == 'Plan B':
|
|
for eq in space.equipment:
|
|
for eq in space.equipment:
|
|
- logger.info(eq)
|
|
|
|
if isinstance(eq, FCU):
|
|
if isinstance(eq, FCU):
|
|
buffer = (4 - eq.air_valve_speed) / 4
|
|
buffer = (4 - eq.air_valve_speed) / 4
|
|
buffer_list.append(buffer)
|
|
buffer_list.append(buffer)
|
|
@@ -72,7 +71,8 @@ class VAVController(EquipmentController):
|
|
logger.info(f'realtime temperature: {temperature_realtime}')
|
|
logger.info(f'realtime temperature: {temperature_realtime}')
|
|
supply_air_flow_set = self._equipment.supply_air_flow * ((temperature_supply - temperature_realtime)
|
|
supply_air_flow_set = self._equipment.supply_air_flow * ((temperature_supply - temperature_realtime)
|
|
/ (temperature_supply - temperature_set))
|
|
/ (temperature_supply - temperature_set))
|
|
- supply_air_flow_set = max(150.0, supply_air_flow_set)
|
|
|
|
|
|
+ supply_air_flow_set = max(self._equipment.supply_air_flow_lower_limit, supply_air_flow_set)
|
|
|
|
+ supply_air_flow_set = min(self._equipment.supply_air_flow_upper_limit, supply_air_flow_set)
|
|
self._equipment.supply_air_flow_set = supply_air_flow_set
|
|
self._equipment.supply_air_flow_set = supply_air_flow_set
|
|
|
|
|
|
return supply_air_flow_set
|
|
return supply_air_flow_set
|
|
@@ -100,6 +100,7 @@ async def get_vav_control_result(project_id: str, equipment_id: str) -> VAVBox:
|
|
realtime_supply_air_temperature_list.append(await platform.get_realtime_supply_air_temperature(eq))
|
|
realtime_supply_air_temperature_list.append(await platform.get_realtime_supply_air_temperature(eq))
|
|
realtime_supply_air_temperature = np.array(realtime_supply_air_temperature_list).mean()
|
|
realtime_supply_air_temperature = np.array(realtime_supply_air_temperature_list).mean()
|
|
realtime_supply_air_flow = await platform.get_realtime_supply_air_flow(equipment_id)
|
|
realtime_supply_air_flow = await platform.get_realtime_supply_air_flow(equipment_id)
|
|
|
|
+ lower_limit, upper_limit = await platform.get_air_flow_limit(equipment_id)
|
|
|
|
|
|
served_spaces = await duo_duo.get_space_by_equipment(equipment_id)
|
|
served_spaces = await duo_duo.get_space_by_equipment(equipment_id)
|
|
space_objects = []
|
|
space_objects = []
|
|
@@ -131,6 +132,8 @@ async def get_vav_control_result(project_id: str, equipment_id: str) -> VAVBox:
|
|
'spaces': space_objects,
|
|
'spaces': space_objects,
|
|
'supply_air_temperature': realtime_supply_air_temperature,
|
|
'supply_air_temperature': realtime_supply_air_temperature,
|
|
'supply_air_flow': realtime_supply_air_flow,
|
|
'supply_air_flow': realtime_supply_air_flow,
|
|
|
|
+ 'supply_air_flow_lower_limit': lower_limit,
|
|
|
|
+ 'supply_air_flow_upper_limit': upper_limit,
|
|
}
|
|
}
|
|
vav = VAVBox(**temp_vav_params)
|
|
vav = VAVBox(**temp_vav_params)
|
|
|
|
|