GrpcPrint/PrintS/Communication/PowderSupplySimpleClient.h
2024-05-11 17:43:38 +08:00

592 lines
29 KiB
C++

#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;
};