GrpcPrint/PrintS/Communication/PurifierClient.h

318 lines
12 KiB
C
Raw Normal View History

2024-03-19 17:45:12 +08:00
#pragma once
#include "BaseClient.h"
#include "../config/ConfigManager.h"
#include "Snap7/s7_client.h"
class Purifierstat_XT
{
public:
Purifierstat_XT()
{
isPurifying = false;
isDedusting = false;
isBoxCleaning = false;
isBlowBack = false;
isFilterDiscarding = false;
isFilterCleaning = false;
isHopperCleaning = false;
midPressureValue = 0;
midPressureDifValue = 0;
midTemperatureValue = 0;
highPressureDifValue = 0;
anemometerActualValue = 0.0f;
printPressureValue = 0;
boxPressureUpLimit = 0;
boxPressureDownLimit = 0;
filterOxygenValue = 0;
printOxygenValue = 0;
midPressureDifAlarmValue = 0;
highPressureDifAlarmValue = 0;
filterTotalUseTime = 0;
bowBackTimes = 0;
usedTimeFromlastBowBack = 0;
boxWashTime = 0;
filterWashTime = 0;
boxWashDelayTime = 0;
dedustingWashDelayTime = 0;
hopperCleanRemind = 0;
hopperTimeLastClean = 0;
printCleanOxygenSetValue = 0;
windSetValue = 0;
maxWindSetValue = 0.0f;
windActualValue = 0;
// printOxygenDownSetValue=0;
printOxygenUpSetValue = 0;
filterCleanOxygenSetValue = 0;
//highTempValue=0;
midTempHighSetValue = 0;
midTempUltraSetValue = 0;
//highTempHighSetValue=0;
//highTempUltraSetValue = 0;
pressureRangeUpLimit = 0;
pressureRangeDownLimit = 0;
oxygenAlarmValue = 0;
useArgon = false;
fanFreq = 0.0f;
coverWindSpeedOffset = 0.0f;
isCoverWind = false;
purifierType = 0;
keepAlive = 0;
cycleInValveOpenAlarm = false; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
cycleOutValueOpenAlarm = false; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
highPressureLackAlarm = false; //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2B9>ѹ<EFBFBD><D1B9>
protectedPressureLackAlarm = false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2B9>ѹ<EFBFBD><D1B9>
midFilterBlockAlarm = false; //<2F><>Ч<EFBFBD><D0A7>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
midTempOverLimitAlarm = false; //<2F><>Ч<EFBFBD><D0A7><EFBFBD>±<EFBFBD><C2B1><EFBFBD>,<2C><>ע<EFBFBD><D7A2>
midHighTempOverLimitAlarm = false; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD>,<2C>Ѿ<EFBFBD><D1BE><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
hopperUseLongTimeAlarm = false; //<2F>϶<EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
highPressureLackValveAlarm = false; //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><E3A3AC><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>رգ<D8B1><D5A3><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD>ѹ
inverterAlarm = false; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
protectionTestFail = false;
inverterPowerBreak = false;
shieldMonitorPrintPressure = false;
innerfilterOpenAlarm = false;
inverterComException = false;
midHighValveOpenAlarm = false;
innerFilterInValveException = false;
midUnionValveException = false;
innerFilterOutValveException = false;
highFilterBlockAlarm = false;
whirlwindJarIsFull = false;
midInValveOpenAlarm = false;
midOutValveOpenAlarm = false;
oxygenSelfTestFail = false;
coverWindSlowFinish = false;
coverWindResumeFinish = true;
anemometerException = false;
midConnectException = false; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
carbinDoorOpenException = false; //<2F><><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD>쳣,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>رպò<D5BA><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD>Ӧ<EFBFBD><D3A6>
busOutValveNotOpenAlarm = false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>򿪣<EFBFBD><F2BFAAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
busOutValveNotCloseAlarm = false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>رգ<D8B1><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
busOutValveNotInPosAlarm = false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>λ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
printOutValveNotOpenAlarm = false; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>򿪣<EFBFBD><F2BFAAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
printOutValveNotCloseAlarm = false; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>رգ<D8B1><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
printOutValveNotInPosAlarm = false; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>λ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
//fanFrequency = 0.0f;
purifierSevereAbnormalExhaust = false;
inverterDonotWorkWhenDedust = false; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
printOxygenExceptWhenDedust = false; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tempExceptWhenDedust = false; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3>и<EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>
highPressureExceptWhenDedust = false; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3>и<EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>
windExceptWhenDedust = false; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD>
protectionPressureEnable = false;
ProtectionPressureTestRelFail = false;
oxygenSelfTestRelFail = false;
ProtectionPressuring = false;
ProtectionPressureSetTime = 1;
blowBackSetTimes = 1;
blowBackBlowTime = 10;
}
~Purifierstat_XT() {}
virtual bool IsAlarm() {
return false;
}
public:
BaseStat baseStat;
bool isPurifying; //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ϴ
bool isDedusting; //<2F>ڳ<EFBFBD><DAB3><EFBFBD>
bool isBoxCleaning; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ
bool isBlowBack; //<2F>ڷ<EFBFBD><DAB7><EFBFBD>
bool isFilterDiscarding; //<2F><>о<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
bool isFilterCleaning; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ
bool isHopperCleaning; //<2F>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD>ϴ
float midPressureValue; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>ʵֵ
float midPressureDifValue; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>ֵ
float midTemperatureValue; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
float highPressureDifValue; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>ֵ
float anemometerActualValue; //<2F><><EFBFBD>ټ<EFBFBD>ʵ<EFBFBD><CAB5>ֵ
float printPressureValue; //<2F><>ӡ<EFBFBD><D3A1>ѹ<EFBFBD><D1B9>
float boxPressureUpLimit; //<2F><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float boxPressureDownLimit; //<2F><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float filterOxygenValue; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʵ<><CAB5>ֵ
float printOxygenValue; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float midPressureDifAlarmValue; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EEB1A8><EFBFBD><EFBFBD>
float highPressureDifAlarmValue; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EEB1A8><EFBFBD><EFBFBD>
unsigned short filterTotalUseTime; //<2F><>оʹ<D0BE><CAB9><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned short usedTimeFromlastBowBack; //<2F>ϴη<CFB4><CEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1>
unsigned short bowBackTimes; //<2F><><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
unsigned short hopperTimeLastClean; //<2F>϶<EFBFBD><CFB6>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1>
unsigned short boxWashTime; //<2F><><EFBFBD><EFBFBD><E5B1BE><EFBFBD><EFBFBD>ϴʱ<CFB4><CAB1>
unsigned short filterWashTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴʱ<CFB4><CAB1>
unsigned short boxWashDelayTime; // <20><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ϴ<EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD>
unsigned short dedustingWashDelayTime; //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>ϴ<EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD>
unsigned short hopperCleanRemind; //<2F><><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float printCleanOxygenSetValue; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float windSetValue; //<2F><><EFBFBD><EFBFBD><EFBFBD>
float windActualValue; //<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>ֵ
float maxWindSetValue; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
bool useArgon; //ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float printOxygenUpSetValue; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float oxygenAlarmValue; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float filterCleanOxygenSetValue; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float midTempHighSetValue; //<2F><>Ч<EFBFBD><D0A7><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD>
float midTempUltraSetValue; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD>
float pressureRangeUpLimit; //ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float pressureRangeDownLimit; //ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float fanFreq; //<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
bool midTempOverLimitAlarm; //<2F><>Ч<EFBFBD><D0A7><EFBFBD>±<EFBFBD><C2B1><EFBFBD>,<2C><>ע<EFBFBD><D7A2>
bool midHighTempOverLimitAlarm; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD>,<2C>Ѿ<EFBFBD><D1BE><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool hopperUseLongTimeAlarm; //<2F>϶<EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool highPressureLackValveAlarm; //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><E3A3AC><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>رգ<D8B1><D5A3><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD>ѹ
bool protectionTestFail; //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
bool inverterPowerBreak; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>Դ<EFBFBD>Ͽ<EFBFBD>
bool inverterAlarm; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool whirlwindJarIsFull; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>ۣ<EFBFBD><DBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool midInValveOpenAlarm; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool midOutValveOpenAlarm; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool anemometerException; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool oxygenSelfTestFail; //<2F><><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>ʧ<EFBFBD><CAA7>
bool innerfilterOpenAlarm; //<2F>ڹ<EFBFBD><DAB9>˴<EFBFBD>ӡ<EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool inverterComException; //<2F><>Ƶ<EFBFBD><C6B5>ͨѶ<CDA8>
bool purifierSevereAbnormalExhaust; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool cycleInValveOpenAlarm; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool cycleOutValueOpenAlarm; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool midHighValveOpenAlarm; //<2F>и<EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool innerFilterInValveException; //<2F>ڹ<EFBFBD><DAB9><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool midUnionValveException; //<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool innerFilterOutValveException; //<2F>ڹ<EFBFBD><DAB9><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
bool midFilterBlockAlarm; //<2F><>Ч<EFBFBD><D0A7>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool highFilterBlockAlarm; //<2F><>Ч<EFBFBD><D0A7>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool highPressureLackAlarm; //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2B9>ѹ<EFBFBD><D1B9>
bool protectedPressureLackAlarm; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2B9>ѹ<EFBFBD><D1B9>
bool midConnectException; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool carbinDoorOpenException; //<2F><><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD>쳣,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>رպò<D5BA><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD>Ӧ<EFBFBD><D3A6>
bool busOutValveNotOpenAlarm; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>򿪣<EFBFBD><F2BFAAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
bool busOutValveNotCloseAlarm; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>رգ<D8B1><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
bool busOutValveNotInPosAlarm; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>λ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
bool printOutValveNotOpenAlarm; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>򿪣<EFBFBD><F2BFAAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
bool printOutValveNotCloseAlarm; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>رգ<D8B1><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
bool printOutValveNotInPosAlarm; //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>λ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
bool inverterDonotWorkWhenDedust; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool printOxygenExceptWhenDedust; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool tempExceptWhenDedust; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3>и<EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>
bool highPressureExceptWhenDedust; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3>и<EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>
bool windExceptWhenDedust; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD>
float coverWindSpeedOffset; //<2F>̷۷<CCB7><DBB7>ٲ<EFBFBD>ֵ
bool isCoverWind; //<2F>̷<EFBFBD><CCB7><EFBFBD><E8BDB5><EFBFBD><EFBFBD>
bool shieldMonitorPrintPressure; //<2F><><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD>ӡѹ<D3A1><D1B9>
bool coverWindSlowFinish;
bool coverWindResumeFinish;
short purifierType;
short keepAlive;
bool protectionPressureEnable;
bool ProtectionPressureTestRelFail;
bool oxygenSelfTestRelFail;
bool ProtectionPressuring;
short ProtectionPressureSetTime;
unsigned short blowBackSetTimes;
unsigned short blowBackBlowTime;
};
class PurifierClient :public S7Client
{
public:
PurifierClient(CommunicationCfg* pconfig);
~PurifierClient();
void GetStat(Purifierstat_XT& stat);
void SetDedust(bool bvalue); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ
void SetBlowBack(bool bvalue); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ
void SetFilterDiscard(bool bvalue); //<2F><>о<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
void SetFilterClean(bool bvalue); //<2F><>о<EFBFBD><D0BE>ϴ
void SetHopperClean(bool bvalue); //<2F>϶<EFBFBD><CFB6><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ
void SetPurify(bool bvalue); //һ<><D2BB><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetBoxClean(bool bvalue);
void ResetFilterTime();
void ClearHopperAlarm();
void SetBoxPressureUpLimit(float fvalue); //<2F><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetBoxPressureDownLimit(float fvalue); //<2F><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetMidPressureDifAlarmValue(float fvalue); //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EEB1A8><EFBFBD><EFBFBD>
void SetHighPressureDifAlarmValue(float fvalue); //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EEB1A8><EFBFBD><EFBFBD>
void SetPrintCleanOxygenSetValue(float fvalue); //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetWindValue(float fvalue); //<2F><><EFBFBD><EFBFBD><EFBFBD>
void SetMaxWindValue(float fvalue); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetPrintOxygenDownSetValue(float fvalue); //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetPrintOxygenUpSetValue(float fvalue); //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetfilterCleanOxygenSetValue(float fvalue); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetMidTempHighSetValue(float fvalue); //<2F><>Ч<EFBFBD><D0A7><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD>
void SetMidTempUltraSetValue(float fvalue); //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD>
void SetHighTempHighSetValue(float fvalue); //<2F><>Ч<EFBFBD><D0A7><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD>
// void SetHighTempUltraSetValue(float fvalue); //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD>
void SetHopperCleanRemind(unsigned short value); //<2F><><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetBoxWashDelayTime(unsigned short value);
void SetDedustingWashDelayTime(unsigned short value);
void SetPressureRangeUpLimit(float value); //ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetPressureRangeDownLimit(float value); //ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetOxygenAlarmValue(float value); //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetUseArgon(bool buse);
void SetBlowBackBlowTime(unsigned short value);
void SetBlowBackSetTimes(unsigned short value);
void SetProtectionPressureSetTime(unsigned short value);
void SetUnLock();
virtual void SetCoverWind(bool bvalue);
virtual void SetCoverWindOffset(float offset);
virtual void SetWindSlowFinishSignal(bool bvalue);
virtual void SetWindResumeFinishSignal(bool bvalue);
virtual void SetShieldMonitorPrintPressure(bool bvalue);
virtual void SetProtectionPressure(bool bvalue) {}
//virtual void ResetWindSlowFinishSignal();
//virtual void ResetWindResumeFinishSignal();
//void SetAirRenewalCtrl(bool bctrl);
protected:
void InitCommand();
//static DWORD WINAPI ThreadProc(PurifierClient* pclient);
static void ProcReadInfoXT(void *pobject,Command* pcommand);
static void ProcReadInfoXT2(void *pobject, Command* pcommand);
static void ProcWriteValueXT(void *pobject, Command* pcommand);
void SetMKBit(int dindex,unsigned int waittime=0);
void SetDBFloat(int dindex,float fvalue);
void SetBit(int dindex, bool v);
static void ProcSetOxygenValue(void *pobject, Command* pcommand);
protected:
unsigned char* m_OxygenWriteValue;
unsigned char* m_PressureWriteValue;
Purifierstat_XT m_Stat;
RunCfg* m_RunCfg;
ExtCfg* m_ExtCfg;
AlarmCfgWrapper* m_AlarmCfgWrapper;
private:
static const unsigned int READ_ITEM_COUNT = 2;
static const unsigned int READ_ITEM_COUNT2 = 6;
};