#include "RunCfg.h" #include "BaseConfig.h" RunCfg::RunCfg() : m_IsDebugMode(new BoolData("IsDebugMode", u8"是否调试模式")) , m_TargeOxygen(new FloatData("TargeOxygen", u8"目标氧", 1000.0f)) , m_WarnOxygen(new FloatData("WarnOxygen", u8"预警氧", 2000.0f)) , m_AlarmOxygen(new FloatData("AlarmOxygen", u8"报警氧", 3000.0f)) , m_StartCycleOxygen(new FloatData("StartCycleOxygen", u8"循环开启时氧含量值", 4000.0f)) , m_DangerousOxygen(new FloatData("DangerousOxygen", u8"氧含量危险提示值", 8000.0f)) , m_AlarmTemperture(new FloatData("AlarmTemperture", u8"舱内温度", 75.0f)) , m_AlarmTempertureMin(new FloatData("AlarmTempertureMin",u8"", 7.5f)) , m_AlarmTempertureMax(new FloatData("AlarmTempertureMax", u8"", 175.0f)) , m_AlarmWaterTempDown(new FloatData("AlarmWaterTempDown", u8"水温下限", 5.0f)) , m_AlarmWaterTempDownMin(new FloatData("AlarmWaterTempDownMin", u8"水温下限", 0.5f)) , m_AlarmWaterTempDownMax(new FloatData("AlarmWaterTempDownMax", u8"水温下限", 50.0f)) , m_AlarmWaterTempUp(new FloatData("AlarmWaterTempUp", u8"水温上限", 50.0f)) , m_AlarmWaterTempUpMin(new FloatData("AlarmWaterTempUpMin", u8"水温上限最小值", 5.0f)) , m_AlarmWaterTempUpMax(new FloatData("AlarmWaterTempUpMax", u8"水温上限最大值", 100.0f)) , m_LogPersistInteval(new UIntData("LogPersistInteval", u8"日志间隔记录", 10000)) , m_StatisticsInteval(new UIntData("StatisticsInteval", u8"系统统计间隔", 10000)) , m_OffsetRotateEnable(new BoolData("OffsetRotateEnable", u8"", true)) , m_StableWindStep(new FloatData("StableWindStep", u8"风稳电压步进值", 0.05f)) , m_SSRTimeLimit(new UIntData("SSRTimeLimit", u8"基板加热输入输出不同步时间 ms", 300)) , m_SSRTimeLimitMin(new UIntData("SSRTimeLimitMin", u8"", 100)) , m_SSRTimeLimitMax(new UIntData("SSRTimeLimitMax", u8"", 3000)) , m_HeatingDeleyDisableMinute(new UIntData("HeatingDeleyDisableMinute", u8"加热延迟关闭")) , m_HighOxygenHeatingTemp(new FloatData("HighOxygenHeatingTemp", u8"", 40.0f)) , m_LowOxygenHeatingTemp(new FloatData("LowOxygenHeatingTemp", u8"", 80.0f)) , m_UseHeatingMotion(new BoolData("UseHeatingMotion")) , m_HeatingMotionPeriodSecond(new UIntData("HeatingMotionPeriodSecond", u8"", 10)) , m_HeatingMotionDistance(new DoubleData("HeatingMotionDistance", u8"", 500.0)) , m_FanVoltageOverLimit(new FloatData("FanVoltageOverLimit", u8"风机电压越限", 9.0)) , m_IsAutoReleasePressureWhenFinish(new BoolData("IsAutoReleasePressureWhenFinish", u8"打印完成后是否自动泄压")) , m_ReleasePressureSeconds(new UIntData("ReleasePressureSeconds", u8"泄压秒数", 120)) , m_ReleasePressureTargeValue(new FloatData("ReleasePressureTargeValue", u8"泄压目标值", 0.5f)) , m_PrintRestEnable(new BoolData("PrintRestEnable", u8"打印停歇")) , m_PrintContinueMinute(new UIntData("PrintContinueMinute", u8"持续打印分钟", 120)) , m_PrintRestMinutes(new UIntData("PrintRestMinutes", u8"停歇分钟", 30)) , m_BlowbackNotifyTimeout(new UIntData("BlowbackNotifyTimeout", u8"反吹提示超时设置", 120)) , m_BlowbackTimeoutExecute(new BoolData("BlowbackTimeoutExecute", u8"超时后强制执行",true)) , m_DownSkinStopTimes(new UIntData("DownSkinStopTimes", u8"下表面停止次数")) , m_TimePowerCompensateEnable(new BoolData("TimePowerCompensateEnable")) , m_IsPreparePrint(new BoolData("IsPreparePrint", u8"预打印")) , m_PrepareParamType(new IntData("PrepareParamType",u8"", RunCfg::Default)) , m_WarnAlarmNotifySecond(new UIntData("WarnAlarmNotifySecond",u8"", 20)) , m_HadSetBasePlatformPoint(new BoolData("HadSetBasePlatformPoint")) , m_PowderAlarmPos(new IntData("PowderAlarmPos", u8"供粉不足报警位")) , m_VoltageAlarmOffset(new FloatData("VoltageAlarmOffset", u8"电源电压报警偏差", 10.0f)) , m_ScannerPowerLogTick(new UIntData("ScannerPowerLogTick", u8"",500)) , m_ScannerPowerLogCount(new UIntData("ScannerPowerLogCount", u8"",50)) , m_ScannerVoltageMinLimit(new FloatData("ScannerVoltageMinLimit", u8"振镜电压下限", 28.0f)) , m_ScannerVoltageMaxLimit(new FloatData("ScannerVoltageMaxLimit", u8"振镜电压上限", 32.0f)) , m_PrintAutoRenewalGas(new BoolData("PrintAutoRenewalGas", u8"打印自动换气")) , m_MoldDeoxygenEnable(new BoolData("MoldDeoxygenEnable", u8"启用升降除氧", true)) , m_AddPowderWarnPos(new FloatData("AddPowderWarnPos", u8"加粉预警位", 20.0f)) , m_PowderStickLowLevelAlarmPos(new FloatData("PowderStickLowLevelAlarmPos", u8"加粉低位报警位", 5.0f)) , m_UseCoverWindSignal(new BoolData("UseCoverWindSignal", u8"")) , m_MoldServoPosWarnOffset(new UIntData("MoldServoPosWarnOffset", u8"升降伺服位置警示值", 300)) , m_LayerLinearPosAlarmOffset(new UIntData("LayerLinearPosAlarmOffset", u8"层光栅位置偏差报警值",3)) , m_PrintLinearAccDevAlarmOffset(new UIntData("PrintLinearAccDevAlarmOffset", u8"打印光栅累积误差报警值",100)) , m_UseLinearJudgePos(new BoolData("UseLinearJudgePos", u8"")) , m_CoverSimulateTimeOffset(new DoubleData("CoverSimulateTimeOffset", u8"", 5000.0)) , m_CoverWindSimulateTimeOffset(new DoubleData("CoverWindSimulateTimeOffset", u8"", 10000.0)) , m_LogDebugInfo(new BoolData("LogDebugInfo", u8"")) , m_AutoShutdownPower(new BoolData("AutoShutdownPower", u8"")) , m_FilterOxygenAlarmValue(new FloatData("FilterOxygenAlarmValue", u8"", 0.5f)) , m_FanFreqLowLimit(new FloatData("FanFreqLowLimit", u8"", 5.0f)) , m_PrintLayerDelay(new UIntData("PrintLayerDelay", u8"")) , m_CoverLayerDelay(new UIntData("CoverLayerDelay", u8"")) , m_SmartCoverEnable(new BoolData("SmartCoverEnable", u8"")) , m_PowderStickCalcLength(new FloatData("PowderStickCalcLength", u8"", 400)) , m_FanFreqWarnValue(new FloatData("FanFreqWarnValue", u8"", 50.0f)) , m_FanFreqAlarmValue(new FloatData("FanFreqAlarmValue", u8"", 58.0f)) , m_FanFreqAlarmProcMaxTimes(new UIntData("FanFreqAlarmProcMaxTimes", u8"", 3)) , m_BlowBackNotifyBeforePrint(new BoolData("BlowBackNotifyBeforePrint", u8"打印前反吹提示")) , m_BlowBackNotifyAfterPrint(new BoolData("BlowBackNotifyAfterPrint", u8"大印后反吹提示")) , m_DedustWaitTimeEnable(new BoolData("DedustWaitTimeEnable", u8"")) , m_DedustWaitSecond(new UIntData("DedustWaitSecond", u8"", 60)) , m_PurifierFilterNotifyHour(new IntData("PurifierFilterNotifyHour", u8"", 1000)) , m_RTC6ReconnectTimeout(new IntData("RTC6ReconnectTimeout", u8"", 10000)) , m_AlarmHumidityValue(new FloatData("AlarmHumidityValue", u8"", 70.0f)) , m_PurifierDisconnectAlarmJudgeSecond(new UIntData("PurifierDisconnectAlarmJudgeSecond", u8"", 20)) , m_PurifierKeepAliveAlarmJudgeSecond(new UIntData("PurifierKeepAliveAlarmJudgeSecond", u8"",20)) , m_OxygenSensorDisconnectAlarmJudgeSecond(new UIntData("OxygenSensorDisconnectAlarmJudgeSecond", u8"",20)) , m_HeatingDisconnectAlarmJudgeSecond(new UIntData("HeatingDisconnectAlarmJudgeSecond", u8"",20)) , m_ChillerDisconnectAlarmJudgeSecond(new UIntData("ChillerDisconnectAlarmJudgeSecond", u8"",20)) { size_t ptrSize = sizeof(nullptr); //指针大小 void* startPtr = &m_startFlag + 1; size_t count = ((size_t)&m_endFlag - (size_t)startPtr) / ptrSize; InsertMp(startPtr, count); /*m_IsDebugMode = false; m_TargeOxygen = 1000.0f; m_WarnOxygen = 2000.0f; m_AlarmOxygen = 3000.0f; m_StartCycleOxygen = 4000.0f; m_DangerousOxygen = 8000.0f; m_AlarmTemperture = 75.0f; m_AlarmTempertureMin = 7.5f; m_AlarmTempertureMax = 175.0f; m_AlarmWaterTempDown = 5.0f; m_AlarmWaterTempDownMin = 0.5f; m_AlarmWaterTempDownMax = 50.0f; m_AlarmWaterTempUp = 50.0f; m_AlarmWaterTempUpMin = 5.0f; m_AlarmWaterTempUpMax = 100.0f; m_LogPersistInteval = 10000; m_StatisticsInteval = 10000; m_OffsetRotateEnable = true; m_StableWindStep = 0.05f; m_SSRTimeLimit = 300; m_SSRTimeLimitMin = 100; m_SSRTimeLimitMax = 3000; m_HeatingDeleyDisableMinute = 0; m_HighOxygenHeatingTemp = 40.0f; m_LowOxygenHeatingTemp = 80.0f; m_UseHeatingMotion = false; m_HeatingMotionPeriodSecond = 10; m_HeatingMotionDistance = 500.0; m_FanVoltageOverLimit = 9.0; m_IsAutoReleasePressureWhenFinish = false; m_ReleasePressureSeconds = 120; m_ReleasePressureTargeValue = 0.5f; m_PrintRestEnable = false; m_PrintContinueMinute = 120; m_PrintRestMinutes = 30; m_BlowbackNotifyTimeout = 120; m_BlowbackTimeoutExecute = true; m_DownSkinStopTimes = 0; m_TimePowerCompensateEnable = false; m_IsPreparePrint = false; m_PrepareParamType = RunCfg::Default; m_WarnAlarmNotifySecond = 20; m_HadSetBasePlatformPoint = false; m_PowderAlarmPos = 0; m_VoltageAlarmOffset = 10.0f; m_ScannerPowerLogTick = 500; m_ScannerPowerLogCount = 50; m_ScannerVoltageMinLimit = 28.0f; m_ScannerVoltageMaxLimit = 32.0f; m_PrintAutoRenewalGas = false; m_MoldDeoxygenEnable = true; m_AddPowderWarnPos = 20.0f; m_PowderStickLowLevelAlarmPos = 5.0f; m_UseCoverWindSignal = false; m_MoldServoPosWarnOffset = 300; m_LayerLinearPosAlarmOffset = 3; m_PrintLinearAccDevAlarmOffset = 100; m_CoverSimulateTimeOffset = 5000.0; m_CoverWindSimulateTimeOffset = 10000.0; m_LogDebugInfo = false; m_AutoShutdownPower = false; m_FilterOxygenAlarmValue = 0.5f; m_FanFreqLowLimit = 5.0f; m_PrintLayerDelay = 0; m_CoverLayerDelay = 0; m_SmartCoverEnable = false; m_PowderStickCalcLength = 400; m_FanFreqWarnValue = 50.0f; m_FanFreqAlarmValue = 58.0f; m_FanFreqAlarmProcMaxTimes = 3; m_BlowBackNotifyBeforePrint = false; m_BlowBackNotifyAfterPrint = false; m_DedustWaitTimeEnable = false; m_DedustWaitSecond = 60; m_PurifierFilterNotifyHour = 1000; m_RTC6ReconnectTimeout = 10000; m_AlarmHumidityValue = 70.0f; m_PurifierDisconnectAlarmJudgeSecond = 20; m_PurifierKeepAliveAlarmJudgeSecond = 20; m_OxygenSensorDisconnectAlarmJudgeSecond = 20; m_HeatingDisconnectAlarmJudgeSecond = 20; m_ChillerDisconnectAlarmJudgeSecond = 20;*/ //InitializeCriticalSection(&m_CS); } RunCfg::~RunCfg() { //DeleteCriticalSection(&m_CS); } void RunCfg::GetUpdateSql(vector& ups) { char buffer[512]; sprintf_s(buffer, sizeof(buffer), "UPDATE %s set %s=", BaseConfig::TABLE_NAME.c_str(), BaseConfig::FIELD_CONFIG_VALUE.c_str() ); string strhead(buffer); sprintf_s(buffer, sizeof(buffer), " WHERE %s='%s' AND %s=", BaseConfig::FIELD_CONFIG_NAME.c_str(), CONFIG_NAME.c_str(), BaseConfig::FIELD_CONFIG_CODE.c_str() ); string strtail(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_IsDebugMode->GetValue() ? 1 : 0).c_str(), strtail.c_str(), FIELD_IS_DEBUG_MODE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_TargeOxygen->GetValue()).c_str(), strtail.c_str(), FIELD_TARGE_OXYGEN.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_WarnOxygen->GetValue()).c_str(), strtail.c_str(), FIELD_WARN_OXYGEN.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_AlarmOxygen->GetValue()).c_str(), strtail.c_str(), FIELD_ALARM_OXYGEN.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_DangerousOxygen->GetValue()).c_str(), strtail.c_str(), FIELD_DANGEROUS_OXYGEN.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_AlarmTemperture->GetValue()).c_str(), strtail.c_str(), FIELD_ALARM_TEMPERTURE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_AlarmWaterTempDown->GetValue()).c_str(), strtail.c_str(), FIELD_ALARM_WATER_TEMP_DOWN.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_AlarmWaterTempUp->GetValue()).c_str(), strtail.c_str(), FIELD_ALARM_WATER_TEMP_UP.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_StartCycleOxygen->GetValue()).c_str(), strtail.c_str(), FIELD_START_CYCLE_OXYGEN.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_LogPersistInteval->GetValue()).c_str(), strtail.c_str(), FIELD_LOG_PERSIST_INTEVAL.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_StatisticsInteval->GetValue()).c_str(), strtail.c_str(), FIELD_STATISTICS_INTEVAL.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_StableWindStep->GetValue()).c_str(), strtail.c_str(), FIELD_STABLE_WIND_STEP.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_SSRTimeLimit->GetValue()).c_str(), strtail.c_str(), FIELD_SSR_TIME_LIMIT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_HeatingDeleyDisableMinute->GetValue()).c_str(), strtail.c_str(), FIELD_HEATING_DELAY_DISABLE_MINUTE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_HighOxygenHeatingTemp->GetValue()).c_str(), strtail.c_str(), FIELD_HIGH_OXYGEN_HEATING_TEMP.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_LowOxygenHeatingTemp->GetValue()).c_str(), strtail.c_str(), FIELD_LOW_OXYGEN_HEATING_TEMP.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_UseHeatingMotion->GetValue() ? "1" : "0", strtail.c_str(), FIELD_USE_HEATING_MOTION.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_HeatingMotionPeriodSecond->GetValue()).c_str(), strtail.c_str(), FIELD_HEATING_MOTION_PERIOD_SECOND.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_HeatingMotionDistance->GetValue()).c_str(), strtail.c_str(), FIELD_HEATING_MOTION_DISTANCE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_FanVoltageOverLimit->GetValue()).c_str(), strtail.c_str(), FIELD_FAN_VOLTAGE_OVER_LIMIT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_IsAutoReleasePressureWhenFinish->GetValue() ? "1" : "0", strtail.c_str(), FIELD_IS_AUTO_RELEASE_PRESSURE_WHEN_FINISH.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ReleasePressureSeconds->GetValue()).c_str(), strtail.c_str(), FIELD_RELEASE_PRESSURE_SECONDS.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ReleasePressureTargeValue->GetValue()).c_str(), strtail.c_str(), FIELD_RELEASE_PRESSURE_TARGE_VALUE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_PrintRestEnable->GetValue() ? "1" : "0", strtail.c_str(), FIELD_PRINT_REST_ENABLE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PrintContinueMinute->GetValue()).c_str(), strtail.c_str(), FIELD_PRINT_CONTINUE_MINUTES.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PrintRestMinutes->GetValue()).c_str(), strtail.c_str(), FIELD_PRINT_REST_MINUTES.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_BlowbackNotifyTimeout->GetValue()).c_str(), strtail.c_str(), FIELD_BLOW_BACK_NOTIFY_TIMEOUT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_BlowbackTimeoutExecute->GetValue() ? "1" : "0", strtail.c_str(), FIELD_BLOW_BACK_TIMEOUT_EXECUTE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_DownSkinStopTimes->GetValue()).c_str(), strtail.c_str(), FIELD_DOWM_SKIN_STOP_TIMES.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_TimePowerCompensateEnable->GetValue() ? "1" : "0", strtail.c_str(), FIELD_TIME_POWER_COMPENSATE_ENABLE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_IsPreparePrint->GetValue() ? "1" : "0", strtail.c_str(), FIELD_IS_PREPARE_PRINT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PrepareParamType->GetValue()).c_str(), strtail.c_str(), FIELD_PREPARE_PARAM_TYPE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_WarnAlarmNotifySecond->GetValue()).c_str(), strtail.c_str(), FIELD_WARN_ALARM_NOTIFY_SECOND.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PowderAlarmPos->GetValue()).c_str(), strtail.c_str(), FIELD_POWDER_ALARM_POS.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_VoltageAlarmOffset->GetValue()).c_str(), strtail.c_str(), FIELD_VOLTAGE_ALARM_OFFSET.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ScannerPowerLogTick->GetValue()).c_str(), strtail.c_str(), FIELD_SCANNER_POWER_LOG_TICK.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ScannerPowerLogCount->GetValue()).c_str(), strtail.c_str(), FIELD_SCANNER_POWER_LOG_COUNT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ScannerVoltageMinLimit->GetValue()).c_str(), strtail.c_str(), FIELD_SCANNER_VOLTAGE_MIN_LIMIT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ScannerVoltageMaxLimit->GetValue()).c_str(), strtail.c_str(), FIELD_SCANNER_VOLTAGE_MAX_LIMIT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_PrintAutoRenewalGas->GetValue() ? "1" : "0", strtail.c_str(), FIELD_PRINT_AUTO_RENEWAL_GAS.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_MoldDeoxygenEnable->GetValue() ? "1" : "0", strtail.c_str(), FIELD_MOLD_DEOXYGEN_ENABLE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_AddPowderWarnPos->GetValue()).c_str(), strtail.c_str(), FIELD_ADD_POWDER_WARN_POS.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PowderStickLowLevelAlarmPos->GetValue()).c_str(), strtail.c_str(), FIELD_POWDER_STICK_LOW_LEVEL_ALARM_POS.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_UseCoverWindSignal->GetValue() ? "1" : "0", strtail.c_str(), FIELD_USE_COVER_WIND_SIGNAL.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_MoldServoPosWarnOffset->GetValue()).c_str(), strtail.c_str(), FIELD_MOLD_SERVO_POS_WARN_OFFSET.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_LayerLinearPosAlarmOffset->GetValue()).c_str(), strtail.c_str(), FIELD_LAYER_LINEAR_POS_ALARM_OFFSET.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_UseLinearJudgePos->GetValue() ? "1" : "0", strtail.c_str(), FIELD_USE_LINEAR_JUDGE_POS.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PrintLinearAccDevAlarmOffset->GetValue()).c_str(), strtail.c_str(), FIELD_PRINT_LINEAR_ACC_DEV_ALARM_OFFSET.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_CoverSimulateTimeOffset->GetValue()).c_str(), strtail.c_str(), FIELD_COVER_SIMULATE_TIME_OFFSET.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_CoverWindSimulateTimeOffset->GetValue()).c_str(), strtail.c_str(), FIELD_COVER_WIND_SIMULATE_TIME_OFFSET.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_LogDebugInfo->GetValue() ? "1" : "0", strtail.c_str(), FIELD_LOG_DEBUG_INFO.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_AutoShutdownPower->GetValue() ? "1" : "0", strtail.c_str(), FIELD_AUTO_SHUTDOWN_POWER.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_FilterOxygenAlarmValue->GetValue()).c_str(), strtail.c_str(), FIELD_FILTER_OXYGEN_ALARM_VALUE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_FanFreqLowLimit->GetValue()).c_str(), strtail.c_str(), FIELD_FAN_FREQ_LOW_LIMIT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PrintLayerDelay->GetValue()).c_str(), strtail.c_str(), FIELD_PRINT_LAYER_DELAY.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_CoverLayerDelay->GetValue()).c_str(), strtail.c_str(), FIELD_COVER_LAYER_DELAY.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_SmartCoverEnable->GetValue() ? "1" : "0", strtail.c_str(), FIELD_SMART_COVER_ENABLE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PowderStickCalcLength->GetValue()).c_str(), strtail.c_str(), FIELD_POWDER_STICK_CALC_LENGTH.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_FanFreqWarnValue->GetValue()).c_str(), strtail.c_str(), FIELD_FAN_FREQ_WARN_VALUE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_FanFreqAlarmValue->GetValue()).c_str(), strtail.c_str(), FIELD_FAN_FREQ_ALARM_VALUE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_FanFreqAlarmProcMaxTimes->GetValue()).c_str(), strtail.c_str(), FIELD_FAN_FREQ_ALARM_PROC_MAX_TIMES.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_BlowBackNotifyBeforePrint->GetValue() ? "1" : "0", strtail.c_str(), FIELD_BLOWBACK_NOTIFY_BEFORE_PRINT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_BlowBackNotifyAfterPrint->GetValue() ? "1" : "0", strtail.c_str(), FIELD_BLOWBACK_NOTIFY_AFTER_PRINT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_DedustWaitTimeEnable->GetValue() ? "1" : "0", strtail.c_str(), FIELD_DEDUST_WAIT_TIME_ENABLE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_DedustWaitSecond->GetValue()).c_str(), strtail.c_str(), FIELD_DEDUST_WAIT_SECOND.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PurifierFilterNotifyHour->GetValue()).c_str(), strtail.c_str(), FIELD_PURIFIER_FILTER_NOTIFY_HOUR.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_RTC6ReconnectTimeout->GetValue()).c_str(), strtail.c_str(), FIELD_RTC6_RECONNECT_TIMEOUT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_AlarmHumidityValue->GetValue()).c_str(), strtail.c_str(), FIELD_ALARM_HUMIDITY_VALUE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PurifierDisconnectAlarmJudgeSecond->GetValue()).c_str(), strtail.c_str(), FIELD_PURIFIER_DISCONNECT_ALARM_JUDGE_SECOND.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_PurifierKeepAliveAlarmJudgeSecond->GetValue()).c_str(), strtail.c_str(), FIELD_PURIFIER_KEEP_ALIVE_ALARM_JUDGE_SECOND.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_OxygenSensorDisconnectAlarmJudgeSecond->GetValue()).c_str(), strtail.c_str(), FIELD_OXYGEN_SENSOR_DISCONNECT_ALARM_JUDGE_SECOND.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_HeatingDisconnectAlarmJudgeSecond->GetValue()).c_str(), strtail.c_str(), FIELD_HEATING_DISCONNECT_ALARM_JUDGE_SECOND.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ChillerDisconnectAlarmJudgeSecond->GetValue()).c_str(), strtail.c_str(), FIELD_CHILLER_DISCONNECT_ALARM_JUDGE_SECOND.c_str()); ups.push_back(buffer); } const string RunCfg::CONFIG_NAME = "RunCfg"; const string RunCfg::FIELD_IS_DEBUG_MODE = "is_dubug_mode"; const string RunCfg::FIELD_TARGE_OXYGEN = "targe_oxygen"; const string RunCfg::FIELD_WARN_OXYGEN = "warn_oxygen"; const string RunCfg::FIELD_ALARM_OXYGEN = "alarm_oxygen"; const string RunCfg::FIELD_START_CYCLE_OXYGEN = "start_cycle_oxygen"; const string RunCfg::FIELD_DANGEROUS_OXYGEN = "dangerous_oxygen"; const string RunCfg::FIELD_ALARM_TEMPERTURE = "alarm_temperture"; const string RunCfg::FIELD_ALARM_TEMPERTURE_MIN = "alarm_temperture_min"; const string RunCfg::FIELD_ALARM_TEMPERTURE_MAX = "alarm_temperture_max"; const string RunCfg::FIELD_ALARM_WATER_TEMP_DOWN = "alarm_water_temp_down"; const string RunCfg::FIELD_ALARM_WATER_TEMP_DOWN_MIN = "alarm_water_temp_down_min"; const string RunCfg::FIELD_ALARM_WATER_TEMP_DOWN_MAX = "alarm_water_temp_down_max"; const string RunCfg::FIELD_ALARM_WATER_TEMP_UP = "alarm_water_temp_up"; const string RunCfg::FIELD_ALARM_WATER_TEMP_UP_MIN = "alarm_water_temp_up_min"; const string RunCfg::FIELD_ALARM_WATER_TEMP_UP_MAX = "alarm_water_temp_up_max"; const string RunCfg::FIELD_LOG_PERSIST_INTEVAL = "log_persist_inteval"; const string RunCfg::FIELD_STATISTICS_INTEVAL = "statistics_inteval"; const string RunCfg::FIELD_STABLE_WIND_STEP = "stable_wind_step"; const string RunCfg::FIELD_SSR_TIME_LIMIT = "SSRTimeLimit"; const string RunCfg::FIELD_SSR_TIME_LIMIT_MIN = "SSRTimeLimitMin"; const string RunCfg::FIELD_SSR_TIME_LIMIT_MAX = "SSRTimeLimitMax"; const string RunCfg::FIELD_HEATING_DELAY_DISABLE_MINUTE = "HeatingDelayDisableMinute"; const string RunCfg::FIELD_HIGH_OXYGEN_HEATING_TEMP = "HighOxygenHeatingTemp"; const string RunCfg::FIELD_LOW_OXYGEN_HEATING_TEMP = "LowOxygenHeatingTemp"; const string RunCfg::FIELD_USE_HEATING_MOTION = "UseHeatingMotion"; const string RunCfg::FIELD_HEATING_MOTION_PERIOD_SECOND = "HeatingMotionPeriodSecond"; const string RunCfg::FIELD_HEATING_MOTION_DISTANCE = "HeatingMotionDistance"; const string RunCfg::FIELD_FAN_VOLTAGE_OVER_LIMIT = "FanVoltageOverLimit"; const string RunCfg::FIELD_IS_AUTO_RELEASE_PRESSURE_WHEN_FINISH = "IsAutoReleasePressureWhenFinish"; const string RunCfg::FIELD_RELEASE_PRESSURE_SECONDS = "ReleasePressureSeconds"; const string RunCfg::FIELD_RELEASE_PRESSURE_TARGE_VALUE = "ReleasePressureTargeValue"; const string RunCfg::FIELD_PRINT_REST_ENABLE = "PrintRestEnable"; const string RunCfg::FIELD_PRINT_CONTINUE_MINUTES = "PrintContinueMinutes"; const string RunCfg::FIELD_PRINT_REST_MINUTES = "PrintRestMinutes"; const string RunCfg::FIELD_BLOW_BACK_NOTIFY_TIMEOUT = "BlowbackNotifyTimeout"; const string RunCfg::FIELD_BLOW_BACK_TIMEOUT_EXECUTE = "BlowbackTimeoutExecute"; const string RunCfg::FIELD_DOWM_SKIN_STOP_TIMES = "DownSkinStopTimes"; const string RunCfg::FIELD_TIME_POWER_COMPENSATE_ENABLE = "TimePowerCompensateEnable"; const string RunCfg::FIELD_IS_PREPARE_PRINT = "IsPreparePrint"; const string RunCfg::FIELD_PREPARE_PARAM_TYPE = "PreJobParamType"; const string RunCfg::FIELD_WARN_ALARM_NOTIFY_SECOND = "WarnAlarmNotifySecond"; const string RunCfg::FIELD_POWDER_ALARM_POS = "PowderAlarmPos"; const string RunCfg::FIELD_VOLTAGE_ALARM_OFFSET = "VoltageAlarmOffset"; const string RunCfg::FIELD_SCANNER_POWER_LOG_TICK = "ScannerPowerLogTick"; const string RunCfg::FIELD_SCANNER_POWER_LOG_COUNT = "ScannerPowerLogCount"; const string RunCfg::FIELD_SCANNER_VOLTAGE_MIN_LIMIT = "ScannerVoltageMinLimit"; const string RunCfg::FIELD_SCANNER_VOLTAGE_MAX_LIMIT = "ScannerVoltageMaxLimit"; const string RunCfg::FIELD_PRINT_AUTO_RENEWAL_GAS = "PrintAutoRenewalGas"; const string RunCfg::FIELD_MOLD_DEOXYGEN_ENABLE = "MoldDeoxygenEnable"; const string RunCfg::FIELD_ADD_POWDER_WARN_POS = "AddPowderWarnPos"; const string RunCfg::FIELD_POWDER_STICK_LOW_LEVEL_ALARM_POS = "PowderStickLowLevelAlarmPos"; const string RunCfg::FIELD_USE_COVER_WIND_SIGNAL = "UseCoverWindSignal"; const string RunCfg::FIELD_MOLD_SERVO_POS_WARN_OFFSET = "MoldServoPosWarnOffset"; const string RunCfg::FIELD_LAYER_LINEAR_POS_ALARM_OFFSET = "LayerLinearPosAlarmOffset"; const string RunCfg::FIELD_PRINT_LINEAR_ACC_DEV_ALARM_OFFSET = "PrintLinearAccDevAlarmOffset"; const string RunCfg::FIELD_USE_LINEAR_JUDGE_POS = "UseLinearJudgePos"; const string RunCfg::FIELD_COVER_SIMULATE_TIME_OFFSET = "CoverSimulateTimeOffset"; const string RunCfg::FIELD_COVER_WIND_SIMULATE_TIME_OFFSET = "CoverWindSimulateTimeOffset"; const string RunCfg::FIELD_LOG_DEBUG_INFO = "LogDebugInfo"; const string RunCfg::FIELD_AUTO_SHUTDOWN_POWER = "AutoShutdownPower"; const string RunCfg::FIELD_FILTER_OXYGEN_ALARM_VALUE = "FilterOxygenAlarmValue"; const string RunCfg::FIELD_FAN_FREQ_LOW_LIMIT = "FanFreqLowLimit"; const string RunCfg::FIELD_PRINT_LAYER_DELAY = "PrintLayerDelay"; const string RunCfg::FIELD_COVER_LAYER_DELAY = "CoverLayerDelay"; const string RunCfg::FIELD_SMART_COVER_ENABLE = "SmartCoverEnable"; const string RunCfg::FIELD_POWDER_STICK_CALC_LENGTH = "PowderStickCalcLength"; const string RunCfg::FIELD_FAN_FREQ_WARN_VALUE = "FanFreqWarnValue"; const string RunCfg::FIELD_FAN_FREQ_ALARM_VALUE = "FanFreqAlarmValue"; const string RunCfg::FIELD_FAN_FREQ_ALARM_PROC_MAX_TIMES = "FanFreqAlarmProcMaxTimes"; const string RunCfg::FIELD_BLOWBACK_NOTIFY_BEFORE_PRINT = "BlowbackNotifyBeforePrint"; const string RunCfg::FIELD_BLOWBACK_NOTIFY_AFTER_PRINT = "BlowbackNotifyAfterPrint"; const string RunCfg::FIELD_DEDUST_WAIT_TIME_ENABLE = "DedustWaitTimeEnable"; const string RunCfg::FIELD_DEDUST_WAIT_SECOND = "DedustWaitSecond"; const string RunCfg::FIELD_PURIFIER_FILTER_NOTIFY_HOUR = "PurifierFilterNotifyHour"; const string RunCfg::FIELD_RTC6_RECONNECT_TIMEOUT = "Rtc6ReconnectTimeout"; const string RunCfg::FIELD_ALARM_HUMIDITY_VALUE = "AlarmHumidityValue"; const string RunCfg::FIELD_PURIFIER_DISCONNECT_ALARM_JUDGE_SECOND = "PurifierDisconnectAlarmJudgeSecond"; const string RunCfg::FIELD_PURIFIER_KEEP_ALIVE_ALARM_JUDGE_SECOND = "PurifierKeepAliveAlarmJudgeSecond"; const string RunCfg::FIELD_OXYGEN_SENSOR_DISCONNECT_ALARM_JUDGE_SECOND = "OxygenSensorDisconnectAlarmJudgeSecond"; const string RunCfg::FIELD_HEATING_DISCONNECT_ALARM_JUDGE_SECOND = "HeatingDisconnectAlarmJudgeSecond"; const string RunCfg::FIELD_CHILLER_DISCONNECT_ALARM_JUDGE_SECOND = "ChillerDisconnectAlarmJudgeSecond";