2024-04-09 16:53:02 +08:00

254 lines
8.6 KiB
C++

#pragma once
#include <string>
#include <vector>
#include <Windows.h>
using namespace std;
class RunCfg
{
public:
enum PreJobParamType {
Default=0,
Data
};
RunCfg();
~RunCfg();
//static void Generate(vector<string>& ins);
void GetUpdateSql(vector<string>& ups);
void SetOxygenTargeValue(float to) {
EnterCriticalSection(&m_CS);
m_TargeOxygen = to;
LeaveCriticalSection(&m_CS);
}
float GetOxygenTargeValue()
{
float fv = 0.0f;
EnterCriticalSection(&m_CS);
fv = m_TargeOxygen;
LeaveCriticalSection(&m_CS);
return fv;
}
void SetOxygenAlarmValue(float to) {
EnterCriticalSection(&m_CS);
m_AlarmOxygen = to;
LeaveCriticalSection(&m_CS);
}
float GetOxygenAlarmValue()
{
float fv = 0.0f;
EnterCriticalSection(&m_CS);
fv = m_AlarmOxygen;
LeaveCriticalSection(&m_CS);
return fv;
}
public:
bool m_IsDebugMode;
float m_TargeOxygen; //目标氧
float m_WarnOxygen; //预警氧
float m_AlarmOxygen; //报警氧
float m_StartCycleOxygen; //循环开启时氧含量值
float m_DangerousOxygen; //氧含量危险提示值
float m_AlarmTemperture; //舱内温度
float m_AlarmTempertureMin;
float m_AlarmTempertureMax;
float m_AlarmWaterTempDown; //水温下限
float m_AlarmWaterTempDownMin; //水温下限
float m_AlarmWaterTempDownMax; //水温下限
float m_AlarmWaterTempUp; //水温上限
float m_AlarmWaterTempUpMin; //水温上限
float m_AlarmWaterTempUpMax; //水温上限
// float m_CheckWind; //外置风机 开始时循环风速检测
// float m_CheckWindMin; //开始时循环风速检测
// float m_CheckWindMax; //开始时循环风速检测
// float m_AlarmWindLowerLimit; //外置风机 低风报警
unsigned int m_LogPersistInteval; //日志记录间隔
unsigned int m_StatisticsInteval; //系统统计间隔
bool m_OffsetRotateEnable;
// float m_ArgonCheckWind; //目标风速
// float m_ArgonTargetWind; //目标风速
// float m_ArgonTargetWindMin; //目标风速
// float m_ArgonTargetWindMax; //目标风速
// float m_NitrogenCheckWind; //目标风速
// float m_NitrogenTargetWind; //目标风速
// float m_NitrogenTargetWindMin; //目标风速
// float m_NitrogenTargetWindMax; //目标风速
// float m_AlarmArgonWindLowerLimit; //风速下限
// float m_AlarmNitrogenWindLowerLimit; //风速下限
float m_StableWindStep; //风稳电压步进值
unsigned int m_SSRTimeLimit; //基板加热输入输出不同步时间 ms
unsigned int m_SSRTimeLimitMin;
unsigned int m_SSRTimeLimitMax;
unsigned int m_HeatingDeleyDisableMinute; //加热延迟关闭
float m_HighOxygenHeatingTemp;
float m_LowOxygenHeatingTemp;
bool m_UseHeatingMotion;
unsigned int m_HeatingMotionPeriodSecond;
double m_HeatingMotionDistance;
float m_FanVoltageOverLimit; //风机电压越限
bool m_IsAutoReleasePressureWhenFinish; //打印完成后是否自动泄压
uint32_t m_ReleasePressureSeconds; //泄压秒数
float m_ReleasePressureTargeValue; //泄压目标值
bool m_PrintRestEnable; //打印停歇
uint32_t m_PrintContinueMinute; //持续打印分钟
uint32_t m_PrintRestMinutes; //停歇分钟
uint32_t m_BlowbackNotifyTimeout; //反吹提示超时设置
bool m_BlowbackTimeoutExecute; //超时后强制执行
unsigned int m_DownSkinStopTimes; //下表面停止次数
bool m_TimePowerCompensateEnable;
bool m_IsPreparePrint; //预打印
int m_PrepareParamType;
unsigned int m_WarnAlarmNotifySecond;
bool m_HadSetBasePlatformPoint;
int m_PowderAlarmPos; //供粉不足报警位
float m_VoltageAlarmOffset; //电源电压报警偏差
unsigned int m_ScannerPowerLogTick;
unsigned int m_ScannerPowerLogCount;
float m_ScannerVoltageMinLimit; //振镜电压下限
float m_ScannerVoltageMaxLimit; //振镜电压上限
bool m_PrintAutoRenewalGas; //打印自动换气
bool m_MoldDeoxygenEnable; //启用升降除氧
float m_AddPowderWarnPos; //加粉预警位
float m_PowderStickLowLevelAlarmPos; //加粉低位报警位
bool m_UseCoverWindSignal;
unsigned int m_MoldServoPosWarnOffset; //升降伺服位置警示值
unsigned int m_LayerLinearPosAlarmOffset; //层光栅位置偏差报警值
unsigned int m_PrintLinearAccDevAlarmOffset; //打印光栅累积误差报警值
bool m_UseLinearJudgePos;
double m_CoverSimulateTimeOffset;
double m_CoverWindSimulateTimeOffset;
bool m_LogDebugInfo;
bool m_AutoShutdownPower;
float m_FilterOxygenAlarmValue;
float m_FanFreqLowLimit;
unsigned int m_PrintLayerDelay;
unsigned int m_CoverLayerDelay;
bool m_SmartCoverEnable;
float m_PowderStickCalcLength;
int m_PurifierFilterNotifyHour;
double m_CheckDiskSpaceG;
double m_PerlayerSpaceK;
bool m_ShowUnloadHandPos;
unsigned int m_PurifierDisconnectAlarmJudgeSecond;
unsigned int m_PurifierKeepAliveAlarmJudgeSecond;
unsigned int m_OxygenSensorDisconnectAlarmJudgeSecond;
unsigned int m_HeatingDisconnectAlarmJudgeSecond;
unsigned int m_ChillerDisconnectAlarmJudgeSecond;
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_PURIFIER_FILTER_NOTIFY_HOUR;
static const string FIELD_CHECK_DISK_SPACE_G;
static const string FIELD_PERLAYER_SPACE_K;
static const string FIELD_SHOW_UNLOAD_HAND_POS;
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;
};