JetTM.cs 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using Aitex.Core.Common.DeviceData;
  2. using Aitex.Core.RT.Device;
  3. using Aitex.Core.RT.Device.Unit;
  4. using Aitex.Core.Util;
  5. using Aitex.Core.RT.SCCore;
  6. using Aitex.Core.RT.Log;
  7. using Aitex.Sorter.Common;
  8. using MECF.Framework.Common.Device.Bases;
  9. using MECF.Framework.Common.Equipment;
  10. using System;
  11. using System.Collections.Generic;
  12. using Venus_Core;
  13. using Venus_RT.Modules;
  14. using Venus_RT.Modules.PMs;
  15. using Venus_RT.Devices.IODevices;
  16. using Venus_RT.Devices.EPD;
  17. using Aitex.Core.RT.DataCenter;
  18. using Aitex.Core.RT.OperationCenter;
  19. using MECF.Framework.Common.SubstrateTrackings;
  20. using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.TMs;
  21. namespace Venus_RT.Devices
  22. {
  23. class JetTM : TM
  24. {
  25. private readonly IoLid _TMLid;
  26. private readonly IoLid _LLALid;
  27. private readonly IoLid _LLBLid;
  28. private readonly IoCylinder _LLASlitDoor;
  29. private readonly IoCylinder _LLBSlitDoor;
  30. private readonly IoValve _N2Valve;
  31. private readonly IoValve _SoftPumpValve;
  32. private readonly IoValve _FastPumpValve;
  33. private readonly IoValve _PurgeValve;
  34. private readonly IoValve _VentValve;
  35. private readonly IoValve _WaferRelayValve;
  36. private readonly IoSensor _TMPowerOn;
  37. private readonly IoSensor _TMInSafty;
  38. private readonly IoSensor _WaferLeakSensor;
  39. private readonly IoSensor _EFEMSideDoorClosed;
  40. private readonly IoSensor _TMPCWFlowSwitch;
  41. private readonly IoSensor _TMLidClosed;
  42. private readonly IoSensor _CDAPressureSwitch;
  43. private readonly IoSensor _VaccumPressureSwitch;
  44. private readonly IoSensor _N2PressureSwitch;
  45. private readonly IoTMPressureCtrl _presureCtrl;
  46. public bool TMLidClosed => _TMLid.OFFFeedback;
  47. public bool LLALidClosed => _LLALid.OFFFeedback;
  48. public bool LLBLidClosed => _LLBLid.OFFFeedback;
  49. public JetTM() : base("TM")
  50. {
  51. _TMLid = DEVICE.GetDevice<IoLid>($"TM.{VenusDevice.TMLid}");
  52. _LLALid = DEVICE.GetDevice<IoLid>($"TM.{VenusDevice.LLALid}");
  53. _LLBLid = DEVICE.GetDevice<IoLid>($"TM.{VenusDevice.LLBLid}");
  54. _LLASlitDoor = DEVICE.GetDevice<IoCylinder>($"TM.{VenusDevice.LLATSlitDoor}");
  55. _LLBSlitDoor = DEVICE.GetDevice<IoCylinder>($"TM.{VenusDevice.LLBTSlitDoor}");
  56. _N2Valve = DEVICE.GetDevice<IoValve>($"TM.{VenusDevice.ValveN2}");
  57. _SoftPumpValve = DEVICE.GetDevice<IoValve>($"TM.{VenusDevice.ValveSoftPump}");
  58. _FastPumpValve = DEVICE.GetDevice<IoValve>($"TM.{VenusDevice.ValveFastPump}");
  59. _PurgeValve = DEVICE.GetDevice<IoValve>($"TM.{VenusDevice.ValvePurge}");
  60. _VentValve = DEVICE.GetDevice<IoValve>($"TM.{VenusDevice.ValveVent}");
  61. _WaferRelayValve = DEVICE.GetDevice<IoValve>($"TM.{VenusDevice.ValveWaterRelay}");
  62. _TMPowerOn = DEVICE.GetDevice<IoSensor>($"TM.{VenusDevice.TMPowerOn}");
  63. _TMInSafty = DEVICE.GetDevice<IoSensor>($"TM.{VenusDevice.TMInSafty}");
  64. _WaferLeakSensor = DEVICE.GetDevice<IoSensor>($"TM.{VenusDevice.WaferLeakSensor}");
  65. _EFEMSideDoorClosed = DEVICE.GetDevice<IoSensor>($"TM.{VenusDevice.EFEMSideDoorClosed}");
  66. _TMPCWFlowSwitch = DEVICE.GetDevice<IoSensor>($"TM.{VenusDevice.TMPCWFlowSwitch}");
  67. _TMLidClosed = DEVICE.GetDevice<IoSensor>($"TM.{VenusDevice.TMLidClosed}");
  68. _CDAPressureSwitch = DEVICE.GetDevice<IoSensor>($"TM.{VenusDevice.CDAPressureSwitch}");
  69. _VaccumPressureSwitch = DEVICE.GetDevice<IoSensor>($"TM.{VenusDevice.VaccumPressureSwitch}");
  70. _N2PressureSwitch = DEVICE.GetDevice<IoSensor>($"TM.{VenusDevice.N2PressureSwitch}");
  71. _presureCtrl = DEVICE.GetDevice<IoTMPressureCtrl>($"TM.{VenusDevice.TMPressureCtrl}");
  72. }
  73. public override void Monitor()
  74. {
  75. }
  76. }
  77. }