#pragma once #include "BaseClient.h" #include "../config/ConfigManager.h" #include "../LanguageManager.h" class DoluyoChillerstat { public: explicit DoluyoChillerstat() { tempRealtimeValue = 0; runInfo = 0; isRun = false; alarmInfo = 0; tempSettingValue = 0; isLevelAlarm = false; } string GetRunInfo() { string str = ""; switch (runInfo) { case 0:str = _(u8"待机"); break; case 2:str = _(u8"关机过程"); break; case 4:str = _(u8"制冷运行"); break; case 5:str = _(u8"制热运行"); break; case 6:str = _(u8"化霜运行"); break; } return str; } string GetAlarmInfo() { string str = ""; switch (alarmInfo) { case 0:str = _(u8"无故障"); break; case 1:str = _(u8"提示故障"); break; case 2:str = _(u8"停机故障"); break; } return str; } public: BaseStat baseStat; float tempRealtimeValue; //水箱温度 unsigned short runInfo; //运行消息 0:待机 2:关机过程 4:制冷运行 5:制热运行 6:化霜运行 unsigned char isRun; //开关机 unsigned short alarmInfo; //故障消息 0:无故障 1:提示故障 2:停机故障 float tempSettingValue; //设定温度 bool isLevelAlarm; //液位报警 }; class HansChillerstat //冷水机 { public: HansChillerstat() { m_WaterOutTemp=0.0f; m_Flow=0.0f; m_SettingTemp=0.0f; m_RunIndicate=false; m_WorkIndicate = false; m_IsAlarm = false; m_CompressorIndicate = false; m_WaterPumpIndicate = false; m_HeaterIndicate = false; m_FanIndicate = false; m_SolenoidValveIndicate = false; m_FlowAlarm = false; m_TempAlarm = false; m_PressureAlarm = false; m_WaterLevelAlarm = false; m_LowTempErrorIndicate = false; m_TempUndulateIndicate = false; m_TempSensorAlarm = false; m_SolenoidValveAlarm = false; m_HeaterExceptionIndicate = false; m_IOSignalIndicate = false; m_PhaseSeqAlarm = false; m_CompressorStartFreqAlarm = false; m_IO0Alarm = false; m_IO1Alarm = false; m_IO2Alarm = false; m_IO3Alarm = false; m_IO4Alarm = false; } ~HansChillerstat(){} public: BaseStat baseStat; float m_WaterOutTemp; //出水温度 float m_Flow; //流量 float m_SettingTemp; //设置温度 bool m_RunIndicate; //运行指示 bool m_WorkIndicate; //工作正常指示 bool m_IsAlarm; //报警 bool m_CompressorIndicate; //压缩机指示 bool m_WaterPumpIndicate; //水泵指示 bool m_HeaterIndicate; //加热器指示 bool m_FanIndicate; //风机指示 bool m_SolenoidValveIndicate; //电磁阀指示 bool m_FlowAlarm; //流量报警 bool m_TempAlarm; //温度报警 bool m_PressureAlarm; //压力报警 bool m_WaterLevelAlarm; //液位报警 bool m_LowTempErrorIndicate; //低温错误指示 bool m_TempUndulateIndicate; //温度波动指示 bool m_TempSensorAlarm; //温度传感器故障报警 bool m_SolenoidValveAlarm; //电磁阀故障报警 bool m_HeaterExceptionIndicate; //加热器异常指示 bool m_IOSignalIndicate; //IO信号指示 bool m_PhaseSeqAlarm; //相序报警 bool m_CompressorStartFreqAlarm; //压缩机起动频繁报警 bool m_IO0Alarm; //IO0错误报警 bool m_IO1Alarm; //IO1错误报警 bool m_IO2Alarm; //IO2错误报警 bool m_IO3Alarm; //IO3错误报警 bool m_IO4Alarm; //IO4错误报警 }; class TongFeiStat { public: BaseStat m_BaseStat; bool m_IsLowVoltageAlarm; //低压报警 bool m_IsHydraulicFailure; //液路故障 bool m_IsLevelFailure; //液位故障 bool m_IsLiquidPumpAlarm; //液泵热继电器报警 bool m_IsPressAlarm; //压机热继电器报警 bool m_IsElectricHeatingFailure; //电加热故障 bool m_IsAntifreezeAlarm; //防冻报警 bool m_IsLiquidTempTooHigh; //液温太高 bool m_IsLiquidTempProbeFailure; //液温温度探头故障 bool m_IsEffluentTempProbeFailure; //出液温度探头故障 bool m_IsAmbientTempProbeFailure; //环境温度探头故障 bool m_IsCondensationTempProbeFailure; //冷凝温度探头故障 bool m_IsEvaporationInletTempProbeFailure; //蒸发进口温度探头故障 bool m_IsEvaporationOutletTempProbeFailure; //蒸发出口温度探头故障 bool m_IsCondensationTempTooHigh; //冷凝温度过高 bool m_IsPhaseOrderError; //相序错误 bool m_IsPowerFailure; //电源故障 bool m_IsCompressorFailure; //压缩机故障 bool m_IsAmbientTempTooHigh; //环境温度太高 bool m_IsAmbientTempException; //环境温度异常 int m_AlarmState; //故障状态 float m_RoomTempSettingValue; //室温同调预设温度 float m_ConstantTempSettingValue; //恒温预设温度 int m_WorkMode; //工作模式 int m_RefrigerationMethod; //制冷方式 float m_LiquidAlarmTemp; //出液报警温度 int m_UnitStatus; //机组状态 float m_LiquidTempProbe; //液温温度探头 float m_EffluentTempProbe; //出液温度探头 float m_AmbientTempProbe; //环境温度探头 float m_CondensationTempProbe; //冷凝温度探头 float m_EvaporationInletTempProbe; //蒸发进口温度探头 float m_EvaporationOutletTempProbe; //蒸发出口温度探头 float m_WorkingFrequency; //运行频率 float m_OverHeatingValue; //过热度 float m_EEV1; float m_EEV2; float m_CondensingFanRatio; //冷凝风机比例 float m_ElectricHeatingRatio; //电加热比例 float m_FlowRate; //流量 }; class ChillerClient:public TcpClient { public: ChillerClient(CommunicationCfg* pconfig, int* tp); ~ChillerClient(); void GetDoluyoStat(DoluyoChillerstat& stat); void GetHansStat(HansChillerstat& stat); void GetTongFeiStat(TongFeiStat& stat); void InitCommand(); void DrawUI(); private: void static ProcDoluyoInfo(void* pobject, Command* pcommand); void static ProcDoluyoSettingValue(void* pobject, Command* pcommand); void static ProcDoluyoReadTargeValue(void* pobject, Command* pcommand); void SetDoluyoTargetTempValue(float value); void static ProcHansInfo(void* pobject, Command* pcommand); void SetHansTargetTempValue(float value); void static ProcTongfeiAlarmInputInfo(void* pobject, Command* pcommand); void static ProcTongfeiAlarmStateInfo(void* pobject, Command* pcommand); void static ProcTongfeiUserParamsInfo(void* pobject, Command* pcommand); void static ProcTongfeiAnaShowInfo(void* pobject, Command* pcommand); void static ProcTongfeiAnaShowInfo2(void* pobject, Command* pcommand); void static ProcTongfeianaShowInfo3(void* pobject, Command* pcommand); public: bool m_IsShowUI; private: DoluyoChillerstat m_DoluyoChillerStat; HansChillerstat m_HansChillerstat; TongFeiStat m_TongFeiStat; int* m_Type; };