From c6bcd06b617df6942b5e0b8154bf021f2a30e78b Mon Sep 17 00:00:00 2001
From: "SIC1016\\caipeilun" <905168240@qq.com>
Date: Tue, 18 Aug 2026 19:18:07 +0800
Subject: [PATCH] =?UTF-8?q?load=E4=BC=BA=E6=9C=8D=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E4=B8=8D=E9=9A=90=E8=97=8F=20=E5=88=A0=E9=99=A4tm=E6=8E=A7?=
=?UTF-8?q?=E5=88=B6v124=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Config/TM/DeviceModelSystem.xml | 8 +-
.../LLs/Routines/LoadHomeRoutine.cs | 82 +-------------
.../LLs/Routines/LoadLockBaseRoutine.cs | 105 ++++++++++++++++++
.../LLs/Routines/LoadLockPumpRoutine.cs | 6 +
.../LLs/Routines/LoadLockVentRoutine.cs | 6 +
App/Modules/SicModules/TMs/SicTM.cs | 11 +-
App/SicRT/Config/System.sccfg | 2 +-
App/SicUI/Models/Maintenances/TM/TMView.xaml | 91 +--------------
8 files changed, 137 insertions(+), 174 deletions(-)
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/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" />