123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #pragma once
- #define C_PR_STRATEGY_EXPORTS
- #include "CPrStrategy.h"
- #include "CModule.h"
- #include "CCameraBase.h"
- #include "CXYCalib.h"
- #include "CRCalib.h"
- #include "CLookUpCalib.h"
- #include "CNozzleTable.h"
- #include "CBondMatrix.h"
- #include "CForceControl.h"
- #include "CBondHead.h"
- using namespace ns_db;
- /*
- 1、固晶头:有高倍相机、低倍相机、上视相机
- 2、包括固晶、点胶、超声
- 3、注意所有位置为相机位置,需转换为绑头位置
- 4、执行动作函数,外面调用判断返回值是"停止",要自行调用回初始位
- */
- class __declspec(dllexport) CEutecticHead :
- public CBondHead
- {
- public:
- CEutecticHead(MODULE_LIST eModuleType);
- ~CEutecticHead();
- virtual void SetHighCamera(CCameraBase* camera)override { m_pHighCamera = camera; }
- CXYCalib* GetHighCameraCalib() { return m_pHighXYCalib; }
- CCTDCalib* GetHighCTDCalib() { return m_pHighCTDCalib; }
- LONG CreateTemplate_HighCamera(SEARCH_OUT eResultSelect, UINT & iTemplateId);
- LONG CreateTemplate_LowCamera(SEARCH_OUT eResultSelect, UINT& iTemplateId);
- virtual void SetDataChangFunction() override;
- virtual LONG SetParam() override;
- virtual LONG GetParam() override;
- virtual LONG ToHome() override;
- virtual LONG ToSafePosition() override;
- virtual LONG InitResource() override;
- virtual void DataChangNotice(string strDbName, string strTableName) override;
- virtual void SetPickHTestIndex(int index) override;
- virtual void SetBondHTestIndex(int index) override;
- virtual LONG PickHighTest() override;//调用之前先SetIndex
- virtual LONG AllBondHighTest() override;
- virtual LONG BongHighTest() override;
- virtual LONG VacuumOn(long lDelay) override; //真空开
- virtual LONG VacuumOff(long lDelay) override; //真空关,吹汽延时,ms
- virtual LONG StrongOn() override; //强吹开
- virtual LONG StrongOff() override; //强吹关
- //更换吸嘴
- //virtual LONG ChangeNozzle(int nozzleIndex)override;
- //virtual LONG UnLoadNozzle()override;
- //virtual LONG LoadNozzle(int nozzleIndex)override;
- //virtual LONG CheckDieExistStatus(bool& bExist)override;
- LONG CameraCTDCalib(int calibID);
- //吸嘴取晶,若返回值错误,需要自行调用回安全位置
- virtual LONG MoveToGrabPos(bool waitDone = true)override;
- //拍照,取晶,并上行到上视拍照位,主要用于自动流程
- virtual LONG PickDie(int index)override;
- //移动到拾取位,未拍照
- //virtual LONG MoveToPickPos()override;
- //中转台拍照,返回拍照结果,拍照结果仅用于拾取偏移,不存储
- virtual LONG PickGrab(int index, X_Y_ANGLE_STRUCT& result)override;
- //得到拍照结果后补偿,将数据进行转换
- virtual LONG PickDieDown(int index, X_Y_ANGLE_STRUCT result)override;
- virtual LONG PickUpToGrabPos()override;
- virtual LONG PickDieUp(bool waitDone = true)override;//上行到安全位置
- //上视拍照
- virtual LONG XYZToLookUpGrabPos()override;
- //移动到上视拍照位,拍照结果放到结构体中
- virtual LONG LookUpGrab(int index,X_Y_ANGLE_STRUCT& result)override;
- //吸嘴固晶
- virtual LONG PlaceDie(int index, X_Y_ANGLE_STRUCT lookUpOffsetPixel)override;
- virtual LONG MoveToBondPos(int index)override;//修改为BondGrabPos
- //返回的拍照结果为物理单位
- virtual LONG BondGrab(int index, X_Y_ANGLE_STRUCT& result)override;
- virtual LONG ToBondPos_AddOffset(int index, X_Y_ANGLE_STRUCT bondOffset, X_Y_ANGLE_STRUCT lookUpOffset,
- bool waitDone = true)override;//传入物理位置
- virtual LONG BondDieDown(int index)override;//传入物理位置
- virtual LONG BondDieUp(bool waitDone = true)override;
- // virtual LONG FindForce(double endPos)override; //用于自动流程
- // virtual LONG UpdateForce(double dForce)override; //切换力的大小
- //标定
- virtual LONG HighCameraCTDCalib() override;
- private:
- CCameraBase* m_pHighCamera = nullptr;
- CXYCalib* m_pHighXYCalib = nullptr;
- CCTDCalib* m_pHighCTDCalib = nullptr;
- };
|