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++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
#include "module.h"
class CCamera;
class CProduct;
class CWorkCmdContainer;
//¹ÜÀí³£Óà µÄÁ÷³Ì
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(); //»ñÈ¡ÐÂÔöÁÏƬµÄλÖÃÆ«ÒÆ
private:
void SetLightStateCmd(CWorkCmdContainer &CmdContainer,bool bStart);
bool CameraCatchMarkExt(CProduct &Product);
void MoveToFirstArea(Dbxy offset);
private:
CCamera *m_CurCamera;//µ±Ç°Ê¹ÓõÄÏà»ú
int m_AlamDelay;//±¨¾¯ÑÓʱ(ms)
int m_FindOriginTimes;//×Ô¶¯»ØÔ­µãµÄ¼Ó¹¤´ÎÊý(´óÓÚ0 ʱÉúЧ)
int m_CurWorktimes;//µ±Ç°µÄ¼Ó¹¤´ÎÊý
int m_AllWorkExecTimes;//Öظ´Ö´ÐдÎÊý(ÓÃÀ´¿½»ú)
int m_CurWorkExecTimes;//µ±Ç°Ö´ÐдÎÊý(ÓÃÀ´¿½»ú)
bool m_bStartWorkMsg;//¼Ó¹¤Ç°Ìáʾ
bool m_NoMarkCanWork;//ûÓж¨Î»µãʱҲ¿ÉÒÔ¼Ó¹¤
public:
bool m_bCheckJig=true;//ÊÇ·ñ¼ì²âÖξߵ½Î»
private:
bool m_bWorkStop;//¹¤×÷ÊÇ·ñÍ£Ö¹
bool m_bVacuum;//ÊÇ·ñʹÓÃÕæ¿ÕÎü¸½(¼Ó¹¤Ç°Îü¸½,½áÊøºó·Å¿ª)
bool m_bCheckObjDataConsistency;//ÊÇ·ñ¼ì²éÊý¾ÝµÄÒ»ÖÂÐÔ(±ÜÃâobj Êý¾Ý²»ÏàµÈµÄÇé¿ö)
//³õʼ»¯Ïà¹Ø²ÎÊý-----------------------------------------------------
bool m_bIniConfirmMsgBox;//ÊÇ·ñµ¯³ö³õʼ»¯È·È϶Ի°¿ò
bool m_bIniPlatfrom;//ÊÇ·ñ³õʼ»¯µç»úƽ̨
bool m_bIniMotorX;//ÊÇ·ñ³õʼ»¯µç»úX
bool m_bIniMotorY;//ÊÇ·ñ³õʼ»¯µç»úY
bool m_bIniMotorZ;//ÊÇ·ñ³õʼ»¯µç»úZ
bool m_bInitedToProductPt;//³õʼ»¯Íê³ÉºóÊÇ·ñ·µ»ØÉÏÁϵã
//´ó·ùÃæ¼Ó¹¤²ÎÊý-------------------------------------------------------
//ÿ¸öobj µÄ×ܼӹ¤´ÎÊý= (m_FocalAdjustCnt-1)*m_AreaCycleCnt*m_OneObjMarkCnt
bool m_bFocalAdjust;//¼Ó¹¤µÄʱºòÊÇ·ñʵʱµ÷Õû½¹¾à
double m_FocalAdjustDis;//±ä½¹¾àÀëmm
int m_FocalAdjustCnt;//±ä½¹´ÎÊý(ÿ±ä½¹Ò»´Î°´ÕÕÏÂÃæµÄ²ÎÊý¼Ó¹¤Ò»±é)
//²úÆ·Ïà¹ØµÄÇиî²ÎÊý
int m_AreaCycleCnt;//ÿ´ÎÒ»¸öworkarea µÄÑ­»·¼Ó¹¤´ÎÊý
int m_OneObjMarkCnt;//µ¥¸öÔª¼þ¼Ó¹¤´ÎÊý
int m_SpecialOneObjMarkCnt;//ÌØÊ⵶Ôö¼ÓµÄÇиî´ÎÊý
bool m_bCollectSpecialObj;//ÊÇ·ñÕýÔÚÊÕ¼¯ÌØÊâ¶ÔÏóÊý¾Ý
int m_CutSpeed;//ÇиîËÙ¶È
Dbxy m_Jig1PrtOffset;//Õë¶Ô²úÆ·&ÖξߵÄÇиîÆ«ÒÆ(Ö÷½çÃæµ÷Õû)
Dbxy m_Jig3PrtOffset;//Õë¶Ô²úÆ·&ÖξߵÄÇиîÆ«ÒÆ(Ö÷½çÃæµ÷Õû)
bool m_bConnectObj;//ÊÇ·ñÁ¬½Ó¶à¸öobj Êý¾Ý
bool m_bBackToProductPt;//¼Ó¹¤Íê³ÉºóÊÇ·ñ·µ»ØÈ¡Áϵã
bool m_bSetLightState;//ÊÇ·ñÉèÖþ¯Ê¾µÆ״̬
int m_ConcentricCnt;//ͬÐÄÊý¾ÝµÄÊýÁ¿
double m_FirstGap;//µÚÒ»¸öÀ­Éì³ß´ç
double m_ConcentricGap;//ͬÐÄÊý¾ÝµÄ¼ä¸ômm(´óÓÚ0 ÏòÍâ)(СÓÚ0 ÏòÄÚ)
Dbxy m_AdjustOffset;//Æ«ÒÆ΢µ÷mm
Dbxy m_AdjustOffsetAll;//Æ«ÒÆ΢µ÷mm (Õë¶ÔËùÓÐ)
Dbxy m_SizeAdjust;//³ß´çµ÷Õûmm
double m_RotatoAdjust;//Ðýתµ÷Õûmm
bool m_bStretchDataToRealSize;//¸ù¾Ýץȡ½á¹ûÀ­ÉìÊý¾Ý
//ƽ̨cut ²ÎÊý--------------------------------------------------------------
bool m_bUseLaser;//ÊÇ·ñ¿ª¹Ø¼¤¹â
//Õñ¾µÐ£×¼²ÎÊý--------------------------------------------------------------
double m_CalibrationPointGap;//´òµãÖ®¼äµÄ¼ä¸ômm
public:
double m_CalibrationRange;//Õñ¾µÐ£×¼·¶Î§mm
};
extern CCommonFlowMgr *gCommonFlowMgr;