EfemService.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using Aitex.Core.Common;
  2. using Aitex.Core.RT.DataCenter;
  3. using Aitex.Core.RT.OperationCenter;
  4. using MECF.Framework.Common.Equipment;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Diagnostics;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using OP = Common.OP.OP;
  12. namespace Common.WcfService.Efem
  13. {
  14. public class EfemService : IEfemService
  15. {
  16. public bool MoveWafer(ModuleName source, int source_slot, ModuleName desitation, int desitation_slot, WaferSize size)
  17. {
  18. OP.OP.DoOperation("MoveWafer", new object[] { source, source_slot, desitation, desitation_slot, size });
  19. return true;
  20. }
  21. public bool CreateWafer(ModuleName module, int slot, WaferSize size)
  22. {
  23. OP.OP.DoOperation("CreateWafer",new object[] { module, slot, (int)size});
  24. return true;
  25. }
  26. public bool CreateLPSingleWafer(ModuleName module, int slot, WaferSize size)
  27. {
  28. OP.OP.DoOperation("CreateLPSingleWafer", new object[] { module, slot, (int)size });
  29. return true;
  30. }
  31. public bool CreateBFSingleWafer(ModuleName module, int slot, WaferSize size)
  32. {
  33. OP.OP.DoOperation("CreatebufferSingleWafer", new object[] { module, slot, (int)size });
  34. return true;
  35. }
  36. public bool DeleteWafer(ModuleName module, int slot, WaferSize size)
  37. {
  38. OP.OP.DoOperation("DeleteWafer", new object[] { module, slot, (int)size });
  39. return true;
  40. }
  41. public string EfemCmd(string module,params object[] args)
  42. {
  43. Trace.WriteLine($"将要发出信息:{module}");
  44. //OP.OP.Subscribe("EFEM.HOME1", (cmd, args) => { Trace.WriteLine("OP收到Home1"); return true; });
  45. OP.OP.DoOperation($"{module}" ,args);
  46. return ".";
  47. }
  48. public string GetRTstate()
  49. {
  50. return "GetRTstate";
  51. }
  52. public WaferInfo[] GetWafer(ModuleName module)
  53. {
  54. //获取Wafer信息
  55. Trace.WriteLine("正在获取Wafer信息");
  56. return (WaferInfo[])DATA.Poll(module.ToString()+ ".WaferInfos");
  57. }
  58. public string SendRTMsg(string RTMsg)
  59. {
  60. return "SendRTMsg";
  61. }
  62. public bool ClearLog()
  63. {
  64. OP.OP.DoOperation("ClearLogList");
  65. return true;
  66. }
  67. public bool LoadPortCmd(string LoadPortID, string LoadMsg)
  68. {
  69. Trace.WriteLine($"将要发出信息给LoadPort{LoadPortID}:{LoadMsg}");
  70. OP.OP.DoOperation($"{LoadPortID}.{LoadMsg}");
  71. return true;
  72. }
  73. }
  74. }