diff --git a/App/Modules/SicModules/Config/TM/DeviceModelSystem.xml b/App/Modules/SicModules/Config/TM/DeviceModelSystem.xml index 4d667df..092aa09 100644 --- a/App/Modules/SicModules/Config/TM/DeviceModelSystem.xml +++ b/App/Modules/SicModules/Config/TM/DeviceModelSystem.xml @@ -17,12 +17,12 @@ + aiCurPos="AI_LdRotationRelativeDegree" aiCCD1Degree="AI_LdRotationCCD1Degree" aiCCD2Degree="AI_LdRotationCCD2Degree" + aoCCD1Degree="AO_LdRotationCCD1Degree" aoHomeSpeed="AO_LdRotationSpeed" aoPosSpeed="AO_LdRotationPosSpeed" aoCCD2Degree="AO_LdRotationCCD2Degree" + aoJogDegree="AO_LdRotationJogDegree" aoHomeOffset="AO_LdRotationHomeOffset"/> diff --git a/App/Modules/SicModules/LLs/Routines/LoadHomeRoutine.cs b/App/Modules/SicModules/LLs/Routines/LoadHomeRoutine.cs index b031e2f..6b942a3 100644 --- a/App/Modules/SicModules/LLs/Routines/LoadHomeRoutine.cs +++ b/App/Modules/SicModules/LLs/Routines/LoadHomeRoutine.cs @@ -12,7 +12,8 @@ namespace SicModules.LLs.Routines { CloseV79, CloseV83, - CloseV84 + CloseV84, + CloseV85 } private int _homeTimeout; @@ -41,6 +42,7 @@ namespace SicModules.LLs.Routines CloseLoadVent((int)RoutineStep.CloseV79); CloseFastPump((int)RoutineStep.CloseV83); CloseSlowPump((int)RoutineStep.CloseV84); + CloseBalanceValve((int)RoutineStep.CloseV85); LoadLockDevice.AutoCreatWafer(); } @@ -59,84 +61,6 @@ namespace SicModules.LLs.Routines return Result.DONE; } - public void CloseLoadVent(int id) - { - Tuple ret = Execute(id, () => - { - Notify($"Close Load vent valve"); - - if (!LoadLockDevice.SetFastVentValve(false, out string reason)) - { - Stop(reason); - return false; - } - - return true; - }); - - if (ret.Item1) - { - if (ret.Item2 == Result.FAIL) - { - throw (new RoutineFaildException()); - } - else - throw (new RoutineBreakException()); - } - } - - public void CloseFastPump(int id) - { - Tuple ret = Execute(id, () => - { - Notify($"Close Load fast pump valve"); - - if (!LoadLockDevice.SetFastPumpValve(false, out string reason)) - { - Stop(reason); - return false; - } - - return true; - }); - - if (ret.Item1) - { - if (ret.Item2 == Result.FAIL) - { - throw (new RoutineFaildException()); - } - else - throw (new RoutineBreakException()); - } - } - - public void CloseSlowPump(int id) - { - Tuple ret = Execute(id, () => - { - Notify($"Close slow pump valve"); - - if (!LoadLockDevice.SetSlowPumpValve(false, out string reason)) - { - Stop(reason); - return false; - } - - return true; - }); - - if (ret.Item1) - { - if (ret.Item2 == Result.FAIL) - { - throw (new RoutineFaildException()); - } - else - throw (new RoutineBreakException()); - } - } - public override void Abort() { base.Abort(); diff --git a/App/Modules/SicModules/LLs/Routines/LoadLockBaseRoutine.cs b/App/Modules/SicModules/LLs/Routines/LoadLockBaseRoutine.cs index 3088af0..0ff2bb5 100644 --- a/App/Modules/SicModules/LLs/Routines/LoadLockBaseRoutine.cs +++ b/App/Modules/SicModules/LLs/Routines/LoadLockBaseRoutine.cs @@ -87,6 +87,7 @@ namespace SicModules.LLs.Routines LoadLockDevice.SetSlowPumpValve(false, out _); LoadLockDevice.SetFastPumpValve(false, out _); LoadLockDevice.SetSlowVentValve(false, out _); + TMDevice.SetTmToLLVent(false, out _); } protected void LiftMove(int id, bool up, int timeout) @@ -855,5 +856,109 @@ namespace SicModules.LLs.Routines return CCDTriggerResult; } + public void CloseLoadVent(int id) + { + Tuple ret = Execute(id, () => + { + Notify($"Close Load vent valve"); + + if (!LoadLockDevice.SetFastVentValve(false, out string reason)) + { + Stop(reason); + return false; + } + + return true; + }); + + if (ret.Item1) + { + if (ret.Item2 == Result.FAIL) + { + throw (new RoutineFaildException()); + } + else + throw (new RoutineBreakException()); + } + } + + public void CloseFastPump(int id) + { + Tuple ret = Execute(id, () => + { + Notify($"Close Load fast pump valve"); + + if (!LoadLockDevice.SetFastPumpValve(false, out string reason)) + { + Stop(reason); + return false; + } + + return true; + }); + + if (ret.Item1) + { + if (ret.Item2 == Result.FAIL) + { + throw (new RoutineFaildException()); + } + else + throw (new RoutineBreakException()); + } + } + + public void CloseSlowPump(int id) + { + Tuple ret = Execute(id, () => + { + Notify($"Close slow pump valve"); + + if (!LoadLockDevice.SetSlowPumpValve(false, out string reason)) + { + Stop(reason); + return false; + } + + return true; + }); + + if (ret.Item1) + { + if (ret.Item2 == Result.FAIL) + { + throw (new RoutineFaildException()); + } + else + throw (new RoutineBreakException()); + } + } + + public void CloseBalanceValve(int id) + { + Tuple ret = Execute(id, () => + { + Notify($"Close Balance valve V85"); + + if (!TMDevice.SetTmToLLVent(false, out string reason)) + { + Stop(reason); + return false; + } + + return true; + }); + + if (ret.Item1) + { + if (ret.Item2 == Result.FAIL) + { + throw (new RoutineFaildException()); + } + else + throw (new RoutineBreakException()); + } + } + } } diff --git a/App/Modules/SicModules/LLs/Routines/LoadLockPumpRoutine.cs b/App/Modules/SicModules/LLs/Routines/LoadLockPumpRoutine.cs index 06060d3..1e122a4 100644 --- a/App/Modules/SicModules/LLs/Routines/LoadLockPumpRoutine.cs +++ b/App/Modules/SicModules/LLs/Routines/LoadLockPumpRoutine.cs @@ -22,6 +22,8 @@ namespace SicModules.LLs.Routines CloseFastValve, Delay, TimeDelay1, + CloseV79, + CloseV85 } private double _pumpBasePressure=0; @@ -138,8 +140,12 @@ namespace SicModules.LLs.Routines { try { + //关闭 V79, V85;打开 V84,等待压力低于 200mbar(可配置),打开 V83,压力达到 0mbar(可配置),等待 5s(可配置),关闭 V83、 V84。 Routine 结束。 CheckRoutineTimeOut(); + CloseLoadVent((int)RoutineStep.CloseV79); + CloseBalanceValve((int)RoutineStep.CloseV85); + TimeDelay((int)RoutineStep.RequestPumpDelay, 1); SlowPump((int)RoutineStep.SlowPump, _pumpSwitchPressure, _slowPumpTimeout); diff --git a/App/Modules/SicModules/LLs/Routines/LoadLockVentRoutine.cs b/App/Modules/SicModules/LLs/Routines/LoadLockVentRoutine.cs index 90647bb..5d3a742 100644 --- a/App/Modules/SicModules/LLs/Routines/LoadLockVentRoutine.cs +++ b/App/Modules/SicModules/LLs/Routines/LoadLockVentRoutine.cs @@ -18,6 +18,7 @@ namespace SicModules.LLs.Routines CloseSlowVentValve, CloseFastVentValve, CloseValveDelay, + CloseFastPumpValve, CloseSlowPumpValve, CloseV85 } private double _ventBasePressure; @@ -110,8 +111,13 @@ namespace SicModules.LLs.Routines { try { + //关闭 V83, V84, V85;打开 V79,等到压力等于 ATM(1020mbar 可配置),等待 5s(可配置),关闭 V79。 Routine 结束。 CheckRoutineTimeOut(); + CloseFastPumpValve((int)RoutineStep.CloseFastPumpValve); + CloseSlowPumpValve((int)RoutineStep.CloseSlowPumpValve); + CloseBalanceValve((int)RoutineStep.CloseV85); + SlowVent((int)RoutineStep.SlowVent, _ventBasePressure, _slowVentTimeout); TimeDelay((int)RoutineStep.VentDelay, _ventDelayTime); diff --git a/App/Modules/SicModules/TMs/Routines/TMBaseRoutine.cs b/App/Modules/SicModules/TMs/Routines/TMBaseRoutine.cs index c34cb7f..40d44ea 100644 --- a/App/Modules/SicModules/TMs/Routines/TMBaseRoutine.cs +++ b/App/Modules/SicModules/TMs/Routines/TMBaseRoutine.cs @@ -62,6 +62,8 @@ namespace SicModules.TMs.Routines private IoLift4 _loadLift; private IoLift4 _unLoadLift; + private IoValve PM1ToTm_V70; + public TMBaseRoutine() : base(ModuleName.TM.ToString()) { Module = ModuleName.TM.ToString(); @@ -82,6 +84,8 @@ namespace SicModules.TMs.Routines _reactorSuspectorCheckPM1 = DEVICE.GetDevice($"PM1.SensorReactorSuspectorCheck"); _reactorSuspectorCheckPM2 = DEVICE.GetDevice($"PM2.SensorReactorSuspectorCheck"); + + PM1ToTm_V70 = DEVICE.GetDevice($"PM1.V70"); } public virtual Result Start(params object[] objs) @@ -1694,6 +1698,32 @@ namespace SicModules.TMs.Routines } } + public void ClosePM1ToTMV70(int id) + { + Tuple ret = Execute(id, () => + { + Notify($"Close V70 valve"); + + if (!PM1ToTm_V70.TurnValve(false, out string reason)) + { + Stop(reason); + return false; + } + + return true; + }); + + if (ret.Item1) + { + if (ret.Item2 == Result.FAIL) + { + throw (new RoutineFaildException()); + } + else + throw (new RoutineBreakException()); + } + } + public void SetMFCToSetPoint(int id, IoMFC _mfc, double setPoint) { Tuple ret = Execute(id, () => diff --git a/App/Modules/SicModules/TMs/Routines/TMHomeRoutine.cs b/App/Modules/SicModules/TMs/Routines/TMHomeRoutine.cs index 036db99..7fb254c 100644 --- a/App/Modules/SicModules/TMs/Routines/TMHomeRoutine.cs +++ b/App/Modules/SicModules/TMs/Routines/TMHomeRoutine.cs @@ -8,7 +8,8 @@ namespace SicModules.TMs.Routines { enum RoutineStep { - CloseV77, + CloseV77, + CloseV70, CloseV80, CloseV85, TMRobotHome @@ -47,7 +48,7 @@ namespace SicModules.TMs.Routines CloseTMVent((int)RoutineStep.CloseV77); //没有V78 SetTMLLBalanceValve((int)RoutineStep.CloseV85, TMDevice,false); - //没有V70 + ClosePM1ToTMV70((int)RoutineStep.CloseV70); ExecuteRoutine((int)RoutineStep.TMRobotHome, _tmRobotHomeRoutine); } catch (RoutineBreakException) diff --git a/App/Modules/SicModules/TMs/Routines/TMPumpRoutine.cs b/App/Modules/SicModules/TMs/Routines/TMPumpRoutine.cs index bd8e5c7..3397ee6 100644 --- a/App/Modules/SicModules/TMs/Routines/TMPumpRoutine.cs +++ b/App/Modules/SicModules/TMs/Routines/TMPumpRoutine.cs @@ -171,9 +171,6 @@ namespace SicModules.TMs.Routines //关闭V77 CloseTMVent((int)RoutineStep.CloseV77); - //关闭V80 - //CloseBufferVent((int)RoutineStep.CloseV80); - //打开V82,等待压力低于200mbar(可配置) OpenSlowPump((int)RoutineStep.SlowPump, TMDevice, _slowFastPumpSwitchPressure, _slowPumpTimeout); diff --git a/App/Modules/SicModules/TMs/Routines/TMPurgeRoutine.cs b/App/Modules/SicModules/TMs/Routines/TMPurgeRoutine.cs index 493faf0..ad4e0b2 100644 --- a/App/Modules/SicModules/TMs/Routines/TMPurgeRoutine.cs +++ b/App/Modules/SicModules/TMs/Routines/TMPurgeRoutine.cs @@ -205,14 +205,14 @@ namespace SicModules.TMs.Routines //设定MFC60慢充流量 SetMFCToSetPoint((int)RoutineStep.SetMFC1, _mfc60, _mfc60Default1); - ////打开V77,等待压力大于200mbar - //OpenSlowVent((int)RoutineStep.OpenSlowVent, _tm, _slowFastVentSwitchPressure, _slowVentTimeout); + //打开V77,等待压力大于200mbar + OpenSlowVent((int)RoutineStep.OpenSlowVent, _tm, _slowFastVentSwitchPressure, _ventTimeOut); - ////设定MFC60快充流量 - //SetMFCToSetPoint((int)RoutineStep.SetMFC2, _mfc60, _mfc60Default2); + //设定MFC60快充流量 + SetMFCToSetPoint((int)RoutineStep.SetMFC2, _mfc60, _mfc60Default2); - ////等待压力大于1020mbar - //OpenFastVent((int)RoutineStep.OpenFastVent, _tm, _ventBasePressure, _fastVentTime); + //等待压力大于1020mbar + OpenFastVent((int)RoutineStep.OpenFastVent, _tm, _ventBasePressure, _ventTimeOut); //充气过程中检查是否到达打开快充流量的条件 OpenVent((int)RoutineStep.OpenVent, _tm, _ventBasePressure, _slowFastVentSwitchPressure, _mfc60Default2, _ventTimeOut); diff --git a/App/Modules/SicModules/TMs/Routines/TMVentRoutine.cs b/App/Modules/SicModules/TMs/Routines/TMVentRoutine.cs index f41d333..5172be3 100644 --- a/App/Modules/SicModules/TMs/Routines/TMVentRoutine.cs +++ b/App/Modules/SicModules/TMs/Routines/TMVentRoutine.cs @@ -28,6 +28,7 @@ namespace SicModules.TMs.Routines CloseVentValveDelay, TimeDelay, OpenV80, + OpenV77, CloseV80, CloseV81, CloseV82, @@ -195,13 +196,13 @@ namespace SicModules.TMs.Routines SetMFCToSetPoint((int)RoutineStep.SetMFC1, _mfc60, _mfc60Default1); ////打开V77,等待压力大于200mbar - //OpenSlowVent((int)RoutineStep.OpenSlowVent, _tm, _slowFastVentSwitchPressure, _slowVentTimeout); + OpenSlowVent((int)RoutineStep.OpenSlowVent, _tm, _slowFastVentSwitchPressure, _ventTimeOut); ////设定MFC60快充流量 - //SetMFCToSetPoint((int)RoutineStep.SetMFC2, _mfc60, _mfc60Default2); + SetMFCToSetPoint((int)RoutineStep.SetMFC2, _mfc60, _mfc60Default2); ////等待压力大于1020mbar - //OpenFastVent((int)RoutineStep.OpenFastVent, _tm, _ventBasePressure, _fastVentTime); + OpenFastVent((int)RoutineStep.OpenFastVent, _tm, _ventBasePressure, _ventTimeOut); //充气过程中检查是否到达打开快充流量的条件 OpenVent((int)RoutineStep.OpenVent, _tm, _ventBasePressure, _slowFastVentSwitchPressure, _mfc60Default2, _ventTimeOut); @@ -211,9 +212,6 @@ namespace SicModules.TMs.Routines //关闭V77 CloseSlowVentValve((int)RoutineStep.CloseSlowVent, _tm); - - //关闭V80 - //CloseBufferVent((int)RoutineStep.CloseV80); } catch (RoutineBreakException) { diff --git a/App/Modules/SicModules/TMs/SicTM.cs b/App/Modules/SicModules/TMs/SicTM.cs index d250c53..0df8acb 100644 --- a/App/Modules/SicModules/TMs/SicTM.cs +++ b/App/Modules/SicModules/TMs/SicTM.cs @@ -26,7 +26,7 @@ namespace SicModules.TMs //四个联通阀 private IoValve _tmLoadBanlance_V85; - private IoValve _tmUnLoadBanlance_V124; + //private IoValve _tmUnLoadBanlance_V124; private IoValve _tmPMABanlance_V70_1; //private IoValve _tmPMABanlance_V70_2; @@ -153,7 +153,7 @@ namespace SicModules.TMs _pumpValveV81 = DEVICE.GetDevice("TM.TMFastPump"); _pumpSlowValveV82 = DEVICE.GetDevice("TM.TMSlowPump"); _tmLoadBanlance_V85 = DEVICE.GetDevice("TM.TMLoadBanlance"); - _tmUnLoadBanlance_V124 = DEVICE.GetDevice("TM.TMUnLoadBanlance"); + //_tmUnLoadBanlance_V124 = DEVICE.GetDevice("TM.TMUnLoadBanlance"); _tmPMABanlance_V70_1 = DEVICE.GetDevice("PM1.V70"); //_tmPMABanlance_V70_2 = DEVICE.GetDevice("TM.TMPMBBanlance"); _bufferVentValveV80 = DEVICE.GetDevice("TM.BufferVent"); @@ -352,7 +352,7 @@ namespace SicModules.TMs _ventValveV77.TurnValve(false, out reason); _tmLoadBanlance_V85.TurnValve(false, out reason); _tmPMABanlance_V70_1.TurnValve(false, out reason); - _tmUnLoadBanlance_V124.TurnValve(false, out reason); + //_tmUnLoadBanlance_V124.TurnValve(false, out reason); return true; } @@ -364,7 +364,8 @@ namespace SicModules.TMs public override bool SetTmToUnLoadVent(bool isOpen, out string reason) { - return _tmUnLoadBanlance_V124.TurnValve(isOpen, out reason); + reason = ""; + return true; } public bool SetPIDValve(bool isOpen, out string reason) @@ -511,7 +512,7 @@ namespace SicModules.TMs _pumpSlowValveV82.TurnValve(false, out reason); //_bufferVentValveV80.TurnValve(false, out reason); _tmLoadBanlance_V85.TurnValve(false, out reason); - _tmUnLoadBanlance_V124.TurnValve(false, out reason); + //_tmUnLoadBanlance_V124.TurnValve(false, out reason); _tmPMABanlance_V70_1.TurnValve(false, out reason); //_tmPMABanlance_V70_2.TurnValve(false, out reason); diff --git a/App/SicRT/Config/System.sccfg b/App/SicRT/Config/System.sccfg index 5b08200..490961d 100644 --- a/App/SicRT/Config/System.sccfg +++ b/App/SicRT/Config/System.sccfg @@ -2090,7 +2090,7 @@ - + diff --git a/App/SicUI/Models/Maintenances/TM/TMView.xaml b/App/SicUI/Models/Maintenances/TM/TMView.xaml index 7371ff5..3afd7bd 100644 --- a/App/SicUI/Models/Maintenances/TM/TMView.xaml +++ b/App/SicUI/Models/Maintenances/TM/TMView.xaml @@ -1651,86 +1651,7 @@ - - - - - - - - - - - - - - - TextWrapping="Wrap" /> TextWrapping="Wrap" />