From eea091a572dca1827e0fb72c85e2fd0f8fb5b707 Mon Sep 17 00:00:00 2001 From: "DESKTOP-GPE37UV\\THINKAPD" Date: Wed, 23 Nov 2022 10:24:01 +0800 Subject: [PATCH 1/4] =?UTF-8?q?UnLoad=E8=85=94Purge=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E8=AE=BE=E5=AE=9A=E4=BB=8E=E7=B3=BB=E7=BB=9FConfiguration?= =?UTF-8?q?=E7=A7=BB=E8=87=B3Sequence=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnLoads/Routines/UnLoadCoolingAndPurgeRoutine.cs | 6 +++++- SicRT/Config/SequenceFormat.xml | 12 ++++++++---- SicRT/Config/System.sccfg | 4 ---- SicRT/Equipments/AutoTransfer.cs | 9 +++++---- SicRT/Equipments/ReturnAllWafer.cs | 4 ++-- SicRT/Equipments/Schedulers/SchedulerUnLoad.cs | 12 ++++++------ 6 files changed, 26 insertions(+), 21 deletions(-) diff --git a/Modules/Mainframe/UnLoads/Routines/UnLoadCoolingAndPurgeRoutine.cs b/Modules/Mainframe/UnLoads/Routines/UnLoadCoolingAndPurgeRoutine.cs index b2a2ded..db601c8 100644 --- a/Modules/Mainframe/UnLoads/Routines/UnLoadCoolingAndPurgeRoutine.cs +++ b/Modules/Mainframe/UnLoads/Routines/UnLoadCoolingAndPurgeRoutine.cs @@ -208,7 +208,11 @@ namespace Mainframe.UnLoads.Routines public int GetRemainedTime() { if (_swCooling.IsRunning) - return _coolingTimeInSec - (int)(_swCooling.Elapsed.TotalSeconds); + { + var remain = _coolingTimeInSec - (int)(_swCooling.Elapsed.TotalSeconds); + return remain < 0 ? 0 : remain; + } + return 0; } } diff --git a/SicRT/Config/SequenceFormat.xml b/SicRT/Config/SequenceFormat.xml index ade6436..9a04c99 100644 --- a/SicRT/Config/SequenceFormat.xml +++ b/SicRT/Config/SequenceFormat.xml @@ -7,7 +7,7 @@ - + @@ -28,9 +28,13 @@ - - - + + + + + + + diff --git a/SicRT/Config/System.sccfg b/SicRT/Config/System.sccfg index a413ce4..78e4fe2 100644 --- a/SicRT/Config/System.sccfg +++ b/SicRT/Config/System.sccfg @@ -1531,10 +1531,6 @@ - - - - diff --git a/SicRT/Equipments/AutoTransfer.cs b/SicRT/Equipments/AutoTransfer.cs index 30a1ebb..9f0431c 100644 --- a/SicRT/Equipments/AutoTransfer.cs +++ b/SicRT/Equipments/AutoTransfer.cs @@ -1805,8 +1805,8 @@ namespace SicRT.Modules _unload.CheckWaferNextStepIsThis(ModuleName.UnLoad, 0) && !_load.IsInPumping) { - var cycle = SC.GetValue($"{ModuleName.UnLoad}.Purge.CyclePurgeCountBeforeWaferPicking"); - var pumpDelay = SC.GetValue($"{ModuleName.UnLoad}.Purge.PurgeDelayBeforeWaferPicking"); + var cycle = _unload.GetWaferPurgeCount(0, "PurgeCountBeforeWaferPicking"); + var pumpDelay = _unload.GetWaferPurgeCount(0, "PumpDelayTimeBeforeWaferPicking"); _unload.PurgeBeforeWaferPicking(cycle, pumpDelay); _unload.GetWaferInfo(0).NextSequenceStep++; return; @@ -1836,8 +1836,9 @@ namespace SicRT.Modules // 如果Wafer取完后还没有Purge,先Purge if (!_unload.CheckPurgedAfterWaferPicked() && !_load.IsInPumping) { - var cycle = SC.GetValue($"{ModuleName.UnLoad}.Purge.CyclePurgeCountAfterWaferPicked"); - var pumpDelay = SC.GetValue($"{ModuleName.UnLoad}.Purge.PurgeDelayAfterWaferPicked"); + var cycle = _unload.GetWaferPurgeCount(0, "PurgeCountAfterWaferPicking"); + var pumpDelay= _unload.GetWaferPurgeCount(0, "PumpDelayTimeAfterWaferPicking"); + _unload.PurgeAfterWaferPicked(cycle, pumpDelay); } diff --git a/SicRT/Equipments/ReturnAllWafer.cs b/SicRT/Equipments/ReturnAllWafer.cs index 7311196..9e5f630 100644 --- a/SicRT/Equipments/ReturnAllWafer.cs +++ b/SicRT/Equipments/ReturnAllWafer.cs @@ -728,8 +728,8 @@ namespace SicRT.Modules if (!_unload.CheckPurgedBeforeWaferPicking() && !_load.IsInPumping) { - var cycle = SC.GetValue($"{ModuleName.UnLoad}.Purge.CyclePurgeCountBefWaferPicking"); - var pumpDelay = SC.GetValue($"{ModuleName.UnLoad}.Purge.PurgePumpDelayBefWaferPicking"); + var cycle = _unload.GetWaferPurgeCount(0, "PurgeCountBeforeWaferPicking"); + var pumpDelay = _unload.GetWaferPurgeCount(0, "PumpDelayTimeBeforeWaferPicking"); _unload.PurgeBeforeWaferPicking(cycle, pumpDelay); return; } diff --git a/SicRT/Equipments/Schedulers/SchedulerUnLoad.cs b/SicRT/Equipments/Schedulers/SchedulerUnLoad.cs index 3254455..2a8dab8 100644 --- a/SicRT/Equipments/Schedulers/SchedulerUnLoad.cs +++ b/SicRT/Equipments/Schedulers/SchedulerUnLoad.cs @@ -401,7 +401,7 @@ namespace SicRT.Scheduler } } - public int GetWaferPurgeCount(int slot) + public int GetWaferPurgeCount(int slot, string whichPurge = "PurgeCount") { lock (SyncRoot) { @@ -419,11 +419,11 @@ namespace SicRT.Scheduler if (!wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepModules.Contains(Module)) return 0; - if (!wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepParameter.ContainsKey("PurgeCount")) + if (!wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepParameter.ContainsKey(whichPurge)) return 0; if (int.TryParse( - wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepParameter["PurgeCount"].ToString(), + wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepParameter[whichPurge].ToString(), out int purgeCount)) { return purgeCount; @@ -433,7 +433,7 @@ namespace SicRT.Scheduler } } - public int GetWaferPumpDelayTime(int slot) + public int GetWaferPumpDelayTime(int slot, string whichPumpDelay = "PumpDelayTime") { lock (SyncRoot) { @@ -451,11 +451,11 @@ namespace SicRT.Scheduler if (!wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepModules.Contains(Module)) return 0; - if (!wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepParameter.ContainsKey("PumpDelayTime")) + if (!wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepParameter.ContainsKey(whichPumpDelay)) return 0; if (int.TryParse( - wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepParameter["PumpDelayTime"] + wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepParameter[whichPumpDelay] .ToString(), out int pumpDelayTime)) { return pumpDelayTime; From 9b7a7fea154e3a77ec8760c5701df4ea9a50e6ed Mon Sep 17 00:00:00 2001 From: "DESKTOP-GPE37UV\\THINKAPD" Date: Wed, 23 Nov 2022 10:27:04 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BC=98=E5=8C=96Sequence=E4=B8=ADUnLoad?= =?UTF-8?q?=20Purge=E5=8F=82=E6=95=B0=E7=9A=84=E5=90=8D=E7=A7=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CenterViews/Editors/Sequence/SequenceView.xaml | 1 + SicRT/Config/SequenceFormat.xml | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/FrameworkLocal/UIClient/CenterViews/Editors/Sequence/SequenceView.xaml b/FrameworkLocal/UIClient/CenterViews/Editors/Sequence/SequenceView.xaml index bf89c76..c1c12fc 100644 --- a/FrameworkLocal/UIClient/CenterViews/Editors/Sequence/SequenceView.xaml +++ b/FrameworkLocal/UIClient/CenterViews/Editors/Sequence/SequenceView.xaml @@ -751,6 +751,7 @@ CanUserDeleteRows="False" CanUserResizeColumns="False" CanUserResizeRows="False" + CanUserReorderColumns="False" GridLinesVisibility="None" HeadersVisibility="Column" IsEnabled="{Binding IsPermission}" diff --git a/SicRT/Config/SequenceFormat.xml b/SicRT/Config/SequenceFormat.xml index 9a04c99..48048bd 100644 --- a/SicRT/Config/SequenceFormat.xml +++ b/SicRT/Config/SequenceFormat.xml @@ -30,10 +30,10 @@ - - - - + + + + From fafa211f0cb9cc55c3406a69e49c0a730df9bec2 Mon Sep 17 00:00:00 2001 From: "DESKTOP-GPE37UV\\THINKAPD" Date: Wed, 23 Nov 2022 10:30:03 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=AD=A3AutoTransfer=E5=92=8CRetu?= =?UTF-8?q?renAllWafer=E4=B8=AD=E6=B2=A1=E6=9C=89=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E8=AF=BB=E5=8F=96UnLoad=20Purge=20PumpDelay=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SicRT/Equipments/AutoTransfer.cs | 10 ++++++---- SicRT/Equipments/ReturnAllWafer.cs | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/SicRT/Equipments/AutoTransfer.cs b/SicRT/Equipments/AutoTransfer.cs index 9f0431c..844e581 100644 --- a/SicRT/Equipments/AutoTransfer.cs +++ b/SicRT/Equipments/AutoTransfer.cs @@ -1757,7 +1757,8 @@ namespace SicRT.Modules GetWaferSequenceCoolingTime(_unload.Module, 0, out var coolingTime); _unload.CoolingAndPurge( true, - coolingTime, _unload.GetWaferPurgeCount(0), + coolingTime, + _unload.GetWaferPurgeCount(0), _unload.GetWaferPumpDelayTime(0)); return; } @@ -1778,7 +1779,8 @@ namespace SicRT.Modules if (!_unload.CheckPurgedBeforeTrayPicking() && !_load.IsInPumping) { - _unload.PurgeBeforeTrayPicking(_unload.GetWaferPurgeCount(0), + _unload.PurgeBeforeTrayPicking( + _unload.GetWaferPurgeCount(0), _unload.GetWaferPumpDelayTime(0)); return; } @@ -1806,7 +1808,7 @@ namespace SicRT.Modules && !_load.IsInPumping) { var cycle = _unload.GetWaferPurgeCount(0, "PurgeCountBeforeWaferPicking"); - var pumpDelay = _unload.GetWaferPurgeCount(0, "PumpDelayTimeBeforeWaferPicking"); + var pumpDelay = _unload.GetWaferPumpDelayTime(0, "PumpDelayTimeBeforeWaferPicking"); _unload.PurgeBeforeWaferPicking(cycle, pumpDelay); _unload.GetWaferInfo(0).NextSequenceStep++; return; @@ -1837,7 +1839,7 @@ namespace SicRT.Modules if (!_unload.CheckPurgedAfterWaferPicked() && !_load.IsInPumping) { var cycle = _unload.GetWaferPurgeCount(0, "PurgeCountAfterWaferPicking"); - var pumpDelay= _unload.GetWaferPurgeCount(0, "PumpDelayTimeAfterWaferPicking"); + var pumpDelay= _unload.GetWaferPumpDelayTime(0, "PumpDelayTimeAfterWaferPicking"); _unload.PurgeAfterWaferPicked(cycle, pumpDelay); } diff --git a/SicRT/Equipments/ReturnAllWafer.cs b/SicRT/Equipments/ReturnAllWafer.cs index 9e5f630..05fcd00 100644 --- a/SicRT/Equipments/ReturnAllWafer.cs +++ b/SicRT/Equipments/ReturnAllWafer.cs @@ -729,7 +729,7 @@ namespace SicRT.Modules && !_load.IsInPumping) { var cycle = _unload.GetWaferPurgeCount(0, "PurgeCountBeforeWaferPicking"); - var pumpDelay = _unload.GetWaferPurgeCount(0, "PumpDelayTimeBeforeWaferPicking"); + var pumpDelay = _unload.GetWaferPumpDelayTime(0, "PumpDelayTimeBeforeWaferPicking"); _unload.PurgeBeforeWaferPicking(cycle, pumpDelay); return; } From ca573ac511c67b4db2898f73c386755c8e332c8b Mon Sep 17 00:00:00 2001 From: "DESKTOP-GPE37UV\\THINKAPD" Date: Wed, 23 Nov 2022 13:27:23 +0800 Subject: [PATCH 4/4] =?UTF-8?q?Sequence=E5=A2=9E=E5=8A=A0Buffer=E8=85=94Pu?= =?UTF-8?q?rge=E6=AC=A1=E6=95=B0=E5=8F=82=E6=95=B0=E3=80=82=20=E5=BD=93TMR?= =?UTF-8?q?obot=E5=90=91Buffer=E6=94=BE=E7=9B=98=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E5=8F=AF=E6=A0=B9=E6=8D=AESequence=E4=B8=AD=E7=9A=84=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E8=BF=9B=E8=A1=8CPurge=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UIClient/Themes/SeaBlue/TextBox.xaml | 2 +- .../Mainframe/TMs/Routines/TMPurgeRoutine.cs | 12 ++++++ Modules/Mainframe/TMs/TMModule.cs | 20 +++++++++ Modules/Mainframe/TMs/TMModuleBase.cs | 4 ++ SicRT/Config/SequenceFormat.xml | 2 +- SicRT/Equipments/AutoTransfer.cs | 43 ++++++++++++++++--- .../Equipments/Schedulers/SchedulerBuffer.cs | 10 +++-- .../Schedulers/SchedulerModuleFactory.cs | 29 +------------ .../Equipments/Schedulers/SchedulerTMRobot.cs | 30 +++++++++++-- 9 files changed, 110 insertions(+), 42 deletions(-) diff --git a/FrameworkLocal/UIClient/Themes/SeaBlue/TextBox.xaml b/FrameworkLocal/UIClient/Themes/SeaBlue/TextBox.xaml index cc73c65..4d3318a 100644 --- a/FrameworkLocal/UIClient/Themes/SeaBlue/TextBox.xaml +++ b/FrameworkLocal/UIClient/Themes/SeaBlue/TextBox.xaml @@ -192,7 +192,7 @@