BufferServerModule.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Aitex.Core.Common;
  2. using Aitex.Core.RT.Device;
  3. using Aitex.Core.RT.Device.Unit;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace athosRT.Devices.EFEM
  10. {
  11. public class BufferServerModule : IServerModule, IData, IFunction
  12. {
  13. protected IoCoolingBuffer _buffer = (IoCoolingBuffer)null;
  14. public bool IsLinkOk => this._buffer != null;
  15. public bool Busy => this._buffer.Busy;
  16. public bool Error => this._buffer.Error;
  17. public bool Disabled { get; set; }
  18. public bool Initialized { get; set; }
  19. public bool OriginSearched { get; set; }
  20. public bool InUsed { get; set; }
  21. public string Name { get; set; }
  22. public IoCoolingBuffer GetDevice() => this._buffer;
  23. public BufferServerModule(string name)
  24. {
  25. this.Name = name;
  26. this._buffer = DEVICE.GetDevice<IoCoolingBuffer>(name);
  27. }
  28. public bool Init(out string reason) => this._buffer.Home(out reason);
  29. public bool Home(out string reason) => this._buffer.Home(out reason);
  30. public bool LiftUp(out string reason) => this._buffer.Move(WaferSize.WS0, true, out reason);
  31. public bool LiftDown(WaferSize size, out string reason) => this._buffer.Move(size, false, out reason);
  32. public bool Align(WaferSize size, out string reason) => this._buffer.Move(size, false, out reason);
  33. }
  34. }