EfemInterface.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using System;
  2. using System.Collections.Generic;
  3. using Aitex.Core.Common;
  4. using Aitex.Sorter.Common;
  5. using MECF.Framework.Common.Equipment;
  6. using Virgo_DCommon;
  7. namespace Virgo_DRT.Device
  8. {
  9. interface IEfemMessage : IHardwareMessage
  10. {
  11. EfemOperation Operation { get; set; }
  12. }
  13. interface IEfem
  14. {
  15. void HomeAll();
  16. void Home(ModuleName mod);
  17. void ClearError();
  18. void Pick(MoveParam mp);
  19. void Place(MoveParam mp);
  20. void Extend(ExtendParam ep);
  21. void Retract(ExtendParam ep);
  22. void Map(ModuleName mod);
  23. void SetPinUp(ModuleName mod);
  24. void Align(ModuleName mod, float delayTime, WaferSize size);
  25. void SetLamp(LightType light, LightStatus status);
  26. }
  27. interface IAlign
  28. {
  29. void Lift();
  30. void Align(WaferSize size);
  31. }
  32. interface ILoadport
  33. {
  34. ModuleName Module { get; set; }
  35. //DoorState DoorStatus { get; set; }
  36. DeviceState Status { get; set; }
  37. bool HasCassette { get; set; }
  38. bool IsMapped { get; set; }
  39. WaferStatus[] WaferInfo { get; set; }
  40. void Home();
  41. void Map();
  42. void SetOnline(bool on);
  43. }
  44. interface IMessageHandler
  45. {
  46. bool IsCompleted { get; }
  47. event EventHandler<EfemActionArgs> CommandUpdated;
  48. event EventHandler<EfemEventArgs> EventUpdated;
  49. event EventHandler<EfemErrorArgs> ErrorOccurred;
  50. void Send(IEfemMessage msg);
  51. //void Send(string str);
  52. void ReceiveMessage(string str);
  53. }
  54. class EfemActionArgs : EventArgs
  55. {
  56. public ushort ID { get; set; }
  57. public ModuleName Module { get; set; }
  58. public EfemOperation CommandType { get; set; }
  59. public ActionStatus Status { get; set; }
  60. public string Data { get; set; }
  61. }
  62. class EfemEventArgs : EventArgs
  63. {
  64. public string EvtStr { get; set; }
  65. public ModuleName Module { get; set; }
  66. public EfemOperation CommandType { get; set; }
  67. public IList<string> DataList { get; set; }
  68. }
  69. class EfemErrorArgs : EventArgs
  70. {
  71. public string Factor { get; set; }
  72. public string Description { get; set; }
  73. public ModuleName Module { get; set; }
  74. public string Message { get; set; }
  75. }
  76. }