Browse Source

Update driver of HongHuVce,log in LoadPrepareRoutine && fix VenusSeOperationOverView

zhouhr 1 year ago
parent
commit
b3948aca8e

+ 15 - 1
Venus/Venus_MainPages/ViewModels/VenusSeOperationOverViewModel.cs

@@ -30,6 +30,7 @@ namespace Venus_MainPages.ViewModels
         private bool m_PMAIsInstalled;
         private bool m_PMBIsInstalled;
         private bool m_PMCIsInstalled;
+        private bool m_VCEIsInstalled;
         #endregion
 
         #region 属性
@@ -98,6 +99,14 @@ namespace Venus_MainPages.ViewModels
                 SetProperty(ref m_PMCIsInstalled, value);
             }
         }
+        public bool VCEIsInstalled
+        {
+            get { return m_VCEIsInstalled; }
+            set
+            {
+                SetProperty(ref m_VCEIsInstalled, value);
+            }
+        }
         public int VCE1WaferCount
         {
             get { return m_VCE1WaferCount; }
@@ -130,6 +139,7 @@ namespace Venus_MainPages.ViewModels
         private DelegateCommand _SMIFULoad;
         public DelegateCommand SMIFULoad =>
             _SMIFULoad ?? (_SMIFULoad = new DelegateCommand(smifUnLoad));
+
         #endregion
 
         #region 构造函数
@@ -142,6 +152,7 @@ namespace Venus_MainPages.ViewModels
             PMAIsInstalled = allModules.Contains("PMA");
             PMBIsInstalled = allModules.Contains("PMB");
             PMCIsInstalled = allModules.Contains("PMC");
+            VCEIsInstalled = allModules.Contains("VCE1");
             DispatcherTimer timer = new DispatcherTimer();
             timer.Interval = TimeSpan.FromSeconds(0.1);
             timer.Tick += Timer_Tick;
@@ -184,7 +195,10 @@ namespace Venus_MainPages.ViewModels
             {
                 PMCModuleInfo = ModuleManager.ModuleInfos["PMC"];
             }
-            VCE1ModuleInfo = ModuleManager.ModuleInfos["VCE1"];
+            if (VCEIsInstalled == true)
+            {
+                VCE1ModuleInfo = ModuleManager.ModuleInfos["VCE1"];
+            }
            
         }
         #endregion

+ 50 - 48
Venus/Venus_RT/Devices/VCE/HongHuVce.cs

@@ -192,66 +192,68 @@ namespace Venus_RT.Devices.VCE
             msg = msg.Trim();
             if (!string.IsNullOrEmpty(msg))
             {
-                //action set petrify
-                if (_currentVceMessage.Head == VceMessageHead.Action || _currentVceMessage.Head == VceMessageHead.Set || _currentVceMessage.Head == VceMessageHead.Petrify)
+                //action set petrify _BKGRDY结束
+                switch (_currentVceMessage.Head)
                 {
-                    switch (msg)
-                    {
-                        //设备收到 开始运行 目前状态在下发
-                        case "_RDY":
-                            LOG.Write(eEvent.EV_VCE_COMMON_INFO, _moduleName, $"vce start {_currentVceMessage.Head}");
-                            break;
-                        //设备执行完毕
-                        case "_BKGRDY":
-                            LOG.Write(eEvent.EV_VCE_COMMON_INFO, _moduleName, $"vce {_currentVceMessage.Head} over");
-                            _status = RState.End;
-                            break;
-                        //异常处理
-                        default:
-                            _status = RState.Failed;
-                            string reason;
-                            Errorhandle(msg, out reason);
-                            LOG.Write(eEvent.ERR_VCE_COMMON_Failed, _moduleName, reason);
-                            break;
-                    }
-                }
-                //read
-                if (_currentVceMessage.Head == VceMessageHead.Read)
-                {
-                    //如果收到的信息符合
-                    if (_match_ReadMsg.IsMatch(msg))
-                    {
-                        //收到消息 用于结束
-                        _HasReceiveMsg = true;
-                        switch (_currentVceMessage.Command)
+                    case VceMessageHead.Action:
+                    case VceMessageHead.Set:
+                    case VceMessageHead.Petrify:
+                        switch (msg)
                         {
-                            //处理wafer 信息为map数据
-                            case VceCommand.ReadMap:
-                                ReadMapData(msg);
+                            //设备收到 开始运行 目前状态在下发
+                            case "_RDY":
+                                LOG.Write(eEvent.EV_VCE_COMMON_INFO, _moduleName, $"vce start {_currentVceMessage.Head}");
+                                break;
+                            //设备执行完毕
+                            case "_BKGRDY":
+                                LOG.Write(eEvent.EV_VCE_COMMON_INFO, _moduleName, $"vce {_currentVceMessage.Head} over");
+                                _status = RState.End;
+                                break;
+                            //异常处理
+                            default:
+                                _status = RState.Failed;
+                                string reason;
+                                Errorhandle(msg, out reason);
+                                LOG.Write(eEvent.ERR_VCE_COMMON_Failed, _moduleName, reason);
                                 break;
                         }
-                    }
-                    //否则
-                    else
-                    {
-                        if (msg == "_RDY")
+                        break;
+                    case VceMessageHead.Read:
+                        //如果收到的信息符合
+                        if (_match_ReadMsg.IsMatch(msg))
                         {
-                            if (_HasReceiveMsg)
+                            //收到消息 用于结束
+                            _HasReceiveMsg = true;
+                            switch (_currentVceMessage.Command)
                             {
-                                _status = RState.End;
+                                //处理wafer 信息为map数据
+                                case VceCommand.ReadMap:
+                                    ReadMapData(msg);
+                                    break;
+                            }
+                        }
+                        //_RDY查询结束
+                        else
+                        {
+                            if (msg == "_RDY")
+                            {
+                                if (_HasReceiveMsg)
+                                {
+                                    _status = RState.End;
+                                }
+                                else
+                                {
+                                    LOG.Write(eEvent.ERR_VCE_COMMON_Failed, _moduleName, $"Read Message is over but not receive msg! raw message:{_currentMsg}");
+                                    _status = RState.Failed;
+                                }
                             }
                             else
                             {
-                                LOG.Write(eEvent.ERR_VCE_COMMON_Failed, _moduleName, $"Read Message is over but not receive msg! raw message:{_currentMsg}");
                                 _status = RState.Failed;
+                                LOG.Write(eEvent.ERR_VCE_COMMON_Failed, _moduleName, $"Read Message is invalid: receive message {msg} and send message {_currentMsg}");
                             }
                         }
-                        else
-                        {
-                            _status = RState.Failed;
-                            LOG.Write(eEvent.ERR_VCE_COMMON_Failed, _moduleName, $"Read Message is invalid: receive message {msg} and send message {_currentMsg}");
-                        }
-                    }
+                        break;
                 }
             }
         }

+ 2 - 2
Venus/Venus_RT/Modules/VCE/LoadPrepareRoutine.cs

@@ -55,7 +55,7 @@ namespace Venus_RT.Modules.VCE
         {
             if (_vce.Status == RState.Timeout || _vce.Status == RState.Failed)
             {
-                //LOG.Write(eEvent.ERR_VCE_COMMON_FAILED, Module, $"VCE Stage Down failed");
+                LOG.Write(eEvent.ERR_VCE_COMMON_Failed, Module, $"VCE Stage Down failed");
             }
             return _vce.Status == RState.End;
         }
@@ -64,7 +64,7 @@ namespace Venus_RT.Modules.VCE
         {
             if (_vce.Status == RState.Timeout || _vce.Status == RState.Failed)
             {
-                //LOG.Write(eEvent.ERR_VCE_COMMON_FAILED, Module, $"VCE OuterDoor Open failed");
+                LOG.Write(eEvent.ERR_VCE_COMMON_Failed, Module, $"VCE OuterDoor Open failed");
             }
             return _vce.Status == RState.End;
         }