123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- #pragma once
- #include "CModule.h"
- #include "CCameraBase.h"
- #include "CNozzleTable.h"
- #include "CWafflePackMatrix.h"
- #include "CXYCalib.h"
- #include "CRCalib.h"
- #include "CLookUpCalib.h"
- #include "CPRStrategy.h"
- #include "TipMatrix.h"
- class __declspec(dllexport) CWafflePackHead :
- public CModule
- {
- public:
- CWafflePackHead(MODULE_LIST ModuleType);
- ~CWafflePackHead();
- void SetCamera(CCameraBase* camera) { m_pCamera = camera; }
- virtual void SetDataChangFunction() override;
- virtual LONG SetParam() override;
- virtual LONG GetParam() override;
- virtual LONG ToHome() override;
- virtual LONG Sync() override;
- virtual LONG ToSafePosition() override;
- virtual LONG InitResource() override;
- virtual void DataChangNotice(string strDbName, string strTableName) override;
- void SetXAxis(CAxis* axis) { m_pXAxis = axis; }
- void SetYAxis(CAxis* axis) { m_pYAxis = axis; }
- void SetZAxis(CAxis* axis) { m_pZAxis = axis; }
- void SetNozzleTable(CNozzleTable* nozzleTable) { m_pNozzleTable = nozzleTable; }
- void SetCoord(CCoord* pCrd) { m_pCoord_XY = pCrd; }
- CXYCalib* GetCameraCalib() { return m_pXYCalib; }
- CCTDCalib* GetCTDCalib() { return m_pCTDCalib; }
- void SetVacDO(CIO* out) { m_pVacGpo = out; }
-
- void SetVacDi(CIO* input) { m_pVacGpi = input; }
- void SetFlowDi(CIO* input) { m_pFlowGpi = input; }
-
- LONG ChangeNozzle(int nozzleIndex);
- LONG UnLoadNozzle();
- LONG LoadNozzle(int nozzleIndex);
-
- LONG CameraCTDCalib();
-
- LONG CheckDieExistStatus(bool& bExist);
- LONG VacuumOn();
- LONG VacuumOff();
- LONG WaitZTrigXYToGrabPos();
-
- LONG PickDie(int dieIndex, bool waitDone =true );
-
- LONG MoveToPrePlacePos(bool waitDone);
- LONG SlowDownPlaceDie(int DieIndex, bool waitDone);
-
- LONG GetCurPickPos(int dieIndex, XY_DOUBLE_STRUCT& point);
- LONG MoveToGrabPos(XY_DOUBLE_STRUCT relDiePos, bool waitDone);
- LONG PickGrab(int index, XY_DOUBLE_STRUCT posOffset);
- LONG MoveToPrePickPos(XY_DOUBLE_STRUCT relDiePos, bool waitDone);
- LONG ZSlowDownPick(int index, bool waitDone);
- LONG ZUpToInitPos(bool waitDone);
- LONG WaitZTrigXYToPlacePos();
- LONG ZSlowDownPlace(int index, bool waitDone);
- private:
- CAxis* m_pXAxis = nullptr;
- CAxis* m_pYAxis = nullptr;
- CAxis* m_pZAxis = nullptr;
- CCameraBase* m_pCamera = nullptr;
- CIO* m_pVacGpo = nullptr;
- CIO* m_pVacGpi = nullptr;
- CIO* m_pFlowGpi = nullptr;
- CCoord* m_pCoord_XY = nullptr;
- PICK_PARAM m_stPickParam;
- CPRStrategy* m_pPR = nullptr;
- CNozzleTable* m_pNozzleTable = nullptr;
- CWafflePackMatrix* m_pPointMatrix = nullptr;
- CBondMatrix* m_pBondMatrix = nullptr;
-
- CXYCalib* m_pXYCalib = nullptr;
- CCTDCalib* m_pCTDCalib = nullptr;
- TipMatrix* m_pTipMatrix = nullptr;
-
- double m_dSafePosX = 0;
- double m_dSafePosY = 0;
- double m_dSafePosZ = 0;
- double m_dInitPosR = 0;
- double m_dPickOriginPosX = 0;
- double m_dPickOriginPosY = 0;
- double m_dPlacePosX = 0;
- double m_dPlacePosY = 0;
- double m_dYTrigZToBond = 0;
- double m_dYTrigZToPick = 0;
- double m_dZTrigYToPick = 0;
- double m_dZTrigYToBond = 0;
- double m_dPreChangeNozzleDisY = 0;
- double m_dNozzlePosZ = 0;
- double m_dNozzlePosY = 0;
- int m_nCurNozzleIndex = 0;
-
- int m_nTipUsedNum = 0;
- int m_nTipUsedMaxNum = 0;
- double m_dPickSlowVel = 0;
- double m_dPlaceSlowVel = 0;
-
- double m_dNozzleTableOriginPosX = 0;
- double m_dNozzleTableOriginPosY = 0;
- };
|