90 lines
2.2 KiB
C
90 lines
2.2 KiB
C
|
#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;
|
|||
|
};
|
|||
|
|