IMeasureHardware.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using OTSDataType;
  7. using System.Drawing;
  8. using OTSCLRINTERFACE;
  9. namespace OTSModelSharp.ServiceCenter
  10. {
  11. public enum EDSTYPE
  12. {
  13. OFFLINE =0,
  14. BRUKER =1,
  15. OXFORD=2,
  16. FEI=3
  17. }
  18. public enum DwellTimeLevel
  19. {
  20. Low = 0,
  21. Medium = 1,
  22. High = 2,
  23. }
  24. public interface ISemController
  25. {
  26. bool IsConnected();
  27. bool Connect();
  28. bool DisConnect();
  29. bool SetMagnification(double a_dMagnification);
  30. bool GetMagnification(ref double a_dMagnification);
  31. bool SetWorkingDistance(double a_distance);
  32. bool GetWorkingDistance(ref double a_distance);
  33. bool SetScanExternal(bool b);
  34. bool GetScanFieldSize(ref double dScanFieldSizeX,ref double dScanFieldSizeY);
  35. bool GetSemPositionXY(ref double a_dPositionX, ref double a_dPositionY, ref double a_dPositionR);
  36. bool MoveSEMToPoint(double a_dPositionX, double a_dPositionY, double rotation);
  37. bool MoveSEMToPoint(double a_dPositionX, double a_dPositionY);
  38. bool SetSemBrightness(double a_dBrightness);
  39. bool GetSemBrightness(ref double a_dBrightness);
  40. bool SetSemContrast(double a_dContrast);
  41. bool GetSemContrast(ref double a_dContrast);
  42. bool SetSemHighTension(double a_dKV);
  43. bool GetSemHighTension(ref double a_dKV);
  44. bool SetSemBeamCurrentOff(bool value);
  45. bool SetSemBeamBlank(bool value);
  46. bool SetSemHTOff(bool value);
  47. bool GetSemBeamBlank(ref int a_nBeamBlank);
  48. bool StopXrayAcquisition();
  49. bool RunHIGH_VACUUM();
  50. bool StopImageAcquisition();
  51. bool SetReducedArea();
  52. bool SetFullFrame();
  53. }
  54. public interface IScanController
  55. {
  56. bool Init();
  57. bool SetDwellTime(DwellTimeLevel val);
  58. bool SetImageSize(int nWidth,int nHeight);
  59. CBSEImgClr AcquireBSEImage();
  60. CBSEImgClr AcquireRectangleBSEImage( System.Drawing.Rectangle rec);
  61. }
  62. public interface IEDSController
  63. {
  64. bool Connect();
  65. bool GetXRayByFeatures(List<COTSParticleClr> a_listParticles, double a_nXRayAQTime, bool a_bElementInfo /*= FALSE*/);//这里将DWORD转成了Double类型,因为在后续调用时还有DWORD强制转换
  66. bool GetXRayByExpandFeatures(List<COTSParticleClr> a_listParticles, double a_nXRayAQTime, bool a_bElementInfo /*= FALSE*/);
  67. bool GetXRayByParts(List<COTSParticleClr> a_listParticles, uint a_nXRayAQTime, bool a_bElementInfo /*= FALSE*/);
  68. bool CollectSpectrum(uint a_nXRayAQTime, ref uint[] a_XrayData);
  69. bool QuantifyXrayByPart(COTSParticleClr part);
  70. EDSTYPE GetEDSType();
  71. void SetFilterKeyEleNames(List<string> KeyNameList);
  72. void SetResolution(int resolutionWidth, int resolutionHeight);
  73. int GetExpectCount();
  74. bool GetIfDelayQuantify();
  75. void SetQuantifiCationParam(bool IfAutoId, String knownElements);
  76. }
  77. }