#pragma once #include #include #include #include "../Controller/Base.h" using namespace std; #pragma pack(1) class RunCfg : public Base { public: enum PreJobParamType { Default = 0, Data }; RunCfg(); ~RunCfg(); //static void Generate(vector& ins); void GetUpdateSql(vector& ups); void SetOxygenTargeValue(float to) { //EnterCriticalSection(&m_CS); //m_TargeOxygen->SetValue(to); //LeaveCriticalSection(&m_CS); std::unique_lock lck(m_mtx); //写锁 m_TargeOxygen->SetValue(to); } float GetOxygenTargeValue() { //float fv = 0.0f; //EnterCriticalSection(&m_CS); //fv = m_TargeOxygen->GetValue(); //LeaveCriticalSection(&m_CS); //return fv; std::shared_lock lck(m_mtx); //读锁 return m_TargeOxygen->GetValue(); } void SetOxygenAlarmValue(float to) { //EnterCriticalSection(&m_CS); //m_AlarmOxygen->SetValue(to); //LeaveCriticalSection(&m_CS); std::unique_lock lck(m_mtx); //写锁 m_AlarmOxygen->SetValue(to); } void SetOxygenWarnValue(float to) { //EnterCriticalSection(&m_CS); //m_WarnOxygen->SetValue(to); //LeaveCriticalSection(&m_CS); std::unique_lock lck(m_mtx); //写锁 m_WarnOxygen->SetValue(to); } float GetOxygenAlarmValue() { std::shared_lock lck(m_mtx); //读锁 return m_AlarmOxygen->GetValue(); } float GetOxygenWarnValue() { std::shared_lock lck(m_mtx); //读锁 return m_WarnOxygen->GetValue(); } public: char m_startFlag; //开始标记 BoolData* m_IsDebugMode; FloatData* m_TargeOxygen; //目标氧 FloatData* m_WarnOxygen; //预警氧 FloatData* m_AlarmOxygen; //报警氧 FloatData* m_StartCycleOxygen; //循环开启时氧含量值 FloatData* m_DangerousOxygen; //氧含量危险提示值 FloatData* m_AlarmTemperture; //舱内温度 FloatData* m_AlarmTempertureMin; FloatData* m_AlarmTempertureMax; FloatData* m_AlarmWaterTempDown; //水温下限 FloatData* m_AlarmWaterTempDownMin; //水温下限 FloatData* m_AlarmWaterTempDownMax; //水温下限 FloatData* m_AlarmWaterTempUp; //水温上限 FloatData* m_AlarmWaterTempUpMin; //水温上限 FloatData* m_AlarmWaterTempUpMax; //水温上限 // FloatData* m_CheckWind; //外置风机 开始时循环风速检测 // FloatData* m_CheckWindMin; //开始时循环风速检测 // FloatData* m_CheckWindMax; //开始时循环风速检测 // FloatData* m_AlarmWindLowerLimit; //外置风机 低风报警 UIntData* m_LogPersistInteval; //日志记录间隔 UIntData* m_StatisticsInteval; //系统统计间隔 BoolData* m_OffsetRotateEnable; // FloatData* m_ArgonCheckWind; //目标风速 // FloatData* m_ArgonTargetWind; //目标风速 // FloatData* m_ArgonTargetWindMin; //目标风速 // FloatData* m_ArgonTargetWindMax; //目标风速 // FloatData* m_NitrogenCheckWind; //目标风速 // FloatData* m_NitrogenTargetWind; //目标风速 // FloatData* m_NitrogenTargetWindMin; //目标风速 // FloatData* m_NitrogenTargetWindMax; //目标风速 // FloatData* m_AlarmArgonWindLowerLimit; //风速下限 // FloatData* m_AlarmNitrogenWindLowerLimit; //风速下限 FloatData* m_StableWindStep; //风稳电压步进值 UIntData* m_SSRTimeLimit; //基板加热输入输出不同步时间 ms UIntData* m_SSRTimeLimitMin; UIntData* m_SSRTimeLimitMax; UIntData* m_HeatingDeleyDisableMinute; //加热延迟关闭 FloatData* m_HighOxygenHeatingTemp; FloatData* m_LowOxygenHeatingTemp; BoolData* m_UseHeatingMotion; UIntData* m_HeatingMotionPeriodSecond; DoubleData* m_HeatingMotionDistance; FloatData* m_FanVoltageOverLimit; //风机电压越限 BoolData* m_IsAutoReleasePressureWhenFinish; //打印完成后是否自动泄压 UIntData* m_ReleasePressureSeconds; //泄压秒数 FloatData* m_ReleasePressureTargeValue; //泄压目标值 BoolData* m_PrintRestEnable; //打印停歇 UIntData* m_PrintContinueMinute; //持续打印分钟 UIntData* m_PrintRestMinutes; //停歇分钟 UIntData* m_BlowbackNotifyTimeout; //反吹提示超时设置 BoolData* m_BlowbackTimeoutExecute; //超时后强制执行 UIntData* m_DownSkinStopTimes; //下表面停止次数 BoolData* m_TimePowerCompensateEnable; BoolData* m_IsPreparePrint; //预打印 IntData* m_PrepareParamType; UIntData* m_WarnAlarmNotifySecond; BoolData* m_HadSetBasePlatformPoint; IntData* m_PowderAlarmPos; //供粉不足报警位 FloatData* m_VoltageAlarmOffset; //电源电压报警偏差 UIntData* m_ScannerPowerLogTick; UIntData* m_ScannerPowerLogCount; FloatData* m_ScannerVoltageMinLimit; //振镜电压下限 FloatData* m_ScannerVoltageMaxLimit; //振镜电压上限 BoolData* m_PrintAutoRenewalGas; //打印自动换气 BoolData* m_MoldDeoxygenEnable; //启用升降除氧 FloatData* m_AddPowderWarnPos; //加粉预警位 FloatData* m_PowderStickLowLevelAlarmPos; //加粉低位报警位 BoolData* m_UseCoverWindSignal; UIntData* m_MoldServoPosWarnOffset; //升降伺服位置警示值 UIntData* m_LayerLinearPosAlarmOffset; //层光栅位置偏差报警值 UIntData* m_PrintLinearAccDevAlarmOffset; //打印光栅累积误差报警值 BoolData* m_UseLinearJudgePos; DoubleData* m_CoverSimulateTimeOffset; DoubleData* m_CoverWindSimulateTimeOffset; BoolData* m_LogDebugInfo; BoolData* m_AutoShutdownPower; FloatData* m_FilterOxygenAlarmValue; FloatData* m_FanFreqLowLimit; UIntData* m_PrintLayerDelay; UIntData* m_CoverLayerDelay; BoolData* m_SmartCoverEnable; FloatData* m_PowderStickCalcLength; FloatData* m_FanFreqWarnValue; FloatData* m_FanFreqAlarmValue; UIntData* m_FanFreqAlarmProcMaxTimes; BoolData* m_BlowBackNotifyBeforePrint; //打印前反吹提示 BoolData* m_BlowBackNotifyAfterPrint; //大印后反吹提示 BoolData* m_DedustWaitTimeEnable; UIntData* m_DedustWaitSecond; // IntData* m_PurifierFilterNotifyHour; IntData* m_RTC6ReconnectTimeout; FloatData* m_AlarmHumidityValue; UIntData* m_PurifierDisconnectAlarmJudgeSecond; UIntData* m_PurifierKeepAliveAlarmJudgeSecond; UIntData* m_OxygenSensorDisconnectAlarmJudgeSecond; UIntData* m_HeatingDisconnectAlarmJudgeSecond; UIntData* m_ChillerDisconnectAlarmJudgeSecond; char m_endFlag; //结束标记 public: static const string CONFIG_NAME; static const string FIELD_IS_DEBUG_MODE; static const string FIELD_TARGE_OXYGEN; static const string FIELD_WARN_OXYGEN; static const string FIELD_ALARM_OXYGEN; static const string FIELD_DANGEROUS_OXYGEN; static const string FIELD_ALARM_TEMPERTURE; static const string FIELD_ALARM_TEMPERTURE_MIN; static const string FIELD_ALARM_TEMPERTURE_MAX; static const string FIELD_ALARM_WATER_TEMP_DOWN; static const string FIELD_ALARM_WATER_TEMP_DOWN_MIN; static const string FIELD_ALARM_WATER_TEMP_DOWN_MAX; static const string FIELD_ALARM_WATER_TEMP_UP; static const string FIELD_ALARM_WATER_TEMP_UP_MIN; static const string FIELD_ALARM_WATER_TEMP_UP_MAX; // static const string FIELD_CHECK_WIND; // static const string FIELD_CHECK_WIND_MIN; // static const string FIELD_CHECK_WIND_MAX; static const string FIELD_START_CYCLE_OXYGEN; static const string FIELD_LOG_PERSIST_INTEVAL; static const string FIELD_STATISTICS_INTEVAL; static const string FIELD_STABLE_WIND_STEP; // static const string FIELD_WIND_LOWER_LIMIT; static const string FIELD_SSR_TIME_LIMIT; static const string FIELD_SSR_TIME_LIMIT_MIN; static const string FIELD_SSR_TIME_LIMIT_MAX; static const string FIELD_HEATING_DELAY_DISABLE_MINUTE; static const string FIELD_HIGH_OXYGEN_HEATING_TEMP; static const string FIELD_LOW_OXYGEN_HEATING_TEMP; static const string FIELD_USE_HEATING_MOTION; static const string FIELD_HEATING_MOTION_PERIOD_SECOND; static const string FIELD_HEATING_MOTION_DISTANCE; static const string FIELD_FAN_VOLTAGE_OVER_LIMIT; static const string FIELD_IS_AUTO_RELEASE_PRESSURE_WHEN_FINISH; static const string FIELD_RELEASE_PRESSURE_SECONDS; static const string FIELD_RELEASE_PRESSURE_TARGE_VALUE; static const string FIELD_PRINT_REST_ENABLE; static const string FIELD_PRINT_CONTINUE_MINUTES; static const string FIELD_PRINT_REST_MINUTES; static const string FIELD_BLOW_BACK_NOTIFY_TIMEOUT; static const string FIELD_BLOW_BACK_TIMEOUT_EXECUTE; static const string FIELD_DOWM_SKIN_STOP_TIMES; static const string FIELD_TIME_POWER_COMPENSATE_ENABLE; static const string FIELD_IS_PREPARE_PRINT; static const string FIELD_PREPARE_PARAM_TYPE; static const string FIELD_WARN_ALARM_NOTIFY_SECOND; static const string FIELD_POWDER_ALARM_POS; static const string FIELD_VOLTAGE_ALARM_OFFSET; static const string FIELD_SCANNER_POWER_LOG_TICK; static const string FIELD_SCANNER_POWER_LOG_COUNT; static const string FIELD_SCANNER_VOLTAGE_MIN_LIMIT; static const string FIELD_SCANNER_VOLTAGE_MAX_LIMIT; static const string FIELD_PRINT_AUTO_RENEWAL_GAS; static const string FIELD_MOLD_DEOXYGEN_ENABLE; static const string FIELD_ADD_POWDER_WARN_POS; static const string FIELD_POWDER_STICK_LOW_LEVEL_ALARM_POS; static const string FIELD_USE_COVER_WIND_SIGNAL; static const string FIELD_MOLD_SERVO_POS_WARN_OFFSET; static const string FIELD_LAYER_LINEAR_POS_ALARM_OFFSET; static const string FIELD_PRINT_LINEAR_ACC_DEV_ALARM_OFFSET; static const string FIELD_USE_LINEAR_JUDGE_POS; static const string FIELD_COVER_SIMULATE_TIME_OFFSET; static const string FIELD_COVER_WIND_SIMULATE_TIME_OFFSET; static const string FIELD_LOG_DEBUG_INFO; static const string FIELD_AUTO_SHUTDOWN_POWER; static const string FIELD_FILTER_OXYGEN_ALARM_VALUE; static const string FIELD_FAN_FREQ_LOW_LIMIT; static const string FIELD_PRINT_LAYER_DELAY; static const string FIELD_COVER_LAYER_DELAY; static const string FIELD_SMART_COVER_ENABLE; static const string FIELD_POWDER_STICK_CALC_LENGTH; static const string FIELD_FAN_FREQ_WARN_VALUE; static const string FIELD_FAN_FREQ_ALARM_VALUE; static const string FIELD_FAN_FREQ_ALARM_PROC_MAX_TIMES; static const string FIELD_BLOWBACK_NOTIFY_BEFORE_PRINT; static const string FIELD_BLOWBACK_NOTIFY_AFTER_PRINT; static const string FIELD_DEDUST_WAIT_TIME_ENABLE; static const string FIELD_DEDUST_WAIT_SECOND; static const string FIELD_PURIFIER_FILTER_NOTIFY_HOUR; static const string FIELD_RTC6_RECONNECT_TIMEOUT; static const string FIELD_ALARM_HUMIDITY_VALUE; static const string FIELD_PURIFIER_DISCONNECT_ALARM_JUDGE_SECOND; static const string FIELD_PURIFIER_KEEP_ALIVE_ALARM_JUDGE_SECOND; static const string FIELD_OXYGEN_SENSOR_DISCONNECT_ALARM_JUDGE_SECOND; static const string FIELD_HEATING_DISCONNECT_ALARM_JUDGE_SECOND; static const string FIELD_CHILLER_DISCONNECT_ALARM_JUDGE_SECOND; //private: // CRITICAL_SECTION m_CS; }; #pragma pack()