Pārlūkot izejas kodu

change the location of the PA from VPA to Aligner1

zhouhr 11 mēneši atpakaļ
vecāks
revīzija
cc04adb731

+ 2 - 0
Venus/Venus_MainPages/Unity/ModuleManager.cs

@@ -49,6 +49,8 @@ namespace Venus_MainPages.Unity
                 ModulesID.Add("VCEB");
             if (installModules.Contains("VPA"))
                 ModulesID.Add("VPA");
+            if (installModules.Contains("Aligner1"))
+                ModulesID.Add("Aligner1");
 
             FlashWaferEvent += ModuleManager_FlashWaferEvent;
         }

+ 1 - 1
Venus/Venus_MainPages/ViewModels/SeTMViewModel.cs

@@ -723,7 +723,7 @@ namespace Venus_MainPages.ViewModels
             RobotMoveInfo = (RobotMoveInfo)QueryDataClient.Instance.Service.GetData("SETM.RobotMoveAction");
             RobotUpperWafer = TMModuleInfo.WaferManager.Wafers[0];
             RobotLowerWafer = TMModuleInfo.WaferManager.Wafers[1];
-            PAWafer = ModuleManager.ModuleInfos["VPA"].WaferManager.Wafers[0];
+            PAWafer = ModuleManager.ModuleInfos["Aligner1"].WaferManager.Wafers[0];
 
         }
         private async void RobotMoveInfoChanged(RobotMoveInfo oldValue, RobotMoveInfo newValue)

+ 1 - 1
Venus/Venus_MainPages/ViewModels/VenusDeOperationOverViewModel.cs

@@ -872,7 +872,7 @@ namespace Venus_MainPages.ViewModels
                 TMModuleInfo = ModuleManager.ModuleInfos["TMRobot"];
                 RobotUpperWafer = TMModuleInfo.WaferManager.Wafers[0];
                 RobotLowerWafer = TMModuleInfo.WaferManager.Wafers[1];
-                PAWafer = ModuleManager.ModuleInfos["VPA"].WaferManager.Wafers[0];
+                PAWafer = ModuleManager.ModuleInfos["Aligner1"].WaferManager.Wafers[0];
             }
             catch
             {

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

@@ -80,7 +80,7 @@ namespace Venus_RT.Devices.PreAligner
             _module = module;
             string port = SC.GetStringValue($"{module}.VPAPort");
             _serialport = new AsyncSerialPort(port, 9600, 8, Parity.None, StopBits.One, _newLine, _IsAsciiMode);
-            WaferManager.Instance.SubscribeLocation(ModuleName.VPA, 1);
+            WaferManager.Instance.SubscribeLocation(ModuleName.Aligner1, 1);
             _serialport.Open();
             _serialport.OnDataChanged += OnReceiveData;
             _state = RState.Init;

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

@@ -108,7 +108,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
                 //}
             }   
             //如果目标又不是VPA 报错
-            else if (!ModuleHelper.IsVPA(_targetModule))
+            else if (!ModuleHelper.IsAligner(_targetModule))
             {
                 LOG.Write(eEvent.ERR_TM, Module, $"Invalid target module : {_targetModule} for pick action");
                 return RState.Failed;
@@ -170,7 +170,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,                _targetModule == ModuleName.VPA,              QueryOffset,        VPAIsIdle,  _pickingTimeout)
+                  .RunIf(PickStep.sePAQuery,                ModuleHelper.IsAligner(_targetModule),  QueryOffset,        VPAIsIdle,  _pickingTimeout)
                   .Run (PickStep.sePicking,                 Picking,                WaitPickDone,       _pickingTimeout)
                   .End (PickStep.seNotifyDone,              NullFun,                500);
             return Runner.Status;
@@ -185,6 +185,8 @@ namespace Venus_RT.Modules.TM.VenusEntity
                 case ModuleName.VCEB:
                     return _vceModule.CheckToPostMessage((int)VceMSG.Goto, _targetSlot);//移动到目标槽位
                 case ModuleName.VPA:
+                case ModuleName.Aligner1:
+                case ModuleName.Aligner2:
                     return true;//10/17暂时为true 后可能要求旋转到0
                 default:
                     return false;
@@ -218,7 +220,6 @@ namespace Venus_RT.Modules.TM.VenusEntity
         {
             return _tm.CheckSlitValveOpen(VCE2LP.QueryLP2VCE(_targetModule));
         }
-        private bool CheckIsPA() => _targetModule == ModuleName.VPA;
 
         private bool QueryOffset()
         {
@@ -262,7 +263,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
         private bool Picking()
         {
             //到达目标点位 pick固定槽位点的wafer
-            if (_targetModule == ModuleName.VPA && (_vpa.ROffset!=0 || _vpa.TOffset!=0))
+            if (ModuleHelper.IsAligner(_targetModule) && (_vpa.ROffset!=0 || _vpa.TOffset!=0))
             {
                 int[] RT = calculateRT(_vpa.ROffset, _vpa.TOffset);
                 LOG.Write(eEvent.INFO_TM_ROBOT, ModuleName.TMRobot, $"will pick from PA with R:{RT[1]} D:{RT[0]}");
@@ -322,6 +323,8 @@ namespace Venus_RT.Modules.TM.VenusEntity
                 case ModuleName.VCEB:
                     return _vceModule.IsIdle;
                 case ModuleName.VPA:
+                case ModuleName.Aligner1:
+                case ModuleName.Aligner2:
                     return _vpa.Status == RState.End;
                 default:
                     return false;

+ 5 - 1
Venus/Venus_RT/Modules/TM/VenusEntity/SEMFPlaceRoutine.cs

@@ -104,7 +104,7 @@ namespace Venus_RT.Modules.TM.VenusEntity
                 //}
             }
             //如果目标又不是VPA 报错
-            else if (!ModuleHelper.IsVPA(_targetModule))
+            else if (!ModuleHelper.IsAligner(_targetModule))
             {
                 LOG.Write(eEvent.ERR_TM, Module, $"Invalid target module : {_targetModule} for placing action");
                 return RState.Failed;
@@ -181,6 +181,8 @@ namespace Venus_RT.Modules.TM.VenusEntity
                     _vceModule.PostMsg(VceMSG.Goto, _targetSlot);
                     return true;//移动到目标槽位
                 case ModuleName.VPA:
+                case ModuleName.Aligner1:
+                case ModuleName.Aligner2:
                     return true;//10/17暂时为true 后可能要求旋转
                 default:
                     return false;
@@ -228,6 +230,8 @@ namespace Venus_RT.Modules.TM.VenusEntity
                 case ModuleName.VCEB:
                     return _vceModule.IsIdle;
                 case ModuleName.VPA:
+                case ModuleName.Aligner1:
+                case ModuleName.Aligner2:
                     return _vpa.Status == RState.End;
                 default:
                     return false;

+ 4 - 1
Venus/Venus_Simulator/Instances/SimulatorSystem.cs

@@ -45,7 +45,7 @@ namespace Venus_Simulator.Instances
             //_MockDevices.Add(ModuleName.PMB, new AdTecMatchMock());
 
             // TODO
-            type = ConfigType.Kepler2200;
+            type = (ConfigType)QueryDataClient.Instance.Service.GetData("System.ConfigType");
             jetChambers.Add(ModuleName.PMA, SimulatorJetChamber.CurrentPMAChamber);
             jetChambers.Add(ModuleName.PMB, SimulatorJetChamber.CurrentPMBChamber);
             jetChambers.Add(ModuleName.PMC, SimulatorJetChamber.CurrentPMCChamber);
@@ -72,6 +72,7 @@ namespace Venus_Simulator.Instances
             else if (type == ConfigType.VenusSE)
             {
                 SetSETMDefaultValue();
+                SetDETMDefaultValue();
             }
             else if (type == ConfigType.VenusDE)
             {
@@ -751,6 +752,8 @@ namespace Venus_Simulator.Instances
                 {
                     MonitorSEMFSlitDoor();
                     MonitorSEMFPressure();
+                    MonitorDEMFSlitDoor();
+                    MonitorDEMFPressure();
                 }
                 else if (type == ConfigType.VenusDE)
                 {