EfemInterface.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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 CyberX8_Core;
  8. namespace CyberX8_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 GotoMap(string extend);
  38. void Map();
  39. void SetOnline(bool on);
  40. void OnCarrierIDRead(string data);
  41. void OnCarrierIDReadFailed(string data);
  42. void OnLoadFailed(string data);
  43. void OnHomed();
  44. void OnLoaded();
  45. void OnUnloaded();
  46. void OnUnloadFailed(string data);
  47. void OnClamped(bool isUnloadClamp);
  48. void OnClampFailed(string data);
  49. void OnUnclamped();
  50. void OnUnclampFailed(string data);
  51. void OnCarrierIDWrite(string data);
  52. void OnCarrierIDWriteFailed(string data);
  53. void OnTagDataRead(string data);
  54. void OnTagDataReadFailed(string data);
  55. void OnTagDataWrite(string data);
  56. void OnTagDataWriteFailed(string data);
  57. }
  58. public interface IMessageHandler
  59. {
  60. bool IsCompleted { get; }
  61. event EventHandler<EfemActionArgs> CommandUpdated;
  62. event EventHandler<EfemEventArgs> EventUpdated;
  63. event EventHandler<EfemErrorArgs> ErrorOccurred;
  64. void Send(IEfemMessage msg);
  65. //void Send(string str);
  66. void ReceiveMessage(string str);
  67. }
  68. public class EfemActionArgs : EventArgs
  69. {
  70. public ushort ID { get; set; }
  71. public ModuleName Module { get; set; }
  72. public EfemOperation CommandType { get; set; }
  73. public ActionStatus Status { get; set; }
  74. public string Data { get; set; }
  75. }
  76. public class EfemEventArgs : EventArgs
  77. {
  78. public string EvtStr { get; set; }
  79. public ModuleName Module { get; set; }
  80. public EfemOperation CommandType { get; set; }
  81. public IList<string> DataList { get; set; }
  82. }
  83. public class EfemErrorArgs : EventArgs
  84. {
  85. public string Factor { get; set; }
  86. public string Description { get; set; }
  87. public ModuleName Module { get; set; }
  88. public string Message { get; set; }
  89. public EfemOperation CommandType { get; set; }
  90. public ActionStatus Status { get; set; }
  91. public string Data { get; set; }
  92. public ushort ID { get; set; }
  93. }
  94. }