using Aitex.Core.RT.Device; using athosRT.Devices.EFEM.Task; using MECF.Framework.Common.Equipment; using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.RobotBase; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace athosRT.Devices.EFEM.ABS { public class ArmExtendPolicy : CheckImp, IPolicy { public new bool Check(string device, out string reason) { reason = string.Empty; IServerModule entity = GetEntity("Robot"); RobotBaseDevice device1 = DEVICE.GetDevice("Robot"); //如果robot处于非busy状态 || robot的Blade1/2Target不是device if (!entity.Busy || device1.Blade1Target != ModuleHelper.Converter(device) && device1.Blade2Target != ModuleHelper.Converter(device)) { return true; } else { reason = "ARMEXTEND"; return false; } } } }