123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using System.Diagnostics;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Aitex.Core.RT.Fsm;
- using Aitex.Core.Util;
- using Aitex.Core.RT.SCCore;
- using Aitex.Sorter.Common;
- using MECF.Framework.Common.Equipment;
- using MECF.Framework.Common.Schedulers;
- using MECF.Framework.Common.SubstrateTrackings;
- using Venus_RT.Scheduler;
- namespace Venus_RT.Modules.Schedulers
- {
- public class SchedulerLoadLock : SchedulerModule
- {
- public override bool IsAvailable
- {
- get { return _entity.IsIdle && (_entity.IsOnline || !Singleton<RouteManager>.Instance.IsAutoMode) && CheckTaskDone(); }
- }
- public override bool IsOnline
- {
- get { return _entity.IsOnline; }
- }
- public override bool IsError
- {
- get { return _entity.IsError; }
- }
- public override bool IsIdle
- {
- get { return _entity.IsIdle; }
- }
- public override bool IsVac
- {
- get { return _entity.IsVac; }
- }
- public override bool IsAtm
- {
- get { return _entity.IsATM; }
- }
- private LLEntity _entity = null;
- public SchedulerLoadLock(ModuleName module) : base(module.ToString())
- {
- _entity = Singleton<RouteManager>.Instance.GetLL(module);
- }
- private bool CheckTaskDone()
- {
- return true;
- }
- public List<int> GetOrderedOutSlot()
- {
- return WaferArriveTicks.OrderBy(item => item.Value).ToDictionary(k => k.Key, v => v.Value).Keys.ToList();
- }
- }
- }
|