TM.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Aitex.Core.RT.DataCenter;
  7. using Aitex.Core.RT.Device;
  8. using Aitex.Core.RT.Device.Unit;
  9. using Aitex.Core.RT.OperationCenter;
  10. using MECF.Framework.Common.Equipment;
  11. using MECF.Framework.Common.SubstrateTrackings;
  12. using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.LoadLocks;
  13. namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.TMs
  14. {
  15. public class TM : BaseDevice, IDevice, ITM
  16. {
  17. public virtual double ChamberPressure { get; }
  18. public virtual double ForelinePressure { get; }
  19. public TM(string module) : base(module, module, module, module)
  20. {
  21. }
  22. public virtual bool Initialize()
  23. {
  24. DATA.Subscribe($"{Name}.IsAtm", () => { return CheckAtm(); });
  25. DATA.Subscribe($"{Name}.IsVacuum", () => { return CheckVacuum(); });
  26. DATA.Subscribe($"{Name}.ChamberPressure", () => ChamberPressure);
  27. DATA.Subscribe($"{Name}.ForelinePressure", () => ForelinePressure);
  28. return true;
  29. }
  30. public virtual bool CheckAtm()
  31. {
  32. return false;
  33. }
  34. public virtual bool CheckVacuum()
  35. {
  36. return false;
  37. }
  38. public virtual bool CheckIsPumping()
  39. {
  40. return false;
  41. }
  42. public virtual bool SetFastVentValve(bool isOpen, out string reason)
  43. {
  44. reason = string.Empty;
  45. return true;
  46. }
  47. public virtual bool SetSlowVentValve(bool isOpen, out string reason)
  48. {
  49. reason = string.Empty;
  50. return true;
  51. }
  52. public virtual bool SetFastPumpValve(bool isOpen, out string reason)
  53. {
  54. reason = string.Empty;
  55. return true;
  56. }
  57. public virtual bool SetSlowPumpValve(bool isOpen, out string reason)
  58. {
  59. reason = string.Empty;
  60. return true;
  61. }
  62. public virtual IoSlitValve GetSlitValve(ModuleName module)
  63. {
  64. return null;
  65. }
  66. public virtual bool SetSlitValve(ModuleName module, bool isOpen, out string reason)
  67. {
  68. reason = string.Empty;
  69. return true;
  70. }
  71. public virtual bool CheckSlitValveOpen(ModuleName module)
  72. {
  73. return true;
  74. }
  75. public virtual bool CheckSlitValveClose(ModuleName module)
  76. {
  77. return true;
  78. }
  79. public virtual void Monitor()
  80. {
  81. }
  82. public virtual void Terminate()
  83. {
  84. }
  85. public virtual void Reset()
  86. {
  87. }
  88. //public virtual bool SetPMASlitDoor(bool open)
  89. //{
  90. // return false;
  91. //}
  92. //public virtual bool SetPMBSlitDoor(bool open)
  93. //{
  94. // return false;
  95. //}
  96. //public virtual bool SetPMCSlitDoor(bool open)
  97. //{
  98. // return false;
  99. //}
  100. //public virtual bool SetPMDSlitDoor(bool open)
  101. //{
  102. // return false;
  103. //}
  104. }
  105. }