ClosePolicy.cs 964 B

1234567891011121314151617181920212223242526272829
  1. using Aitex.Core.RT.Device;
  2. using Aitex.Sorter.Common;
  3. using athosRT.Devices.EFEM.Task;
  4. using athosRT.tool;
  5. using MECF.Framework.Common.Equipment;
  6. using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.LoadPorts.LoadPortBase;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace athosRT.Devices.EFEM.ABS
  13. {
  14. public class ClosePolicy : CheckImp, IPolicy
  15. {
  16. public bool Check(string device, out string reason)
  17. {
  18. reason = string.Empty;
  19. if (!ModuleHelper.IsLoadPort(ModuleHelper.Converter(device)) || DEVICE.GetDevice<LoadPortBaseDevice>(device).DockState != FoupDockState.Undocked)
  20. return true;
  21. LogObject.Info("ClosePolicy", $"检测到{device}的DockState为{DEVICE.GetDevice<LoadPortBaseDevice>(device).DockState.ToString()}");
  22. reason = "CLOSE";
  23. return false;
  24. }
  25. }
  26. }