Browse Source

Changed from VPA to Aligner1 && Removed PreClean, PostClean in SequenceInfo

zhouhr 1 year ago
parent
commit
afa8662437

+ 1 - 1
Venus/Venus_RT/App.config

@@ -28,7 +28,7 @@
 	<connectionStrings>
 		<add name="PostgreSQL"   connectionString="Server=localhost;Port=5432;User Id=postgres;Password=123456;Database=postgres;Enlist=true;Preload Reader=true;" />
 		<!--0是other,1是kepler2300,2是Kepler2200,3是VenusSE,4是VenusDE-->
-		<add name="ConfigType"   connectionString="2"/>
+		<add name="ConfigType"   connectionString="4"/>
 	</connectionStrings>
 	<system.serviceModel>
 		<!--<diagnostics>

+ 3 - 6
Venus/Venus_RT/Config/DESequenceFormat.xml

@@ -4,7 +4,7 @@
 		<Catalog Type="Position">
 			<Item Name="Position" DisplayName="Position" InputType="ReadOnlySelection" >
 				<Selection Name="Aligner" DisplayName="PreAligner" Parameter="AlignerSelection,AlignAngle" />
-				<Selection Name="PM" DisplayName="PM" Parameter="PMSelection,PMARecipe,PMBRecipe,PMCRecipe,PMDRecipe,PreClean,WTWClean,PostClean" />
+				<Selection Name="PM" DisplayName="PM" Parameter="PMSelection,PMARecipe,PMBRecipe,PMCRecipe,PMDRecipe,WTWClean" />
 			</Item>
 		</Catalog>
 
@@ -12,7 +12,7 @@
 
 
 			<Item Name="AlignerSelection" DisplayName="Aligner Selection" InputType="MultiSelection" >
-				<Selection Name="VPA" DisplayName="VPA"/>
+				<Selection Name="Aligner1" DisplayName="Aligner1"/>
 				<!--<Selection Name="Aligner2" DisplayName="Aligner2"/>-->
 			</Item>
 
@@ -28,10 +28,7 @@
 			<Item Name="PMCRecipe" DisplayName="PMC Recipe" InputType="RecipeSelection" Parameter="PMC"    Min="0" Max="999999"  />
 			<Item Name="PMDRecipe" DisplayName="PMD Recipe" InputType="RecipeSelection" Parameter="PMD"    Min="0" Max="999999"  />
 
-
-			<Item Name="PreClean" DisplayName="Pre Clean" InputType="RecipeSelection"     Min="0" Max="999999"  />
-			<Item Name="PostClean" DisplayName="Post Clean" InputType="RecipeSelection"   Min="0" Max="999999"  />
-			<Item Name="WLWClean" DisplayName="WLW Clean" InputType="RecipeSelection"   Min="0" Max="999999"  />
+			<Item Name="WTWClean" DisplayName="WTW Clean" InputType="RecipeSelection"   Min="0" Max="999999"  />
 
 
 			<Item Name="AlignAngle" DisplayName="Align Angle" InputType="NumInput"   Min="0" Max="359"  />

+ 2 - 5
Venus/Venus_RT/Config/SESequenceFormat.xml

@@ -4,7 +4,7 @@
 		<Catalog Type="Position">
 			<Item Name="Position" DisplayName="Position" InputType="ReadOnlySelection" >
 				<Selection Name="Aligner" DisplayName="PreAligner" Parameter="AlignerSelection,AlignAngle" />
-				<Selection Name="PM" DisplayName="PM" Parameter="PMSelection,PMARecipe,PMBRecipe,PMCRecipe,PMDRecipe,PreClean,WTWClean,PostClean" />
+				<Selection Name="PM" DisplayName="PM" Parameter="PMSelection,PMARecipe,PMBRecipe,PMCRecipe,PMDRecipe,WTWClean" />
 			</Item>
 		</Catalog>
 
@@ -12,7 +12,7 @@
 
 
 			<Item Name="AlignerSelection" DisplayName="Aligner Selection" InputType="MultiSelection" >
-				<Selection Name="VPA" DisplayName="VPA"/>
+				<Selection Name="Aligner1" DisplayName="Aligner1"/>
 				<!--<Selection Name="Aligner2" DisplayName="Aligner2"/>-->
 			</Item>
 
@@ -26,10 +26,7 @@
 			<Item Name="PMBRecipe" DisplayName="PMB Recipe" InputType="RecipeSelection" Parameter="PMB"    Min="0" Max="999999"  />
 			<Item Name="PMCRecipe" DisplayName="PMC Recipe" InputType="RecipeSelection" Parameter="PMC"    Min="0" Max="999999"  />
 
-
-			<Item Name="PreClean" DisplayName="Pre Clean" InputType="RecipeSelection"     Min="0" Max="999999"  />
 			<Item Name="WTWClean" DisplayName="WTW Clean" InputType="RecipeSelection"     Min="0" Max="999999"  />
-			<Item Name="PostClean" DisplayName="Post Clean" InputType="RecipeSelection"   Min="0" Max="999999"  />
 
 
 			<Item Name="AlignAngle" DisplayName="Align Angle" InputType="NumInput"   Min="0" Max="359"  />

+ 2 - 2
Venus/Venus_RT/Config/System.sccfg

@@ -293,7 +293,7 @@
 		<config default="30" name="HomeTimeout" nameView="Home Timeout" description="TM初始化超时" max="300" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="60" name="MotionTimeout" nameView="Motion Timeout" description="motion time out" max="600" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="127.0.0.1:1103" name="IPAddress" nameView="IP Address" description="TM Robot IP、端口设置;default 10.0.0.100:13000" max="" min="" paramter="" tag="" unit="" type="String" />
-		<config default="COM160" name="VPAPort" nameView="VP APort" description="TM PreAligner COM口号" max="" min="" paramter="" tag="" unit="" type="String" />
+		<config default="COM160" name="Aligner1Port" nameView="Aligner1Port" description="TM Aligner1 COM口号" max="" min="" paramter="" tag="" unit="" type="String" />
 		<config default="2" name="PMAStationNumber" nameView="PMA Station Number" description="PMA Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="3" name="PMBStationNumber" nameView="PMB Station Number" description="PMB Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="4" name="PMCStationNumber" nameView="PMC Station Number" description="PMC Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
@@ -301,7 +301,7 @@
 		<config default="7" name="PMEStationNumber" nameView="PME Station Number" description="PME Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="8" name="PMFStationNumber" nameView="PMF Station Number" description="PMF Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="5" name="VCE1StationNumber" nameView="VCE1 Station Number" description="VCE1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
-		<config default="1" name="VPAStationNumber" nameView="VPA Station Number" description="VPA Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
+		<config default="1" name="Aligner1StationNumber" nameView="Aligner1 Station Number" description="Aligner1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="760000" name="ATMTargetPressure" nameView="TM ATM Target Pressure" description="TM ATM Target Pressure" max="760000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
     <config default="100" name="VACTargetPressure" nameView="TM VAC Target Pressure" description="TM VAC Target Pressure" max="3000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
 		<config default="100" name="SoftVentEndPressure" nameView="TM Soft Vent End Pressure" description="" max="30000" min="0" paramter="" tag="" unit="mTorr" type="Integer" />

+ 2 - 2
Venus/Venus_RT/Config/System_VenusDE.sccfg

@@ -124,7 +124,7 @@
 		<config default="30" name="HomeTimeout" nameView="Home Timeout" description="TM初始化超时" max="300" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="60" name="MotionTimeout" nameView="Motion Timeout" description="motion time out" max="600" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="127.0.0.1:1103" name="IPAddress" nameView="IP Address" description="TM Robot IP、端口设置;default 10.0.0.100:13000" max="" min="" paramter="" tag="" unit="" type="String" />
-		<config default="COM160" name="VPAPort" nameView="VP APort" description="TM PreAligner COM口号" max="" min="" paramter="" tag="" unit="" type="String" />
+		<config default="COM160" name="AlignerPort" nameView="Aligner APort" description="TM Aligner COM口号" max="" min="" paramter="" tag="" unit="" type="String" />
 		<config default="2" name="PMAStationNumber" nameView="PMA Station Number" description="PMA Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="3" name="PMBStationNumber" nameView="PMB Station Number" description="PMB Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="4" name="PMCStationNumber" nameView="PMC Station Number" description="PMC Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
@@ -134,7 +134,7 @@
 		<config default="5" name="VCE1StationNumber" nameView="VCE1 Station Number" description="VCE1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="5" name="VCEAStationNumber" nameView="VCEA Station Number" description="VCE1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="5" name="VCEBStationNumber" nameView="VCEB Station Number" description="VCE1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
-		<config default="1" name="VPAStationNumber" nameView="VPA Station Number" description="VPA Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
+		<config default="1" name="Aligner1StationNumber" nameView="Aligner1 Station Number" description="Aligner1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="1" name="CheckStationNumber" nameView="CheckLoad Station Number" description="CheckLoad Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="760000" name="ATMTargetPressure" nameView="TM ATM Target Pressure" description="TM ATM Target Pressure" max="760000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
 		<config default="100" name="VACTargetPressure" nameView="TM VAC Target Pressure" description="TM VAC Target Pressure" max="3000" min="0" paramter="" tag="" unit="mTorr" type="Double" />

+ 2 - 3
Venus/Venus_RT/Config/System_VenusSE.sccfg

@@ -124,7 +124,7 @@
 		<config default="30" name="HomeTimeout" nameView="Home Timeout" description="TM初始化超时" max="300" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="60" name="MotionTimeout" nameView="Motion Timeout" description="motion time out" max="600" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="127.0.0.1:1103" name="IPAddress" nameView="IP Address" description="TM Robot IP、端口设置;default 10.0.0.100:13000" max="" min="" paramter="" tag="" unit="" type="String" />
-		<config default="COM160" name="VPAPort" nameView="VP APort" description="TM PreAligner COM口号" max="" min="" paramter="" tag="" unit="" type="String" />
+		<config default="COM160" name="AlignerPort" nameView="VP APort" description="TM PreAligner COM口号" max="" min="" paramter="" tag="" unit="" type="String" />
 		<config default="2" name="PMAStationNumber" nameView="PMA Station Number" description="PMA Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="3" name="PMBStationNumber" nameView="PMB Station Number" description="PMB Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="4" name="PMCStationNumber" nameView="PMC Station Number" description="PMC Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
@@ -134,8 +134,7 @@
 		<config default="5" name="VCEAStationNumber" nameView="VCE1 Station Number" description="VCE1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="5" name="VCEBStationNumber" nameView="VCE1 Station Number" description="VCE1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="5" name="VCE1StationNumber" nameView="VCE1 Station Number" description="VCE1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
-		<config default="1" name="VPAStationNumber" nameView="VPA Station Number" description="VPA Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
-		<config default="1" name="VPAStationNumber" nameView="VPA Station Number" description="VPA Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
+		<config default="1" name="Aligner1StationNumber" nameView="Aligner1 Station Number" description="Aligner1 Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="1" name="CheckStationNumber" nameView="CheckLoad Station Number" description="CheckLoad Station Number" max="99" min="0" paramter="" tag="" unit="" type="Integer" />
 		<config default="760000" name="ATMTargetPressure" nameView="TM ATM Target Pressure" description="TM ATM Target Pressure" max="760000" min="0" paramter="" tag="" unit="mTorr" type="Double" />
 		<config default="100" name="VACTargetPressure" nameView="TM VAC Target Pressure" description="TM VAC Target Pressure" max="3000" min="0" paramter="" tag="" unit="mTorr" type="Double" />

+ 21 - 21
Venus/Venus_RT/Devices/PreAligner/HongHuVPA.cs

@@ -30,7 +30,7 @@ namespace Venus_RT.Devices.PreAligner
         private LinkedList<string> _lstMessage = new LinkedList<string>();
         private ModuleName _module;
         
-        private enum VPAAction
+        private enum AlignerAction
         {
             Home,
             Align,
@@ -43,15 +43,15 @@ namespace Venus_RT.Devices.PreAligner
         {
             { 16 , "" },
         };
-        private Dictionary<VPAAction, string> _Command2Msg = new Dictionary<VPAAction, string>()
+        private Dictionary<AlignerAction, string> _Command2Msg = new Dictionary<AlignerAction, string>()
         {
             //Action
-            { VPAAction.Align         , "ALGN" },//旋转到预设的站点方向
-            { VPAAction.AlignWithAngle, "MOVT REL" },//旋转到指定的角度
-            { VPAAction.Home          , "HOME" },//Home 初始化时 error时用
-            { VPAAction.Reset         , "RSET" },//重置 error时用
-            { VPAAction.Scan          , "SCAN" },//扫描整个Wafer参数
-            { VPAAction.RsLT          , "RSLT" }
+            { AlignerAction.Align         , "ALGN" },//旋转到预设的站点方向
+            { AlignerAction.AlignWithAngle, "MOVT REL" },//旋转到指定的角度
+            { AlignerAction.Home          , "HOME" },//Home 初始化时 error时用
+            { AlignerAction.Reset         , "RSET" },//重置 error时用
+            { AlignerAction.Scan          , "SCAN" },//扫描整个Wafer参数
+            { AlignerAction.RsLT          , "RSLT" }
             //Read
             //{ "" , "RQCD" },
             //{ "" , "RQCCDPOS" },
@@ -78,13 +78,13 @@ namespace Venus_RT.Devices.PreAligner
         public HongHuVPA(ModuleName module)
         {
             _module = module;
-            string port = SC.GetStringValue($"{module}.VPAPort");
+            string port = SC.GetStringValue($"{module}.AlignerPort");
             _serialport = new AsyncSerialPort(port, 9600, 8, Parity.None, StopBits.One, _newLine, _IsAsciiMode);
             WaferManager.Instance.SubscribeLocation(ModuleName.Aligner1, 1);
             _serialport.Open();
             _serialport.OnDataChanged += OnReceiveData;
             _state = RState.Init;
-            _thread = new PeriodicJob(50, OnTimer, "OnTimer->VPA");
+            _thread = new PeriodicJob(50, OnTimer, "OnTimer->Aligner1");
             _thread.Start();
         }
 
@@ -196,68 +196,68 @@ namespace Venus_RT.Devices.PreAligner
             {
                 foreach (string arg in args)
                     msg = msg + " " + arg;
-                LOG.WriteSingeLine(eEvent.EV_DEVICE_INFO, _module, $"Send Command to HongHu VPA: {msg}");
+                LOG.WriteSingeLine(eEvent.EV_DEVICE_INFO, _module, $"Send Command to HongHu Aligner: {msg}");
                 return _serialport.Write(msg + _newLine);
             }
             else//空参
             {
-                LOG.WriteSingeLine(eEvent.EV_DEVICE_INFO, _module, $"Send Command to HongHu VPA: {msg}");
+                LOG.WriteSingeLine(eEvent.EV_DEVICE_INFO, _module, $"Send Command to HongHu Aligner: {msg}");
                 return _serialport.Write(msg + _newLine);
             }
         }
 
         public bool Home()
         {
-            return SendMessage(_Command2Msg[VPAAction.Home]);
+            return SendMessage(_Command2Msg[AlignerAction.Home]);
         }
         public bool Align()
         {
             if (!CanSendCommand())
                 return false;
-            return SendMessage(_Command2Msg[VPAAction.Align]);
+            return SendMessage(_Command2Msg[AlignerAction.Align]);
         }
         public bool AlignWithAngle(float angle)
         {
             if (!CanSendCommand())
                 return false;
             int ang = (int)Math.Floor(angle);//不能用Convert.toInt32("angle") 其遵守四舍五入 此处需向上取整
-            return SendMessage(_Command2Msg[VPAAction.AlignWithAngle], ang.ToString());
+            return SendMessage(_Command2Msg[AlignerAction.AlignWithAngle], ang.ToString());
         }
         public bool ReSet()
         {
             if (!IsError)
                 return false;
-            return SendMessage(_Command2Msg[VPAAction.Reset]);
+            return SendMessage(_Command2Msg[AlignerAction.Reset]);
         }
         public bool SCAN()
         {
             if (!CanSendCommand())
                 return false;
-            return SendMessage(_Command2Msg[VPAAction.Scan]);
+            return SendMessage(_Command2Msg[AlignerAction.Scan]);
         }
 
         public bool QueryOffset()
         {
             if (!CanSendCommand())
                 return false;
-            return SendMessage(_Command2Msg[VPAAction.RsLT]);
+            return SendMessage(_Command2Msg[AlignerAction.RsLT]);
         }
 
         public bool CanSendCommand()
         {
             if (Status == RState.Init)
             {
-                LOG.Write(eEvent.ERR_DEVICE_INFO, _module, "VPA is not homed, please home first.");
+                LOG.Write(eEvent.ERR_DEVICE_INFO, _module, "Aligner is not homed, please home first.");
                 return false;
             }
             else if (Status == RState.Running)
             {
-                LOG.Write(eEvent.ERR_DEVICE_INFO, _module, "VPA is busy, please wait a minute");
+                LOG.Write(eEvent.ERR_DEVICE_INFO, _module, "Aligner is busy, please wait a minute");
                 return false;
             }
             else if (Status == RState.Failed || Status == RState.Timeout)
             {
-                LOG.Write(eEvent.ERR_DEVICE_INFO, _module, "VPA has a error, please check and fix the hardware issue and home it");
+                LOG.Write(eEvent.ERR_DEVICE_INFO, _module, "Aligner has a error, please check and fix the hardware issue and home it");
                 return false;
             }
 

+ 2 - 2
Venus/Venus_RT/Devices/TM/HongHuVR.cs

@@ -133,7 +133,7 @@ namespace Venus_RT.Devices.VCE
             _StationNumbers[ModuleName.VCE1.ToString()] = SC.GetValue<int>($"{_module}.VCE1StationNumber");
             _StationNumbers[ModuleName.VCEA.ToString()] = SC.GetValue<int>($"{_module}.VCEAStationNumber");
             _StationNumbers[ModuleName.VCEB.ToString()] = SC.GetValue<int>($"{_module}.VCEBStationNumber");
-            _StationNumbers[ModuleName.Aligner1.ToString()] =  SC.GetValue<int>($"{_module}.VPAStationNumber");
+            _StationNumbers[ModuleName.Aligner1.ToString()] =  SC.GetValue<int>($"{_module}.Aligner1StationNumber");
 
             _StationNumbers[ModuleName.PMA.ToString()] = SC.GetValue<int>($"{_module}.PMAStationNumber");
             _StationNumbers[ModuleName.PMB.ToString()] = SC.GetValue<int>($"{_module}.PMBStationNumber");
@@ -384,7 +384,7 @@ namespace Venus_RT.Devices.VCE
                                 _currentStep = VRStep.Idle;
                                 _status = RState.End;
                                 _IsHomed = true;
-                                SetRobotMovingInfo(RobotAction.Homing, Hand.Both, ModuleName.SETM);
+                                SetRobotMovingInfo(RobotAction.Homing, Hand.Both, ModuleName.TM);
                             }
                             else
                                 ReportWrongMsg(RevMsg);

+ 1 - 1
Venus/Venus_RT/Devices/TM/SIASUNRobot.cs

@@ -306,7 +306,7 @@ namespace Venus_RT.Devices
                             _currentOP = OPStep.Idle;
                             _status = RState.End;
                             _IsHomed = true;
-                            SetRobotMovingInfo(RobotAction.Homing, Hand.Both, ModuleName.SETM);
+                            SetRobotMovingInfo(RobotAction.Homing, Hand.Both, ModuleName.TM);
                         }
                         else
                             ReportWrongMsg(RevMsg);

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

@@ -689,7 +689,7 @@ namespace Venus_RT.Modules
             if(RtInstance.ConfigType == ConfigType.VenusSE || RtInstance.ConfigType == ConfigType.VenusDE)
             {
                 seTM?.Initialize();
-                _seTMCycle = new SETMCycle(ModuleName.SETM);
+                _seTMCycle = new SETMCycle(ModuleName.TM);
                 _setransfer = new SEManualTransfer();
                 _sereturnWafer = new SEReturnWafer(_setransfer);
                 _AutoCycle = new VenusDispatcher(); 

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

@@ -213,7 +213,7 @@ namespace Venus_RT.Modules
             foreach (string module in InstalledModules)
             {
                 //module without vce
-                if(Enum.TryParse(module,out ModuleName mod) && !ModuleHelper.IsVCE(mod) && mod!=ModuleName.SETM)
+                if(Enum.TryParse(module,out ModuleName mod) && !ModuleHelper.IsVCE(mod) && mod!=ModuleName.TM)
                     modulelist.Add(mod);
             }
         }

+ 13 - 13
Venus/Venus_RT/Modules/SETMCycle.cs

@@ -175,7 +175,7 @@ namespace Venus_RT.Modules
                     WaferInfo currentWafer = WaferManager.Instance.GetWafer((ModuleName)wafer.OriginStation, wafer.OriginSlot);
                     WaferManager.Instance.UpdateWaferProcessStatus((ModuleName)wafer.OriginStation, wafer.OriginSlot, EnumWaferProcessStatus.Idle);
                     currentWafer.ProcessJob = _lstProcessJobs.Find(x => x.Sequence.Name == wafer.SequenceName);
-                    if (currentWafer.ProcessJob.Sequence.Steps[0].StepParameter.ContainsValue("VPA"))
+                    if (currentWafer.ProcessJob.Sequence.Steps[0].StepParameter.ContainsValue("Aligner1"))
                         movingStatus[wafer.OriginSlot] = MovingStatus.WaitAlign;
                     else
                         movingStatus[wafer.OriginSlot] = MovingStatus.WaitProcess;
@@ -673,7 +673,7 @@ namespace Venus_RT.Modules
                             WaferManager.Instance.UpdateWaferProcessStatus((ModuleName)wafer.OriginStation, wafer.OriginSlot, EnumWaferProcessStatus.Idle);
                             currentWafer.ProcessJob = _lstProcessJobs.Find(x => x.Sequence.Name == wafer.SequenceName);
 
-                            if (currentWafer.ProcessJob.Sequence.Steps[0].StepParameter.ContainsValue("VPA"))
+                            if (currentWafer.ProcessJob.Sequence.Steps[0].StepParameter.ContainsValue("Aligner1"))
                                 movingStatus[wafer.OriginSlot] = MovingStatus.WaitAlign;
                             else
                                 movingStatus[wafer.OriginSlot] = MovingStatus.WaitProcess;
@@ -813,7 +813,7 @@ namespace Venus_RT.Modules
             foreach (KeyValuePair<ModuleName, SchedulerModule> dict in dictSchedulers)
             {
                 //pm has wafer && pm is available => find the wafer's receipe
-                if (ModuleHelper.IsPm(dict.Key) && WaferManager.Instance.CheckHasWafer(dict.Key, 0) && WaferManager.Instance.CheckNoWafer(ModuleName.VPA, 0))
+                if (ModuleHelper.IsPm(dict.Key) && WaferManager.Instance.CheckHasWafer(dict.Key, 0) && WaferManager.Instance.CheckNoWafer(ModuleName.Aligner1, 0))
                 {
                     WaferInfo currentWafer = WaferManager.Instance.GetWafer(dict.Key, 0);
                     //if the wafer has been processed, we need to pickfrom it.
@@ -882,7 +882,7 @@ namespace Venus_RT.Modules
 
                             //if need align available => pick 2 
                             if (!wafer.IsEmpty
-                                && WaferManager.Instance.CheckNoWafer(ModuleName.VPA, 0)
+                                && WaferManager.Instance.CheckNoWafer(ModuleName.Aligner1, 0)
                                 && ModuleHelper.IsVCE((ModuleName)wafer.OriginStation)
                                 && SequenceNeedPMsAvailable(_lstProcessJobs.Find(x => x.Sequence.Name == wafer.SequenceName).Sequence.PMs)
                                 && (movingStatus[wafer.OriginSlot] == MovingStatus.WaitAlign))
@@ -907,7 +907,7 @@ namespace Venus_RT.Modules
                         if (nextslot.Count == 0 || nohastowaitpm && nextslot.Count == 1 
                             && WaferManager.Instance.CheckNoWafer(ModuleName.TMRobot,0)
                             && WaferManager.Instance.CheckNoWafer(ModuleName.TMRobot,1)
-                            && WaferManager.Instance.CheckNoWafer(ModuleName.VPA, 0))
+                            && WaferManager.Instance.CheckNoWafer(ModuleName.Aligner1, 0))
                         {
                             foreach (WaferInfo wafer in ctrljob.LotWafers)
                             {
@@ -987,29 +987,29 @@ namespace Venus_RT.Modules
             //if has wafer and need align and align is empty => goto PA
             if (WaferManager.Instance.CheckHasWafer(ModuleName.TMRobot,0) 
                 && movingStatus[WaferManager.Instance.GetWafer(ModuleName.TMRobot, 0).OriginSlot] == MovingStatus.WaitAlign
-                && WaferManager.Instance.CheckNoWafer(ModuleName.VPA, 0)
+                && WaferManager.Instance.CheckNoWafer(ModuleName.Aligner1, 0)
                 &&_TMRobot.IsAvailable)
             {
-                _moveQueue.Add(new MoveItem(ModuleName.TMRobot, 0,ModuleName.VPA, 0, 0));
+                _moveQueue.Add(new MoveItem(ModuleName.TMRobot, 0,ModuleName.Aligner1, 0, 0));
                 movingStatus[WaferManager.Instance.GetWafer(ModuleName.TMRobot, 0).OriginSlot] = MovingStatus.StartAlign;
                 SERunTMRobotTask();
                 return;
             }
             if (WaferManager.Instance.CheckHasWafer(ModuleName.TMRobot, 1) 
                 && movingStatus[WaferManager.Instance.GetWafer(ModuleName.TMRobot, 1).OriginSlot] == MovingStatus.WaitAlign
-                && WaferManager.Instance.CheckNoWafer(ModuleName.VPA, 0)
+                && WaferManager.Instance.CheckNoWafer(ModuleName.Aligner1, 0)
                 && _TMRobot.IsAvailable)
             {
-                _moveQueue.Add(new MoveItem(ModuleName.TMRobot, 1, ModuleName.VPA, 0, (Hand)1));
+                _moveQueue.Add(new MoveItem(ModuleName.TMRobot, 1, ModuleName.Aligner1, 0, (Hand)1));
                 movingStatus[WaferManager.Instance.GetWafer(ModuleName.TMRobot, 1).OriginSlot] = MovingStatus.StartAlign;
                 SERunTMRobotTask();
                 return;
             }
 
             //PA has wafer need align =>
-            if (WaferManager.Instance.CheckHasWafer(ModuleName.VPA, 0) && _TMRobot.IsAvailable)
+            if (WaferManager.Instance.CheckHasWafer(ModuleName.Aligner1, 0) && _TMRobot.IsAvailable)
             {
-                WaferInfo currentwafer = WaferManager.Instance.GetWafer(ModuleName.VPA, 0);
+                WaferInfo currentwafer = WaferManager.Instance.GetWafer(ModuleName.Aligner1, 0);
                 switch (movingStatus[currentwafer.OriginSlot])
                 {
                     case MovingStatus.StartAlign:
@@ -1026,14 +1026,14 @@ namespace Venus_RT.Modules
                         movingStatus[currentwafer.OriginSlot] = MovingStatus.WaitProcess;
                         if (WaferManager.Instance.CheckNoWafer(ModuleName.TMRobot, 0) && _TMRobot.IsAvailable)
                         {
-                            _moveQueue.Add(new MoveItem(ModuleName.VPA, 0, ModuleName.TMRobot, 0, 0));
+                            _moveQueue.Add(new MoveItem(ModuleName.Aligner1, 0, ModuleName.TMRobot, 0, 0));
                             SERunTMRobotTask();
                             return;
                         }
 
                         if (WaferManager.Instance.CheckNoWafer(ModuleName.TMRobot, 1) && _TMRobot.IsAvailable)
                         {
-                            _moveQueue.Add(new MoveItem(ModuleName.VPA, 0, ModuleName.TMRobot, 1, (Hand)1));
+                            _moveQueue.Add(new MoveItem(ModuleName.Aligner1, 0, ModuleName.TMRobot, 1, (Hand)1));
                             SERunTMRobotTask();
                             return;
                         }

+ 5 - 5
Venus/Venus_RT/Modules/TM/VenusEntity/SEMFHomeRoutine.cs

@@ -26,13 +26,13 @@ namespace Venus_RT.Modules.TM.VenusEntity
             seRobotDelay,
             seSlitDoor,
             seSlitDoorDelay,
-            seVPAHome,
+            seAlignerHome,
             seEnd,
         }
 
         private int _robotHomingTimeout = 120 * 1000;
         private int _slitDoorHomingTimeout = 20 * 1000;
-        private int _vpaHomingTimeout = 20 * 1000;
+        private int _Aligner1HomingTimeout = 20 * 1000;
         private bool _TMHomeRBFlag = false; //是否仅仅home robot
 
         private readonly TMBase _HongHuTM;
@@ -74,7 +74,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
                       .Delay(HomeStep.seRobotDelay, 500)
                       .Run(HomeStep.seSlitDoor, HomeSlitDoor, CheckSlitDoorReady, _slitDoorHomingTimeout)
                       .Delay(HomeStep.seSlitDoorDelay, 500)
-                      .Run(HomeStep.seVPAHome, HomeVPA, CheckVPAReady, _vpaHomingTimeout)
+                      .Run(HomeStep.seAlignerHome, HomeAligner1, CheckAligner1Ready, _Aligner1HomingTimeout)
                       .End(HomeStep.seEnd, NullFun, _delay_50ms);
             else
                 Runner.Run(HomeStep.seRobotHome, HomeRobot, CheckRobotReady, _robotHomingTimeout)
@@ -82,7 +82,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
             return Runner.Status;
         }
 
-        private bool CheckVPAReady()
+        private bool CheckAligner1Ready()
         {
             //vpa 检查
             return _vpa.Status == RState.End;
@@ -96,7 +96,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
         {
             return _robot.ReQueryLoadB();
         }
-        private bool HomeVPA()
+        private bool HomeAligner1()
         {
             //vpa home
             //11.3 直接跳过vpa

+ 2 - 2
Venus/Venus_RT/Modules/TM/VenusEntity/SEMFPMExtendRoutine.cs

@@ -44,7 +44,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
         {
             _TM = honghutm;
             _robot = robot;
-            Name = "Extend to PM VCE VPA";
+            Name = "Extend to PM VCE Aligner1";
             _vpa = vpa;
             //_queryAwc = false;
         }
@@ -99,7 +99,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
                     return RState.Failed;
                 }
             }
-            else if (ModuleHelper.IsVPA(_targetModule) && ModuleHelper.IsInstalled(_targetModule))
+            else if (ModuleHelper.IsAligner(_targetModule) && ModuleHelper.IsInstalled(_targetModule))
             {
                 //LOG.Write(eEvent.ERR_TM, Module, $"{_targetModule}");
             }

+ 2 - 2
Venus/Venus_RT/Modules/TM/VenusEntity/SEMFPMRetractRoutine.cs

@@ -44,7 +44,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
         {
             _TM = honghutm;
             _robot = robot;
-            Name = "Retract to PM VCE VPA";
+            Name = "Retract to PM VCE Aligner1";
             _vpa = vpa;
             //_queryAwc = false;
         }
@@ -98,7 +98,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
                     return RState.Failed;
                 }
             }
-            else if (ModuleHelper.IsVPA(_targetModule) && ModuleHelper.IsInstalled(_targetModule))
+            else if (ModuleHelper.IsAligner(_targetModule) && ModuleHelper.IsInstalled(_targetModule))
             {
                 //LOG.Write(eEvent.ERR_TM, Module, $"{_targetModule}");
             }

+ 2 - 4
Venus/Venus_RT/Modules/TM/VenusEntity/SEMFPickRoutine.cs

@@ -171,7 +171,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
             Runner.Wait(PickStep.seWaitModuleReady,         CheckModuleReady,       _delay_60s)
                   .Run(PickStep.sePrepareModule,            PrepareModule,          CheckModuleReady)
                   .RunIf(PickStep.seDoorOpen,               ModuleHelper.IsLoadPort(_targetModule), VCEDoorOpen, CheckVCEDoorOpen)
-                  .RunIf(PickStep.sePAQuery,                ModuleHelper.IsAligner(_targetModule),  QueryOffset,        VPAIsIdle,  _pickingTimeout)
+                  .RunIf(PickStep.sePAQuery,                ModuleHelper.IsAligner(_targetModule),  QueryOffset, Aligner1IsIdle,  _pickingTimeout)
                   .RunIf(PickStep.seCheckStatus,            ModuleHelper.IsLoadPort(_targetModule), VCECheckStatus, CheckStatusIsOk)
                   .Run (PickStep.sePicking,                 Picking,                WaitPickDone,       _pickingTimeout)
                   .End (PickStep.seNotifyDone,              NullFun,                500);
@@ -195,7 +195,6 @@ namespace Venus_RT.Modules.TM.VenusEntity
                 case ModuleName.LP1:
                 case ModuleName.LP2:
                     return _vceModule.CheckToPostMessage((int)VceMSG.Goto, _targetSlot);//移动到目标槽位
-                case ModuleName.VPA:
                 case ModuleName.Aligner1:
                 case ModuleName.Aligner2:
                     return true;//10/17暂时为true 后可能要求旋转到0
@@ -239,7 +238,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
             return _vpa.QueryOffset();
         }
 
-        private bool VPAIsIdle()
+        private bool Aligner1IsIdle()
         {
             if (_vpa.Status == RState.Running)
             {
@@ -339,7 +338,6 @@ namespace Venus_RT.Modules.TM.VenusEntity
                 case ModuleName.LP1:
                 case ModuleName.LP2:
                     return _vceModule.IsIdle;
-                case ModuleName.VPA:
                 case ModuleName.Aligner1:
                 case ModuleName.Aligner2:
                     return _vpa.Status == RState.End;

+ 0 - 2
Venus/Venus_RT/Modules/TM/VenusEntity/SEMFPlaceRoutine.cs

@@ -191,7 +191,6 @@ namespace Venus_RT.Modules.TM.VenusEntity
                 case ModuleName.LP2:
                     _vceModule.PostMsg(VceMSG.Goto, _targetSlot);
                     return true;//移动到目标槽位
-                case ModuleName.VPA:
                 case ModuleName.Aligner1:
                 case ModuleName.Aligner2:
                     return true;//10/17暂时为true 后可能要求旋转
@@ -242,7 +241,6 @@ namespace Venus_RT.Modules.TM.VenusEntity
                 case ModuleName.LP1:
                 case ModuleName.LP2:
                     return _vceModule.IsIdle;
-                case ModuleName.VPA:
                 case ModuleName.Aligner1:
                 case ModuleName.Aligner2:
                     return _vpa.Status == RState.End;

+ 1 - 1
Venus/Venus_RT/Modules/TM/VenusEntity/SEMFVentRoutine.cs

@@ -115,7 +115,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
             _tm.TurnSoftVentValve(Module,false);
             _tm.TurnFastVentValve(Module,false);
 
-            if (Module == ModuleName.SETM)
+            if (Module == ModuleName.TM)
                 _tm.SetTMFlow(0);
 
             return true;

+ 10 - 8
Venus/Venus_RT/Modules/VenusDispatcher.cs

@@ -394,13 +394,14 @@ namespace Venus_RT.Modules
                                 string wtwClean, 
                                 SequenceLLInOutPath inOutPath,
                                 int LLDelay, 
-                                bool needAlign, 
-                                string preClean, 
-                                string postClean) 
+                                bool needAlign
+                                //string preClean, 
+                                //string postClean
+                                ) 
                                 : base(source, srcSlot, dest, dstSlot, temp, waferID, recipeName, wtwClean, inOutPath, LLDelay, needAlign)
         {
-            preCleanRecipe = preClean;
-            postCleanRecipe = postClean;
+            //preCleanRecipe = preClean;
+            //postCleanRecipe = postClean;
         }
     }
 
@@ -1891,9 +1892,10 @@ namespace Venus_RT.Modules
                                             String.Empty,
                                             wafer.ProcessJob.Sequence.LLInOutPath,
                                             wafer.ProcessJob.Sequence.LLDelayTime,
-                                            IsSequenceNeedAlign(wafer.ProcessJob.Sequence),
-                                            wafer.ProcessJob.Sequence.PreWaferCleanRecipe,  // pre clean
-                                            wafer.ProcessJob.Sequence.PostWaferCleanRecipe);  // post clean
+                                            IsSequenceNeedAlign(wafer.ProcessJob.Sequence)
+                                            //wafer.ProcessJob.Sequence.PreWaferCleanRecipe,  // pre clean
+                                            //wafer.ProcessJob.Sequence.PostWaferCleanRecipe
+                                            );  // post clean
 
             waferTask.OnWaferArrived += WaferArrived;
             waferTask.OnWaferLeaved += WaferLeaved;