Browse Source

enhance log.

sangwq 1 year ago
parent
commit
ec2f97e62d

+ 2 - 0
Venus/Venus_Core/EventDefine.cs

@@ -36,6 +36,8 @@ namespace Aitex.Core.RT.Log{
 		ERR_INTERLOCK_FAIL = 35,
 		EV_SYSTEM_CONFIG = 36,
 		WARN_SYSTEM_CONFIG = 37,
+		EV_SCHEDULER = 38,
+		WARN_SCHEDULER = 39,
 		INFO_DEVICE_IO_HEATER = 1000,
 		WARN_DEVICE_IO_HEATER = 1001,
 		ERR_DEVICE_IO_HEATER = 1002,

+ 18 - 0
Venus/Venus_RT/Config/LogDefine.json

@@ -315,6 +315,24 @@
     "Note": "Configuration Warning"
   },
   {
+    "Id": 38,
+    "Level": "Info",
+    "LogEnum": "EV_SCHEDULER",
+    "GlobalDescription_zh": "{0}。",
+    "GlobalDescription_en": "{0}.",
+    "Module": "System",
+    "Note": ""
+  },
+  {
+    "Id": 39,
+    "Level": "Warning",
+    "LogEnum": "WARN_SCHEDULER",
+    "GlobalDescription_zh": "{0}。",
+    "GlobalDescription_en": "{0}.",
+    "Module": "System",
+    "Note": ""
+  },
+  {
     "Id": 1000,
     "Level": "Info",
     "LogEnum": "INFO_DEVICE_IO_HEATER",

+ 2 - 2
Venus/Venus_RT/Devices/SkyPump.cs

@@ -493,7 +493,7 @@ namespace Venus_RT.Devices
                     if (_trigPumpOff.Q && _timerPumpOff.IsTimeout())
                     {
                         _trigPumpOff.RST = true;
-                        EV.PostMessage(Module, EventEnum.DefaultWarning, "Dry Pump 无法关闭");
+                        LOG.Write(eEvent.WARN_DEVICE_INFO, Module, "Dry Pump 无法关闭");
                     }
                     _trigPumpOn.RST = true;
                     return "干泵开, ";
@@ -692,7 +692,7 @@ namespace Venus_RT.Devices
                     _trigReceiveStatus.CLK = true;
                     if(_trigReceiveStatus.Q)
                     {
-                        EV.PostMessage(Module, EventEnum.DefaultWarning, "Dry Pump 没有回复");
+                        LOG.Write(eEvent.WARN_DEVICE_INFO, Module, "Dry Pump 没有回复");
                     }
                 }
 

+ 6 - 0
Venus/Venus_RT/Modules/AutoCycle.cs

@@ -584,6 +584,12 @@ namespace Venus_RT.Modules
                 return false;
             }
 
+            if(!_vacSchedulers.Keys.Contains(SourceModule) || !_vacSchedulers[SourceModule].IsIdle)
+            {
+                LOG.Write(eEvent.WARN_ROUTER, ModuleName.System, $"The module: {SourceModule} is not ready for return wafer");
+                return false;
+            }
+
             var wafer = WaferManager.Instance.GetWafer(SourceModule, SourceSlot);
             LOG.Write(eEvent.EV_ROUTER, ModuleName.System, $"Manual return  wafer: {wafer.WaferOrigin} at {SourceModule} {SourceSlot} while system is auto running");
             

+ 2 - 1
Venus/Venus_RT/Modules/EFEM/EfemEntity.cs

@@ -9,6 +9,7 @@ using Aitex.Core.RT.OperationCenter;
 using Aitex.Core.RT.SCCore;
 using Aitex.Core.Utilities;
 using Aitex.Core.Util;
+using Aitex.Core.RT.Log;
 using Aitex.Sorter.Common;
 using MECF.Framework.Common.Equipment;
 using MECF.Framework.Common.Schedulers;
@@ -380,7 +381,7 @@ namespace Venus_RT.Modules
         {
             if (!fsm.FindTransition(fsm.State, msg))
             {
-                EV.PostWarningLog(Name, $"{Name} is in {(STATE)fsm.State} state,can not do {(MSG)msg}");
+                LOG.Write(eEvent.WARN_EFEM_COMMON_WARN, ModuleName.EFEM, $"{Name} is in {(STATE)fsm.State} state,can not do {(MSG)msg}");
                 return false;
             }
 

+ 2 - 2
Venus/Venus_RT/Modules/Schedulers/SchedulerModule.cs

@@ -132,12 +132,12 @@ namespace Venus_RT.Scheduler
         }
         protected void LogTaskStart(TaskType cmd, string message)
         {
-            EV.PostInfoLog("Scheduler", $"Task start:{_module}, {cmd}, {message}");
+            LOG.Write(eEvent.EV_SCHEDULER, ModuleName.System, $"Task start:{_module}, {cmd}, {message}");
 
         }
         protected void LogTaskDone(TaskType cmd, string message)
         {
-            EV.PostInfoLog("Scheduler", $"Task done:{_module}, {cmd}, {message}");
+            LOG.Write(eEvent.EV_SCHEDULER, ModuleName.System, $"Task done:{_module}, {cmd}, {message}");
         }
         public virtual void ResetTask()
         {

+ 16 - 8
Venus/Venus_RT/Modules/Schedulers/SchedulerPM.cs

@@ -222,7 +222,7 @@ namespace Venus_RT.Scheduler
                 int time = SC.GetValue<int>("System.ATMCyclePMDelayTime");
                 _timerProcess.Start(time * 1000);
 
-                EV.PostInfoLog("Scheduler", $"System run in ATM mode, process skipped, delay {time} seconds");
+                LOG.Write(eEvent.EV_SCHEDULER, Module, $"System run in ATM mode, process skipped, delay {time} seconds");
 
                 WaferManager.Instance.UpdateWaferProcessStatus(Module, 0, EnumWaferProcessStatus.InProcess);
 
@@ -361,11 +361,22 @@ namespace Venus_RT.Scheduler
 
         private void WaferArrived(object sender, EventArgs e)
         {
-            WaferInfo wafer = WaferManager.Instance.GetWafer(Module, 0);
-            string recipeName = wafer.ProcessJob.Sequence.GetRecipe(Module);
-            if(recipeName.Length > 0)
+            if(WaferManager.Instance.CheckHasWafer(Module, 0))
             {
-                Process(recipeName, false, RecipeType.Process, wafer);
+                WaferInfo wafer = WaferManager.Instance.GetWafer(Module, 0);
+                string recipeName = wafer.ProcessJob.Sequence.GetRecipe(Module);
+                if (recipeName.Length > 0)
+                {
+                    Process(recipeName, false, RecipeType.Process, wafer);
+                }
+                else
+                {
+                    LOG.Write(eEvent.WARN_SCHEDULER, Module, "Cannot run process as get recipe failed.");
+                }
+            }
+            else
+            {
+                LOG.Write(eEvent.WARN_SCHEDULER, Module, "Cannot run process as PM is empty");
             }
         }
 
@@ -474,8 +485,5 @@ namespace Venus_RT.Scheduler
         }
 
         #endregion
-
-
-
     }
 }