using Aitex.Core.RT.Device; using Aitex.Core.Util; using Aitex.Sorter.Common; using Aitex.Sorter.RT.EFEMs.Servers; using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robot; namespace Aitex.Sorter.RT.EFEMs.Tasks { public class EmsTask : CheckImp, ITask { public EmsTask() { } public bool Execute(out string result, params string[] args) { string device = DeviceName.Robot; if (!Check(device, out result)) { return false; } if (!Check(device, out result)) { return false; } if (!Check(device, out result)) { return false; } if (!Check(device, out result)) { return false; } if (!Check(device, out result)) { return false; } if (!Check(device, out result)) { return false; } Singleton.Instance.EfemDevice.IsEMSStop = false; return true; } public bool? Monitor(out string result, params string[] args) { result = string.Empty; if (Singleton.Instance.EfemDevice.IsError) { result = "ERROR"; return false; } if (Singleton.Instance.EfemDevice.IsIdle && Singleton.Instance.EfemDevice.CheckAcked(_token)) { return true; } return null; } } }