123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- using MECF.Framework.Common.Equipment;
- using Venus_RT.Modules.Schedulers;
- using Venus_RT.Scheduler;
- using Aitex.Core.RT.Routine;
- using System.Collections.Generic;
- using Venus_Core;
- namespace Venus_RT.Modules
- {
- public class TransferModule
- {
- protected SchedulerEfemRobot _efemRobot = new SchedulerEfemRobot();
- protected SchedulerTMRobot _tmRobot = new SchedulerTMRobot();
- protected SchedulerSETMRobot _setm ;
- protected SchedulerLoadPort _lp1 = new SchedulerLoadPort(ModuleName.LP1);
- protected SchedulerLoadPort _lp2 = new SchedulerLoadPort(ModuleName.LP2);
- protected SchedulerLoadPort _lp3 = new SchedulerLoadPort(ModuleName.LP3);
- protected SchedulerLoadLock _lla = new SchedulerLoadLock(ModuleName.LLA);
- protected SchedulerLoadLock _llb = new SchedulerLoadLock(ModuleName.LLB);
- protected SchedulerAligner _aligner1 = new SchedulerAligner(ModuleName.Aligner1);
- protected SchedulerAligner _aligner2 = new SchedulerAligner(ModuleName.Aligner2);
- protected SchedulerAligner _cooling1 = new SchedulerAligner(ModuleName.Cooling1);
- protected SchedulerAligner _cooling2 = new SchedulerAligner(ModuleName.Cooling2);
- protected SchedulerPM _pma = new SchedulerPM(ModuleName.PMA);
- protected SchedulerPM _pmb = new SchedulerPM(ModuleName.PMB);
- protected SchedulerPM _pmc = new SchedulerPM(ModuleName.PMC);
- protected SchedulerPM _pmd = new SchedulerPM(ModuleName.PMD);
- public TransferModule()
- {
- if(ModuleHelper.IsInstalled(ModuleName.SETM))
- _setm = new SchedulerSETMRobot(ModuleName.SETM);
- if (ModuleHelper.IsInstalled(ModuleName.DETM))
- _setm = new SchedulerSETMRobot(ModuleName.DETM);
- }
- public SchedulerModule GetScheduler(ModuleName module)
- {
- if (!ModuleHelper.IsInstalled(module))
- return null;
- switch (module)
- {
- case ModuleName.LP1:
- return _lp1;
- case ModuleName.LP2:
- return _lp2;
- case ModuleName.LP3:
- return _lp3;
- case ModuleName.Aligner1:
- return _aligner1;
- case ModuleName.Aligner2:
- return _aligner2;
- case ModuleName.Cooling1:
- return _cooling1;
- case ModuleName.Cooling2:
- return _cooling2;
- case ModuleName.EfemRobot:
- return _efemRobot;
- case ModuleName.LLA:
- return _lla;
- case ModuleName.LLB:
- return _llb;
- case ModuleName.TMRobot:
- return _tmRobot;
- case ModuleName.PMA:
- return _pma;
- case ModuleName.PMB:
- return _pmb;
- case ModuleName.PMC:
- return _pmc;
- case ModuleName.PMD:
- return _pmd;
- case ModuleName.SETM:
- case ModuleName.DETM:
- return _setm;
- }
- return null;
- }
- }
- public interface IAutoTransfer
- {
- bool HasJobRunning
- {
- get;
- }
- Result Monitor();
- bool CheckAllJobDone();
- bool CheckJobJustDone(out string sJobName);
- Result Start(params object[] objs);
- void Map(string moduleName);
- bool CheckRecipeUsedInJob(string pathName);
- bool CheckSequenceUsedInJob(string pathName);
- void CreateJob(Dictionary<string, object> param);
- void AbortJob(string jobName);
- void StopJob(string jobName);
- void ResumeJob(string jobName);
- void PauseJob(string jobName);
- void StartJob(string jobName);
- void ResetIdlePurgeTime(string module);
- void ResetIdleCleanTime(string module);
- void Clear();
- }
- }
|