CCamerAndLamp.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #pragma once
  2. #define C_MACHINE_EXPORTS
  3. #include "Machine.h"
  4. #include "CDieBondFsm.h"
  5. #include "CMessageBox.h"
  6. #include "dt.h"
  7. namespace ns_module
  8. {
  9. class __declspec(dllexport) CCamerAndLamp
  10. {
  11. private:
  12. static CCamerAndLamp* m_instance;
  13. CManageDB* m_pCManageDB = nullptr;
  14. Machine* m_pMachine = nullptr;
  15. CCameraManage* m_pCameraManage = nullptr;
  16. CBondHead* m_pBondHead = nullptr;
  17. CWaferTable* m_pWaferTable = nullptr;
  18. CWaferHead* m_pWaferHead = nullptr;
  19. CTransferTable* m_pWaferTransferTable = nullptr;
  20. CTransferTable* m_pWaffleTransferTable = nullptr;
  21. CResources* m_pResource = nullptr;
  22. CDieBondFsm* m_pDieBondFsm = nullptr;
  23. public:
  24. static CCamerAndLamp* GetInstance();
  25. CCamerAndLamp();
  26. /// <summary>
  27. /// 设置红光
  28. /// </summary>
  29. /// <param name="iCameraId">相机Id</param>
  30. /// <param name="LightValue">灯光值</param>
  31. /// <returns>成功返回0,否则返回错误码</returns>
  32. long SetRedLight(int iCameraId, int LightValue);
  33. /// <summary>
  34. /// 设置绿光
  35. /// </summary>
  36. /// <param name="LightValue">灯光值</param>
  37. /// <returns>成功返回0,否则返回错误码</returns>
  38. long SetGreenLight(int iCameraId, int LightValue);
  39. /// <summary>
  40. /// 设置蓝光
  41. /// </summary>
  42. /// <param name="iCameraId">相机Id</param>
  43. /// <param name="LightValue">灯光值</param>
  44. /// <returns>成功返回0,否则返回错误码</returns>
  45. long SetBlueLight(int iCameraId, int LightValue);
  46. /// <summary>
  47. /// 设置点光
  48. /// </summary>
  49. /// <param name="iCameraId">相机Id</param>
  50. /// <param name="LightValue">灯光值</param>
  51. /// <returns>成功返回0,否则返回错误码</returns>
  52. long SetPointLight(int iCameraId, int LightValue);
  53. /// <summary>
  54. /// 获取灯光值
  55. /// </summary>
  56. /// <param name="iCameraId">相机Id</param>
  57. /// <param name="redLightValue">红光。值为-1时,表示没有该灯</param>
  58. /// <param name="greenLightValue">绿光。值为-1时,表示没有该灯</param>
  59. /// <param name="blueLightValue">蓝光。值为-1时,表示没有该灯</param>
  60. /// <param name="pointLightValue">点光。值为-1时,表示没有该灯</param>
  61. /// <returns>成功返回0,否则返回错误码</returns>
  62. long GetLight(int iCameraId, int& redLightValue, int& greenLightValue, int& blueLightValue, int& pointLightValue);
  63. /// <summary>
  64. /// 获取相机图像。调用后会阻塞,直到有新的相机图像时才返回
  65. /// </summary>
  66. /// <param name="iCameraId">相机Id</param>
  67. /// <param name="image"></param>
  68. /// <returns>成功返回0,否则返回错误码</returns>
  69. long GrabImage(int iCameraId, ImageInfo& image);
  70. /// <summary>
  71. /// 获取相机列表
  72. /// </summary>
  73. /// <param name="vecCamera">相机列表</param>
  74. /// <returns>成功返回0,否则返回错误码</returns>
  75. long GetCameraList(vector<CameraInfo>& vecCamera);
  76. /// <summary>
  77. /// 相机移动到显示位置
  78. /// </summary>
  79. /// <param name="iCameraId"></param>
  80. /// <param name="x"></param>
  81. /// <param name="y"></param>
  82. /// <returns></returns>
  83. long CameraMove(int iCameraId, double x, double y);
  84. //设置相机显示回调
  85. long SetVideoCallBackFunc(int iCameraId, CallVideoBack func);
  86. };
  87. }