GrpcPrint/PrintS/Communication/HBDPurifierClient.h

90 lines
2.2 KiB
C
Raw Normal View History

2024-03-19 17:45:12 +08:00
#pragma once
#include "BaseClient.h"
class HBDPurifierStat
{
public:
enum ValveStat {
OnPosition = 0,
OpenPosition,
ClosePosition
};
HBDPurifierStat() {
isDedusting = false;
isBlowBack = false;
isDeoxygen = false;
temperature = 0;
difPressure = 0.0f;
filterJamPressure = 0.0f;
filterTotalUseTime = 0;
spinFilterTotalUseTime = 0;
spinFilterAlarmTime = 0;
//cycleEnter = OnPosition;
//cycleExit = OnPosition;
cycleEnter = OpenPosition;
cycleExit = OpenPosition;
hasExcept = false;
isDifPressureAlarm = false;
isDeoxygenEnterCloseExcept = false;
isBlowBackEnterCloseExcept = false;
isDeoxygenExitCloseExcept = false;
isBlowBackExitCloseExcept = false;
isEnterGapOpenExcept = false;
isExitGapOpenExcept = false;
isOverTemp = false;
}
~HBDPurifierStat() {
}
public:
BaseStat baseStat;
bool isDeoxygen; //<2F><><EFBFBD><EFBFBD>
bool isBlowBack; //<2F><><EFBFBD><EFBFBD>
bool isDedusting; //<2F><><EFBFBD><EFBFBD>
int temperature; //<2F><EFBFBD>
float difPressure; //ѹ<><D1B9>
float filterJamPressure; //<2F><>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>ֵ
int filterTotalUseTime; //<2F><>оʹ<D0BE><CAB9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Сʱ<D0A1><CAB1>
int spinFilterTotalUseTime; //<2F><>ת<EFBFBD><D7AA>оʹ<D0BE><CAB9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Сʱ<D0A1><CAB1>
int spinFilterAlarmTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>(Сʱ)
ValveStat cycleEnter; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
ValveStat cycleExit; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
bool hasExcept; //<2F><><EFBFBD>
bool isDifPressureAlarm; //ѹ<><EFBFBD><EEB1A8>
bool isDeoxygenEnterCloseExcept; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1>
bool isBlowBackEnterCloseExcept; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1>
bool isDeoxygenExitCloseExcept; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1>
bool isBlowBackExitCloseExcept; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1>
bool isEnterGapOpenExcept; //<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>_<EFBFBD><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool isExitGapOpenExcept; //<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>_<EFBFBD><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool isOverTemp; //<2F>¶ȹ<C2B6><C8B9><EFBFBD>
};
class HBDPurifierClient :public S7Client
{
public:
HBDPurifierClient(CommunicationCfg* pconfig);
~HBDPurifierClient();
void SetDeoxygen(bool enable);
void SetBlowBack(bool enable);
void SetDedusting(bool enable);
void ResetSpinFilterUseTime(bool enable);
void GetStat(HBDPurifierStat& stat);
private:
void InitCommand();
static void ProcReadInfo(void *pobject, Command* pcommand);
static void ProcWriteValue(void *pobject, Command* pcommand);
private:
HBDPurifierStat m_Stat;
static const unsigned int READ_ITEM_COUNT = 7;
};