CUltraHead.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #pragma once
  2. #include "CModule.h"
  3. #include "CForceControl.h"
  4. #include "CLookUpCalib.h"
  5. #include "CRCalib.h"
  6. #include "CXYCalib.h"
  7. #include "CNozzleTable.h"
  8. #include "CTemperature.h"
  9. #include "CBondHead.h"
  10. /*
  11. 超声头:和固晶头相比,固晶时,需加热,控制超声IO
  12. */
  13. class __declspec(dllexport) CUltraHead :
  14. public CBondHead
  15. {
  16. public:
  17. CUltraHead(MODULE_LIST eModuleType);
  18. ~CUltraHead();
  19. void SetUltraDo(CIO* output) { m_pUltraIO = output; }
  20. LONG AllocateIo(vector<CIO*> vecIo);
  21. virtual void SetDataChangFunction() override;
  22. virtual LONG SetParam() override;
  23. virtual LONG GetParam() override;
  24. // virtual LONG ToHome() override;
  25. // virtual LONG ToSafePosition() override;
  26. virtual LONG InitResource() override;
  27. virtual void DataChangNotice(string strDbName, string strTableName) override;
  28. virtual void SetPickHTestIndex(int index);
  29. virtual void SetBondHTestIndex(int index);
  30. virtual LONG PickHighTest();//调用之前先SetIndex
  31. virtual LONG AllBondHighTest();
  32. virtual LONG BongHighTest();
  33. //virtual LONG VacuumOn(); //真空开
  34. //virtual LONG VacuumOff(); //真空关
  35. //virtual LONG StrongOn(); //强吹开
  36. //virtual LONG StrongOff(); //强吹关
  37. virtual LONG UltraOn(int iUltraValue); //超声开
  38. virtual LONG UltraOff(); //超声关
  39. //上视拍照
  40. LONG XYZToLookUpGrabPos();
  41. LONG LookUpGrab(int index,X_Y_ANGLE_STRUCT& result);//移动到上视拍照位,拍照结果放到结构体中
  42. //吸嘴固晶
  43. LONG PlaceDie(int index, X_Y_ANGLE_STRUCT lookUpOffsetPixel);
  44. LONG MoveToBondPos(int index);
  45. LONG BondGrab(int index, X_Y_ANGLE_STRUCT& result); //返回的拍照结果为物理单位
  46. LONG ToBondPos_AddOffset(int index, X_Y_ANGLE_STRUCT bondOffset, X_Y_ANGLE_STRUCT lookUpOffset, bool waitDone = true);//传入物理位置
  47. LONG BondDieDown(int index);//传入物理位置
  48. LONG BondDieUp(bool waitDone = true);
  49. LONG CreateTemplate_LowCamera(SEARCH_OUT eResultSelect, UINT& iTemplateId);
  50. LONG SearchTemplate(UINT iTemplateId, X_Y_ANGLE_STRUCT& stOffset);
  51. //LONG MoveTo(double x,double y, double z);
  52. private:
  53. CIO* m_pUltraIO = nullptr;
  54. //超声值
  55. int m_nUltraValue = 0x0; //超声值
  56. long m_lUltraDelay = 1000; //超声延时 ms
  57. //温控器
  58. LONG WaitTemprature(double dMinTempelature, double dMaxTempelature, long lTimeOut);
  59. bool m_BnormallyOpen = false; //是否常开
  60. double m_nBondTempelature = 0; //固晶温度
  61. double m_nPreTempelature = 0; //预备温度
  62. std::string m_sTemperatureCtrlPort = "192.168.1.10";
  63. int m_nAddress = 0x5;
  64. Temperature_Ctltype m_nTemCtrlType = GLTC;
  65. CTemperature* m_pTempCtrl = nullptr;
  66. };