| 
					
				 | 
			
			
				@@ -33,6 +33,7 @@ namespace FurnaceRT.Equipments.CarrierRobots 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             CheckBeforePick,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             SetRobotActionCommand,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Goto,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Delay,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             CheckGotoFinish,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -254,7 +255,7 @@ namespace FurnaceRT.Equipments.CarrierRobots 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Goto((int)RoutineStep.Goto, _source, _sourceSlot, _blade, true, _timeout);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (_source == ModuleName.LP1 || _source == ModuleName.LP2)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     SaferDoorOpen((int)RoutineStep.DoorOpen, true, _timeout);
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -264,7 +265,7 @@ namespace FurnaceRT.Equipments.CarrierRobots 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     SetLPLoad((int)RoutineStep.SetLPLoad, _source, _timeout);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 CheckGotoFinish((int)RoutineStep.CheckGotoFinish, _source, _timeout);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -287,6 +288,10 @@ namespace FurnaceRT.Equipments.CarrierRobots 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 RobotRequestCassettePresent((int)RoutineStep.RobotRequestCassettePresent, _blade, _timeout);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 CheckCassetteInfoByRobotSensor((int)RoutineStep.CheckCassetteInfoByRobotSensor, _blade, true);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (SC.ContainsItem("System.AddRobotDelay") && SC.ContainsItem("System.RobotDelayTime") && SC.GetValue<bool>("System.AddRobotDelay"))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Delay((int)RoutineStep.Delay, float.Parse(SC.GetStringValue("System.RobotDelayTime")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             catch (RoutineBreakException)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -438,7 +443,7 @@ namespace FurnaceRT.Equipments.CarrierRobots 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (!CarrierManager.Instance.CheckNoCarrier(source.ToString(), 0))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     CarrierManager.Instance.DeleteCarrier(source.ToString());//要保留
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 CarrierManager.Instance.CreateCarrier(source.ToString(), carrierType, carrierInternalModuleName.ToString());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 CarrierManager.Instance.GetCarrier(source.ToString(), 0).IsMapOK = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 CarrierManager.Instance.GetCarrier(source.ToString(), 0).IsMapped = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 (Singleton<EquipmentManager>.Instance.Modules[source] as ITransferTarget)?.NoteTransferStart(ModuleHelper.Converter(_cassetteRobotModule.Module), hand, slot, EnumTransferType.Pick);
 
			 |