using Aitex.Core.Common; using Aitex.Core.RT.Device; using Aitex.Core.Util; using Aitex.Sorter.Common; using MECF.Framework.Common.Equipment; using MECF.Framework.Common.SubstrateTrackings; using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robot; using System; using Aitex.Core.RT.Device.Unit; namespace EFEM.RT.Tasks { //public class AlignTask : CheckImp, ITask //{ // public AlignTask() // { // } // public bool Execute(out string result, params string[] args) // { // string device = Args2Unit(args.Length > 0 ?args[0]:string.Empty); // AlignerServerModule entity = (AlignerServerModule)GetEntity(device); // if (entity == null) // { // result = PARAM_NG; // 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; // } // 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; // } // if (!Check(device, out result)) // { // return false; // } // if (!Check(device, out result)) // { // return false; // } // //if (!Singleton.Instance.CheckHasWafer(ModuleName.Aligner, 0)) // if (!Singleton.Instance.CheckHasWafer(device, 0)) // { // result = "NONWAF"; // return false; // } // entity.Align(out result); // return true; // } // public bool? Monitor(out string result, params string[] args) // { // result = string.Empty; // string device = Args2Unit(args.Length > 0 ?args[0]:string.Empty); // Aligner _aligner = DEVICE.GetDevice(device); // if (_aligner.Error) // { // flag1 = ErrorCheckList1.VAC | ErrorCheckList1.STALL // | ErrorCheckList1.LIMIT | ErrorCheckList1.POSITION | ErrorCheckList1.EMS // | ErrorCheckList1.COMM | ErrorCheckList1.COMM2 // | ErrorCheckList1.CLAMPON | ErrorCheckList1.CLAMPOF; // flag2 = ErrorCheckList2.COMMAND // | ErrorCheckList2.CLAMP_S; // flag3 = ErrorCheckList3.WAFLOST // | ErrorCheckList3.ALIGNNG | ErrorCheckList3.HARDWARE // | ErrorCheckList3.INTERNAL; // return CheckError(device, out result); // } // if (!_aligner.Moving) // { // return true; // } // return null; // } //} public class AlignTaskEx : CheckImp, ITask { public AlignTaskEx() { } public bool Execute(out string result, params string[] args) { result = string.Empty; string device = Args2Unit(args[0]) ; BufferServerModule entity = (BufferServerModule)GetEntity(device); if (entity == null) { result = PARAM_NG; return false; } if (MultiWaferSize) { //if (args.Length < 0) //{ // result = PARAM_NG; // return false; //} //if (!CheckWaferSize(args[1], ModuleHelper.Converter(entity.Name), 0)) //{ // result = PARAM_NG; // 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; } 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; } if (!Check(device, out result)) { return false; } if (!Check(device, out result)) { return false; } entity.Align(WaferSize.WS0, out result); return true; } public bool? Monitor(out string result, params string[] args) { result = string.Empty; string device = Args2Unit(args[0]); BufferServerModule entity = (BufferServerModule)GetEntity(device); if (entity == null) { result = PARAM_NG; return false; } if (entity.Error) { flag1 = ErrorCheckList1.VAC | ErrorCheckList1.STALL | ErrorCheckList1.LIMIT | ErrorCheckList1.POSITION | ErrorCheckList1.EMS | ErrorCheckList1.COMM | ErrorCheckList1.COMM2 | ErrorCheckList1.CLAMPON | ErrorCheckList1.CLAMPOF; flag2 = ErrorCheckList2.COMMAND | ErrorCheckList2.CLAMP_S; flag3 = ErrorCheckList3.WAFLOST | ErrorCheckList3.ALIGNNG | ErrorCheckList3.HARDWARE | ErrorCheckList3.INTERNAL; return CheckError(device, out result); } if (!entity.Busy) { return true; } return null; } } public class AlignTaskEx2 : CheckImp, ITask { public AlignTaskEx2() { } public bool Execute(out string result, params string[] args) { string device = DeviceName.CoolingBuffer2; BufferServerModule entity = (BufferServerModule)GetEntity(device); if (entity == null) { result = PARAM_NG; return false; } if (MultiWaferSize) { //if (args.Length < 0) //{ // result = PARAM_NG; // return false; //} //if (!CheckWaferSize(args[0], ModuleName.CoolingBuffer2, 0)) //{ // result = PARAM_NG; // 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; } 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; } if (!Check(device, out result)) { return false; } if (!Check(device, out result)) { return false; } //if (!Singleton.Instance.CheckHasWafer(device, 0)) //{ // result = "NONWAF"; // return false; //} //WaferSize size = WaferManager.Instance.GetWaferSize(ModuleName.CoolingBuffer2, 0); entity.Align((WaferSize)Enum.Parse(typeof(WaferSize), args[0]), out result); return true; } public bool? Monitor(out string result, params string[] args) { result = string.Empty; string device = DeviceName.CoolingBuffer2; IoCoolingBuffer buffer = DEVICE.GetDevice(device); //Aligner _aligner = DEVICE.GetDevice(device); if (buffer.Error) { flag1 = ErrorCheckList1.VAC | ErrorCheckList1.STALL | ErrorCheckList1.LIMIT | ErrorCheckList1.POSITION | ErrorCheckList1.EMS | ErrorCheckList1.COMM | ErrorCheckList1.COMM2 | ErrorCheckList1.CLAMPON | ErrorCheckList1.CLAMPOF; flag2 = ErrorCheckList2.COMMAND | ErrorCheckList2.CLAMP_S; flag3 = ErrorCheckList3.WAFLOST | ErrorCheckList3.ALIGNNG | ErrorCheckList3.HARDWARE | ErrorCheckList3.INTERNAL; return CheckError(device, out result); } if (!buffer.Moving) { return true; } return null; } } //public class SetAlignTask : CheckImp, ITask //{ // public SetAlignTask() // { // HasInfoMessage = false; // } // public bool Execute(out string result, params string[] args) // { // string device = Args2Unit(args.Length > 0 ? args[0] : string.Empty); // AlignerServerModule entity = (AlignerServerModule)GetEntity(device); // if (entity == null || !AlignerInstalled) // { // result = PARAM_NG; // return false; // } // if (args.Length < 2 || !entity.SetAlign(args[1], out result)) // { // result = PARAM_NG; // return false; // } // return true; // } // public bool? Monitor(out string result, params string[] args) // { // result = string.Empty; // string device = Args2Unit(args.Length > 0 ? args[0] : string.Empty); // return true; // } //} }