You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TwoLaserHead-PushJig/LaiPuLaser/CommonFlowMgr.h

127 lines
7.0 KiB
C

#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;};
void SetAdjustOffsetAll(Dbxy Offset);
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);
Dbxy GetNPOffset(); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC>λ<EFBFBD><CEBB>ƫ<EFBFBD><C6AB>
private:
void SetLightStateCmd(CWorkCmdContainer &CmdContainer,bool bStart);
bool CameraCatchMarkExt(CProduct &Product);
void MoveToFirstArea(Dbxy offset);
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>
public:
bool m_bCheckJig=true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξߵ<CEBE>λ
private:
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_Jig1PrtOffset;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ&<26>ξߵ<CEBE><DFB5>и<EFBFBD>ƫ<EFBFBD><C6AB>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
Dbxy m_Jig3PrtOffset;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ&<26>ξߵ<CEBE><DFB5>и<EFBFBD>ƫ<EFBFBD><C6AB>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
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
public:
double m_CalibrationRange;//<2F><><EFBFBD><EFBFBD>У׼<D0A3><D7BC>Χmm
};
extern CCommonFlowMgr *gCommonFlowMgr;