|
|
|
|
#pragma once
|
|
|
|
|
#include "module.h"
|
|
|
|
|
|
|
|
|
|
class CCamera;
|
|
|
|
|
class CProduct;
|
|
|
|
|
class CWorkCmdContainer;
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
class CCommonFlowMgr :public CModule
|
|
|
|
|
{
|
|
|
|
|
friend class DlgCutDeviceCtrl;
|
|
|
|
|
friend class CDlgSW_XL_Flow;
|
|
|
|
|
public:
|
|
|
|
|
CCommonFlowMgr(void);
|
|
|
|
|
~CCommonFlowMgr(void);
|
|
|
|
|
virtual CMFCPropertyGridProperty *CreatGridProperty();
|
|
|
|
|
virtual MODULE GetModuleType(){return _COMMON_FLOW_PROP;};
|
|
|
|
|
virtual void Ini();
|
|
|
|
|
virtual void WriteWorkFileExt(vector<CLab> &LabVec);
|
|
|
|
|
virtual void ReadWorkFile(CLabVecRang &LabVecRang);
|
|
|
|
|
|
|
|
|
|
bool InitDevice();
|
|
|
|
|
bool CameraCatchTwoMark();
|
|
|
|
|
bool MultipleAreaMark(CProduct &Product,bool bSel);
|
|
|
|
|
bool CutShapeByPlatform(CProduct &Product,bool bSel);
|
|
|
|
|
bool NormalMarkByPciCard(bool bSel,int times,int CyclicTimes);
|
|
|
|
|
bool CameraCatch();
|
|
|
|
|
bool AutoMeasureVisionData();
|
|
|
|
|
void MovePtToCamera(vector<Dbxy> &PtVec,vector<Dbxy> &ResultVec,bool bCatch);
|
|
|
|
|
void MovePtToCamera(Dbxy pt);
|
|
|
|
|
int GetAreaCycleCnt(){return m_AreaCycleCnt;};
|
|
|
|
|
void SetAreaCycleCnt(int n){m_AreaCycleCnt = n;};
|
|
|
|
|
int GetOneObjMarkCnt(){return m_OneObjMarkCnt;};
|
|
|
|
|
void SetOneObjMarkCnt(int val){m_OneObjMarkCnt = val;};
|
|
|
|
|
int GetSpecialOneObjMarkCnt(){return m_SpecialOneObjMarkCnt;};
|
|
|
|
|
void SetSpecialOneObjMarkCnt(int val){m_SpecialOneObjMarkCnt = val;};
|
|
|
|
|
int GetCutSpeed(){return m_CutSpeed;};
|
|
|
|
|
void SetCutSpeed(int val){m_CutSpeed = val;};
|
|
|
|
|
bool IsbConnectObj(){return m_bConnectObj;};
|
|
|
|
|
void MoveSelObjToCamera(CProduct &Product);
|
|
|
|
|
double GetFirstGap(){return m_FirstGap;};
|
|
|
|
|
Dbxy GetAdjustOffset(){return m_AdjustOffset;};
|
|
|
|
|
void SetAdjustOffset(Dbxy pt){m_AdjustOffset = pt;};
|
|
|
|
|
Dbxy GetAdjustOffsetAll(){return m_AdjustOffsetAll;};//<2F><>ȡ<EFBFBD>ξ<EFBFBD>2<EFBFBD><32>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
|
|
|
|
|
void SetAdjustOffsetAll(Dbxy Offset);//<2F><><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD>2<EFBFBD><32>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>Ѹ<EFBFBD><D1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>2<EFBFBD><32><EFBFBD><EFBFBD>4<EFBFBD><34>
|
|
|
|
|
Dbxy GetAdjustSize(){return m_SizeAdjust;};
|
|
|
|
|
void SetAdjustSize(Dbxy s){m_SizeAdjust = s;};
|
|
|
|
|
double GetRotatoAdjust(){return m_RotatoAdjust;};
|
|
|
|
|
void SetRotatoAdjust(double val){m_RotatoAdjust = val;};
|
|
|
|
|
bool IsNoMarkCanWork(){return m_NoMarkCanWork;};
|
|
|
|
|
bool IsbWorkStop(){return m_bWorkStop;};
|
|
|
|
|
void SetbWorkStop(bool b){m_bWorkStop = b;};
|
|
|
|
|
void CameraCatchTwoMark(CProduct &Product);
|
|
|
|
|
void SetLightStateCmd(bool bStart);
|
|
|
|
|
bool StartWorkConfirm(bool bSelMark);
|
|
|
|
|
bool IsNeedExecAgain();
|
|
|
|
|
void ResetProductOffset();
|
|
|
|
|
void SetbCollectSpecialObj(bool b){m_bCollectSpecialObj = b;};
|
|
|
|
|
bool IsbCollectSpecialObj(){return m_bCollectSpecialObj;};
|
|
|
|
|
bool IsbStretchDataToRealSize(){return m_bStretchDataToRealSize;};
|
|
|
|
|
bool CameraCatchMark3(CProduct &Product);
|
|
|
|
|
|
|
|
|
|
void MarkAreaByIdx(int AreaIndex);//<2F><><EFBFBD>ݼӹ<DDBC><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
void SetLightStateCmd(CWorkCmdContainer &CmdContainer,bool bStart);
|
|
|
|
|
bool CameraCatchMarkExt(CProduct &Product);
|
|
|
|
|
void MoveToFirstArea();
|
|
|
|
|
private:
|
|
|
|
|
CCamera *m_CurCamera;//<2F><>ǰʹ<C7B0>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_AlamDelay;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(ms)
|
|
|
|
|
int m_FindOriginTimes;//<2F>Զ<EFBFBD><D4B6><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>ļӹ<C4BC><D3B9><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>0 ʱ<><CAB1>Ч)
|
|
|
|
|
int m_CurWorktimes;//<2F><>ǰ<EFBFBD>ļӹ<C4BC><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_AllWorkExecTimes;//<2F>ظ<EFBFBD>ִ<EFBFBD>д<EFBFBD><D0B4><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
int m_CurWorkExecTimes;//<2F><>ǰִ<C7B0>д<EFBFBD><D0B4><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
bool m_bStartWorkMsg;//<2F>ӹ<EFBFBD>ǰ<EFBFBD><C7B0>ʾ
|
|
|
|
|
bool m_NoMarkCanWork;//û<>ж<EFBFBD>λ<EFBFBD><CEBB>ʱҲ<CAB1><D2B2><EFBFBD>Լӹ<D4BC>
|
|
|
|
|
bool m_bWorkStop;//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ֹͣ
|
|
|
|
|
bool m_bVacuum;//<2F>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>ӹ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD>)
|
|
|
|
|
bool m_bCheckObjDataConsistency;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>obj <20><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>-----------------------------------------------------
|
|
|
|
|
bool m_bIniConfirmMsgBox;//<2F>Ƿ<C7B7><F1B5AFB3><EFBFBD>ʼ<EFBFBD><CABC>ȷ<EFBFBD>϶Ի<CFB6><D4BB><EFBFBD>
|
|
|
|
|
bool m_bIniPlatfrom;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨
|
|
|
|
|
bool m_bIniMotorX;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X
|
|
|
|
|
bool m_bIniMotorY;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y
|
|
|
|
|
bool m_bIniMotorZ;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z
|
|
|
|
|
bool m_bInitedToProductPt;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA>Ƿ<C7B7><F1B7B5BB><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>-------------------------------------------------------
|
|
|
|
|
//ÿ<><C3BF>obj <20><><EFBFBD>ܼӹ<DCBC><D3B9><EFBFBD><EFBFBD><EFBFBD>= (m_FocalAdjustCnt-1)*m_AreaCycleCnt*m_OneObjMarkCnt
|
|
|
|
|
bool m_bFocalAdjust;//<2F>ӹ<EFBFBD><D3B9><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double m_FocalAdjustDis;//<2F>佹<EFBFBD><E4BDB9><EFBFBD><EFBFBD>mm
|
|
|
|
|
int m_FocalAdjustCnt;//<2F>佹<EFBFBD><E4BDB9><EFBFBD><EFBFBD>(ÿ<>佹һ<E4BDB9>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD>ӹ<EFBFBD>һ<EFBFBD><D2BB>)
|
|
|
|
|
|
|
|
|
|
//<2F><>Ʒ<EFBFBD><C6B7><EFBFBD>ص<EFBFBD><D8B5>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_AreaCycleCnt;//ÿ<><C3BF>һ<EFBFBD><D2BB>workarea <20><>ѭ<EFBFBD><D1AD><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_OneObjMarkCnt;//<2F><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_SpecialOneObjMarkCnt;//<2F><><EFBFBD><EFBFBD><E2B5B6><EFBFBD>ӵ<EFBFBD><D3B5>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
bool m_bCollectSpecialObj;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_CutSpeed;//<2F>и<EFBFBD><D0B8>ٶ<EFBFBD>
|
|
|
|
|
Dbxy m_ProductOffset;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool m_bConnectObj;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>obj <20><><EFBFBD><EFBFBD>
|
|
|
|
|
bool m_bBackToProductPt;//<2F>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA>Ƿ<C7B7>ȡ<EFBFBD>ϵ<EFBFBD>
|
|
|
|
|
bool m_bSetLightState;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>þ<EFBFBD>ʾ<EFBFBD><CABE>״̬
|
|
|
|
|
|
|
|
|
|
int m_ConcentricCnt;//ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double m_FirstGap;//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD>
|
|
|
|
|
double m_ConcentricGap;//ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD>ݵļ<DDB5><C4BC><EFBFBD>mm(<28><><EFBFBD><EFBFBD>0 <20><><EFBFBD><EFBFBD>)(С<><D0A1>0 <20><><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
Dbxy m_AdjustOffset;//ƫ<><C6AB><EFBFBD><CEA2>mm
|
|
|
|
|
Dbxy m_AdjustOffsetAll;//ƫ<><C6AB><EFBFBD><CEA2>mm (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
Dbxy m_SizeAdjust;//<2F>ߴ<EFBFBD><DFB4><EFBFBD><EFBFBD><EFBFBD>mm
|
|
|
|
|
double m_RotatoAdjust;//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>mm
|
|
|
|
|
|
|
|
|
|
bool m_bStretchDataToRealSize;//<2F><><EFBFBD><EFBFBD>ץȡ<D7A5><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//ƽ̨cut <20><><EFBFBD><EFBFBD>--------------------------------------------------------------
|
|
|
|
|
bool m_bUseLaser;//<2F>Ƿؼ<F1BFAAB9><D8BC><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>У<D0A3><D7BC><EFBFBD><EFBFBD>--------------------------------------------------------------
|
|
|
|
|
double m_CalibrationPointGap;//<2F><><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>mm
|
|
|
|
|
double m_CalibrationRange;//<2F><><EFBFBD><EFBFBD>У<D0A3><D7BC>Χmm
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
extern CCommonFlowMgr *gCommonFlowMgr;
|