|
|
#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; |