CEutecticHead.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. #pragma once
  2. #define C_PR_STRATEGY_EXPORTS
  3. #include "CPrStrategy.h"
  4. #include "CModule.h"
  5. #include "CCameraBase.h"
  6. #include "CXYCalib.h"
  7. #include "CRCalib.h"
  8. #include "CLookUpCalib.h"
  9. #include "CNozzleTable.h"
  10. #include "CBondMatrix.h"
  11. #include "CForceControl.h"
  12. #include "CBondHead.h"
  13. using namespace ns_db;
  14. /*
  15. 1、固晶头:有高倍相机、低倍相机、上视相机
  16. 2、包括固晶、点胶、超声
  17. 3、注意所有位置为相机位置,需转换为绑头位置
  18. 4、执行动作函数,外面调用判断返回值是"停止",要自行调用回初始位
  19. */
  20. class __declspec(dllexport) CEutecticHead :
  21. public CBondHead
  22. {
  23. public:
  24. CEutecticHead(MODULE_LIST eModuleType);
  25. ~CEutecticHead();
  26. virtual void SetHighCamera(CCameraBase* camera)override { m_pHighCamera = camera; }
  27. CXYCalib* GetHighCameraCalib() { return m_pHighXYCalib; }
  28. CCTDCalib* GetHighCTDCalib() { return m_pHighCTDCalib; }
  29. virtual void SetDataChangFunction() override;
  30. virtual LONG SetParam() override;
  31. virtual LONG GetParam() override;
  32. //virtual LONG ToHome() override;
  33. //virtual LONG ToSafePosition() override;
  34. virtual LONG InitResource() override;
  35. virtual void DataChangNotice(string strDbName, string strTableName) override;
  36. virtual void SetPickHTestIndex(int index) override;
  37. virtual void SetBondHTestIndex(int index) override;
  38. virtual LONG AllBondHighTest() override;
  39. //virtual LONG VacuumOn(long lDelay) override; //真空开
  40. //virtual LONG VacuumOff(long lDelay) override; //真空关,吹汽延时,ms
  41. virtual LONG StrongOn() override; //强吹开
  42. virtual LONG StrongOff() override; //强吹关
  43. //更换吸嘴
  44. //virtual LONG ChangeNozzle(int nozzleIndex)override;
  45. //virtual LONG UnLoadNozzle()override;
  46. //virtual LONG LoadNozzle(int nozzleIndex)override;
  47. //virtual LONG CheckDieExistStatus(bool& bExist)override;
  48. LONG CameraCTDCalib(int calibID);
  49. //吸嘴取晶,若返回值错误,需要自行调用回安全位置
  50. //virtual LONG MoveToPickGrabPos(bool waitDone = true)override;
  51. //拍照,取晶,并上行到上视拍照位,主要用于自动流程
  52. //virtual LONG PickDie(int index)override;
  53. //移动到拾取位,未拍照
  54. //virtual LONG MoveToPickPos()override;
  55. //中转台拍照,返回拍照结果,拍照结果仅用于拾取偏移,不存储
  56. //virtual LONG PickGrab(int index, X_Y_ANGLE_STRUCT& result)override;
  57. //得到拍照结果后补偿,将数据进行转换
  58. //virtual LONG PickDieDown(int index, X_Y_ANGLE_STRUCT result)override;
  59. ////上视拍照
  60. //virtual LONG XYZToLookUpGrabPos()override;
  61. ////移动到上视拍照位,拍照结果放到结构体中
  62. //virtual LONG LookUpGrab(int index,X_Y_ANGLE_STRUCT& result)override;
  63. //吸嘴固晶
  64. virtual LONG PlaceDie(int index, X_Y_ANGLE_STRUCT lookUpOffsetPixel)override;
  65. //virtual LONG MoveToBondGrabPos(int index)override;//修改为BondGrabPos
  66. //返回的拍照结果为物理单位
  67. //virtual LONG BondGrab(int index, X_Y_ANGLE_STRUCT& result)override;
  68. //virtual LONG ToBondPos_AddOffset(int index, X_Y_ANGLE_STRUCT bondOffset, X_Y_ANGLE_STRUCT lookUpOffset,
  69. // bool waitDone = true)override;//传入物理位置
  70. virtual LONG BondDieDown(int index)override;//传入物理位置
  71. //virtual LONG BondDieUp(bool waitDone = true)override;
  72. // virtual LONG FindForce(double endPos)override; //用于自动流程
  73. // virtual LONG UpdateForce(double dForce)override; //切换力的大小
  74. //创建标定模板
  75. virtual LONG CreateHighCameraCalibTemp() override;
  76. virtual LONG CreateCTDLookUpCameraTemp()override;
  77. virtual LONG CreateCTDLowCameraTemp()override;
  78. virtual LONG CreateHighCameraCTDTemp()override;
  79. //virtual LONG HighCameraCTDCalib() override;
  80. //标定
  81. virtual LONG HighCameraPosCalib()override;
  82. virtual LONG HighCTDNozzlePosCalib()override;
  83. virtual LONG CalHighCTDResult()override;
  84. virtual LONG HighCameraXYCalib()override;
  85. //LONG CreateTemplate_HighCamera(SEARCH_OUT eResultSelect, UINT& iTemplateId);
  86. private:
  87. CCameraBase* m_pHighCamera = nullptr;
  88. CXYCalib* m_pHighXYCalib = nullptr;
  89. CCTDCalib* m_pHighCTDCalib = nullptr;
  90. };