657 lines
33 KiB
C++
657 lines
33 KiB
C++
#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; //循环进气阀打开异常,请检查阀门与感应器是否正常
|
|
cycleOutValueOpenAlarm = false; //循环出气阀打开异常,请检查阀门与感应器是否正常
|
|
highPressureLackAlarm = false; //高压气气压不足,无法启动设备请补充压力
|
|
protectedPressureLackAlarm = false; //保护气气压不足,无法启动设备请补充压力
|
|
midFilterBlockAlarm = false; //中效滤芯堵塞严重,请执行清理工作
|
|
midTempOverLimitAlarm = false; //中效高温报警,请注意
|
|
midHighTempOverLimitAlarm = false; //中效超高温报警,已经很危险请停机检查
|
|
hopperUseLongTimeAlarm = false; //料斗使用时间过长,请进行清理
|
|
highPressureLackValveAlarm = false; //高压气气压不足,导致阀门异常关闭,请使用稳定气压
|
|
inverterAlarm = false; //变频器报警,请检查电机是否正常
|
|
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; //中效室连接异常,请检查是否连接完毕
|
|
carbinDoorOpenException = false; //舱门打开异常,请检查关闭好舱门与舱门感应器
|
|
busOutValveNotOpenAlarm = false; //总排气阀未打开,请检查总排气阀工作状态
|
|
|
|
busOutValveNotCloseAlarm = false; //总排气阀未关闭,请检查总排气阀工作状态
|
|
busOutValveNotInPosAlarm = false; //总排气阀处于不到位状态,请检查总排气阀工作状态
|
|
printOutValveNotOpenAlarm = false; //打印室排气阀未打开,请检查打印室排气阀工作状态
|
|
printOutValveNotCloseAlarm = false; //打印室排气阀未关闭,请检查打印室排气阀工作状态
|
|
printOutValveNotInPosAlarm = false; //打印室排气阀处于不到位状态,请检查打印室排气阀工作状态
|
|
//fanFrequency = 0.0f;
|
|
purifierSevereAbnormalExhaust = false;
|
|
|
|
inverterDonotWorkWhenDedust = false; //循环过程,变频器不运行异常
|
|
printOxygenExceptWhenDedust = false; //循环过程,打印室氧含量超限异常
|
|
tempExceptWhenDedust = false; //循环过程,中高效超温异常
|
|
highPressureExceptWhenDedust = false; //循环过程,中高效超温异常
|
|
windExceptWhenDedust = false; //循环过程,风速异常报警
|
|
|
|
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; //在一键清洗
|
|
bool isDedusting; //在除尘
|
|
bool isBoxCleaning; //箱体在清洗
|
|
bool isBlowBack; //在反吹
|
|
bool isFilterDiscarding; //滤芯废处理
|
|
bool isFilterCleaning; //过滤器在清洗
|
|
bool isHopperCleaning; //料斗在清洗
|
|
|
|
float midPressureValue; //中效过滤器压力实值
|
|
float midPressureDifValue; //中效过滤器压差值
|
|
float midTemperatureValue; //中效过滤器温度值
|
|
float highPressureDifValue; //高效过滤器压差值
|
|
float anemometerActualValue; //风速计实际值
|
|
float printPressureValue; //打印室压力
|
|
float boxPressureUpLimit; //箱体压力上限设定
|
|
float boxPressureDownLimit; //箱体压力下限设定
|
|
float filterOxygenValue; //过滤器氧含量 实际值
|
|
float printOxygenValue; //打印室氧含量
|
|
float midPressureDifAlarmValue; //中效过滤器压差报警设
|
|
float highPressureDifAlarmValue; //高效过滤器压差报警设
|
|
|
|
unsigned short filterTotalUseTime; //滤芯使用总时间
|
|
unsigned short usedTimeFromlastBowBack; //上次反吹后已使用时间
|
|
unsigned short bowBackTimes; //反吹总次数
|
|
unsigned short hopperTimeLastClean; //料斗上次清理后已使用时间
|
|
|
|
unsigned short boxWashTime; //箱体本次清洗时间
|
|
unsigned short filterWashTime; //过滤器清洗时间
|
|
unsigned short boxWashDelayTime; // 打印机清洗滞后分钟
|
|
unsigned short dedustingWashDelayTime; //除尘系统清洗滞后分钟
|
|
unsigned short hopperCleanRemind; //清理料斗提醒设定
|
|
|
|
float printCleanOxygenSetValue; //打印室氧清洗氧含量设
|
|
float windSetValue; //风速设定
|
|
float windActualValue; //风速实际值
|
|
float maxWindSetValue; //风速最大值
|
|
bool useArgon; //使用氩气
|
|
|
|
float printOxygenUpSetValue; //打印氧上限设定
|
|
float oxygenAlarmValue; //打印氧超上限设定
|
|
float filterCleanOxygenSetValue; //过滤器清洗氧含量设定
|
|
float midTempHighSetValue; //中效高温报警设定
|
|
float midTempUltraSetValue; //中效超高温报警设定
|
|
float pressureRangeUpLimit; //压力量程上限设定
|
|
float pressureRangeDownLimit; //压力量程下限设定
|
|
|
|
float fanFreq; //风机频率
|
|
|
|
bool midTempOverLimitAlarm; //中效高温报警,请注意
|
|
bool midHighTempOverLimitAlarm; //中效超高温报警,已经很危险请停机检查
|
|
bool hopperUseLongTimeAlarm; //料斗使用时间过长,请进行清理
|
|
bool highPressureLackValveAlarm; //高压气气压不足,导致阀门异常关闭,请使用稳定气压
|
|
bool protectionTestFail; //保压测试失败
|
|
bool inverterPowerBreak; //变频器电源断开
|
|
bool inverterAlarm; //变频器报警,请检查电机是否正常
|
|
bool whirlwindJarIsFull; //旋风罐装满粉,请清理
|
|
bool midInValveOpenAlarm; //中效进气阀打开异常
|
|
bool midOutValveOpenAlarm; //中效出气阀打开异常
|
|
bool anemometerException; //风速仪异常
|
|
bool oxygenSelfTestFail; //氧自测试失败
|
|
bool innerfilterOpenAlarm; //内过滤打印室废气阀打开异常,请检查阀门与感应器是否正常
|
|
bool inverterComException; //变频器通讯异常
|
|
bool purifierSevereAbnormalExhaust; //净化器排气严重异常
|
|
|
|
bool cycleInValveOpenAlarm; //循环进气阀打开异常,请检查阀门与感应器是否正常
|
|
bool cycleOutValueOpenAlarm; //循环出气阀打开异常,请检查阀门与感应器是否正常
|
|
bool midHighValveOpenAlarm; //中高效阀打开异常,请检查阀门与感应器是否正常
|
|
bool innerFilterInValveException; //内过滤循环进气阀门异常,请检查阀门与感应器是否正常
|
|
bool midUnionValveException; //内过滤中效联通阀打开异常,请检查阀门与感应器是否正常
|
|
bool innerFilterOutValveException; //内过滤循环出气阀打开异常,请检查阀门与感应器是否正常
|
|
bool midFilterBlockAlarm; //中效滤芯堵塞严重,请执行清理工作
|
|
bool highFilterBlockAlarm; //高效滤芯堵塞严重,请执行清理工作
|
|
bool highPressureLackAlarm; //高压气气压不足,无法启动设备请补充压力
|
|
bool protectedPressureLackAlarm; //保护气气压不足,无法启动设备请补充压力
|
|
bool midConnectException; //中效室连接异常,请检查是否连接完毕
|
|
bool carbinDoorOpenException; //舱门打开异常,请检查关闭好舱门与舱门感应器
|
|
bool busOutValveNotOpenAlarm; //总排气阀未打开,请检查总排气阀工作状态
|
|
|
|
bool busOutValveNotCloseAlarm; //总排气阀未关闭,请检查总排气阀工作状态
|
|
bool busOutValveNotInPosAlarm; //总排气阀处于不到位状态,请检查总排气阀工作状态
|
|
bool printOutValveNotOpenAlarm; //打印室排气阀未打开,请检查打印室排气阀工作状态
|
|
bool printOutValveNotCloseAlarm; //打印室排气阀未关闭,请检查打印室排气阀工作状态
|
|
bool printOutValveNotInPosAlarm; //打印室排气阀处于不到位状态,请检查打印室排气阀工作状态
|
|
|
|
bool inverterDonotWorkWhenDedust; //循环过程,变频器不运行异常
|
|
bool printOxygenExceptWhenDedust; //循环过程,打印室氧含量超限异常
|
|
bool tempExceptWhenDedust; //循环过程,中高效超温异常
|
|
bool highPressureExceptWhenDedust; //循环过程,中高效超温异常
|
|
bool windExceptWhenDedust; //循环过程,风速异常报警
|
|
|
|
float coverWindSpeedOffset; //铺粉风速差值
|
|
bool isCoverWind; //铺粉骤降风速
|
|
bool shieldMonitorPrintPressure; //屏蔽监测打印压力
|
|
|
|
bool coverWindSlowFinish;
|
|
bool coverWindResumeFinish;
|
|
short purifierType;
|
|
short keepAlive;
|
|
|
|
bool protectionPressureEnable;
|
|
bool ProtectionPressureTestRelFail;
|
|
bool oxygenSelfTestRelFail;
|
|
bool ProtectionPressuring;
|
|
short ProtectionPressureSetTime;
|
|
|
|
unsigned short blowBackSetTimes;
|
|
unsigned short blowBackBlowTime;
|
|
};
|
|
|
|
#pragma pack(1)
|
|
class PurifierParam
|
|
{
|
|
public:
|
|
PurifierParam()
|
|
: isPurifying(new BoolData("isPurifying", u8"在一键清洗"))
|
|
, isDedusting(new BoolData("isDedusting", u8"在除尘"))
|
|
, isBoxCleaning(new BoolData("isBoxCleaning", u8"箱体在清洗"))
|
|
, isBlowBack(new BoolData("isBlowBack", u8"在反吹"))
|
|
, isFilterDiscarding(new BoolData("isFilterDiscarding", u8"滤芯废处理"))
|
|
, isFilterCleaning(new BoolData("isFilterCleaning", u8"过滤器在清洗"))
|
|
, isHopperCleaning(new BoolData("isHopperCleaning", u8"料斗在清洗"))
|
|
, midPressureValue(new FloatData("midPressureValue", u8"中效过滤器压力实值"))
|
|
, midPressureDifValue(new FloatData("midPressureDifValue", u8"中效过滤器压差值"))
|
|
, midTemperatureValue(new FloatData("midTemperatureValue", u8"中效过滤器温度值"))
|
|
, highPressureDifValue(new FloatData("highPressureDifValue", u8"高效过滤器压差值"))
|
|
, anemometerActualValue(new FloatData("anemometerActualValue", u8"风速计实际值"))
|
|
, printPressureValue(new FloatData("printPressureValue", u8"打印室压力"))
|
|
, boxPressureUpLimit(new FloatData("boxPressureUpLimit", u8"箱体压力上限设定"))
|
|
, boxPressureDownLimit(new FloatData("boxPressureDownLimit", u8"箱体压力下限设定"))
|
|
, filterOxygenValue(new FloatData("filterOxygenValue", u8"过滤器氧含量 实际值"))
|
|
, printOxygenValue(new FloatData("printOxygenValue", u8"打印室氧含量"))
|
|
, midPressureDifAlarmValue(new FloatData("midPressureDifAlarmValue", u8"中效过滤器压差报警设"))
|
|
, highPressureDifAlarmValue(new FloatData("highPressureDifAlarmValue", u8"高效过滤器压差报警设"))
|
|
, filterTotalUseTime(new UShortData("filterTotalUseTime", u8"滤芯使用总时间"))
|
|
, usedTimeFromlastBowBack(new UShortData("usedTimeFromlastBowBack", u8"上次反吹后已使用时间"))
|
|
, bowBackTimes(new UShortData("bowBackTimes", u8"反吹总次数"))
|
|
, hopperTimeLastClean(new UShortData("hopperTimeLastClean", u8"料斗上次清理后已使用时间"))
|
|
, boxWashTime(new UShortData("boxWashTime", u8"箱体本次清洗时间"))
|
|
, filterWashTime(new UShortData("filterWashTime", u8"过滤器清洗时间"))
|
|
, boxWashDelayTime(new UShortData("boxWashDelayTime", u8"打印机清洗滞后分钟"))
|
|
, dedustingWashDelayTime(new UShortData("dedustingWashDelayTime", u8"除尘系统清洗滞后分钟"))
|
|
, hopperCleanRemind(new UShortData("hopperCleanRemind", u8"清理料斗提醒设定"))
|
|
|
|
, printCleanOxygenSetValue(new FloatData("printCleanOxygenSetValue", u8"打印室氧清洗氧含量设"))
|
|
, windSetValue(new FloatData("windSetValue", u8"风速设定"))
|
|
, windActualValue(new FloatData("windActualValue", u8"风速实际值"))
|
|
, maxWindSetValue(new FloatData("maxWindSetValue", u8"风速最大值"))
|
|
, useArgon(new BoolData("useArgon", u8"使用氩气"))
|
|
|
|
, printOxygenUpSetValue(new FloatData("printOxygenUpSetValue", u8"打印氧上限设定"))
|
|
, oxygenAlarmValue(new FloatData("oxygenAlarmValue", u8"打印氧超上限设定"))
|
|
, filterCleanOxygenSetValue(new FloatData("filterCleanOxygenSetValue", u8"过滤器清洗氧含量设定"))
|
|
, midTempHighSetValue(new FloatData("midTempHighSetValue", u8"中效高温报警设定"))
|
|
, midTempUltraSetValue(new FloatData("midTempUltraSetValue", u8"中效超高温报警设定"))
|
|
, pressureRangeUpLimit(new FloatData("pressureRangeUpLimit", u8"压力量程上限设定"))
|
|
, pressureRangeDownLimit(new FloatData("pressureRangeDownLimit", u8"压力量程下限设定"))
|
|
, fanFreq(new FloatData("fanFreq", u8"风机频率"))
|
|
, midTempOverLimitAlarm(new BoolData("midTempOverLimitAlarm", u8"中效高温报警,请注意"))
|
|
, midHighTempOverLimitAlarm(new BoolData("midHighTempOverLimitAlarm", u8"中效超高温报警,已经很危险请停机检查"))
|
|
, hopperUseLongTimeAlarm(new BoolData("hopperUseLongTimeAlarm", u8"料斗使用时间过长,请进行清理"))
|
|
, highPressureLackValveAlarm(new BoolData("highPressureLackValveAlarm", u8"高压气气压不足,导致阀门异常关闭,请使用稳定气压"))
|
|
, protectionTestFail(new BoolData("protectionTestFail", u8"保压测试失败"))
|
|
, inverterPowerBreak(new BoolData("inverterPowerBreak", u8"变频器电源断开"))
|
|
, inverterAlarm(new BoolData("inverterAlarm", u8"变频器报警,请检查电机是否正常"))
|
|
, whirlwindJarIsFull(new BoolData("whirlwindJarIsFull", u8"旋风罐装满粉,请清理"))
|
|
, midInValveOpenAlarm(new BoolData("midInValveOpenAlarm", u8"中效进气阀打开异常"))
|
|
, midOutValveOpenAlarm(new BoolData("midOutValveOpenAlarm", u8"中效出气阀打开异常"))
|
|
, anemometerException(new BoolData("anemometerException", u8"风速仪异常"))
|
|
, oxygenSelfTestFail(new BoolData("oxygenSelfTestFail", u8"氧自测试失败"))
|
|
, innerfilterOpenAlarm(new BoolData("innerfilterOpenAlarm", u8"内过滤打印室废气阀打开异常,请检查阀门与感应器是否正常"))
|
|
, inverterComException(new BoolData("inverterComException", u8"变频器通讯异常"))
|
|
, purifierSevereAbnormalExhaust(new BoolData("purifierSevereAbnormalExhaust", u8"净化器排气严重异常"))
|
|
, cycleInValveOpenAlarm(new BoolData("cycleInValveOpenAlarm", u8"循环进气阀打开异常,请检查阀门与感应器是否正常"))
|
|
, cycleOutValueOpenAlarm(new BoolData("cycleOutValueOpenAlarm", u8"循环出气阀打开异常,请检查阀门与感应器是否正常"))
|
|
, midHighValveOpenAlarm(new BoolData("midHighValveOpenAlarm", u8"中高效阀打开异常,请检查阀门与感应器是否正常"))
|
|
, innerFilterInValveException(new BoolData("innerFilterInValveException", u8"内过滤循环进气阀门异常,请检查阀门与感应器是否正常"))
|
|
, midUnionValveException(new BoolData("midUnionValveException", u8"内过滤中效联通阀打开异常,请检查阀门与感应器是否正常"))
|
|
, innerFilterOutValveException(new BoolData("innerFilterOutValveException", u8"内过滤循环出气阀打开异常,请检查阀门与感应器是否正常"))
|
|
, midFilterBlockAlarm(new BoolData("midFilterBlockAlarm", u8"中效滤芯堵塞严重,请执行清理工作"))
|
|
, highFilterBlockAlarm(new BoolData("highFilterBlockAlarm", u8"高效滤芯堵塞严重,请执行清理工作"))
|
|
, highPressureLackAlarm(new BoolData("highPressureLackAlarm", u8"高压气气压不足,无法启动设备请补充压力"))
|
|
, protectedPressureLackAlarm(new BoolData("protectedPressureLackAlarm", u8"保护气气压不足,无法启动设备请补充压力"))
|
|
, midConnectException(new BoolData("midConnectException", u8"中效室连接异常,请检查是否连接完毕"))
|
|
, carbinDoorOpenException(new BoolData("carbinDoorOpenException", u8"舱门打开异常,请检查关闭好舱门与舱门感应器"))
|
|
, busOutValveNotOpenAlarm(new BoolData("busOutValveNotOpenAlarm", u8"总排气阀未打开,请检查总排气阀工作状态"))
|
|
, busOutValveNotCloseAlarm(new BoolData("busOutValveNotCloseAlarm", u8"总排气阀未关闭,请检查总排气阀工作状态"))
|
|
, busOutValveNotInPosAlarm(new BoolData("busOutValveNotInPosAlarm", u8"总排气阀处于不到位状态,请检查总排气阀工作状态"))
|
|
, printOutValveNotOpenAlarm(new BoolData("printOutValveNotOpenAlarm", u8"打印室排气阀未打开,请检查打印室排气阀工作状态"))
|
|
, printOutValveNotCloseAlarm(new BoolData("printOutValveNotCloseAlarm", u8"打印室排气阀未关闭,请检查打印室排气阀工作状态"))
|
|
, printOutValveNotInPosAlarm(new BoolData("printOutValveNotInPosAlarm", u8"打印室排气阀处于不到位状态,请检查打印室排气阀工作状态"))
|
|
, inverterDonotWorkWhenDedust(new BoolData("inverterDonotWorkWhenDedust", u8"循环过程,变频器不运行异常"))
|
|
, printOxygenExceptWhenDedust(new BoolData("printOxygenExceptWhenDedust", u8"循环过程,打印室氧含量超限异常"))
|
|
, tempExceptWhenDedust(new BoolData("tempExceptWhenDedust", u8"循环过程,中高效超温异常"))
|
|
, highPressureExceptWhenDedust(new BoolData("highPressureExceptWhenDedust", u8"循环过程,中高效超温异常"))
|
|
, windExceptWhenDedust(new BoolData("windExceptWhenDedust", u8"循环过程,风速异常报警"))
|
|
, coverWindSpeedOffset(new FloatData("coverWindSpeedOffset", u8"铺粉风速差值"))
|
|
, isCoverWind(new BoolData("isCoverWind", u8"铺粉骤降风速"))
|
|
, shieldMonitorPrintPressure(new BoolData("shieldMonitorPrintPressure", u8"屏蔽监测打印压力"))
|
|
, coverWindSlowFinish(new BoolData("coverWindSlowFinish", u8""))
|
|
, coverWindResumeFinish(new BoolData("coverWindResumeFinish", u8""))
|
|
, purifierType(new ShortData("purifierType", u8""))
|
|
, keepAlive(new ShortData("keepAlive", u8""))
|
|
, protectionPressureEnable(new BoolData("protectionPressureEnable", u8"protectionPressureEnable"))
|
|
, ProtectionPressureTestRelFail(new BoolData("ProtectionPressureTestRelFail", u8"ProtectionPressureTestRelFail"))
|
|
, oxygenSelfTestRelFail(new BoolData("oxygenSelfTestRelFail", u8"oxygenSelfTestRelFail"))
|
|
, ProtectionPressuring(new BoolData("ProtectionPressuring", u8"ProtectionPressuring"))
|
|
, ProtectionPressureSetTime(new ShortData("ProtectionPressureSetTime", u8"保护压力设定时间", 1))
|
|
, blowBackSetTimes(new UShortData("blowBackSetTimes", u8"反吹设置时间", 1))
|
|
, blowBackBlowTime(new UShortData("blowBackBlowTime", u8"保护压力设定时间", 10))
|
|
{
|
|
//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; //循环进气阀打开异常,请检查阀门与感应器是否正常
|
|
//cycleOutValueOpenAlarm = false; //循环出气阀打开异常,请检查阀门与感应器是否正常
|
|
//highPressureLackAlarm = false; //高压气气压不足,无法启动设备请补充压力
|
|
//protectedPressureLackAlarm = false; //保护气气压不足,无法启动设备请补充压力
|
|
//midFilterBlockAlarm = false; //中效滤芯堵塞严重,请执行清理工作
|
|
//midTempOverLimitAlarm = false; //中效高温报警,请注意
|
|
//midHighTempOverLimitAlarm = false; //中效超高温报警,已经很危险请停机检查
|
|
//hopperUseLongTimeAlarm = false; //料斗使用时间过长,请进行清理
|
|
//highPressureLackValveAlarm = false; //高压气气压不足,导致阀门异常关闭,请使用稳定气压
|
|
//inverterAlarm = false; //变频器报警,请检查电机是否正常
|
|
//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; //中效室连接异常,请检查是否连接完毕
|
|
//carbinDoorOpenException = false; //舱门打开异常,请检查关闭好舱门与舱门感应器
|
|
//busOutValveNotOpenAlarm = false; //总排气阀未打开,请检查总排气阀工作状态
|
|
|
|
//busOutValveNotCloseAlarm = false; //总排气阀未关闭,请检查总排气阀工作状态
|
|
//busOutValveNotInPosAlarm = false; //总排气阀处于不到位状态,请检查总排气阀工作状态
|
|
//printOutValveNotOpenAlarm = false; //打印室排气阀未打开,请检查打印室排气阀工作状态
|
|
//printOutValveNotCloseAlarm = false; //打印室排气阀未关闭,请检查打印室排气阀工作状态
|
|
//printOutValveNotInPosAlarm = false; //打印室排气阀处于不到位状态,请检查打印室排气阀工作状态
|
|
////fanFrequency = 0.0f;
|
|
//purifierSevereAbnormalExhaust = false;
|
|
|
|
//inverterDonotWorkWhenDedust = false; //循环过程,变频器不运行异常
|
|
//printOxygenExceptWhenDedust = false; //循环过程,打印室氧含量超限异常
|
|
//tempExceptWhenDedust = false; //循环过程,中高效超温异常
|
|
//highPressureExceptWhenDedust = false; //循环过程,中高效超温异常
|
|
//windExceptWhenDedust = false; //循环过程,风速异常报警
|
|
|
|
//protectionPressureEnable = false;
|
|
//ProtectionPressureTestRelFail = false;
|
|
//oxygenSelfTestRelFail = false;
|
|
//ProtectionPressuring = false;
|
|
//ProtectionPressureSetTime = 1;
|
|
//blowBackSetTimes = 1;
|
|
//blowBackBlowTime = 10;
|
|
|
|
|
|
}
|
|
~PurifierParam() {}
|
|
virtual bool IsAlarm() {
|
|
|
|
return false;
|
|
}
|
|
|
|
public:
|
|
BaseStat baseStat;
|
|
char m_startFlag;
|
|
BoolData* isPurifying; //在一键清洗
|
|
BoolData* isDedusting; //在除尘
|
|
BoolData* isBoxCleaning; //箱体在清洗
|
|
BoolData* isBlowBack; //在反吹
|
|
BoolData* isFilterDiscarding; //滤芯废处理
|
|
BoolData* isFilterCleaning; //过滤器在清洗
|
|
BoolData* isHopperCleaning; //料斗在清洗
|
|
|
|
|
|
FloatData* midPressureValue; //中效过滤器压力实值
|
|
FloatData* midPressureDifValue; //中效过滤器压差值
|
|
FloatData* midTemperatureValue; //中效过滤器温度值
|
|
FloatData* highPressureDifValue; //高效过滤器压差值
|
|
FloatData* anemometerActualValue; //风速计实际值
|
|
FloatData* printPressureValue; //打印室压力
|
|
FloatData* boxPressureUpLimit; //箱体压力上限设定
|
|
FloatData* boxPressureDownLimit; //箱体压力下限设定
|
|
FloatData* filterOxygenValue; //过滤器氧含量 实际值
|
|
FloatData* printOxygenValue; //打印室氧含量
|
|
FloatData* midPressureDifAlarmValue; //中效过滤器压差报警设
|
|
FloatData* highPressureDifAlarmValue; //高效过滤器压差报警设
|
|
|
|
UShortData* filterTotalUseTime; //滤芯使用总时间
|
|
UShortData* usedTimeFromlastBowBack; //上次反吹后已使用时间
|
|
UShortData* bowBackTimes; //反吹总次数
|
|
UShortData* hopperTimeLastClean; //料斗上次清理后已使用时间
|
|
|
|
|
|
UShortData* boxWashTime; //箱体本次清洗时间
|
|
UShortData* filterWashTime; //过滤器清洗时间
|
|
UShortData* boxWashDelayTime; // 打印机清洗滞后分钟
|
|
UShortData* dedustingWashDelayTime; //除尘系统清洗滞后分钟
|
|
UShortData* hopperCleanRemind; //清理料斗提醒设定
|
|
|
|
FloatData* printCleanOxygenSetValue; //打印室氧清洗氧含量设
|
|
FloatData* windSetValue; //风速设定
|
|
FloatData* windActualValue; //风速实际值
|
|
FloatData* maxWindSetValue; //风速最大值
|
|
BoolData* useArgon; //使用氩气
|
|
|
|
FloatData* printOxygenUpSetValue; //打印氧上限设定
|
|
FloatData* oxygenAlarmValue; //打印氧超上限设定
|
|
FloatData* filterCleanOxygenSetValue; //过滤器清洗氧含量设定
|
|
FloatData* midTempHighSetValue; //中效高温报警设定
|
|
FloatData* midTempUltraSetValue; //中效超高温报警设定
|
|
FloatData* pressureRangeUpLimit; //压力量程上限设定
|
|
FloatData* pressureRangeDownLimit; //压力量程下限设定
|
|
|
|
FloatData* fanFreq; //风机频率
|
|
|
|
BoolData* midTempOverLimitAlarm; //中效高温报警,请注意
|
|
BoolData* midHighTempOverLimitAlarm; //中效超高温报警,已经很危险请停机检查
|
|
BoolData* hopperUseLongTimeAlarm; //料斗使用时间过长,请进行清理
|
|
BoolData* highPressureLackValveAlarm; //高压气气压不足,导致阀门异常关闭,请使用稳定气压
|
|
BoolData* protectionTestFail; //保压测试失败
|
|
BoolData* inverterPowerBreak; //变频器电源断开
|
|
BoolData* inverterAlarm; //变频器报警,请检查电机是否正常
|
|
BoolData* whirlwindJarIsFull; //旋风罐装满粉,请清理
|
|
BoolData* midInValveOpenAlarm; //中效进气阀打开异常
|
|
BoolData* midOutValveOpenAlarm; //中效出气阀打开异常
|
|
BoolData* anemometerException; //风速仪异常
|
|
BoolData* oxygenSelfTestFail; //氧自测试失败
|
|
BoolData* innerfilterOpenAlarm; //内过滤打印室废气阀打开异常,请检查阀门与感应器是否正常
|
|
BoolData* inverterComException; //变频器通讯异常
|
|
BoolData* purifierSevereAbnormalExhaust; //净化器排气严重异常
|
|
|
|
|
|
|
|
BoolData* cycleInValveOpenAlarm; //循环进气阀打开异常,请检查阀门与感应器是否正常
|
|
BoolData* cycleOutValueOpenAlarm; //循环出气阀打开异常,请检查阀门与感应器是否正常
|
|
BoolData* midHighValveOpenAlarm; //中高效阀打开异常,请检查阀门与感应器是否正常
|
|
BoolData* innerFilterInValveException; //内过滤循环进气阀门异常,请检查阀门与感应器是否正常
|
|
BoolData* midUnionValveException; //内过滤中效联通阀打开异常,请检查阀门与感应器是否正常
|
|
BoolData* innerFilterOutValveException; //内过滤循环出气阀打开异常,请检查阀门与感应器是否正常
|
|
BoolData* midFilterBlockAlarm; //中效滤芯堵塞严重,请执行清理工作
|
|
BoolData* highFilterBlockAlarm; //高效滤芯堵塞严重,请执行清理工作
|
|
BoolData* highPressureLackAlarm; //高压气气压不足,无法启动设备请补充压力
|
|
BoolData* protectedPressureLackAlarm; //保护气气压不足,无法启动设备请补充压力
|
|
BoolData* midConnectException; //中效室连接异常,请检查是否连接完毕
|
|
BoolData* carbinDoorOpenException; //舱门打开异常,请检查关闭好舱门与舱门感应器
|
|
BoolData* busOutValveNotOpenAlarm; //总排气阀未打开,请检查总排气阀工作状态
|
|
|
|
BoolData* busOutValveNotCloseAlarm; //总排气阀未关闭,请检查总排气阀工作状态
|
|
BoolData* busOutValveNotInPosAlarm; //总排气阀处于不到位状态,请检查总排气阀工作状态
|
|
BoolData* printOutValveNotOpenAlarm; //打印室排气阀未打开,请检查打印室排气阀工作状态
|
|
BoolData* printOutValveNotCloseAlarm; //打印室排气阀未关闭,请检查打印室排气阀工作状态
|
|
BoolData* printOutValveNotInPosAlarm; //打印室排气阀处于不到位状态,请检查打印室排气阀工作状态
|
|
|
|
BoolData* inverterDonotWorkWhenDedust; //循环过程,变频器不运行异常
|
|
BoolData* printOxygenExceptWhenDedust; //循环过程,打印室氧含量超限异常
|
|
BoolData* tempExceptWhenDedust; //循环过程,中高效超温异常
|
|
BoolData* highPressureExceptWhenDedust; //循环过程,中高效超温异常
|
|
BoolData* windExceptWhenDedust; //循环过程,风速异常报警
|
|
|
|
FloatData* coverWindSpeedOffset; //铺粉风速差值
|
|
BoolData* isCoverWind; //铺粉骤降风速
|
|
BoolData* shieldMonitorPrintPressure; //屏蔽监测打印压力
|
|
|
|
BoolData* coverWindSlowFinish;
|
|
BoolData* coverWindResumeFinish;
|
|
ShortData* purifierType;
|
|
ShortData* keepAlive;
|
|
BoolData* protectionPressureEnable;
|
|
|
|
BoolData* ProtectionPressureTestRelFail;
|
|
BoolData* oxygenSelfTestRelFail;
|
|
BoolData* ProtectionPressuring;
|
|
ShortData* ProtectionPressureSetTime;
|
|
UShortData* blowBackSetTimes;
|
|
UShortData* blowBackBlowTime;
|
|
|
|
char m_endFlag;
|
|
};
|
|
#pragma pack()
|
|
|
|
|
|
class PurifierClient :public S7Client
|
|
{
|
|
public:
|
|
PurifierClient(CommunicationCfg* pconfig);
|
|
~PurifierClient();
|
|
|
|
void GetStat(Purifierstat_XT& stat);
|
|
|
|
void SetDedust(bool bvalue); //除尘启动或停止
|
|
void SetBlowBack(bool bvalue); //反吹启动或停止
|
|
void SetFilterDiscard(bool bvalue); //滤芯废处理
|
|
void SetFilterClean(bool bvalue); //滤芯清洗
|
|
void SetHopperClean(bool bvalue); //料斗清洗启动或停止
|
|
void SetPurify(bool bvalue); //一键清洗(除氧)
|
|
void SetBoxClean(bool bvalue);
|
|
void ResetFilterTime();
|
|
void ClearHopperAlarm();
|
|
|
|
void SetBoxPressureUpLimit(float fvalue); //箱体压力上限设定
|
|
void SetBoxPressureDownLimit(float fvalue); //箱体压力下限设定
|
|
void SetMidPressureDifAlarmValue(float fvalue); //中效过滤器压差报警设
|
|
void SetHighPressureDifAlarmValue(float fvalue); //高效过滤器压差报警设
|
|
void SetPrintCleanOxygenSetValue(float fvalue); //打印室氧清洗氧含量设
|
|
void SetWindValue(float fvalue); //风速设定
|
|
void SetMaxWindValue(float fvalue); //最大风速设定
|
|
void SetPrintOxygenDownSetValue(float fvalue); //打印氧下限设定
|
|
void SetPrintOxygenUpSetValue(float fvalue); //打印氧上限设定
|
|
void SetfilterCleanOxygenSetValue(float fvalue); //过滤器清洗氧含量设定
|
|
void SetMidTempHighSetValue(float fvalue); //中效高温报警设定
|
|
void SetMidTempUltraSetValue(float fvalue); //中效超高温报警设定
|
|
void SetHighTempHighSetValue(float fvalue); //高效高温报警设定
|
|
// void SetHighTempUltraSetValue(float fvalue); //高效超高温报警设定
|
|
void SetHopperCleanRemind(unsigned short value); //清理料斗提醒设定
|
|
void SetBoxWashDelayTime(unsigned short value);
|
|
void SetDedustingWashDelayTime(unsigned short value);
|
|
void SetPressureRangeUpLimit(float value); //压力量程上限设定
|
|
void SetPressureRangeDownLimit(float value); //压力量程下限设定
|
|
void SetOxygenAlarmValue(float value); //打印氧超上限设定
|
|
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;
|
|
PurifierParam 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;
|
|
};
|
|
|