interval_start_stop_AHU.py 1.7 KB

123456789101112131415161718192021222324
  1. import pandas as pd
  2. from data_initialize_standard.constant import *
  3. class IntervalOnOffAHU(object):
  4. def __init__(self, data_temp_humi, dict_code):
  5. self.data_terminal = data_temp_humi
  6. self.dict_code = dict_code
  7. def exclude_ahu_short_time(self):
  8. self.data_terminal['ahuStartTime'] = pd.to_datetime(self.data_terminal['ahuStartTime'])
  9. self.dict_code['triggerTime'] = pd.to_datetime(self.dict_code['triggerTime'])
  10. self.data_terminal['middle_value_time'] = self.dict_code['triggerTime'] - self.data_terminal['ahuStartTime']
  11. self.data_terminal['ahuStartTimeDiff'] = self.data_terminal.apply(lambda x: x['middle_value_time'].total_seconds(), axis=1)
  12. """
  13. # 当末端未超标时,即使末端开启时间未满足设定值,水温仍调控;当末端超标时,则需要严格依据末端开启时间设定值来调控水温
  14. # 若冷机开机时间满足设定值才调控,则对于末端未超标且频繁开关的工况会导致冷机水温不调控;末端未超标且无频繁开关的工况仍需长时间等待才调控
  15. # 备注:无论制冷还是制热,self.data_terminal['deltaTemp'] > 0均表明末端未超标
  16. """
  17. self.data_terminal = self.data_terminal[(self.data_terminal['tempReal'] > TerminalTempRange['lowerLimit']) &
  18. (self.data_terminal['tempReal'] < TerminalTempRange['upperLimit'])]
  19. self.data_terminal = self.data_terminal[(self.data_terminal['deltaTemp'] > 0) |
  20. ((self.data_terminal['ahuStartTimeDiff']) > 3600)]
  21. self.data_terminal = self.data_terminal.reset_index(drop=True)
  22. return self.data_terminal