#pragma once #include "BaseClient.h" #include "../config/bean/RunCfg.h" #include "../config/bean/ExtCfg.h" #include "../config/bean/IOCfg.h" #include "../config/bean/PowderEstimateCfg.h" #pragma pack(1) class PowderSupplySimpleStat { public: PowderSupplySimpleStat() : m_RequestDropPowder(new BoolData("Stat_RequestDropPowder", u8"请求供粉 (落粉)")) , m_DropPowderEnable(new BoolData("Stat_DropPowderEnable", u8"允许供粉")) , m_OpenDropPowderValve(new BoolData("Stat_OpenDropPowderValve", u8"开启下粉阀")) , m_DeoxygenActive(new BoolData("Stat_DeoxygenActive", u8"送粉机除氧")) , m_RequestSupplyPowder(new BoolData("Stat_RequestSupplyPowder", u8"启动送粉")) , m_PcCtrlSupply(new BoolData("Stat_PcCtrlSupply", u8"PC控制送粉")) , m_ReactiveMetals(new BoolData("Stat_ReactiveMetals", u8"活泼金属")) , m_SupplyPowderDeoxygenEnable(new BoolData("Stat_SupplyPowderDeoxygenEnable", u8"启用送粉除氧")) , m_EnableHammer(new BoolData("Stat_EnableHammer", u8"启用气锤")) , m_EnableNewPowderDorpFreq(new BoolData("Stat_EnableNewPowderDorpFreq", u8"启用新粉下粉阀频率")) , m_DorpPowderPressureCompensateEnable(new BoolData("Stat_DorpPowderPressureCompensateEnable", u8"启用下粉补压")) , m_MachineOxygenTarge(new FloatData("Stat_MachineOxygenTarge", u8"送粉机除氧目标值")) , m_MachineOxygenAlarm(new FloatData("Stat_MachineOxygenAlarm", u8"送粉机氧报警值")) , m_MachineOxygenRealtime(new FloatData("Stat_MachineOxygenRealtime", u8"送粉机氧含量")) , m_PowderValveOpenTime(new FloatData("Stat_PowderValveOpenTime", u8"下粉阀打开时间")) , m_PowderValveCloseTime(new FloatData("Stat_PowderValveCloseTime", u8"下粉阀关闭时间")) , m_AirHammerOpenTime(new FloatData("Stat_AirHammerOpenTime", u8"气锤打开时间")) , m_AirHammerCloseTime(new FloatData("Stat_AirHammerCloseTime", u8"气锤关闭时间")) , m_PressureDif(new FloatData("Stat_PressureDif", u8"下粉与粉仓压差")) , m_OxygenSensorUpLimit(new FloatData("Stat_OxygenSensorUpLimit", u8"测氧仪上限")) , m_SupplyPowderPressureDifUpLimit(new FloatData("Stat_SupplyPowderPressureDifUpLimit", u8"送粉压差上限")) , m_SupplyPowderPressureDifDownLimit(new FloatData("Stat_SupplyPowderPressureDifDownLimit", u8"送粉压差下限")) , m_SupplyPowderPressureDifValue(new FloatData("Stat_SupplyPowderPressureDifValue", u8"送粉压差实际值")) , m_FilterPressureDifUpLimit(new FloatData("Stat_FilterPressureDifUpLimit", u8"滤芯压差上限")) , m_FilterPressureDifDownLimit(new FloatData("Stat_FilterPressureDifDownLimit", u8"滤芯压差下限")) , m_FilterPressureDifValue(new FloatData("Stat_FilterPressureDifValue", u8"滤压差实际值")) , m_SupplyPowderBlockPressureValue(new FloatData("Stat_SupplyPowderBlockPressureValue", u8"送粉堵塞压力值")) , m_FilterBlockPressureValue(new FloatData("Stat_FilterBlockPressureValue", u8"滤芯堵塞压力值")) , m_SupplyPowderBlockWarnValue(new FloatData("Stat_SupplyPowderBlockWarnValue", u8"送粉堵塞预警值")) , m_SupplyBlockAlarm(new BoolData("Stat_SupplyBlockAlarm", u8"送粉堵塞报警")) , m_SupplyFilterBlockAlarm(new BoolData("Stat_SupplyFilterBlockAlarm", u8"送粉滤芯堵塞报警")) , m_SupplyJarHangUpPowderAlarm(new BoolData("Stat_SupplyJarHangUpPowderAlarm", u8"加粉罐挂粉")) , m_OxygenOverLimitAlarm(new BoolData("Stat_OxygenOverLimitAlarm", u8"氧含量越限报警")) , m_DeoxygenStartupFailed(new BoolData("Stat_DeoxygenStartupFailed", u8"除氧功能启动失败报警")) , m_SupplyPowderStartupFailed(new BoolData("Stat_SupplyPowderStartupFailed", u8"送粉功能启动失败报警")) , m_OxygenDetectorOfflineAlarm(new BoolData("Stat_OxygenDetectorOfflineAlarm", u8"测氧仪离线报警")) , m_FanForceRunAlarm(new BoolData("Stat_FanForceRunAlarm", u8"冷却风机强制运行报警")) , m_FanOverHeatAlarm(new BoolData("Stat_FanOverHeatAlarm", u8"风机过热报警")) , m_SupplyPowderTempAlarm(new BoolData("Stat_SupplyPowderTempAlarm", u8"送粉温度报警")) , m_NewJarNoPowerAlarm(new BoolData("Stat_NewJarNoPowerAlarm", u8"新粉罐无粉报警")) , m_SupplyPowderFilterAlarm(new BoolData("Stat_SupplyPowderFilterAlarm", u8"送粉滤芯报警")) , m_AddPowderJarFullBlowbackAlarm(new BoolData("Stat_AddPowderJarFullBlowbackAlarm", u8"粉罐满粉无法反吹报警")) , m_FanBlowbackAlarm(new BoolData("Stat_FanBlowbackAlarm", u8"风机反吹报警")) , m_SupplyBlockStopMinute(new UShortData("Stat_SupplyBlockStopMinute", u8"送粉堵塞停止时间")) , m_FanWorkTiming(new UcharData("Stat_FanWorkTiming", u8"运行风机计时")) , m_FanWorkStopTime(new UcharData("Stat_FanWorkStopTime", u8"风机运行停机时间")) , m_FanCoolTime(new UcharData("Stat_FanCoolTime", u8"风机冷却时间")) , m_BlowbackTimes(new UShortData("Stat_BlowbackTimes", u8"反吹次数")) , m_BlowbackValveOpenTime(new FloatData("Stat_BlowbackValveOpenTime", u8"反吹阀打开时间")) , m_PocketAerateTime(new FloatData("Stat_PocketAerateTime", u8"气包充气时间")) , m_WorkFanStopDelayTime(new FloatData("Stat_WorkFanStopDelayTime", u8"运行风机停止延时")) , m_DropPowderValveOpenKeepTime(new FloatData("Stat_DropPowderValveOpenKeepTime", u8"加粉下粉阀打开保持时间")) , m_AddPowderUpLimitSenseTime(new FloatData("Stat_AddPowderUpLimitSenseTime", u8"加粉上限感应时间")) , m_Version(new UcharData("Stat_Version", u8"版本")) , m_SupplyBlockPreProcValue(new FloatData("Stat_SupplyBlockPreProcValue", u8"送粉堵塞预处理KPA")) , m_PowerCarNoPowderValue(new FloatData("Stat_PowerCarNoPowderValue", u8"送小车无粉值KG")) , m_SupplyReleasePressureValue(new FloatData("Stat_SupplyReleasePressureValue", u8"供粉机泄压值Kpa")) , m_SupplyStopReleasePressureValue(new FloatData("Stat_SupplyStopReleasePressureValue", u8"供粉机压力停止泄压值")) , m_InverterFreqSetValue(new FloatData("Stat_InverterFreqSetValue", u8"变频器频率设定值")) , m_DropPowderNeedDeoxygenValue(new FloatData("Stat_DropPowderNeedDeoxygenValue", u8"下粉时需要除氧值")) , m_DropPowderDeoxygenTargetValue(new FloatData("Stat_DropPowderDeoxygenTargetValue", u8"下粉除氧目标值")) , m_SupplyDifPressureWarnValue(new FloatData("Stat_SupplyDifPressureWarnValue", u8"送粉压差堵塞预警值")) , m_BlowbackActive(new BoolData("Stat_BlowbackActive", u8"反吹启动")) , m_SupplyPressure(new FloatData("Stat_SupplyPressure", u8"送粉压力")) , m_SupplyJarPressure(new FloatData("Stat_SupplyJarPressure", u8"上加粉罐压力")) , m_PowderCarWeight(new FloatData("Stat_PowderCarWeight", u8"小车称重")) , m_WorkGasPressure(new FloatData("Stat_WorkGasPressure", u8"工作气压力")) , m_CompressGasPressure(new FloatData("Stat_CompressGasPressure", u8"压缩气压力")) , m_SupplyDifPressure(new FloatData("Stat_SupplyDifPressure", u8"送粉压差值")) , m_DropDifPressure(new FloatData("Stat_DropDifPressure", u8"落粉压差值")) , m_SupplyJarEnterValveOpenAlarm(new BoolData("Stat_SupplyJarEnterValveOpenAlarm", u8"上加粉罐进粉阀打开失败报警")) , m_SupplyJarReturnValveOpenAlarm(new BoolData("Stat_SupplyJarReturnValveOpenAlarm", u8"上加粉罐回气阀打开失败报警")) , m_ExhaustOpenAlarm(new BoolData("Stat_ExhaustOpenAlarm", u8"排气挡板打开失败报警")) , m_FanRevTurnAlarm(new BoolData("Stat_FanRevTurnAlarm", u8"风机反转报警")) , m_CompressGasPressureLeakAlarm(new BoolData("Stat_CompressGasPressureLeakAlarm", u8"压缩气压力不足报警")) , m_WorkGasPressureLeakAlarm(new BoolData("Stat_WorkGasPressureLeakAlarm", u8"工作气压力不足")) , m_NoPowderWarn(new BoolData("Stat_NoPowderWarn", u8"无粉警告")) , m_InverterAlarm(new BoolData("Stat_InverterAlarm", u8"变频器报警")) , m_SupplyJarFilterBlockAlarm(new BoolData("Stat_SupplyJarFilterBlockAlarm", u8"加粉罐滤芯堵塞")) , m_FanEnterValveOpenAlarm(new BoolData("Stat_FanEnterValveOpenAlarm", u8"风机进风阀打开失败报警")) , m_SupplyJarDropValveCloseAlarm(new BoolData("Stat_SupplyJarDropValveCloseAlarm", u8"上加粉罐落粉阀关闭失败报警")) , m_StopButtonPressDown(new BoolData("Stat_StopButtonPressDown", u8"紧急开关已按下")) , m_NoDropPowderWarn(new BoolData("Stat_NoDropPowderWarn", u8"无落粉警告")) { //m_RequestDropPowder = false; //m_DropPowderEnable = false; //m_OpenDropPowderValve = false; //m_DeoxygenActive = false; //m_RequestSupplyPowder = false; //m_PcCtrlSupply = false; //m_ReactiveMetals = false; //m_SupplyPowderDeoxygenEnable = false; //m_EnableHammer = false; //m_EnableNewPowderDorpFreq = false; //m_MachineOxygenTarge = 0.0f; //m_MachineOxygenAlarm = 0.0f; //m_MachineOxygenRealtime = 0.0f; //m_PowderValveOpenTime = 0; //m_PowderValveCloseTime = 0; //m_AirHammerOpenTime = 0; //m_AirHammerCloseTime = 0; //m_PressureDif = 0.0f; //m_OxygenSensorUpLimit = 0.0f; //m_SupplyPowderPressureDifUpLimit = 0.0f; //m_SupplyPowderPressureDifDownLimit = 0.0f; //m_SupplyPowderPressureDifValue = 0.0f; //m_FilterPressureDifUpLimit = 0.0f; //m_FilterPressureDifDownLimit = 0.0f; //m_FilterPressureDifValue = 0.0f; //m_SupplyPowderBlockPressureValue = 0.0f; //m_FilterBlockPressureValue = 0.0f; //m_SupplyPowderBlockWarnValue = 0.0f; //m_BlowbackTimes = 0; //m_BlowbackValveOpenTime = 0.0f; //m_PocketAerateTime = 0.0f; //m_WorkFanStopDelayTime = 0.0f; //m_DropPowderValveOpenKeepTime = 0.0f; //m_AddPowderUpLimitSenseTime = 0.0f; //m_Version = 0; //版本 //m_SupplyBlockAlarm = false; //m_SupplyFilterBlockAlarm = false; //m_SupplyJarHangUpPowderAlarm = false; //m_OxygenOverLimitAlarm = false; //m_DeoxygenStartupFailed = false; //m_SupplyPowderStartupFailed = false; //m_OxygenDetectorOfflineAlarm = false; //m_FanForceRunAlarm = false; //m_FanOverHeatAlarm = false; //m_SupplyPowderTempAlarm = false; //m_NewJarNoPowerAlarm = false; //m_SupplyPowderFilterAlarm = false; //m_AddPowderJarFullBlowbackAlarm = false; //m_FanBlowbackAlarm = false; //m_SupplyBlockStopMinute = 0; //m_FanWorkTiming = 0; //m_FanWorkStopTime = 0; //m_FanCoolTime = 0; //m_SupplyBlockPreProcValue = 0.0f; //m_PowerCarNoPowderValue = 0.0f; //m_SupplyReleasePressureValue = 0.0f; //m_SupplyStopReleasePressureValue = 0.0f; //m_InverterFreqSetValue = 0.0f; //m_DropPowderNeedDeoxygenValue = 0.0f; //m_DropPowderDeoxygenTargetValue = 0.0f; //m_SupplyDifPressureWarnValue = 0.0f; //m_BlowbackActive = false; //m_SupplyPressure = 0.0f; //m_SupplyJarPressure = 0.0f; //m_PowderCarWeight = 0.0f; //m_WorkGasPressure = 0.0f; //m_CompressGasPressure = 0.0f; //m_SupplyDifPressure = 0.0f; //m_DropDifPressure = 0.0f; //m_SupplyJarEnterValveOpenAlarm = false; //m_SupplyJarReturnValveOpenAlarm = false; //m_ExhaustOpenAlarm = false; //m_FanRevTurnAlarm = false; //m_CompressGasPressureLeakAlarm = false; //m_WorkGasPressureLeakAlarm = false; //m_NoPowderWarn = false; //m_InverterAlarm = false; //m_SupplyJarFilterBlockAlarm = false; //m_FanEnterValveOpenAlarm = false; //m_SupplyJarDropValveCloseAlarm = false; //m_StopButtonPressDown = false; //m_NoDropPowderWarn = false; } ~PowderSupplySimpleStat() {} public: char m_startFlag; BoolData* m_RequestDropPowder; //请求供粉 (落粉) BoolData* m_DropPowderEnable; //允许供粉 BoolData* m_OpenDropPowderValve; //开启下粉阀 BoolData* m_DeoxygenActive; //送粉机除氧 BoolData* m_RequestSupplyPowder; //启动送粉 BoolData* m_PcCtrlSupply; //PC控制送粉 BoolData* m_ReactiveMetals; //活泼金属 BoolData* m_SupplyPowderDeoxygenEnable; //启用送粉除氧 BoolData* m_EnableHammer; //启用气锤 BoolData* m_EnableNewPowderDorpFreq; //启用新粉下粉阀频率 BoolData* m_DorpPowderPressureCompensateEnable; //启用下粉补压 FloatData* m_MachineOxygenTarge; //送粉机除氧目标值 FloatData* m_MachineOxygenAlarm; //送粉机氧报警值 FloatData* m_MachineOxygenRealtime; //送粉机氧含量 FloatData* m_PowderValveOpenTime; //下粉阀打开时间 FloatData* m_PowderValveCloseTime; //下粉阀关闭时间 FloatData* m_AirHammerOpenTime; //气锤打开时间 FloatData* m_AirHammerCloseTime; //气锤关闭时间 FloatData* m_PressureDif; //下粉与粉仓压差 FloatData* m_OxygenSensorUpLimit; //测氧仪上限 FloatData* m_SupplyPowderPressureDifUpLimit; //送粉压差上限 FloatData* m_SupplyPowderPressureDifDownLimit; //送粉压差下限 FloatData* m_SupplyPowderPressureDifValue; //送粉压差实际值 FloatData* m_FilterPressureDifUpLimit; //滤芯压差上限 FloatData* m_FilterPressureDifDownLimit; //滤芯压差下限 FloatData* m_FilterPressureDifValue; //滤压差实际值 FloatData* m_SupplyPowderBlockPressureValue; //送粉堵塞压力值 FloatData* m_FilterBlockPressureValue; //滤芯堵塞压力值 FloatData* m_SupplyPowderBlockWarnValue; //送粉堵塞预警值 BoolData* m_SupplyBlockAlarm; //送粉堵塞报警 BoolData* m_SupplyFilterBlockAlarm; //送粉滤芯堵塞报警 BoolData* m_SupplyJarHangUpPowderAlarm; //加粉罐挂粉 BoolData* m_OxygenOverLimitAlarm; //氧含量越限报警 BoolData* m_DeoxygenStartupFailed; //除氧功能启动失败报警 BoolData* m_SupplyPowderStartupFailed; //送粉功能启动失败报警 BoolData* m_OxygenDetectorOfflineAlarm; //测氧仪离线报警 BoolData* m_FanForceRunAlarm; //冷却风机强制运行报警 BoolData* m_FanOverHeatAlarm; //风机过热报警 BoolData* m_SupplyPowderTempAlarm; //送粉温度报警 BoolData* m_NewJarNoPowerAlarm; //新粉罐无粉报警 BoolData* m_SupplyPowderFilterAlarm; //送粉滤芯报警 BoolData* m_AddPowderJarFullBlowbackAlarm; //粉罐满粉无法反吹报警 BoolData* m_FanBlowbackAlarm; //风机反吹报警 UShortData* m_SupplyBlockStopMinute; //送粉堵塞停止时间 UcharData* m_FanWorkTiming; //运行风机计时 UcharData* m_FanWorkStopTime; //风机运行停机时间 UcharData* m_FanCoolTime; //风机冷却时间 UShortData* m_BlowbackTimes; //反吹次数 FloatData* m_BlowbackValveOpenTime; //反吹阀打开时间 FloatData* m_PocketAerateTime; //气包充气时间 FloatData* m_WorkFanStopDelayTime; //运行风机停止延时 FloatData* m_DropPowderValveOpenKeepTime; //加粉下粉阀打开保持时间 FloatData* m_AddPowderUpLimitSenseTime; //加粉上限感应时间 UcharData* m_Version; //版本 FloatData* m_SupplyBlockPreProcValue; //送粉堵塞预处理KPA FloatData* m_PowerCarNoPowderValue; //小车无粉值KG FloatData* m_SupplyReleasePressureValue; //供粉机泄压值Kpa FloatData* m_SupplyStopReleasePressureValue; //供粉机压力停止泄压值 FloatData* m_InverterFreqSetValue; //变频器频率设定值 FloatData* m_DropPowderNeedDeoxygenValue; //下粉时需要除氧值 FloatData* m_DropPowderDeoxygenTargetValue; //下粉除氧目标值 FloatData* m_SupplyDifPressureWarnValue; //送粉压差堵塞预警值 BoolData* m_BlowbackActive; //反吹启动 FloatData* m_SupplyPressure; //送粉压力 FloatData* m_SupplyJarPressure; //上加粉罐压力 FloatData* m_PowderCarWeight; //小车称重 FloatData* m_WorkGasPressure; //工作气压力 FloatData* m_CompressGasPressure; //压缩气压力 FloatData* m_SupplyDifPressure; //送粉压差值 FloatData* m_DropDifPressure; //落粉压差值 BoolData* m_SupplyJarEnterValveOpenAlarm; //上加粉罐进粉阀打开失败报警 BoolData* m_SupplyJarReturnValveOpenAlarm; //上加粉罐回气阀打开失败报警 BoolData* m_ExhaustOpenAlarm; //排气挡板打开失败报警 BoolData* m_FanRevTurnAlarm; //风机反转报警 BoolData* m_CompressGasPressureLeakAlarm; //压缩气压力不足报警 BoolData* m_WorkGasPressureLeakAlarm; //工作气压力不足 BoolData* m_NoPowderWarn; //无粉警告 BoolData* m_InverterAlarm; //变频器报警 BoolData* m_SupplyJarFilterBlockAlarm; //加粉罐滤芯堵塞 BoolData* m_FanEnterValveOpenAlarm; //风机进风阀打开失败报警 BoolData* m_SupplyJarDropValveCloseAlarm; //上加粉罐落粉阀关闭失败报警 BoolData* m_StopButtonPressDown; //紧急开关已按下 BoolData* m_NoDropPowderWarn; //无落粉警告 char m_endFlag; }; class PowderSupplySimpleAssist { public: PowderSupplySimpleAssist() : m_RequestDropPowder(new BoolData("Assi_RequestDropPowder", u8"RequestDropPowder")) , m_DropPowderEnable(new BoolData("Assi_DropPowderEnable", u8"允许供粉")) , m_OpenDropPowderValve(new BoolData("Assi_OpenDropPowderValve", u8"开启下粉阀")) , m_DeoxygenActive(new BoolData("Assi_DeoxygenActive", u8"送粉机除氧")) , m_RequestSupplyPowder(new BoolData("Assi_RequestSupplyPowder", u8"启动送粉")) , m_PcCtrlSupply(new BoolData("Assi_PcCtrlSupply", u8"PC控制送粉")) , m_ReactiveMetals(new BoolData("Assi_ReactiveMetals", u8"活泼金属")) , m_EnableHammer(new BoolData("Assi_EnableHammer", u8"启用气锤")) , m_EnableNewPowderDorpFreq(new BoolData("Assi_EnableNewPowderDorpFreq", u8"启用新粉下粉阀频率")) , m_DorpPowderPressureCompensateEnable(new BoolData("Assi_DorpPowderPressureCompensateEnable", u8"启用下粉补压")) , m_MachineOxygenTarge(new FloatData("Assi_MachineOxygenTarge", u8"送粉机除氧目标值")) , m_MachineOxygenAlarm(new FloatData("Assi_MachineOxygenAlarm", u8"送粉机氧报警值")) , m_MachineOxygenRealtime(new FloatData("Assi_MachineOxygenRealtime", u8"送粉机氧含量")) , m_PowderValveOpenTime(new FloatData("Assi_PowderValveOpenTime", u8"下粉阀打开时间")) , m_PowderValveCloseTime(new FloatData("Assi_PowderValveCloseTime", u8"下粉阀关闭时间")) , m_AirHammerOpenTime(new FloatData("Assi_AirHammerOpenTime", u8"气锤打开时间")) , m_AirHammerCloseTime(new FloatData("Assi_AirHammerCloseTime", u8"气锤关闭时间")) , m_OxygenSensorUpLimit(new FloatData("Assi_OxygenSensorUpLimit", u8"测氧仪上限")) , m_SupplyPowderPressureDifUpLimit(new FloatData("Assi_SupplyPowderPressureDifUpLimit", u8"送粉压差上限")) , m_SupplyPowderPressureDifDownLimit(new FloatData("Assi_SupplyPowderPressureDifDownLimit", u8"送粉压差下限")) , m_SupplyPowderPressureDifValue(new FloatData("Assi_SupplyPowderPressureDifValue", u8"送粉压差实际值")) , m_FilterPressureDifUpLimit(new FloatData("Assi_FilterPressureDifUpLimit", u8"滤芯压差上限")) , m_FilterPressureDifDownLimit(new FloatData("Assi_FilterPressureDifDownLimit", u8"滤芯压差下限")) , m_FilterPressureDifValue(new FloatData("Assi_FilterPressureDifValue", u8"滤压差实际值")) , m_SupplyPowderBlockPressureValue(new FloatData("Assi_SupplyPowderBlockPressureValue", u8"送粉堵塞压力值")) , m_FilterBlockPressureValue(new FloatData("Assi_FilterBlockPressureValue", u8"滤芯堵塞压力值")) , m_SupplyPowderBlockWarnValue(new FloatData("Assi_SupplyPowderBlockWarnValue", u8"送粉堵塞预警值")) , m_SupplyBlockStopMinute(new UShortData("Assi_SupplyBlockStopMinute", u8"送粉堵塞停止时间")) , m_FanWorkTiming(new UcharData("Assi_FanWorkTiming", u8"运行风机计时")) , m_FanCoolTime(new UcharData("Assi_FanCoolTime", u8"风机冷却时间")) , m_FanWorkStopTime(new UcharData("Assi_FanWorkStopTime", u8"")) , m_BlowbackTimes(new UShortData("Assi_BlowbackTimes", u8"反吹次数")) , m_BlowbackValveOpenTime(new FloatData("Assi_BlowbackValveOpenTime", u8"反吹阀打开时间")) , m_PocketAerateTime(new FloatData("Assi_PocketAerateTime", u8"气包充气时间")) , m_WorkFanStopDelayTime(new FloatData("Assi_WorkFanStopDelayTime", u8"运行风机停止延时")) , m_DropPowderValveOpenKeepTime(new FloatData("Assi_DropPowderValveOpenKeepTime", u8"加粉下粉阀打开保持时间")) , m_AddPowderUpLimitSenseTime(new FloatData("Assi_AddPowderUpLimitSenseTime", u8"加粉上限感应时间")) , m_BlowbackActive(new BoolData("Assi_BlowbackActive", u8"反吹启动")) , m_SupplyBlockPreProcValue(new FloatData("Assi_SupplyBlockPreProcValue", u8"SupplyBlockPreProcValue")) , m_PowerCarNoPowderValue(new FloatData("Assi_PowerCarNoPowderValue", u8"送小车无粉值KG")) , m_SupplyReleasePressureValue(new FloatData("Assi_SupplyReleasePressureValue", u8"供粉机泄压值Kpa")) , m_SupplyStopReleasePressureValue(new FloatData("Assi_SupplyStopReleasePressureValue", u8"供粉机压力停止泄压值")) , m_InverterFreqSetValue(new FloatData("Assi_InverterFreqSetValue", u8"变频器频率设定值")) , m_DropPowderNeedDeoxygenValue(new FloatData("Assi_DropPowderNeedDeoxygenValue", u8"下粉时需要除氧值")) , m_DropPowderDeoxygenTargetValue(new FloatData("Assi_DropPowderDeoxygenTargetValue", u8"下粉除氧目标值")) , m_SupplyDifPressureWarnValue(new FloatData("Assi_SupplyDifPressureWarnValue", u8"送粉压差堵塞预警值")) { //m_RequestDropPowder = false; //m_OpenDropPowderValve = false; //m_DeoxygenActive = false; //m_RequestSupplyPowder = false; //m_PcCtrlSupply = false; //m_ReactiveMetals = false; //m_DropPowderEnable = false; //m_EnableHammer = false; //m_EnableNewPowderDorpFreq = false; //m_DorpPowderPressureCompensateEnable = false; //m_MachineOxygenTarge = 0.0f; //m_MachineOxygenAlarm = 0.0f; //m_MachineOxygenRealtime = 0.0f; //m_PowderValveOpenTime = 0; //m_PowderValveCloseTime = 0; //m_AirHammerOpenTime = 0; //m_AirHammerCloseTime = 0; //m_SupplyBlockStopMinute = 0; //m_FanWorkTiming = 0; //m_FanCoolTime = 0; //m_FanWorkStopTime = 0; //m_OxygenSensorUpLimit = 0.0f; //m_SupplyPowderPressureDifUpLimit = 0.0f; //m_SupplyPowderPressureDifDownLimit = 0.0f; //m_SupplyPowderPressureDifValue = 0.0f; //m_FilterPressureDifUpLimit = 0.0f; //m_FilterPressureDifDownLimit = 0.0f; //m_FilterPressureDifValue = 0.0f; //m_SupplyPowderBlockPressureValue = 0.0f; //m_FilterBlockPressureValue = 0.0f; //m_SupplyPowderBlockWarnValue = 0.0f; //m_BlowbackTimes = 0; //m_BlowbackValveOpenTime = 0.0f; //m_PocketAerateTime = 0.0f; //m_WorkFanStopDelayTime = 0.0f; //m_DropPowderValveOpenKeepTime = 0.0f; //m_AddPowderUpLimitSenseTime = 0.0f; //m_BlowbackActive = false; //m_SupplyBlockPreProcValue = 0.0f; //m_PowerCarNoPowderValue = 0.0f; //m_SupplyReleasePressureValue = 0.0f; //m_SupplyStopReleasePressureValue = 0.0f; //m_InverterFreqSetValue = 0.0f; //m_DropPowderNeedDeoxygenValue = 0.0f; //m_DropPowderDeoxygenTargetValue = 0.0f; //m_SupplyDifPressureWarnValue = 0.0f; } ~PowderSupplySimpleAssist() {} public: char m_startFlag; BoolData* m_RequestDropPowder; BoolData* m_DropPowderEnable; //允许供粉 BoolData* m_OpenDropPowderValve; //开启下粉阀 BoolData* m_DeoxygenActive; //送粉机除氧 BoolData* m_RequestSupplyPowder; //启动送粉 BoolData* m_PcCtrlSupply; //PC控制送粉 BoolData* m_ReactiveMetals; //活泼金属 BoolData* m_EnableHammer; //启用气锤 BoolData* m_EnableNewPowderDorpFreq; //启用新粉下粉阀频率 BoolData* m_DorpPowderPressureCompensateEnable; //启用下粉补压 FloatData* m_MachineOxygenTarge; //送粉机除氧目标值 FloatData* m_MachineOxygenAlarm; //送粉机氧报警值 FloatData* m_MachineOxygenRealtime; //送粉机氧含量 FloatData* m_PowderValveOpenTime; //下粉阀打开时间 FloatData* m_PowderValveCloseTime; //下粉阀关闭时间 FloatData* m_AirHammerOpenTime; //气锤打开时间 FloatData* m_AirHammerCloseTime; //气锤关闭时间 FloatData* m_OxygenSensorUpLimit; //测氧仪上限 FloatData* m_SupplyPowderPressureDifUpLimit; //送粉压差上限 FloatData* m_SupplyPowderPressureDifDownLimit; //送粉压差下限 FloatData* m_SupplyPowderPressureDifValue; //送粉压差实际值 FloatData* m_FilterPressureDifUpLimit; //滤芯压差上限 FloatData* m_FilterPressureDifDownLimit; //滤芯压差下限 FloatData* m_FilterPressureDifValue; //滤压差实际值 FloatData* m_SupplyPowderBlockPressureValue; //送粉堵塞压力值 FloatData* m_FilterBlockPressureValue; //滤芯堵塞压力值 FloatData* m_SupplyPowderBlockWarnValue; //送粉堵塞预警值 UShortData* m_SupplyBlockStopMinute; //送粉堵塞停止时间 UcharData* m_FanWorkTiming; //运行风机计时 UcharData* m_FanCoolTime; //风机冷却时间 UcharData* m_FanWorkStopTime; UShortData* m_BlowbackTimes; //反吹次数 FloatData* m_BlowbackValveOpenTime; //反吹阀打开时间 FloatData* m_PocketAerateTime; //气包充气时间 FloatData* m_WorkFanStopDelayTime; //运行风机停止延时 FloatData* m_DropPowderValveOpenKeepTime; //加粉下粉阀打开保持时间 FloatData* m_AddPowderUpLimitSenseTime; //加粉上限感应时间 BoolData* m_BlowbackActive; //反吹启动 FloatData* m_SupplyBlockPreProcValue; FloatData* m_PowerCarNoPowderValue; FloatData* m_SupplyReleasePressureValue; FloatData* m_SupplyStopReleasePressureValue; FloatData* m_InverterFreqSetValue; FloatData* m_DropPowderNeedDeoxygenValue; FloatData* m_DropPowderDeoxygenTargetValue; FloatData* m_SupplyDifPressureWarnValue; char m_endFlag; }; #pragma pack() class PowderSupplySimpleClient :public S7Client { public: PowderSupplySimpleClient(CommunicationCfg* pconfig); virtual ~PowderSupplySimpleClient(); void GetStat(PowderSupplySimpleStat& stat); //virtual void DrawUI(bool* isshow); virtual void SetDeoxygenActive(bool enable); virtual void SetSupplyEnable(bool enable); void SetPCCtrlSupply(bool enable); void SetReactiveMetals(bool enable); virtual void SetMachineDeoxygenTarge(float fvalue); virtual void SetMachineOxygenAlarm(float fvalue); void SetPowderValveOpenTime(unsigned short value); void SetPowderValveCloseTime(unsigned short value); void SetAirHammerOpenTime(unsigned short value); void SetAirHammerCloseTime(unsigned short value); void SetSupplyBlockStopMinute(unsigned short value); void SetFanWorkTiming(unsigned char value); void SetFanCoolTime(unsigned char value); void SetFanWorkStopTime(unsigned char value); virtual void SetOpenDropPowderValve(bool enable); void SetStartHammer(bool enable); void SetStartNewPowderDorpFreq(bool enable); void RequestSupplyStart(); virtual void RequestSupplyStop(); virtual void RequestStart() { if (!m_ClientState.m_RequestDropPowder) { RequestSupplyStart(); Sleep(500); } if (!m_ClientState.m_RequestSupplyPowder) { SetSupplyEnable(true); Sleep(500); } } void AutoSupply(); bool IsAutoSuppling(); void StopAutoSupply(); protected: virtual void InitCommand(); void SetBit(int dindex, bool flag); void SetDBFloat(int dindex, float fvalue); void SetDBWord(int dindex, unsigned short fvalue); void SetDBByte(int dindex, unsigned char fvalue); static void ProcSetPressureValue(void *pobject, Command* pcommand); static DWORD WINAPI AutoSupplyProc(PowderSupplySimpleClient* _this); void AutoSupplyRun(); bool IsPowderEnough(); private: static void ProcReadInfo(void *pobject, Command* pcommand); protected: HANDLE m_AutoSupplyThread; bool m_AutoSupplyFlag; unsigned char* m_PressureWriteValue; PowderSupplySimpleStat m_ClientState; RunCfg* m_RunCfg; ExtCfg* m_ExtCfg; PowderSupplySimpleAssist m_ShowAssist; IOCfgWrapper* m_IOCfgWrapper; PowderEstimateCfg* m_PowderEstimateCfg; uint64_t m_InfoTick; private: static const unsigned int READ_ITEM_COUNT = 3; }; class PowderSupplySimpleClient2 :public PowderSupplySimpleClient { public: PowderSupplySimpleClient2(CommunicationCfg* pconfig) :PowderSupplySimpleClient(pconfig) {} ~PowderSupplySimpleClient2() { } void InitCommand(); //void DrawUI(bool* isshow); void SetStartDorpPowderPressureCompensateEnable(bool enable); void SetOxygenSensorUpLimit(float fvalue); void SetSupplyPowderPressureDifUpLimit(float fvalue); void SetSupplyPowderPressureDifDownLimit(float fvalue); void SetFilterPressureDifUpLimit(float fvalue); void SetFilterPressureDifDownLimit(float fvalue); void SetSupplyPowderBlockPressureValue(float fvalue); void SetFilterBlockPressureValue(float fvalue); void SetSupplyPowderBlockWarnValue(float fvalue); void SetBlowbackTimes(unsigned short svalue); void SetBlowbackValveOpenTime(unsigned short svalue); void SetPocketAerateTime(unsigned short svalue); void SetWorkFanStopDelayTime(unsigned short svalue); void SetDropPowderValveOpenKeepTime(unsigned short svalue); void SetAddPowderUpLimitSenseTime(unsigned short svalue); private: static void ProcReadInfo(void *pobject, Command* pcommand); private: static const unsigned int READ_ITEM_COUNT = 4; }; class PowderSupplySimpleClient3 :public PowderSupplySimpleClient { public: PowderSupplySimpleClient3(CommunicationCfg* pconfig) :PowderSupplySimpleClient(pconfig) {} ~PowderSupplySimpleClient3() { } void InitCommand(); //void DrawUI(bool* isshow); void SetDeoxygenActive(bool enable); void SetSupplyEnable(bool enable); void SetBlowbackActive(bool enable); void SetOpenDropPowderValve(bool enable); void SetSupplyBlockPreProcValue(float fvalue); void SetPowerCarNoPowderValue(float fvalue); void SetMachineDeoxygenTarge(float fvalue); void SetMachineOxygenAlarm(float fvalue); void SetSupplyReleasePressureValue(float fvalue); void SetSupplyStopReleasePressureValue(float fvalue); void SetInverterFreqSetValue(float fvalue); void SetDropPowderNeedDeoxygenValue(float fvalue); void SetDropPowderDeoxygenTargetValue(float fvalue); void SetSupplyDifPressureWarnValue(float fvalue); void ResetAlarm(); void RequestStart(); void RequestSupplyStop(); private: static void ProcReadInfo(void *pobject, Command* pcommand); private: static const unsigned int READ_ITEM_COUNT = 6; };