123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- #pragma once
- #include <vector>
- #define HIKVISION_CAMERA_EXPORTS
- #include "CCameraManage.h"
- #include "CModule.h"
- #include "CCalib.h"
- #include "CBondHead.h"
- #include "CXYCalib.h"
- #include "CHIKVisionCamera.h"
- #include "CWafflePackHead.h"
- #include "CWaferTable.h"
- #include "JMotion.h"
- #include "CTransferTable.h"
- #include "CBondTable.h"
- #include "CNozzleTable.h"
- #include "CForceControl.h"
- #include "VerticalMeasure.h"
- #include "HorizMeasure.h"
- #include "CAxis.h"
- #include "CWafflePackHead.h"
- #include "CWaferHead.h"
- #include "CUltraHead.h"
- #include "CEutecticHead.h"
- #ifdef C_MACHINE_EXPORTS
- #define C_MACHINE_DLL_API __declspec(dllexport)
- #else
- #define C_MACHINE_DLL_API
- #endif
- class C_MACHINE_DLL_API Machine
- {
- public:
- enum HeadType
- {
- UltralHead,
- EutecticHead,
- };
- static Machine* GetInstance();
- static void releaseInstance();
- JMotion* GetMotion() {return m_pMotion;}
- LONG ToHome();
- vector<CAxis*> GetMachineAllAxis() {return m_vetAxis;};
- CBondHead* GetBondHead() {return m_pBondHead;}
-
- CBondTable* GetBondTable() { return m_pBondTable; }
-
-
- CTransferTable* GetWaferCalibTable() { return m_pWaferTransferTable; }
- CTransferTable* GetWaffleCalibTable() { return m_pWaffleTransferTable; }
- CNozzleTable* GetNozzleTable() { return m_pNozzleTable; }
-
-
- CVerticalMeasure* GetVerticalMeasure() { return m_pVerMeasure; }
- CHorizMeasure* GetHorizMeasure() { return m_pHorizMeasure; }
- CWafflePackHead* GetWafflePackHead() { return m_pWaffleHead; }
- CWaferHead* GetWaferHead() { return m_pWaferHead; };
- CWaferTable* GetWaferTable() { return m_pWaferTable; }
- CResources* GetResources() { return m_pResource; };
-
-
-
- JMotion* GetJMotion() {
- return m_pMotion;
- }
- CXYCalib* GetBondHeadHighCameraCalib() {
- switch (Machine::m_eHeadType)
- {
- case Machine::HeadType::UltralHead:
- return nullptr;
- case Machine::HeadType::EutecticHead:
- return m_pBondHead->GetHighCameraCalib();
- default:
- return nullptr;
- break;
- }
- }
- CXYCalib* GetBondHeadLowCameraCalib() { return m_pBondHead->GetLowCameraCalib(); }
- CXYCalib* GetLookUpCameraCalib() { return m_pBondHead->GetLookUpCameraCalib(); }
- CXYCalib* GetWaferCameraCalib() { return m_pWaferTable->GetWaferXYCalib(); }
- CXYCalib* GetWafflePackCameraCalib() { return m_pWaffleHead->GetCameraCalib(); }
- CCTDCalib* GetWafflePackCTDCalib() { return m_pWaffleHead->GetCTDCalib(); }
- CRCalib* GetBondHeadRCalib() { return m_pBondHead->GetHeadRCalib(); }
- bool GetInitSuccess() { return m_bIsInitSuccess; }
- HeadType GetHeadType() { return m_eHeadType; }
- void SetHeadType(HeadType type) { m_eHeadType = type; }
- LONG MoveToSafePosition() { return OK; };
- LONG load();
- LONG save();
- private:
- Machine();
- ~Machine();
- LONG CreateModules();
- void CreateMeasures();
- LONG InitModules();
- void AllocModule();
- void ReleaseAxisAndIo();
- LONG CreatAllAxis();
- LONG CreatAllIo();
- LONG CreatAllCoord();
- bool GetAxisByMotion(string name, CAxis * *pAxis);
- bool GetIoByMotion(IO_LIST name, CIO * *pIo);
- bool GetCoordByMotion(COORD_LIST type, CCoord * *pCoord);
-
- private:
- static Machine* m_instance;
- vector<CAxis*> m_vetAxis;
- vector<CIO*> m_vetIO;
- vector<CCoord*> m_vetCoord;
- vector<CModule*> m_vetModules;
- CBondHead* m_pBondHead = nullptr;
-
-
- CWafflePackHead* m_pWaffleHead = nullptr;
- CWaferTable* m_pWaferTable = nullptr;
- CWaferHead* m_pWaferHead = nullptr;
- CEjector* m_pEjector = nullptr;
- CTransferTable* m_pWaferTransferTable = nullptr;
- CTransferTable* m_pWaffleTransferTable = nullptr;
- CBondTable* m_pBondTable = nullptr;
- CNozzleTable* m_pNozzleTable = nullptr;
- CForceControl* m_pBondHeadForce = nullptr;
- CForceControl* m_pWaferHeadForce = nullptr;
-
- CVerticalMeasure* m_pVerMeasure = nullptr;
- CHorizMeasure* m_pHorizMeasure = nullptr;
-
- JMotion* m_pMotion = nullptr;
-
- CCameraManage* m_pCameraManage = nullptr;
- CResources* m_pResource = nullptr;
- CManageDB* pCManageDB = nullptr;
- bool m_bIsInitSuccess = false;
- bool m_bMotionEnable = true;
- HeadType m_eHeadType = HeadType::UltralHead;
- CHardware* m_pCHardware = nullptr;
-
- };
|