|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "Laser.h"
|
|
|
|
|
#include "Propertie.h"
|
|
|
|
|
#include "PropertieMgr.h"
|
|
|
|
|
#include "AuthorityMgr.h"
|
|
|
|
|
#include "MsgBox.h"
|
|
|
|
|
#include "ExceptionMsg.h"
|
|
|
|
|
#include "WorkCmdContainer.h"
|
|
|
|
|
#include "DrawSimpleShape.h"
|
|
|
|
|
#include "GlobalDrawMgr.h"
|
|
|
|
|
#include "PenParMgr.h"
|
|
|
|
|
#include "CStringFuc.h"
|
|
|
|
|
#include "WorkCmdInvoker.h"
|
|
|
|
|
#include "ObjFillMgr.h"
|
|
|
|
|
#include "AllThreadMgr.h"
|
|
|
|
|
#include "ProgramLaserTuiHuo.h"
|
|
|
|
|
#include "RecipeMgr.h"
|
|
|
|
|
#include "CStringFuc.h"
|
|
|
|
|
#include "WarningMgr.h"
|
|
|
|
|
#include "FileMgr.h"
|
|
|
|
|
#include "LaserPowCheckMgr.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define EDI_PARA_FILE _T("\\CommPar\\EnergyDensityPara.bin")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
|
|
|
|
|
UINT LaserSleepThread(LPVOID pParam)
|
|
|
|
|
{
|
|
|
|
|
CLaser *p = (CLaser *)pParam;
|
|
|
|
|
p->LaserSleepTimeExt();
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CLaser *gLaser = new CLaser;
|
|
|
|
|
CLaser::CLaser(void)
|
|
|
|
|
{
|
|
|
|
|
m_bAdaptThickness = false;
|
|
|
|
|
m_bInited = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ɹ<EFBFBD>
|
|
|
|
|
m_BaseThickness = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><D7BC>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>mm
|
|
|
|
|
m_WorkThickness = 0;//<2F><>ǰ<EFBFBD>ӹ<EFBFBD><D3B9>IJ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>mm
|
|
|
|
|
m_MaxThickness = 1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>mm
|
|
|
|
|
m_MinThickness = 1;//<2F><>С<EFBFBD><D0A1>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>mm
|
|
|
|
|
m_LaserSwitch = false;//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_bScanByDirX = true;//X<><58><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>
|
|
|
|
|
|
|
|
|
|
m_LaserType = 3;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_OpenLaserDelay = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱms
|
|
|
|
|
m_OpenLaserDelayShort = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱms (<28><><EFBFBD><EFBFBD>ʱ)
|
|
|
|
|
m_bSetGateFre = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>բ<EFBFBD><D5A2>Ƶ<EFBFBD><C6B5>(ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>)
|
|
|
|
|
m_ScanOverlapRatio = 30;//ɨ<><C9A8><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0~100%)
|
|
|
|
|
m_GateOpDelay = 100;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>բ<EFBFBD><D5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱms(<28><>Ϊ<EFBFBD><CEAA>բƫת<C6AB><D7AA>Ҫʱ<D2AA><CAB1>)
|
|
|
|
|
m_GateFre = 30;//<2F><>բ<EFBFBD><D5A2>Ƶ<EFBFBD><C6B5>
|
|
|
|
|
m_FocusZMoveUpVal = 20;//<2F><><EFBFBD><EFBFBD>Z <20>ļ<EFBFBD><C4BC>⽹<EFBFBD><E2BDB9>λ<EFBFBD><CEBB>(<28><><EFBFBD><EFBFBD><EFBFBD>ǻ<EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>ֵ)
|
|
|
|
|
m_bAutoCalCurr = false;//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD>ܶ<EFBFBD><DCB6>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ֵ)
|
|
|
|
|
m_bCloseAppCloseLaser = true;
|
|
|
|
|
m_SpotSize.w = m_SpotSize.h = 1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵijߴ<C4B3>(<28><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ε<EFBFBD>).h = 1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵijߴ<C4B3>(<28><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ε<EFBFBD>)
|
|
|
|
|
|
|
|
|
|
m_bLaserGateOpen = false;
|
|
|
|
|
m_bRedLaserGateOpen = false;//<2F><><EFBFBD><EFBFBD>2 gate <20>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
m_bMachineGateOpen = true;//<2F><>բ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
m_bAutoCalSpeedX = true;//<2F><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
m_bCtrLaserDimmerRev = false;//<2F><>բ<EFBFBD><D5A2><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>
|
|
|
|
|
|
|
|
|
|
m_CurWorkFoucsZcoord = 0;//<2F><>ǰ<EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD>ԲZ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
m_EnergyParChangeScal = 1;//<2F><><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶȲ<DCB6><C8B2><EFBFBD><EFBFBD>仯<EFBFBD>ķ<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD>%(<28><><EFBFBD><EFBFBD>ֵ)
|
|
|
|
|
|
|
|
|
|
m_RedLaserDelayAdjust = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ(<28><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>巢<EFBFBD><E5B7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ)
|
|
|
|
|
|
|
|
|
|
m_RedLaserPowCheckPluseW = 100;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʹ<CAB1>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>us
|
|
|
|
|
|
|
|
|
|
m_bPowRecordWriteCalPow = false;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>¼ʱ<C2BC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㹦<EFBFBD><E3B9A6>P = Po+K*I;
|
|
|
|
|
|
|
|
|
|
m_LaserCurrDigitsCnt = 1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
CLaser::~CLaser(void)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
CMFCPropertyGridProperty *CLaser::CreatGridProperty()
|
|
|
|
|
{
|
|
|
|
|
CPropertieMgr *pPropertieMgr = &gDevicePropertieMgr;
|
|
|
|
|
CString PropertyName;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CString Description;//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
CString Path = _T("Laser");//<2F>洢·<E6B4A2><C2B7>
|
|
|
|
|
CString Name;
|
|
|
|
|
CString GroupName;
|
|
|
|
|
CString ModuleName;
|
|
|
|
|
//-------------------------------------------------------------------------------//
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
ModuleName = PropertyName;
|
|
|
|
|
CMFCPropertyGridProperty* pGroup = new CMFCPropertyGridProperty(PropertyName);
|
|
|
|
|
//-------------------------------------------------------------------------------//
|
|
|
|
|
if(gAuthorityMgr->CheckAuthority(_Authority_Factory))
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_LaserSwitch");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_LaserSwitch);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>ⷴ<EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ˿<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
pPropertie->SetModuleName(ModuleName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_LaserSwitch, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_LaserCurrDigitsCnt");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_LaserCurrDigitsCnt);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>(1 or 2)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_LaserCurrDigitsCnt, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_OpenLaserDelay");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_OpenLaserDelay);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(<28><>)");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>)(ms)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_OpenLaserDelay, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_OpenLaserDelayShort");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_OpenLaserDelayShort);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(<28><>)");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>(ms)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_OpenLaserDelayShort, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_GateOpDelay");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_GateOpDelay);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD>բ<EFBFBD><EFBFBD>ʱ");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>բ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱms(<28><>Ϊ<EFBFBD><CEAA>բƫת<C6AB><D7AA>Ҫʱ<D2AA><CAB1>)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_GateOpDelay, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bCloseAppCloseLaser");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bCloseAppCloseLaser);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>ʱ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ر<EFBFBD>LD");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ҫ<EFBFBD>رռ<EFBFBD><EFBFBD><EFBFBD>LD");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bCloseAppCloseLaser, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_GateFre");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_GateFre);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD>բƵ<EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD>բƫת<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>(ֵȴСԽ<D0A1><D4BD>)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_GateFre, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_LaserType");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_LaserType);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("Type");
|
|
|
|
|
Description = _T("Type");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_LaserType, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_FocusZMoveUpVal");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_FocusZMoveUpVal);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>⽹<EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("Z<EFBFBD>ό<EFBFBD>㵽<EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>mm");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_FocusZMoveUpVal, Description);
|
|
|
|
|
p1->AllowEdit(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bScanByDirX");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bScanByDirX);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("X<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("true: X<><58><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>,false: Y<><59><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bScanByDirX, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bAutoCalSpeedX");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bAutoCalSpeedX);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_bAutoCalSpeedX, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bAutoCalCurr");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bAutoCalCurr);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_bAutoCalCurr, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bPowRecordWriteCalPow");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bPowRecordWriteCalPow);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㹦<EFBFBD><EFBFBD>");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bPowRecordWriteCalPow, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
|
|
|
|
|
pPropertieMgr->Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
GroupName = ("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(GroupName);
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_SpotSize_w");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_SpotSize.w);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>߳ߴ<EFBFBD>X(mm)");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X <20><><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>(mm)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_SpotSize.w, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_SpotSize_h");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_SpotSize.h);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>߳ߴ<EFBFBD>Y(mm)");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y <20><><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>(mm)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_SpotSize.h, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_EnergyParChangeScal");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_EnergyParChangeScal);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>챣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>K<EFBFBD><EFBFBD>Po <20>͵<EFBFBD>ǰֵ<C7B0>ı仯<C4B1><E4BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ᱨ<EFBFBD><E1B1A8>");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_EnergyParChangeScal, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
pGroup->AddSubItem(pGroup1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
GroupName = ("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(GroupName);
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_RedSpotSize_w");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_RedSpotSize.w);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>߳ߴ<EFBFBD>X(mm)");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X <20><><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>(mm)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_RedSpotSize.w, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_RedSpotSize_h");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_RedSpotSize.h);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>߳ߴ<EFBFBD>Y(mm)");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y <20><><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>(mm)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_RedSpotSize.h, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_RedLaserDelayAdjust");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_RedLaserDelayAdjust);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(us)");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><EFBFBD>ͺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(us)");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_RedLaserDelayAdjust, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_RedLaserPowCheckPluseW");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_RedLaserPowCheckPluseW);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_INT);
|
|
|
|
|
pPropertie->SetpModule(this);
|
|
|
|
|
pPropertie->SetPath(Path);
|
|
|
|
|
pPropertie->SetName(Name);
|
|
|
|
|
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(us)");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʹ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>us");
|
|
|
|
|
pPropertie->SetGroupName(GroupName);
|
|
|
|
|
pPropertie->SetShowName(PropertyName);
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName,(_variant_t)m_RedLaserPowCheckPluseW, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
pPropertieMgr->Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
pGroup->AddSubItem(pGroup1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//-------------------------------------------------------------------------------//
|
|
|
|
|
return pGroup;
|
|
|
|
|
}
|
|
|
|
|
void CLaser::Draw(CDC* pDC)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#if 1
|
|
|
|
|
void CLaser::OnAppInitialize()
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ļ<EFBFBD><C4BC>ж<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ܶȵIJ<C8B5><C4B2><EFBFBD>
|
|
|
|
|
ReadEnergyDensityParFile();
|
|
|
|
|
}
|
|
|
|
|
void CLaser::OnExitApp()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ϊ
|
|
|
|
|
void CLaser::WriteWorkFileExt(vector<CLab> &LabVec)
|
|
|
|
|
{
|
|
|
|
|
LabVec.push_back(CLab(LAB_NULL,m_WorkThickness));//<2F><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
void CLaser::ReadWorkFile(CLabVecRang &LabVecRang)
|
|
|
|
|
{
|
|
|
|
|
int idx = LabVecRang.GetStart()+1;
|
|
|
|
|
m_WorkThickness = LabVecRang.GetDouble(idx++);
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
|
|
|
|
|
int CLaser::GetOpenLaserDelay()
|
|
|
|
|
{
|
|
|
|
|
if(m_bLaserGateOpen)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD>ʱ
|
|
|
|
|
return m_OpenLaserDelayShort;
|
|
|
|
|
|
|
|
|
|
return m_OpenLaserDelay;
|
|
|
|
|
}
|
|
|
|
|
int CLaser::GetShortOpenLaserDelay()
|
|
|
|
|
{
|
|
|
|
|
return m_OpenLaserDelayShort;
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>ù<EFBFBD>բ<EFBFBD><D5A2>Ƶ<EFBFBD><C6B5>
|
|
|
|
|
void CLaser::SetGateFre()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>⽹<EFBFBD><E2BDB9>(<28><><EFBFBD><EFBFBD>ֵ<EFBFBD>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD>ǵĻ<C7B5>Z <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>ֵ)
|
|
|
|
|
double CLaser::GetFocusZMoveUpVal()
|
|
|
|
|
{
|
|
|
|
|
return m_FocusZMoveUpVal;
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>ؼ<EFBFBD><D8BC>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>ֵ(<28><>ʾ<EFBFBD><CABE>)
|
|
|
|
|
double CLaser::GetLaserFocusDis()
|
|
|
|
|
{
|
|
|
|
|
return m_FocusZMoveUpVal;
|
|
|
|
|
}
|
|
|
|
|
void CLaser::ResetCurWorkFoucsZcoord()
|
|
|
|
|
{
|
|
|
|
|
m_CurWorkFoucsZcoord = 0;
|
|
|
|
|
gLogMgr->WriteDebugLog("Func---->ResetCurWorkFoucsZcoord");
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD>ǰwafer <20>Ľ<EFBFBD><C4BD><EFBFBD>Z <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(FindFoucsCoordZ <20>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>ֵ))
|
|
|
|
|
void CLaser::SetCurWorkFoucsZcoord(double FindFoucsCoordZ)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>= <20><><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD>Z <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϲ̶<CFB9><CCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>)
|
|
|
|
|
m_CurWorkFoucsZcoord = FindFoucsCoordZ+m_FocusZMoveUpVal;
|
|
|
|
|
CString s;
|
|
|
|
|
s.Format("FindFoucsCoordZ=%.f,FocusZMoveUpVal=%.f,WorkFoucsZcoord=%.f",FindFoucsCoordZ,m_FocusZMoveUpVal,m_CurWorkFoucsZcoord);
|
|
|
|
|
gLogMgr->WriteDebugLog(s);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1//ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>(ͨ<><CDA8>I <20><><EFBFBD><EFBFBD>/F Ƶ<><C6B5>)
|
|
|
|
|
void CLaser::CalEnergyDensity(eLaserDeviceType LaserDeviceType,double F,double I,double &Edi)
|
|
|
|
|
{
|
|
|
|
|
double EnergyDensityPo = 0;
|
|
|
|
|
double EnergyDensityK = 0;
|
|
|
|
|
GetEnergyDensityPar(LaserDeviceType,F,EnergyDensityK,EnergyDensityPo);
|
|
|
|
|
Edi = CalEnergyDensityExt(LaserDeviceType,F,I,EnergyDensityK,EnergyDensityPo);
|
|
|
|
|
}
|
|
|
|
|
double CLaser::CalEnergyDensityExt(eLaserDeviceType LaserDeviceType,double F,double I,double K,double Po)
|
|
|
|
|
{
|
|
|
|
|
if(F==0 || I==0)
|
|
|
|
|
return 0;
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱȡƵ<C8A1><C6B5>= 1
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_RedLaser)
|
|
|
|
|
F = 1;
|
|
|
|
|
|
|
|
|
|
DbSize SpotSize = GetSpotSize(LaserDeviceType);
|
|
|
|
|
double Pi = Po + K*I;//<2F><><EFBFBD>Ϲ<EFBFBD><CFB9><EFBFBD>ֵ
|
|
|
|
|
double Ei = Pi/F;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double Edi = 0.1*Ei/(SpotSize.w*SpotSize.h);
|
|
|
|
|
if(LaserDeviceType != _LaserDeviceType_RedLaser)
|
|
|
|
|
Edi *= 1000;
|
|
|
|
|
CString s;
|
|
|
|
|
s.Format("%.3f",Edi);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λС<CEBB><D0A1>
|
|
|
|
|
Edi = CStringToDouble(s);
|
|
|
|
|
return Edi;
|
|
|
|
|
}
|
|
|
|
|
//ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>㹦<EFBFBD><E3B9A6><EFBFBD>ܶ<EFBFBD>
|
|
|
|
|
double CLaser::CalEnergyDensityByPow(eLaserDeviceType LaserDeviceType,double F,double P)
|
|
|
|
|
{
|
|
|
|
|
if(F==0)
|
|
|
|
|
return 0;
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><CCB9>ҹ<EFBFBD>բû<D5A2>д<D0B4>ʱ<EFBFBD><CAB1>
|
|
|
|
|
if(LaserDeviceType != _LaserDeviceType_RedLaser && !IsMachineGateOpen())
|
|
|
|
|
return 0;
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>gateû<65>д<D0B4>ʱ<EFBFBD><CAB1>
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_RedLaser && !IsbRedLaserGateOpen())
|
|
|
|
|
return 0;
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱȡƵ<C8A1><C6B5>= 1
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_RedLaser)
|
|
|
|
|
F = 1;
|
|
|
|
|
|
|
|
|
|
DbSize SpotSize = GetSpotSize(LaserDeviceType);
|
|
|
|
|
double Ei = P/F;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double Edi = 0.1*Ei/(SpotSize.w*SpotSize.h);
|
|
|
|
|
if(LaserDeviceType != _LaserDeviceType_RedLaser)
|
|
|
|
|
Edi *= 1000;
|
|
|
|
|
CString s;
|
|
|
|
|
s.Format("%.3f",Edi);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λС<CEBB><D0A1>
|
|
|
|
|
Edi = CStringToDouble(s);
|
|
|
|
|
return Edi;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD>ܶȺ<DCB6>Ƶ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
void CLaser::CalCurrByEdi(eLaserDeviceType LaserDeviceType,double F,double &I,double Edi)
|
|
|
|
|
{
|
|
|
|
|
double EnergyDensityPo = 0;
|
|
|
|
|
double EnergyDensityK = 0;
|
|
|
|
|
GetEnergyDensityPar(LaserDeviceType,F,EnergyDensityK,EnergyDensityPo);
|
|
|
|
|
I = CalCurrByEdiExt(LaserDeviceType,F,Edi,EnergyDensityK,EnergyDensityPo);
|
|
|
|
|
}
|
|
|
|
|
//FƵ<46><C6B5>Edi<64><69><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>P0<50>ؾ<EFBFBD>Kб<4B><D0B1>
|
|
|
|
|
double CLaser::CalCurrByEdiExt(eLaserDeviceType LaserDeviceType,double F,double Edi,double K,double Po)
|
|
|
|
|
{
|
|
|
|
|
if(F==0 || Edi==0)
|
|
|
|
|
return 0;
|
|
|
|
|
//<2F><><EFBFBD>߳ߴ<DFB3>
|
|
|
|
|
DbSize SpotSize = GetSpotSize(LaserDeviceType);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱȡƵ<C8A1><C6B5>= 1
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_RedLaser)
|
|
|
|
|
F = 1;
|
|
|
|
|
if(LaserDeviceType != _LaserDeviceType_RedLaser)
|
|
|
|
|
Edi /= 1000;
|
|
|
|
|
double Ei = Edi*(SpotSize.w*SpotSize.h)/0.1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double Pi = Ei*F;//<2F><><EFBFBD>Ϲ<EFBFBD><CFB9><EFBFBD>ֵ
|
|
|
|
|
double I = (Pi-Po)/K;
|
|
|
|
|
|
|
|
|
|
CString s;
|
|
|
|
|
if(m_LaserCurrDigitsCnt>=2)
|
|
|
|
|
s.Format("%.2f",I);//<2F><><EFBFBD><EFBFBD>2 λС<CEBB><D0A1>
|
|
|
|
|
else
|
|
|
|
|
s.Format("%.1f",I);//<2F><><EFBFBD><EFBFBD>1 λС<CEBB><D0A1>
|
|
|
|
|
|
|
|
|
|
I = CStringToDouble(s);
|
|
|
|
|
|
|
|
|
|
s.Format("Po=[%.3f] K=[%.3f] I=[%.3f] F=[%.3f] L=[%.3f] W=[%.3f]Pi=[%.3f] Ei=[%.3f] Edi=[%.3f]",Po,K,I,F,SpotSize.w,SpotSize.h,Pi,Ei,Edi);
|
|
|
|
|
//gLogMgr->WriteDebugLog(s);
|
|
|
|
|
|
|
|
|
|
return I;
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>recipe <20>ж<EFBFBD>Ӧ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ֵ(P = P0 + K*I)
|
|
|
|
|
double CLaser::CalPowerByRecipePar(eLaserDeviceType LaserDeviceType,double Fre,double I)
|
|
|
|
|
{
|
|
|
|
|
double P = 0;
|
|
|
|
|
//<2F>ҵ<EFBFBD>Ƶ<EFBFBD><C6B5>Fre <20><>Ӧ<EFBFBD><D3A6>K<EFBFBD><4B>Po
|
|
|
|
|
double Po = 0;
|
|
|
|
|
double K = 0;
|
|
|
|
|
if(GetEnergyDensityPar(LaserDeviceType,Fre,K,Po))
|
|
|
|
|
{
|
|
|
|
|
P = CalPowerByDensityPar(Po,K,I);
|
|
|
|
|
}
|
|
|
|
|
return P;
|
|
|
|
|
}
|
|
|
|
|
double CLaser::CalPowerByDensityPar(double Po,double K,double I)
|
|
|
|
|
{
|
|
|
|
|
double P = 0;
|
|
|
|
|
P = Po + K*I;
|
|
|
|
|
if(P<0)
|
|
|
|
|
P=0;
|
|
|
|
|
return P;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>߳ߴ<DFB3>
|
|
|
|
|
DbSize CLaser::GetSpotSize(eLaserDeviceType LaserDeviceType)
|
|
|
|
|
{
|
|
|
|
|
DbSize SpotSize = m_SpotSize;
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱȡƵ<C8A1><C6B5>= 1
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_RedLaser)
|
|
|
|
|
{
|
|
|
|
|
SpotSize = m_RedSpotSize;
|
|
|
|
|
}
|
|
|
|
|
return SpotSize;
|
|
|
|
|
}
|
|
|
|
|
CString CLaser::GetLaserDeviceName(eLaserDeviceType LaserDeviceType)
|
|
|
|
|
{
|
|
|
|
|
CString s;
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_MainLaser1)
|
|
|
|
|
s = ("<EFBFBD>̹<EFBFBD>1");
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_MainLaser2)
|
|
|
|
|
s = ("<EFBFBD>̹<EFBFBD>2");
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_RedLaser)
|
|
|
|
|
s = ("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
return s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>鹦<EFBFBD><E9B9A6><EFBFBD>ܶȲ<DCB6><C8B2><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><DEB6><EFBFBD>Χ<EFBFBD><CEA7>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WarningMsg)
|
|
|
|
|
bool CLaser::CheckEnergyDensityPar(eLaserDeviceType LaserDeviceType,double Fre,double K,double Po)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Func---->CheckEnergyDensityPar");
|
|
|
|
|
double CurK,CurPo;//<2F><>ǰֵ
|
|
|
|
|
GetEnergyDensityPar(LaserDeviceType,Fre,CurK,CurPo);
|
|
|
|
|
|
|
|
|
|
CString Log = GetLaserDeviceName(LaserDeviceType);
|
|
|
|
|
Log += "\n";
|
|
|
|
|
CString s;
|
|
|
|
|
s.Format("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵK[%lf] Po[%lf]",CurK,CurPo);
|
|
|
|
|
Log += s;
|
|
|
|
|
Log += "\n";
|
|
|
|
|
|
|
|
|
|
s.Format("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵK[%lf] Po[%lf]",K,Po);
|
|
|
|
|
Log += s;
|
|
|
|
|
Log += "\n";
|
|
|
|
|
gLogMgr->WriteDebugLog(Log);
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ⱨ<EFBFBD><E2B1A8>
|
|
|
|
|
if(CurK==0 || CurPo==0)
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
bool Ret = true;
|
|
|
|
|
double ChangeScal = (fabs(K-CurK)/CurK)*100;
|
|
|
|
|
if(ChangeScal >(m_EnergyParChangeScal))
|
|
|
|
|
{
|
|
|
|
|
s.Format("K <20>仯<EFBFBD><E4BBAF><EFBFBD><EFBFBD>%lf%% <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB6><EFBFBD>Χ",ChangeScal);
|
|
|
|
|
Log += s;
|
|
|
|
|
Log += "\n";
|
|
|
|
|
Ret = false;
|
|
|
|
|
}
|
|
|
|
|
ChangeScal = (fabs(Po-CurPo)/CurPo)*100;
|
|
|
|
|
if(ChangeScal >(m_EnergyParChangeScal))
|
|
|
|
|
{
|
|
|
|
|
s.Format("Po <20>仯<EFBFBD><E4BBAF><EFBFBD><EFBFBD>%lf%% <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB6><EFBFBD>Χ",ChangeScal);
|
|
|
|
|
Log += s;
|
|
|
|
|
Log += "\n";
|
|
|
|
|
Ret = false;
|
|
|
|
|
}
|
|
|
|
|
if(Ret)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
Log += "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>";
|
|
|
|
|
}
|
|
|
|
|
else//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>,<2C><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
{
|
|
|
|
|
CString AddInfo;
|
|
|
|
|
AddInfo = Log;
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_MainLaser1)
|
|
|
|
|
gWarningMgr->SendWarningMsg(_Warning_Code_41,AddInfo);
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_MainLaser2)
|
|
|
|
|
gWarningMgr->SendWarningMsg(_Warning_Code_42,AddInfo);
|
|
|
|
|
if(LaserDeviceType == _LaserDeviceType_RedLaser)
|
|
|
|
|
gWarningMgr->SendWarningMsg(_Warning_Code_43,AddInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Ret;
|
|
|
|
|
}
|
|
|
|
|
//ͨ<><CDA8><EFBFBD>ص<EFBFBD><D8B5>ʺ<CABA><CDB9><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mm (bhorizontal <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
double CLaser::GetScanIntervals(double ScanOverlapRatio,bool bhorizontal)
|
|
|
|
|
{
|
|
|
|
|
double ScanIntervals = 1;
|
|
|
|
|
double SpotSize;
|
|
|
|
|
if(gLaser->IsbScanByDirX())
|
|
|
|
|
SpotSize = m_SpotSize.h;
|
|
|
|
|
else
|
|
|
|
|
SpotSize = m_SpotSize.w;
|
|
|
|
|
|
|
|
|
|
if(ScanOverlapRatio>0&&ScanOverlapRatio<100)
|
|
|
|
|
{
|
|
|
|
|
ScanIntervals = SpotSize-(SpotSize*ScanOverlapRatio)/100;
|
|
|
|
|
}
|
|
|
|
|
return ScanIntervals;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1
|
|
|
|
|
void CLaser::IniEdiParList(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,"Idx",LVCFMT_LEFT,35,-1);
|
|
|
|
|
idx++;
|
|
|
|
|
list.InsertColumn(idx,"Laser",LVCFMT_LEFT,55,-1);
|
|
|
|
|
idx++;
|
|
|
|
|
list.InsertColumn(idx,"Fre",LVCFMT_LEFT,55,-1);
|
|
|
|
|
idx++;
|
|
|
|
|
list.InsertColumn(idx,"K",LVCFMT_LEFT,70,-1);
|
|
|
|
|
idx++;
|
|
|
|
|
list.InsertColumn(idx,"Po",LVCFMT_LEFT,70,-1);
|
|
|
|
|
idx++;
|
|
|
|
|
}
|
|
|
|
|
void CLaser::UpdateEdiParList(CListCtrl &List)
|
|
|
|
|
{
|
|
|
|
|
List.DeleteAllItems();
|
|
|
|
|
int size = m_EnergyDensityParVec.size();
|
|
|
|
|
for(int k=0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
CEnergyDensityPar &Par = m_EnergyDensityParVec[k];
|
|
|
|
|
int idx = 0;
|
|
|
|
|
List.InsertItem(k," ");//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|
|
|
|
List.SetItemText(k,idx++,Int2CString(k+1));//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
List.SetItemText(k,idx++,GetLaserDeviceName((eLaserDeviceType)Par.m_LaserDeviceType));
|
|
|
|
|
List.SetItemText(k,idx++,Db2CString(Par.m_LaserFre,1));
|
|
|
|
|
List.SetItemText(k,idx++,Db2CString(Par.m_EdiK,4));
|
|
|
|
|
List.SetItemText(k,idx++,Db2CString(Par.m_EdiPo,4));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶȲ<DCB6><C8B2><EFBFBD>д<EFBFBD>뵽<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
void CLaser::WriteEnergyDensityParFile()
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Func--->WriteEnergyDensityParFile");
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
CString FilePath;
|
|
|
|
|
FileMgr.GetFullFilePath(FilePath,EDI_PARA_FILE);
|
|
|
|
|
ofstream fileStream;
|
|
|
|
|
fileStream.open(FilePath);//<2F><><EFBFBD>ǵķ<C7B5>ʽ
|
|
|
|
|
int size = m_EnergyDensityParVec.size();
|
|
|
|
|
for(int k=0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
CEnergyDensityPar &Par = m_EnergyDensityParVec[k];
|
|
|
|
|
fileStream<<Par.m_LaserDeviceType<<",";
|
|
|
|
|
fileStream<<Par.m_LaserFre<<",";
|
|
|
|
|
fileStream<<Par.m_EdiK<<",";
|
|
|
|
|
fileStream<<Par.m_EdiPo<<endl;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>ļ<EFBFBD><C4BC>ж<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ܶȵIJ<C8B5><C4B2><EFBFBD>
|
|
|
|
|
void CLaser::ReadEnergyDensityParFile()
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Func--->ReadEnergyDensityParFile");
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
CString FilePath;
|
|
|
|
|
FileMgr.GetFullFilePath(FilePath,EDI_PARA_FILE);
|
|
|
|
|
vector<vector<CString>> StrVec;
|
|
|
|
|
FileMgr.ReadFileToStrVec(FilePath,StrVec);
|
|
|
|
|
m_EnergyDensityParVec.clear();
|
|
|
|
|
int size = StrVec.size();
|
|
|
|
|
for(int k=0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
if(StrVec[k].size() == 4)
|
|
|
|
|
{
|
|
|
|
|
CEnergyDensityPar Par;
|
|
|
|
|
Par.m_LaserDeviceType = CStringToInt(StrVec[k][0]);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Par.m_LaserFre = CStringToDouble(StrVec[k][1]);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
|
|
|
|
|
Par.m_EdiK = CStringToDouble(StrVec[k][2]);//<2F><><EFBFBD><EFBFBD><EFBFBD>ܶȵ<DCB6>б<EFBFBD><D0B1>
|
|
|
|
|
Par.m_EdiPo = CStringToDouble(StrVec[k][3]);//<2F><><EFBFBD><EFBFBD><EFBFBD>ܶȵĽؾ<C4BD>
|
|
|
|
|
m_EnergyDensityParVec.push_back(Par);
|
|
|
|
|
|
|
|
|
|
CString log;
|
|
|
|
|
log.Format(" F : [%.1f] K : [%lf] Po : [%lf]",Par.m_LaserFre,Par.m_EdiK,Par.m_EdiPo);
|
|
|
|
|
log = GetLaserDeviceName((eLaserDeviceType)Par.m_LaserDeviceType) + log;
|
|
|
|
|
gLogMgr->WriteDebugLog(log);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ֵ(<28>ֶ<EFBFBD>)
|
|
|
|
|
void CLaser::SetEnergyDensityPar(eLaserDeviceType LaserDeviceType,double Fre,double K,double Po)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ܶȵIJ<C8B5><C4B2><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
bool CLaser::GetEnergyDensityPar(eLaserDeviceType LaserDeviceType,double Fre,double &K,double &Po)
|
|
|
|
|
{
|
|
|
|
|
int LaserType = (int)LaserDeviceType;
|
|
|
|
|
int size = m_EnergyDensityParVec.size();
|
|
|
|
|
for(int k=0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
CEnergyDensityPar &Par = m_EnergyDensityParVec[k];
|
|
|
|
|
if(Par.m_LaserDeviceType == LaserType && IsTwoDbEqual(Fre,Par.m_LaserFre))
|
|
|
|
|
{
|
|
|
|
|
K = Par.m_EdiK;
|
|
|
|
|
Po = Par.m_EdiPo;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
K =0;
|
|
|
|
|
Po = 0;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
#if 1//<2F><><EFBFBD><EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ʧ<><CAA7>ʱ<EFBFBD>׳<EFBFBD><D7B3>쳣)
|
|
|
|
|
void CLaser::IOSwitchLaserDimmer(bool bOpen)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//ͨ<><CDA8>XY <20>ƶ<EFBFBD><C6B6><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TargetCoord <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>׳<EFBFBD><D7B3>쳣)
|
|
|
|
|
void CLaser::IOSwitchLaserDimmerByTargetCoord(Dbxy TargetCoord)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ʱ
|
|
|
|
|
void CLaser::StartLaserSleepTime()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ʱ
|
|
|
|
|
void CLaser::StopLaserSleepTime()
|
|
|
|
|
{
|
|
|
|
|
m_bStopLaserSleepTime = true;
|
|
|
|
|
gLogMgr->WriteDebugLog("Func---->StopSleepLaserTime");
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3>ʱ<EFBFBD><CAB1>
|
|
|
|
|
CString CLaser::GetCurSleepLeftTimes()
|
|
|
|
|
{
|
|
|
|
|
CString LeftTimes;
|
|
|
|
|
if(m_bStopLaserSleepTime)
|
|
|
|
|
LeftTimes = "00:00:00";
|
|
|
|
|
else
|
|
|
|
|
LeftTimes = m_LaserSleepTime.GetLeftTimes();
|
|
|
|
|
return LeftTimes;
|
|
|
|
|
}
|
|
|
|
|
void CLaser::LaserSleepTimeExt()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void CLaser::LaserSleepImmediately()
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Func---->Laser Sleep Immediately");
|
|
|
|
|
m_bStopLaserSleepTime = false;
|
|
|
|
|
m_LaserSleepTime.StopRecordTime();
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1
|
|
|
|
|
//<2F><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
|
|
|
|
|
void CLaser::UpdateLaserProp()
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Func---->UpdateLaserProp");
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
CString Path = "Laser";
|
|
|
|
|
CString Name = _T("m_SpotSize_w");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie Propertie;
|
|
|
|
|
Propertie.SetpVal((void*)&m_SpotSize.w);
|
|
|
|
|
Propertie.SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
Propertie.SetPath(Path);
|
|
|
|
|
Propertie.SetName(Name);
|
|
|
|
|
Propertie.WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
CString Path = "Laser";
|
|
|
|
|
CString Name = _T("m_SpotSize_h");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie Propertie;
|
|
|
|
|
Propertie.SetpVal((void*)&m_SpotSize.h);
|
|
|
|
|
Propertie.SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
Propertie.SetPath(Path);
|
|
|
|
|
Propertie.SetName(Name);
|
|
|
|
|
Propertie.WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
CString log;
|
|
|
|
|
log.Format("SpotSize.w=%f,SpotSize.h=%f",m_SpotSize.w,m_SpotSize.h);
|
|
|
|
|
gLogMgr->WriteDebugLog(log);
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>õĵ<C3B5><C4B5><EFBFBD>ֵ
|
|
|
|
|
double CLaser::ReadCurSetLddCurrent(eLaserDeviceType LaserDeviceType)
|
|
|
|
|
{
|
|
|
|
|
bool bTwoLaserLddMode = false;
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
CString Path = "PhotonicsLaserMgr";
|
|
|
|
|
CString Name = _T("m_bTwoLaserLddMode");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie Propertie;
|
|
|
|
|
Propertie.SetpVal((void*)&bTwoLaserLddMode);
|
|
|
|
|
Propertie.SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
Propertie.SetPath(Path);
|
|
|
|
|
Propertie.SetName(Name);
|
|
|
|
|
Propertie.WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
if(LaserDeviceType==_LaserDeviceType_MainLaser2 && !bTwoLaserLddMode)
|
|
|
|
|
return 0;
|
|
|
|
|
double Laser1LddOpenCurr = 0;
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
CString Path = "AnnealMonitoringMgr";
|
|
|
|
|
CString Name = _T("m_Laser1LddOpenCurr");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie Propertie;
|
|
|
|
|
Propertie.SetpVal((void*)&Laser1LddOpenCurr);
|
|
|
|
|
Propertie.SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
Propertie.SetPath(Path);
|
|
|
|
|
Propertie.SetName(Name);
|
|
|
|
|
Propertie.WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
return Laser1LddOpenCurr;
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>FixCurr <20><>Ӧ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>FixPow
|
|
|
|
|
void CLaser::GetLaserFixedCurrentPow(eLaserDeviceType LaserDeviceType,double Fre,double FixCurr,double &FixPow)
|
|
|
|
|
{
|
|
|
|
|
//<2F>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD>趨ֵ(<28><><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>)
|
|
|
|
|
//FixCurr = ReadCurSetLddCurrent(LaserDeviceType);
|
|
|
|
|
vector<CPowCheckPt> PowCheckPtPowCheckPVec;
|
|
|
|
|
gLaserPowCheckMgr->ReadLaserFixedCurrentPowFile(PowCheckPtPowCheckPVec);
|
|
|
|
|
int size = PowCheckPtPowCheckPVec.size();
|
|
|
|
|
for(int k=0;k<size;k++)
|
|
|
|
|
{
|
|
|
|
|
CPowCheckPt &PowCheckPt = PowCheckPtPowCheckPVec[k];
|
|
|
|
|
if(PowCheckPt.m_LaserType==LaserDeviceType && IsTwoDbEqual(PowCheckPt.m_LaserFre,Fre)&& IsTwoDbEqual(PowCheckPt.m_SetCurr,FixCurr))
|
|
|
|
|
{
|
|
|
|
|
FixPow = PowCheckPt.m_SurfacePow;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|