using Aitex.Core.RT.Device; using Aitex.Core.RT.SCCore; using athosRT.FSM; using athosRT.tool; using MECF.Framework.Common.Equipment; using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.LoadPorts.LoadPortBase; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace athosRT.Modules.LPs { public class ReadAndLoadRoutine : ModuleRoutineBase, FSM.IRoutine { private SCConfigItem _scLoadTimeout = null; private int _timeoutload = 0; private LoadFoupRoutine _loadfouproutine = null; private LoadPortBaseDevice _device = null; public ModuleName Chamber { get;set; } public ReadAndLoadRoutine(ModuleName module) : base(module) { _loadfouproutine = new LoadFoupRoutine(module); _timeoutload = SC.GetConfigItem("LoadPort.TimeLimitLoadportLoad").IntValue; } public RState Start(params object[] objs) { Reset(); _loadfouproutine._chamber = Chamber; _device = DEVICE.GetDevice(Chamber.ToString()); //EV.PostMessage(); return Runner.Start(Chamber, "Start ReadAndLoad"); } public RState Monitor() { return _loadfouproutine.Monitor(); } public void Abort() { throw new NotImplementedException(); } } }