using Aitex.Core.Util; using athosRT.Devices.EFEM.ABS; using MECF.Framework.Common.Equipment; using MECF.Framework.Common.SubstrateTrackings; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace athosRT.Devices.EFEM.Task { public class QueryStateTask : CheckImp, ITask { public bool Execute(out string result, params string[] args) { string device = "System"; if (!(args[0] == "VER") && !(args[0] == "TRACK")) { result = "PARAM_NG"; return false; } return this.Check(device, out result) && this.Check(device, out result); } public bool? Monitor(out string result, params string[] args) { result = string.Empty; if (args.Length < 1) return new bool?(false); if (args[0] == "VER") { string str = Assembly.GetExecutingAssembly().GetName().Version.ToString(); DateTime now = DateTime.Now; result = string.Format("{0}({1}-{2}-{3})", str,now.Year, now.Month, now.Day); return new bool?(true); } if (!(args[0] == "TRACK")) return new bool?(true); result += Singleton.Instance.CheckHasWafer(ModuleName.Robot, 1) ? "1" : "0"; result += Singleton.Instance.CheckHasWafer(ModuleName.Robot, 0) ? "1" : "0"; result += Singleton.Instance.CheckHasWafer(ModuleName.Aligner1, 0) ? "1" : "0"; result += Singleton.Instance.CheckHasWafer(ModuleName.Aligner2, 0) ? "1" : "0"; result += Singleton.Instance.CheckHasWafer(ModuleName.CoolingBuffer1, 0) ? "1" : "0"; result += Singleton.Instance.CheckHasWafer(ModuleName.CoolingBuffer2, 0) ? "1" : "0"; return new bool?(true); } } }