Browse Source

duplicated wafer function.

sangwq 1 year ago
parent
commit
2de3872723

+ 3 - 3
Venus/Venus_RT/Config/LogDefine.json

@@ -343,10 +343,10 @@
   },
   {
     "Id": 41,
-    "Level": "Info",
+    "Level": "Warning",
     "LogEnum": "EV_WAFER_DUPLICATED",
-    "GlobalDescription_zh": "Create duplicated wafer {0} at source: {1} {2} destination: {3} {4}",
-    "GlobalDescription_en": "Create duplicated wafer {0} at source: {1} {2} destination: {3} {4}",
+    "GlobalDescription_zh": "Create duplicated wafer {0} at source: {1} {2} destination: {3} {4}, please carefully verify the real wafer position and delete the invalid position wafer",
+    "GlobalDescription_en": "Create duplicated wafer {0} at source: {1} {2} destination: {3} {4}, please carefully verify the real wafer position and delete the invalid position wafer",
     "Module": "System",
     "Note": "Wafer Moved"
   },

+ 1 - 1
Venus/Venus_RT/Modules/SystemDispatcher.cs

@@ -3893,7 +3893,7 @@ namespace Venus_RT.Modules
                     var waferTask = _lstWaferTasks.Find(wt => wt.waferId == wafer.InnerId && wt.currentMod == ll && wt.currentSlot == slot);
                     if(waferTask == null)
                     {
-                        LOG.Write(eEvent.ERR_ROUTER, ll, $"Routing failed, cannot find inner task associated with {wafer.WaferOrigin}");
+                        LOG.Write(eEvent.EV_ROUTER, ll, $"Routing trace: did not find inner task associated with {wafer.WaferOrigin} at {ll}.{slot + 1}");
                     }
                     else if (waferTask.movingStatus == RState.End)
                     {

+ 1 - 0
Venus/Venus_RT/Modules/TM/MFPMPickRoutine.cs

@@ -225,6 +225,7 @@ namespace Venus_RT.Modules.TM
             }
             else
             {
+                WaferManager.Instance.CreateDuplicatedWafer(_targetModule, _targetSlot, ModuleName.TMRobot, (int)_hand);
                 Runner.Stop($"TM Robot Picking failed, {_robot.Status}");
                 return true;
             }

+ 1 - 0
Venus/Venus_RT/Modules/TM/MFPMPlaceRoutine.cs

@@ -229,6 +229,7 @@ namespace Venus_RT.Modules.TM
             }
             else
             {
+                WaferManager.Instance.CreateDuplicatedWafer(ModuleName.TMRobot, (int)_hand, _targetModule, _targetSlot);
                 Runner.Stop($"TM Robot Place failed, {_robot.Status}");
                 return true;
             }

+ 2 - 4
Venus/Venus_RT/Modules/TM/MFPMSwapRoutine.cs

@@ -269,16 +269,13 @@ namespace Venus_RT.Modules.TM
             }
             else if (_robot.Status == RState.End)
             {
-                
-                
-
-                //WaferManager.Instance.WaferMoved(ModuleName.TM, (int)_hand, _targetModule, _targetSlot);
                 WaferManager.Instance.WaferMoved(_targetModule, _targetSlot, ModuleName.TMRobot, (int)_pickHand);
 
                 return true;
             }
             else
             {
+                WaferManager.Instance.CreateDuplicatedWafer(_targetModule, _targetSlot, ModuleName.TMRobot, (int)_pickHand);
                 Runner.Stop($"TM Robot Picking failed, {_robot.Status}");
                 return true;
             }
@@ -301,6 +298,7 @@ namespace Venus_RT.Modules.TM
             }
             else
             {
+                WaferManager.Instance.CreateDuplicatedWafer(ModuleName.TMRobot, (int)_placeHand, _targetModule, _targetSlot);
                 Runner.Stop($"TM Robot Place failed, {_robot.Status}");
                 return true;
             }

+ 1 - 0
Venus/Venus_RT/Modules/TM/MFPickRoutine.cs

@@ -202,6 +202,7 @@ namespace Venus_RT.Modules.TM
             }
             else
             {
+                WaferManager.Instance.CreateDuplicatedWafer(_targetModule, _targetSlot, ModuleName.TMRobot, (int)_hand);
                 Runner.Stop($"TM Robot Picking failed, {_robot.Status}");
                 return true;
             }

+ 1 - 0
Venus/Venus_RT/Modules/TM/MFPlaceRoutine.cs

@@ -224,6 +224,7 @@ namespace Venus_RT.Modules.TM
             }
             else
             {
+                WaferManager.Instance.CreateDuplicatedWafer(ModuleName.TMRobot, (int)_hand, _targetModule, _targetSlot);
                 Runner.Stop($"TM Robot Rotate Arm failed, {_robot.Status}");
                 return true;
             }

+ 1 - 0
Venus/Venus_RT/Modules/TM/MFSwapRoutine.cs

@@ -212,6 +212,7 @@ namespace Venus_RT.Modules.TM
             }
             else
             {
+                WaferManager.Instance.CreateDuplicatedWafer(_currentAction.SourceModule, _currentAction.SourceSlot, _currentAction.DestinationModule, _currentAction.DestinationSlot);
                 Runner.Stop($"TM Robot moving wafer failed, {_robot.Status}");
                 return true;
             }