diff --git a/Modules/Mainframe/Config/PM/PM1/interlockPM1.xml b/Modules/Mainframe/Config/PM/PM1/interlockPM1.xml
index 13b6e964..862e22b0 100644
--- a/Modules/Mainframe/Config/PM/PM1/interlockPM1.xml
+++ b/Modules/Mainframe/Config/PM/PM1/interlockPM1.xml
@@ -2351,7 +2351,7 @@
-
+
diff --git a/Sic08.sln b/Sic08.sln
index 534246a3..0a2b317e 100644
--- a/Sic08.sln
+++ b/Sic08.sln
@@ -136,7 +136,6 @@ Global
{A40B734C-F2EC-453C-A5FB-70CD46452BF1}.Release|x86.ActiveCfg = Release|Any CPU
{A40B734C-F2EC-453C-A5FB-70CD46452BF1}.Release|x86.Build.0 = Release|Any CPU
{C842F167-DB8E-4827-ACDD-74215AF5100A}.Debug|Any CPU.ActiveCfg = Debug|x86
- {C842F167-DB8E-4827-ACDD-74215AF5100A}.Debug|Any CPU.Build.0 = Debug|x86
{C842F167-DB8E-4827-ACDD-74215AF5100A}.Debug|x86.ActiveCfg = Debug|x86
{C842F167-DB8E-4827-ACDD-74215AF5100A}.Debug|x86.Build.0 = Debug|x86
{C842F167-DB8E-4827-ACDD-74215AF5100A}.Release|Any CPU.ActiveCfg = Release|x86
diff --git a/SicRT/Equipments/AutoTransfer.cs b/SicRT/Equipments/AutoTransfer.cs
index 3f0c6157..9f65acef 100644
--- a/SicRT/Equipments/AutoTransfer.cs
+++ b/SicRT/Equipments/AutoTransfer.cs
@@ -2559,13 +2559,13 @@ namespace SicRT.Modules
bool canPickPM2 = false;
if(_pm1.IsAvailable && _pm1.HasWafer(0) && _pm1.HasTray(0) && !_pm1.CheckWaferNeedProcess(0)
- && _pm1.CheckTempBelow900())
+ && _pm1.CheckPMToTMRobotTemp())
{
canPickPM1 = true;
}
if (_pm2.IsAvailable && _pm2.HasWafer(0) && _pm2.HasTray(0) && !_pm2.CheckWaferNeedProcess(0)
- && _pm2.CheckTempBelow900())
+ && _pm2.CheckPMToTMRobotTemp())
{
canPickPM2 = true;
}
diff --git a/SicRT/Equipments/Schedulers/SchedulerPM.cs b/SicRT/Equipments/Schedulers/SchedulerPM.cs
index f8a4da1f..e8728bba 100644
--- a/SicRT/Equipments/Schedulers/SchedulerPM.cs
+++ b/SicRT/Equipments/Schedulers/SchedulerPM.cs
@@ -186,6 +186,24 @@ namespace SicRT.Scheduler
return false;
}
+ //TMRobot从PM取Tray时检查
+ public bool CheckPMToTMRobotTemp()
+ {
+ //有一个PSU Enable则关闭Enable
+ if (_pm.CheckHeaterEnable())
+ {
+ _pm.CloseHeaterEnable(out _);
+ }
+
+ IoInterLock pmIoInterLock = DEVICE.GetDevice($"{_module}.PMInterLock");
+ if (pmIoInterLock != null)
+ {
+ return pmIoInterLock.DiHeaterTempBelow900CSW;
+ }
+
+ return false;
+ }
+
public bool CheckTempBelow900()
{
IoInterLock pmIoInterLock = DEVICE.GetDevice($"{_module}.PMInterLock");
diff --git a/SicRT/Equipments/Systems/EquipmentManager.cs b/SicRT/Equipments/Systems/EquipmentManager.cs
index 57b52c64..259d24bb 100644
--- a/SicRT/Equipments/Systems/EquipmentManager.cs
+++ b/SicRT/Equipments/Systems/EquipmentManager.cs
@@ -591,7 +591,7 @@ namespace SicRT.Equipments.Systems
}
void InitPTOffsetAndK()
{
- Task.Delay(2000).ContinueWith(x => SetPTOffsetAndK());
+ Task.Delay(6000).ContinueWith(x => SetPTOffsetAndK());
}
void SetPTOffsetAndK()
diff --git a/SicRT/Instances/ToolLoader.cs b/SicRT/Instances/ToolLoader.cs
index d1b0d30d..d668e544 100644
--- a/SicRT/Instances/ToolLoader.cs
+++ b/SicRT/Instances/ToolLoader.cs
@@ -65,7 +65,7 @@ namespace SicRT.Instances
IoProviderManager.Instance.Initialize(ioProviderPathFile);
- IoManager.Instance.Initialize(PathManager.GetCfgDir() + "interlock.xml");
+ IoManager.Instance.Initialize(PathManager.GetCfgDir() + "tm\\interlock.xml");
WaferManager.Instance.Initialize();