EfemInterface.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using Aitex.Core.Common;
  5. using Aitex.Sorter.Common;
  6. using MECF.Framework.Common.Equipment;
  7. using Venus_Core;
  8. namespace Venus_RT.Devices
  9. {
  10. public interface IEfemMessage : IHardwareMessage
  11. {
  12. EfemOperation Operation { get; set; }
  13. }
  14. interface IAlign
  15. {
  16. void Lift();
  17. void Align(WaferSize size);
  18. }
  19. public interface ILoadport
  20. {
  21. ModuleName Module { get; set; }
  22. //DoorState DoorStatus { get; set; }
  23. DeviceState Status { get; set; }
  24. bool HasCassette { get; set; }
  25. bool IsMapped { get; set; }
  26. bool IsLoaded { get; set; }
  27. bool IsClamped { get; set; }
  28. string CarrierId { get; set; }
  29. bool IsThicknessValid { get; }
  30. string SmartTag { get; set; }
  31. WaferStatus[] WaferInfo { get; set; }
  32. bool JobDone { get; set; }
  33. Stopwatch TimerNotifyJobDone { get; set; }
  34. void Home();
  35. void NoteJobStart();
  36. void NoteJobComplete();
  37. void Map();
  38. void SetOnline(bool on);
  39. void OnCarrierIDRead(string data);
  40. void OnCarrierIDReadFailed(string data);
  41. void OnLoadFailed(string data);
  42. void OnHomed();
  43. void OnLoaded();
  44. void OnUnloaded();
  45. void OnUnloadFailed(string data);
  46. void OnClamped(bool isUnloadClamp);
  47. void OnClampFailed(string data);
  48. void OnUnclamped();
  49. void OnUnclampFailed(string data);
  50. void OnCarrierIDWrite(string data);
  51. void OnCarrierIDWriteFailed(string data);
  52. void OnTagDataRead(string data);
  53. void OnTagDataReadFailed(string data);
  54. void OnTagDataWrite(string data);
  55. void OnTagDataWriteFailed(string data);
  56. }
  57. public interface IMessageHandler
  58. {
  59. bool IsCompleted { get; }
  60. event EventHandler<EfemActionArgs> CommandUpdated;
  61. event EventHandler<EfemEventArgs> EventUpdated;
  62. event EventHandler<EfemErrorArgs> ErrorOccurred;
  63. void Send(IEfemMessage msg);
  64. //void Send(string str);
  65. void ReceiveMessage(string str);
  66. }
  67. public class EfemActionArgs : EventArgs
  68. {
  69. public ushort ID { get; set; }
  70. public ModuleName Module { get; set; }
  71. public EfemOperation CommandType { get; set; }
  72. public ActionStatus Status { get; set; }
  73. public string Data { get; set; }
  74. }
  75. public class EfemEventArgs : EventArgs
  76. {
  77. public string EvtStr { get; set; }
  78. public ModuleName Module { get; set; }
  79. public EfemOperation CommandType { get; set; }
  80. public IList<string> DataList { get; set; }
  81. }
  82. public class EfemErrorArgs : EventArgs
  83. {
  84. public string Factor { get; set; }
  85. public string Description { get; set; }
  86. public ModuleName Module { get; set; }
  87. public string Message { get; set; }
  88. public EfemOperation CommandType { get; set; }
  89. public ActionStatus Status { get; set; }
  90. public string Data { get; set; }
  91. public ushort ID { get; set; }
  92. }
  93. }