GrpcPrint/PrintS/Communication/ChillerClient.h

208 lines
6.4 KiB
C
Raw Normal View History

2024-03-19 17:45:12 +08:00
#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;
};