284 lines
10 KiB
C
Raw Normal View History

#pragma once
2024-03-19 17:45:12 +08:00
#include <string>
#include <vector>
#include <Windows.h>
2024-05-28 13:28:07 +08:00
#include "../Controller/Base.h"
2024-03-19 17:45:12 +08:00
using namespace std;
2024-05-28 13:28:07 +08:00
#pragma pack(1)
class RunCfg : public Base
2024-03-19 17:45:12 +08:00
{
public:
enum PreJobParamType {
Default = 0,
2024-03-19 17:45:12 +08:00
Data
};
RunCfg();
~RunCfg();
//static void Generate(vector<string>& ins);
void GetUpdateSql(vector<string>& ups);
void SetOxygenTargeValue(float to) {
EnterCriticalSection(&m_CS);
2024-05-28 13:28:07 +08:00
m_TargeOxygen->SetValue(to);
2024-03-19 17:45:12 +08:00
LeaveCriticalSection(&m_CS);
}
float GetOxygenTargeValue()
{
float fv = 0.0f;
EnterCriticalSection(&m_CS);
2024-05-28 13:28:07 +08:00
fv = m_TargeOxygen->GetValue();
2024-03-19 17:45:12 +08:00
LeaveCriticalSection(&m_CS);
return fv;
}
void SetOxygenAlarmValue(float to) {
EnterCriticalSection(&m_CS);
2024-05-28 13:28:07 +08:00
m_AlarmOxygen->SetValue(to);
2024-03-19 17:45:12 +08:00
LeaveCriticalSection(&m_CS);
}
void SetOxygenWarnValue(float to) {
EnterCriticalSection(&m_CS);
2024-05-28 13:28:07 +08:00
m_WarnOxygen->SetValue(to);
LeaveCriticalSection(&m_CS);
}
2024-03-19 17:45:12 +08:00
float GetOxygenAlarmValue()
{
float fv = 0.0f;
EnterCriticalSection(&m_CS);
2024-05-28 13:28:07 +08:00
fv = m_AlarmOxygen->GetValue();
2024-03-19 17:45:12 +08:00
LeaveCriticalSection(&m_CS);
return fv;
}
float GetOxygenWarnValue()
{
float fv = 0.0f;
EnterCriticalSection(&m_CS);
2024-05-28 13:28:07 +08:00
fv = m_WarnOxygen->GetValue();
LeaveCriticalSection(&m_CS);
return fv;
}
2024-03-19 17:45:12 +08:00
public:
2024-05-28 13:28:07 +08:00
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;
public:
2024-03-19 17:45:12 +08:00
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;
2024-03-19 17:45:12 +08:00
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;
2024-03-19 17:45:12 +08:00
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;
2024-03-19 17:45:12 +08:00
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;
};
2024-05-28 13:28:07 +08:00
#pragma pack()