|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "WarningMgr.h"
|
|
|
|
|
#include "LogMgr.h"
|
|
|
|
|
#include "FileMgr.h"
|
|
|
|
|
#include "WorkTime.h"
|
|
|
|
|
#include "CStringFuc.h"
|
|
|
|
|
#include "MsgBox.h"
|
|
|
|
|
#include "ModuleDeviceMgr.h"
|
|
|
|
|
#include "ExceptionMsg.h"
|
|
|
|
|
|
|
|
|
|
#include "EncryptionMgr.h"
|
|
|
|
|
#include "ProgramLaserTuiHuo.h"
|
|
|
|
|
#include "CriticalSection.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define RECORD_FILE_PATH _T("\\WarningRecord")
|
|
|
|
|
#define TAB_STR " "
|
|
|
|
|
|
|
|
|
|
#define SECS_FIRST_ALARM_ID 15001 //secs ͨ<>ŵĵ<C5B5>һ<EFBFBD><D2BB>alarm id
|
|
|
|
|
|
|
|
|
|
CWarningMgr *gWarningMgr = new CWarningMgr;
|
|
|
|
|
CWarningMgr::CWarningMgr(void)
|
|
|
|
|
{
|
|
|
|
|
m_bClearAllWarningState = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><D5B1><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
CWarningMgr::~CWarningMgr(void)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
#if 1
|
|
|
|
|
void CWarningMgr::OnAppInitialize()
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
CreatRecordPath();
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|
|
|
|
InitWarningStateVec();
|
|
|
|
|
}
|
|
|
|
|
//ͬ<><CDAC><EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD>¼״̬<D7B4><CCAC>Ϣ
|
|
|
|
|
void CWarningMgr::SyncWarningRecordVec(vector<CWarningState> &RecordInfoVec)
|
|
|
|
|
{
|
|
|
|
|
int size = RecordInfoVec.size();
|
|
|
|
|
for(int k =0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
int size1 = m_WarningStateVec.size();
|
|
|
|
|
for(int i =0;i<size1;i++)
|
|
|
|
|
{
|
|
|
|
|
if(m_WarningStateVec[i].m_WarningCode == RecordInfoVec[k].m_WarningCode)
|
|
|
|
|
{
|
|
|
|
|
RecordInfoVec[k].m_Description = m_WarningStateVec[i].m_Description;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
void CWarningMgr::CreatRecordPath()
|
|
|
|
|
{
|
|
|
|
|
CString RecordPath;//<2F><>¼<EFBFBD><C2BC>·<EFBFBD><C2B7>
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
FileMgr.GetFullFilePath(RecordPath,RECORD_FILE_PATH);
|
|
|
|
|
if(!FileMgr.IsFileExist(RecordPath))//<2F><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD>Ŀ¼
|
|
|
|
|
{
|
|
|
|
|
FileMgr.CreatDir(RecordPath);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ΪFileName <20>ļ<EFBFBD>¼·<C2BC><C2B7>
|
|
|
|
|
CString CWarningMgr::GetRecordFilePath(CString FileName)
|
|
|
|
|
{
|
|
|
|
|
CString FullFilePath;
|
|
|
|
|
CString FilePath = RECORD_FILE_PATH;
|
|
|
|
|
FilePath += "\\" + FileName + ".rcd";
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
FileMgr.GetFullFilePath(FullFilePath,FilePath);
|
|
|
|
|
return FullFilePath;
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0>¼<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CString CWarningMgr::GetCurRecordFileName()
|
|
|
|
|
{
|
|
|
|
|
CString FileName;
|
|
|
|
|
CWorkTime WorkTime;
|
|
|
|
|
FileName = WorkTime.GetCurDate("_");
|
|
|
|
|
return FileName;
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>״̬
|
|
|
|
|
void CWarningMgr::InitWarningStateVec()
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_00;
|
|
|
|
|
WarningState.m_Description = "";//
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD>³<EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
int SecsAlarmId = SECS_FIRST_ALARM_ID;//<2F><>һ<EFBFBD><D2BB>id (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_05;
|
|
|
|
|
WarningState.m_Description = "Motion Ctrl I/O Error";//<2F>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO <20><><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_08;
|
|
|
|
|
WarningState.m_Description = "Motor Z Drive Error";//Z <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_09;
|
|
|
|
|
WarningState.m_Description = "Machine Gate Check Err";//<2F><>е<EFBFBD><D0B5>բ<EFBFBD><D5A2><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_10;
|
|
|
|
|
WarningState.m_Description = "Laser Beam Check Err";//<2F>ӹ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_11;
|
|
|
|
|
WarningState.m_Description = "Wafer adsorption Err";//<2F><>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_12;
|
|
|
|
|
WarningState.m_Description = "Door State Check Err";//<2F><>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>쳣
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_14;
|
|
|
|
|
WarningState.m_Description = "Equip Authorization Error";//<2F><>Ȩ<EFBFBD>쳣
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_17;
|
|
|
|
|
WarningState.m_Description = "Laser Spot Meter Error";//<2F><><EFBFBD>ٷ<EFBFBD><D9B7><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_18;
|
|
|
|
|
WarningState.m_Description = "Laser Device Comm Error";//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#ifdef __LASER_DEVICE_PHOTONICS__
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#else
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#endif
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_19;
|
|
|
|
|
WarningState.m_Description = "Laser Device State Error";//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_21;
|
|
|
|
|
WarningState.m_Description = "Operate Ldd Error";//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LDD <20><><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_22;
|
|
|
|
|
WarningState.m_Description = "Load Wafer Error";//<2F><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_23;
|
|
|
|
|
WarningState.m_Description = "UnLoad Wafer Error";//<2F><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_24;
|
|
|
|
|
WarningState.m_Description = "Red Laser Device Comm Error";//<2F><><EFBFBD>⼤<EFBFBD><E2BCA4><EFBFBD><EFBFBD>ͨ<EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_25;
|
|
|
|
|
WarningState.m_Description = "Red Laser device state Error";//<2F><><EFBFBD>⼤<EFBFBD><E2BCA4><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_27;
|
|
|
|
|
WarningState.m_Description = "Water leaking Alarm";//©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_28;
|
|
|
|
|
WarningState.m_Description = "O2 Senser Alarm";//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_29;
|
|
|
|
|
WarningState.m_Description = "Wind pressure Alarm";//<2F><>ѹ<EFBFBD><D1B9><EFBFBD>ⱨ<EFBFBD><E2B1A8>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_30;
|
|
|
|
|
WarningState.m_Description = "Device Temperature Alarm";//<2F><>̨<EFBFBD>¶ȱ<C2B6><C8B1><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_31;
|
|
|
|
|
WarningState.m_Description = "APT pressure Alarm";//APT<50><54>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_32;
|
|
|
|
|
WarningState.m_Description = "Smoke Senser Alarm";//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_33;
|
|
|
|
|
WarningState.m_Description = "Wave Form Channel Error";//<2F><><EFBFBD>η<EFBFBD><CEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_34;
|
|
|
|
|
WarningState.m_Description = "Laser Cooling Alarm";//<2F>̹<EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_35;
|
|
|
|
|
WarningState.m_Description = "Water leaking Alarm";//©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_36;
|
|
|
|
|
WarningState.m_Description = "Water leaking Alarm";//©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_37;
|
|
|
|
|
WarningState.m_Description = "Water leaking Alarm";//©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_38;
|
|
|
|
|
WarningState.m_Description = "Water leaking Alarm";//©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_39;
|
|
|
|
|
WarningState.m_Description = "Water leaking Alarm";//©ˮ<C2A9><CBAE><EFBFBD><EFBFBD>(PLC <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>)
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_40;
|
|
|
|
|
WarningState.m_Description = "Set Laser Par Error";//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_41;
|
|
|
|
|
WarningState.m_Description = "Laser1 Pow Check Error";//<2F><><EFBFBD><EFBFBD>1 <20><><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_42;
|
|
|
|
|
WarningState.m_Description = "Laser2 Pow Check Error";//<2F><><EFBFBD><EFBFBD>2 <20><><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_43;
|
|
|
|
|
WarningState.m_Description = "Red Laser Pow Check Error";//<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_44;
|
|
|
|
|
WarningState.m_Description = "Wafer Aligner Error";//ֱ<D7BC><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_45;
|
|
|
|
|
WarningState.m_Description = "Oxygen Check Error";//<2F><><EFBFBD><EFBFBD>Ũ<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_46;
|
|
|
|
|
WarningState.m_Description = "Tempratue Measure Error";//<2F>¶ȼ<C2B6><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningState;
|
|
|
|
|
WarningState.m_WarningCode = _Warning_Code_47;
|
|
|
|
|
WarningState.m_Description ="Anneal Pow Check Error";//<2F>˻<EFBFBD><CBBB><EFBFBD><EFBFBD>̹<EFBFBD><CCB9>ʼ<EFBFBD><CABC>ش<EFBFBD><D8B4><EFBFBD>
|
|
|
|
|
WarningState.m_bNeedInitDevice = false;
|
|
|
|
|
WarningState.m_bSendToServer = false;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_bStopAnnealFlow = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningState.m_SecsAlarmId = SecsAlarmId++;//<2F><><EFBFBD><EFBFBD>Secs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>alarm id(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Alarm.csv)
|
|
|
|
|
WarningState.m_pModule = NULL;
|
|
|
|
|
m_WarningStateVec.push_back(WarningState);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1
|
|
|
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>״̬(bThowException <20>׳<EFBFBD><D7B3>쳣)
|
|
|
|
|
void CWarningMgr::SendWarningMsg(EWarningCode WarningCode,CString AddInfo,bool bThowException)
|
|
|
|
|
{
|
|
|
|
|
//<2F>ʼDZ<CABC><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
|
|
|
|
//if(gEncryptionMgr->IsbRunAtNoteBook())
|
|
|
|
|
//return;
|
|
|
|
|
|
|
|
|
|
gCriticalSection_WarningMsg.Lock();
|
|
|
|
|
|
|
|
|
|
if(AddInfo == "")
|
|
|
|
|
AddInfo = "nothing";
|
|
|
|
|
int size = m_WarningStateVec.size();
|
|
|
|
|
for(int k =0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
CWarningState &WarningState = m_WarningStateVec[k];
|
|
|
|
|
//<2F>ҵ<EFBFBD><D2B5><EFBFBD>Ӧ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
|
|
|
|
|
if(WarningState.m_WarningCode == WarningCode)
|
|
|
|
|
{
|
|
|
|
|
//ֻ<><D6BB><EFBFBD>ޱ<EFBFBD><DEB1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if(WarningState.m_bWarning == WARNING_OFF)
|
|
|
|
|
{
|
|
|
|
|
WarningState.m_bWarning = WARNING_ON;
|
|
|
|
|
WarningState.m_AddInfo = AddInfo;
|
|
|
|
|
SendWarningMsgExt(WarningState);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gCriticalSection_WarningMsg.Unlock();
|
|
|
|
|
|
|
|
|
|
if(bThowException)
|
|
|
|
|
{
|
|
|
|
|
CExceptionMsg ExceptionMsg;
|
|
|
|
|
ExceptionMsg.SetMsg(AddInfo);
|
|
|
|
|
throw ExceptionMsg;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void CWarningMgr::SendWarningMsgExt(CWarningState &WarningState)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>״̬
|
|
|
|
|
void CWarningMgr::ClearAllWarningState()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//<2F>Ƿ<EFBFBD><C7B7>б<EFBFBD><D0B1><EFBFBD>
|
|
|
|
|
bool CWarningMgr::HasWarningMsg(bool bException)
|
|
|
|
|
{
|
|
|
|
|
int size = m_WarningStateVec.size();
|
|
|
|
|
for(int k =0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
CWarningState &WarningState = m_WarningStateVec[k];
|
|
|
|
|
if(WarningState.m_bWarning)
|
|
|
|
|
{
|
|
|
|
|
if(bException)
|
|
|
|
|
{
|
|
|
|
|
CString s("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
|
|
|
|
CExceptionMsg Msg;
|
|
|
|
|
Msg.SetMsg(s);
|
|
|
|
|
throw Msg;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
bool CWarningMgr::GetWarningState(EWarningCode WarningCode)
|
|
|
|
|
{
|
|
|
|
|
int size = m_WarningStateVec.size();
|
|
|
|
|
for(int k =0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
CWarningState &WarningState = m_WarningStateVec[k];
|
|
|
|
|
if(WarningState.m_WarningCode == WarningCode)
|
|
|
|
|
{
|
|
|
|
|
return WarningState.m_bWarning;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>˻<EFBFBD><CBBB>ı<EFBFBD><C4B1><EFBFBD>
|
|
|
|
|
bool CWarningMgr::HasStopAnnealWarningMsg()
|
|
|
|
|
{
|
|
|
|
|
int size = m_WarningStateVec.size();
|
|
|
|
|
for(int k =0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
CWarningState &WarningState = m_WarningStateVec[k];
|
|
|
|
|
if(WarningState.m_bWarning && WarningState.m_bStopAnnealFlow)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼(д<><D0B4><EFBFBD>ļ<EFBFBD>)
|
|
|
|
|
void CWarningMgr::AddWarningRecord(CWarningState &WarningState)
|
|
|
|
|
{
|
|
|
|
|
vector<CWarningState> RecordInfoVec;
|
|
|
|
|
//<2F>ȶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>¼
|
|
|
|
|
CString RecordFileName = GetCurRecordFileName();
|
|
|
|
|
CString RecordFilePath = GetRecordFilePath(RecordFileName);
|
|
|
|
|
ReadRecordInfoFile(RecordInfoVec,RecordFilePath);
|
|
|
|
|
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
RecordInfoVec.push_back(WarningState);
|
|
|
|
|
//д<>뵽<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
WriteRecordInfoToFile(RecordInfoVec,RecordFilePath);
|
|
|
|
|
gLogMgr->WriteDebugLog("func---->AddWarningRecord");
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1>¼<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
void CWarningMgr::ReadRecordInfoFile(vector<CWarningState> &RecordInfoVec,CString Path)
|
|
|
|
|
{
|
|
|
|
|
CFile file;
|
|
|
|
|
if(file.Open(Path,CFile::modeRead))
|
|
|
|
|
{
|
|
|
|
|
CArchive ar(&file,CArchive::load);
|
|
|
|
|
int WarningRecordCnt = 0;
|
|
|
|
|
ar>>WarningRecordCnt;//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
for(int k=0;k<WarningRecordCnt;k++)
|
|
|
|
|
{
|
|
|
|
|
CWarningState WarningRecordInfo;
|
|
|
|
|
int tmp;
|
|
|
|
|
ar>>tmp;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
WarningRecordInfo.m_WarningCode = (EWarningCode)tmp;
|
|
|
|
|
ar>>WarningRecordInfo.m_DateTime;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
ar>>WarningRecordInfo.m_AddInfo;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
RecordInfoVec.push_back(WarningRecordInfo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void CWarningMgr::WriteRecordInfoToFile(vector<CWarningState> &RecordInfoVec,CString Path)
|
|
|
|
|
{
|
|
|
|
|
if(RecordInfoVec.empty())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
int size = RecordInfoVec.size();
|
|
|
|
|
CFile file(Path,CFile::modeReadWrite|CFile::modeCreate);
|
|
|
|
|
CArchive ar(&file,CArchive::store);
|
|
|
|
|
ar<<size;//<2F><>¼<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
|
|
|
|
|
for(int k=0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
ar<<(int)RecordInfoVec[k].m_WarningCode;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
ar<<RecordInfoVec[k].m_DateTime;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
ar<<RecordInfoVec[k].m_AddInfo;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1
|
|
|
|
|
//<2F><>ȡһ<C8A1><D2BB><EFBFBD>µļ<C2B5>¼<EFBFBD><C2BC>RecordInfoVec
|
|
|
|
|
void CWarningMgr::GetOneMonthRecord(CString Date,vector<CWarningState> &RecordInfoVec)
|
|
|
|
|
{
|
|
|
|
|
//<2F>Ѽ<EFBFBD><D1BC><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>м<EFBFBD>¼<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
vector<CString> RecordFileNameVec;
|
|
|
|
|
GetOneMonthRecordFileName(Date,RecordFileNameVec);
|
|
|
|
|
int size = RecordFileNameVec.size();
|
|
|
|
|
for(int k=0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
ReadRecordInfoFile(RecordInfoVec,GetRecordFilePath(RecordFileNameVec[k]));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//2016_11_17---->2016_11
|
|
|
|
|
CString CWarningMgr::GetMonthStr(CString Date)
|
|
|
|
|
{
|
|
|
|
|
return Date.Left(7);
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡһ<C8A1><D2BB><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>record <20>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
void CWarningMgr::GetOneMonthRecordFileName(CString Date,vector<CString> &RecordFileNameVec)
|
|
|
|
|
{
|
|
|
|
|
//<2F>Ѽ<EFBFBD><D1BC><EFBFBD><EFBFBD>м<EFBFBD>¼<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>--------------------------------
|
|
|
|
|
vector <CString> NameVec;
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
CString RecordPath;
|
|
|
|
|
FileMgr.GetFullFilePath(RecordPath,RECORD_FILE_PATH);
|
|
|
|
|
FileMgr.GetChildFileOrDirName(false,RecordPath,NameVec,"rcd");
|
|
|
|
|
//ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>-----------------------------------
|
|
|
|
|
CString MonthStr = GetMonthStr(Date);
|
|
|
|
|
int size = NameVec.size();
|
|
|
|
|
for(int k=0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
CString FileName = FileMgr.GetFileNameFromPath(NameVec[k],true);//<2F><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
if(FileName.Find(MonthStr) != -1)
|
|
|
|
|
{
|
|
|
|
|
RecordFileNameVec.push_back(FileName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬list
|
|
|
|
|
void CWarningMgr::InitWarningStateToList(CListCtrl &List)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>
|
|
|
|
|
List.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int idx = 0;
|
|
|
|
|
List.InsertColumn(idx,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",LVCFMT_LEFT,50,-1);
|
|
|
|
|
idx++;
|
|
|
|
|
List.InsertColumn(idx,"ʱ<EFBFBD><EFBFBD>",LVCFMT_LEFT,150,-1);
|
|
|
|
|
idx++;
|
|
|
|
|
List.InsertColumn(idx,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",LVCFMT_LEFT,250,-1);
|
|
|
|
|
idx++;
|
|
|
|
|
List.InsertColumn(idx,"<EFBFBD><EFBFBD>ʾ",LVCFMT_LEFT,350,-1);
|
|
|
|
|
idx++;
|
|
|
|
|
}
|
|
|
|
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD>뵽<EFBFBD>б<EFBFBD><D0B1><EFBFBD>bShowByMonth Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
void CWarningMgr::InsertRecordList(CListCtrl &List,CString Date,bool bShowByMonth)
|
|
|
|
|
{
|
|
|
|
|
m_RecordInfoVec.clear();
|
|
|
|
|
if(bShowByMonth)//<2F><>ȡһ<C8A1><D2BB><EFBFBD>µļ<C2B5>¼
|
|
|
|
|
{
|
|
|
|
|
GetOneMonthRecord(Date,m_RecordInfoVec);
|
|
|
|
|
}
|
|
|
|
|
else//<2F><>ȡһ<C8A1><D2BB><EFBFBD>ļ<EFBFBD>¼
|
|
|
|
|
{
|
|
|
|
|
CString Path = GetRecordFilePath(Date);
|
|
|
|
|
ReadRecordInfoFile(m_RecordInfoVec,Path);
|
|
|
|
|
}
|
|
|
|
|
//ͬ<><CDAC><EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD>¼״̬<D7B4><CCAC>Ϣ
|
|
|
|
|
SyncWarningRecordVec(m_RecordInfoVec);
|
|
|
|
|
|
|
|
|
|
InsertRecordListExt(List,m_RecordInfoVec,false);
|
|
|
|
|
}
|
|
|
|
|
//bOnlyWarning ֻ<><D6BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>״̬
|
|
|
|
|
void CWarningMgr::InsertRecordListExt(CListCtrl &List,vector<CWarningState> &WarningStateVec,bool bOnlyWarning)
|
|
|
|
|
{
|
|
|
|
|
List.DeleteAllItems();
|
|
|
|
|
int size = WarningStateVec.size();
|
|
|
|
|
int LineIdx = 0;
|
|
|
|
|
for(int k =0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
int idx = 0;
|
|
|
|
|
CWarningState &WarningState = WarningStateVec[k];
|
|
|
|
|
if(bOnlyWarning && !WarningState.m_bWarning)
|
|
|
|
|
continue;
|
|
|
|
|
List.InsertItem(LineIdx," ");//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|
|
|
|
List.SetItemText(LineIdx,idx++,GetWarningCode(WarningState));//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
List.SetItemText(LineIdx,idx++,WarningState.m_DateTime);//ʱ<><CAB1>
|
|
|
|
|
List.SetItemText(LineIdx,idx++,WarningState.m_Description);//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
List.SetItemText(LineIdx,idx++,WarningState.m_AddInfo);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
LineIdx++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>뱨<EFBFBD><EBB1A8>״̬<D7B4>б<EFBFBD>
|
|
|
|
|
void CWarningMgr::UpdateWarningStateToList(CListCtrl &List)
|
|
|
|
|
{
|
|
|
|
|
InsertRecordListExt(List,m_WarningStateVec,true);
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CString CWarningMgr::GetWarningCode(CWarningState &WarningState)
|
|
|
|
|
{
|
|
|
|
|
CString CodeStr;
|
|
|
|
|
//ʹ<><CAB9>Secs <20><>id <20><>
|
|
|
|
|
CodeStr = Int2CString(WarningState.m_SecsAlarmId);
|
|
|
|
|
return CodeStr;
|
|
|
|
|
}
|
|
|
|
|
#endif
|