Browse Source

Enhance the Log Info

sangwq 1 year ago
parent
commit
ed992dd631

+ 2 - 1
Venus/Framework/Common/Routine/RoutineRunner.cs

@@ -36,6 +36,7 @@ namespace MECF.Framework.Common.Routine
         private bool        _isLoopMode     = false;
         private int         _loopCounterSP  = 0;
         private int         _loopCounter    = 0;
+        static private int  _RunnerToken    = 0;
 
         public RoutineRunner()
         {
@@ -57,7 +58,7 @@ namespace MECF.Framework.Common.Routine
             Reset();
 
             _module = module;
-            _name = name;
+            _name = $"{name} (Token:{_RunnerToken++})";
             _runnerState = RState.Running;
             _subState = RState.End;
 

+ 2 - 1
Venus/Framework/Common/SubstrateTrackings/WaferManager.cs

@@ -129,7 +129,8 @@ namespace MECF.Framework.Common.SubstrateTrackings
 
             DeleteWafer(moduleFrom, slotFrom);
 
-            EV.PostMessage(ModuleName.System.ToString(), EventEnum.WaferMoved, waferOrigin, moduleFrom.ToString(), slotFrom + 1, moduleTo.ToString(), slotTo + 1);
+            //EV.PostMessage(ModuleName.System.ToString(), EventEnum.WaferMoved, waferOrigin, moduleFrom.ToString(), slotFrom + 1, moduleTo.ToString(), slotTo + 1);
+            LOG.Write(eEvent.EV_WAFER_MOVED, ModuleName.System, waferOrigin, moduleFrom.ToString(), (slotFrom + 1).ToString(), moduleTo.ToString(), (slotTo + 1).ToString());
 
             WaferMoveHistoryRecorder.WaferMoved(wafer.InnerId.ToString(), moduleTo.ToString(), slotTo, wafer.Status.ToString());
 

+ 3 - 0
Venus/Venus_Core/EventDefine.cs

@@ -27,6 +27,9 @@ namespace Aitex.Core.RT.Log{
 		EV_ROUTER = 26,
 		WARN_ROUTER = 27,
 		ERR_ROUTER = 28,
+		EV_WAFER_MOVED = 29,
+		EV_WAFER_CREATE = 30,
+		EV_WAFER_DELETE = 31,
 		INFO_DEVICE_IO_HEATER = 1000,
 		WARN_DEVICE_IO_HEATER = 1001,
 		ERR_DEVICE_IO_HEATER = 1002,

+ 360 - 333
Venus/Venus_RT/Config/LogDefine.json

@@ -233,338 +233,365 @@
     "Module": "System",
     "Note": "Router Failed"
   },
-    {
-      "Id": 1000,
-      "Level": "Info",
-      "LogEnum": "INFO_DEVICE_IO_HEATER",
-      "GlobalDescription_zh": "IO Heater Log: {0}",
-      "GlobalDescription_en": "IO Heater Log: {0}",
-      "Module": "PM",
-      "Note": "IO Heater Info"
-    },
-    {
-      "Id": 1001,
-      "Level": "Warning",
-      "LogEnum": "WARN_DEVICE_IO_HEATER",
-      "GlobalDescription_zh": "IO Heater warning: {0}",
-      "GlobalDescription_en": "IO Heater warning: {0}",
-      "Module": "PM",
-      "Note": "IO Heater Warning"
-    },
-    {
-      "Id": 1002,
-      "Level": "Error",
-      "LogEnum": "ERR_DEVICE_IO_HEATER",
-      "GlobalDescription_zh": "IO Heater alarm: {0}",
-      "GlobalDescription_en": "IO Heater alarm: {0}",
-      "Module": "PM",
-      "Note": "IO Heater Alarm"
-    },
-    {
-      "Id": 1003,
-      "Level": "Error",
-      "LogEnum": "ERR_DRY_PUMP",
-      "GlobalDescription_zh": "Dry Pump alarm: {0}",
-      "GlobalDescription_en": "Dry Pump alarm: {0}",
-      "Module": "PM",
-      "Note": "Dry Pump Alarm"
-    },
-    {
-      "Id": 1004,
-      "Level": "Error",
-      "LogEnum": "ERR_PENDULUM_VALVE",
-      "GlobalDescription_zh": "Pendulum Valve alarm: {0}",
-      "GlobalDescription_en": "Pendulum Valve alarm: {0}",
-      "Module": "PM",
-      "Note": "Pendulum Valve Alarm"
-    },
-    {
-      "Id": 1005,
-      "Level": "Error",
-      "LogEnum": "ERR_ESC_HV",
-      "GlobalDescription_zh": "ESC HV alarm: {0}",
-      "GlobalDescription_en": "ESC HV alarm: {0}",
-      "Module": "PM",
-      "Note": "ESC HV Alarm"
-    },
-    {
-      "Id": 1006,
-      "Level": "Error",
-      "LogEnum": "ERR_TURBO_PUMP",
-      "GlobalDescription_zh": "Turbo Pump alarm: {0}",
-      "GlobalDescription_en": "Turbo Pump alarm: {0}",
-      "Module": "PM",
-      "Note": "Turbo Pump Alarm"
-    },
-    {
-      "Id": 1007,
-      "Level": "Error",
-      "LogEnum": "ERR_RF",
-      "GlobalDescription_zh": "RF error: {0}",
-      "GlobalDescription_en": "RF error: {0}",
-      "Module": "PM",
-      "Note": "RF Alarm"
-    },
-    {
-      "Id": 1008,
-      "Level": "Info",
-      "LogEnum": "INFO_DEVICE_CHILLER",
-      "GlobalDescription_zh": "Chiller: {0}",
-      "GlobalDescription_en": "Chiller: {0}",
-      "Module": "PM",
-      "Note": "Chiller Info"
-    },
-    {
-      "Id": 1009,
-      "Level": "Warning",
-      "LogEnum": "WARN_DEVICE_CHILLER",
-      "GlobalDescription_zh": "Chiller warning: {0}",
-      "GlobalDescription_en": "Chiller warning: {0}",
-      "Module": "PM",
-      "Note": "Chiller Warning"
-    },
-    {
-      "Id": 1010,
-      "Level": "Error",
-      "LogEnum": "ERR_DEVICE_CHILLER",
-      "GlobalDescription_zh": "Chiller alarm: {0}",
-      "GlobalDescription_en": "Chiller alarm: {0}",
-      "Module": "PM",
-      "Note": "Chiller Alarm"
-    },
-    {
-      "Id": 1011,
-      "Level": "Warning",
-      "LogEnum": "WARN_RF",
-      "GlobalDescription_zh": "RF warning: {0}",
-      "GlobalDescription_en": "RF warning: {0}",
-      "Module": "PM",
-      "Note": "RF warning"
-    },
-    {
-      "Id": 1012,
-      "Level": "Error",
-      "LogEnum": "ERR_ENDPOINT",
-      "GlobalDescription_zh": "EndPoint alarm: {0}",
-      "GlobalDescription_en": "EndPoint alarm: {0}",
-      "Module": "PM",
-      "Note": "EndPoint Alarm"
-    },
-    {
-      "Id": 1013,
-      "Level": "Info",
-      "LogEnum": "INFO_ENDPOINT",
-      "GlobalDescription_zh": "EndPoint log: {0}",
-      "GlobalDescription_en": "EndPoint log: {0}",
-      "Module": "PM",
-      "Note": "EndPoint log"
-    },
-    {
-      "Id": 1014,
-      "Level": "Warning",
-      "LogEnum": "WARN_ENDPOINT",
-      "GlobalDescription_zh": "EndPoint warning: {0}",
-      "GlobalDescription_en": "EndPoint warning: {0}",
-      "Module": "PM",
-      "Note": "EndPoint warning"
-    },
-    {
-      "Id": 1015,
-      "Level": "Error",
-      "LogEnum": "ERR_BACKSIDE_HE",
-      "GlobalDescription_zh": "BacksideHelium alarm: {0}",
-      "GlobalDescription_en": "BacksideHelium alarm: {0}",
-      "Module": "PM",
-      "Note": "BacksideHelium Alarm"
-    },
-    {
-      "Id": 1016,
-      "Level": "Info",
-      "LogEnum": "INFO_BACKSIDE_HE",
-      "GlobalDescription_zh": "BacksideHelium log: {0}",
-      "GlobalDescription_en": "BacksideHelium log: {0}",
-      "Module": "PM",
-      "Note": "BacksideHelium log"
-    },
-    {
-      "Id": 1017,
-      "Level": "Warning",
-      "LogEnum": "WARN_BACKSIDE_HE",
-      "GlobalDescription_zh": "BacksideHelium warning: {0}",
-      "GlobalDescription_en": "BacksideHelium warning: {0}",
-      "Module": "PM",
-      "Note": "BacksideHelium warning"
-    },
-    {
-      "Id": 1018,
-      "Level": "Error",
-      "LogEnum": "ERR_PROCESS",
-      "GlobalDescription_zh": "Process alarm: {0}",
-      "GlobalDescription_en": "Process alarm: {0}",
-      "Module": "PM",
-      "Note": "Process Alarm"
-    },
-    {
-      "Id": 1019,
-      "Level": "Info",
-      "LogEnum": "INFO_PROCESS",
-      "GlobalDescription_zh": "Process log: {0}",
-      "GlobalDescription_en": "Process log: {0}",
-      "Module": "PM",
-      "Note": "Process log"
-    },
-    {
-      "Id": 1020,
-      "Level": "Warning",
-      "LogEnum": "WARN_PROCESS",
-      "GlobalDescription_zh": "Process warning: {0}",
-      "GlobalDescription_en": "Process warning: {0}",
-      "Module": "PM",
-      "Note": "Process warning"
-    },
-    {
-      "Id": 1021,
-      "Level": "Error",
-      "LogEnum": "ERR_IoGasValve",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "PM",
-      "Note": "IoGasValve Error"
-    },
-    {
-      "Id": 1022,
-      "Level": "Warning",
-      "LogEnum": "WARN_State",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "PM",
-      "Note": "State warning"
-    },
-    {
-      "Id": 1023,
-      "Level": "Error",
-      "LogEnum": "ERR_PM",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "PM",
-      "Note": "PM Alarm"
-    },
-    {
-      "Id": 1024,
-      "Level": "Info",
-      "LogEnum": "INFO_PM",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "PM",
-      "Note": "PM INFO"
-    },
-    {
-      "Id": 1025,
-      "Level": "Warning",
-      "LogEnum": "WARN_PM",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "PM",
-      "Note": "PM warning"
-    },
+  {
+    "Id": 29,
+    "Level": "Info",
+    "LogEnum": "EV_WAFER_MOVED",
+    "GlobalDescription_zh": "Wafer {0} moved from {1} {2} to {3} {4}",
+    "GlobalDescription_en": "Wafer {0} moved from {1} {2} to {3} {4}",
+    "Module": "System",
+    "Note": "Wafer Moved"
+  },
+  {
+    "Id": 30,
+    "Level": "Info",
+    "LogEnum": "EV_WAFER_CREATE",
+    "GlobalDescription_zh": "Wafer created at {0} slot {1}, status is {2}.",
+    "GlobalDescription_en": "Wafer created at {0} slot {1}, status is {2}.",
+    "Module": "System",
+    "Note": "Wafer Created"
+  },
+  {
+    "Id": 31,
+    "Level": "Info",
+    "LogEnum": "EV_WAFER_DELETE",
+    "GlobalDescription_zh": "Wafer deleted from {0} slot {1}.",
+    "GlobalDescription_en": "Wafer deleted from {0} slot {1}.",
+    "Module": "System",
+    "Note": "Wafer Deleted"
+  },
+  {
+    "Id": 1000,
+    "Level": "Info",
+    "LogEnum": "INFO_DEVICE_IO_HEATER",
+    "GlobalDescription_zh": "IO Heater Log: {0}",
+    "GlobalDescription_en": "IO Heater Log: {0}",
+    "Module": "PM",
+    "Note": "IO Heater Info"
+  },
+  {
+    "Id": 1001,
+    "Level": "Warning",
+    "LogEnum": "WARN_DEVICE_IO_HEATER",
+    "GlobalDescription_zh": "IO Heater warning: {0}",
+    "GlobalDescription_en": "IO Heater warning: {0}",
+    "Module": "PM",
+    "Note": "IO Heater Warning"
+  },
+  {
+    "Id": 1002,
+    "Level": "Error",
+    "LogEnum": "ERR_DEVICE_IO_HEATER",
+    "GlobalDescription_zh": "IO Heater alarm: {0}",
+    "GlobalDescription_en": "IO Heater alarm: {0}",
+    "Module": "PM",
+    "Note": "IO Heater Alarm"
+  },
+  {
+    "Id": 1003,
+    "Level": "Error",
+    "LogEnum": "ERR_DRY_PUMP",
+    "GlobalDescription_zh": "Dry Pump alarm: {0}",
+    "GlobalDescription_en": "Dry Pump alarm: {0}",
+    "Module": "PM",
+    "Note": "Dry Pump Alarm"
+  },
+  {
+    "Id": 1004,
+    "Level": "Error",
+    "LogEnum": "ERR_PENDULUM_VALVE",
+    "GlobalDescription_zh": "Pendulum Valve alarm: {0}",
+    "GlobalDescription_en": "Pendulum Valve alarm: {0}",
+    "Module": "PM",
+    "Note": "Pendulum Valve Alarm"
+  },
+  {
+    "Id": 1005,
+    "Level": "Error",
+    "LogEnum": "ERR_ESC_HV",
+    "GlobalDescription_zh": "ESC HV alarm: {0}",
+    "GlobalDescription_en": "ESC HV alarm: {0}",
+    "Module": "PM",
+    "Note": "ESC HV Alarm"
+  },
+  {
+    "Id": 1006,
+    "Level": "Error",
+    "LogEnum": "ERR_TURBO_PUMP",
+    "GlobalDescription_zh": "Turbo Pump alarm: {0}",
+    "GlobalDescription_en": "Turbo Pump alarm: {0}",
+    "Module": "PM",
+    "Note": "Turbo Pump Alarm"
+  },
+  {
+    "Id": 1007,
+    "Level": "Error",
+    "LogEnum": "ERR_RF",
+    "GlobalDescription_zh": "RF error: {0}",
+    "GlobalDescription_en": "RF error: {0}",
+    "Module": "PM",
+    "Note": "RF Alarm"
+  },
+  {
+    "Id": 1008,
+    "Level": "Info",
+    "LogEnum": "INFO_DEVICE_CHILLER",
+    "GlobalDescription_zh": "Chiller: {0}",
+    "GlobalDescription_en": "Chiller: {0}",
+    "Module": "PM",
+    "Note": "Chiller Info"
+  },
+  {
+    "Id": 1009,
+    "Level": "Warning",
+    "LogEnum": "WARN_DEVICE_CHILLER",
+    "GlobalDescription_zh": "Chiller warning: {0}",
+    "GlobalDescription_en": "Chiller warning: {0}",
+    "Module": "PM",
+    "Note": "Chiller Warning"
+  },
+  {
+    "Id": 1010,
+    "Level": "Error",
+    "LogEnum": "ERR_DEVICE_CHILLER",
+    "GlobalDescription_zh": "Chiller alarm: {0}",
+    "GlobalDescription_en": "Chiller alarm: {0}",
+    "Module": "PM",
+    "Note": "Chiller Alarm"
+  },
+  {
+    "Id": 1011,
+    "Level": "Warning",
+    "LogEnum": "WARN_RF",
+    "GlobalDescription_zh": "RF warning: {0}",
+    "GlobalDescription_en": "RF warning: {0}",
+    "Module": "PM",
+    "Note": "RF warning"
+  },
+  {
+    "Id": 1012,
+    "Level": "Error",
+    "LogEnum": "ERR_ENDPOINT",
+    "GlobalDescription_zh": "EndPoint alarm: {0}",
+    "GlobalDescription_en": "EndPoint alarm: {0}",
+    "Module": "PM",
+    "Note": "EndPoint Alarm"
+  },
+  {
+    "Id": 1013,
+    "Level": "Info",
+    "LogEnum": "INFO_ENDPOINT",
+    "GlobalDescription_zh": "EndPoint log: {0}",
+    "GlobalDescription_en": "EndPoint log: {0}",
+    "Module": "PM",
+    "Note": "EndPoint log"
+  },
+  {
+    "Id": 1014,
+    "Level": "Warning",
+    "LogEnum": "WARN_ENDPOINT",
+    "GlobalDescription_zh": "EndPoint warning: {0}",
+    "GlobalDescription_en": "EndPoint warning: {0}",
+    "Module": "PM",
+    "Note": "EndPoint warning"
+  },
+  {
+    "Id": 1015,
+    "Level": "Error",
+    "LogEnum": "ERR_BACKSIDE_HE",
+    "GlobalDescription_zh": "BacksideHelium alarm: {0}",
+    "GlobalDescription_en": "BacksideHelium alarm: {0}",
+    "Module": "PM",
+    "Note": "BacksideHelium Alarm"
+  },
+  {
+    "Id": 1016,
+    "Level": "Info",
+    "LogEnum": "INFO_BACKSIDE_HE",
+    "GlobalDescription_zh": "BacksideHelium log: {0}",
+    "GlobalDescription_en": "BacksideHelium log: {0}",
+    "Module": "PM",
+    "Note": "BacksideHelium log"
+  },
+  {
+    "Id": 1017,
+    "Level": "Warning",
+    "LogEnum": "WARN_BACKSIDE_HE",
+    "GlobalDescription_zh": "BacksideHelium warning: {0}",
+    "GlobalDescription_en": "BacksideHelium warning: {0}",
+    "Module": "PM",
+    "Note": "BacksideHelium warning"
+  },
+  {
+    "Id": 1018,
+    "Level": "Error",
+    "LogEnum": "ERR_PROCESS",
+    "GlobalDescription_zh": "Process alarm: {0}",
+    "GlobalDescription_en": "Process alarm: {0}",
+    "Module": "PM",
+    "Note": "Process Alarm"
+  },
+  {
+    "Id": 1019,
+    "Level": "Info",
+    "LogEnum": "INFO_PROCESS",
+    "GlobalDescription_zh": "Process log: {0}",
+    "GlobalDescription_en": "Process log: {0}",
+    "Module": "PM",
+    "Note": "Process log"
+  },
+  {
+    "Id": 1020,
+    "Level": "Warning",
+    "LogEnum": "WARN_PROCESS",
+    "GlobalDescription_zh": "Process warning: {0}",
+    "GlobalDescription_en": "Process warning: {0}",
+    "Module": "PM",
+    "Note": "Process warning"
+  },
+  {
+    "Id": 1021,
+    "Level": "Error",
+    "LogEnum": "ERR_IoGasValve",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "PM",
+    "Note": "IoGasValve Error"
+  },
+  {
+    "Id": 1022,
+    "Level": "Warning",
+    "LogEnum": "WARN_State",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "PM",
+    "Note": "State warning"
+  },
+  {
+    "Id": 1023,
+    "Level": "Error",
+    "LogEnum": "ERR_PM",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "PM",
+    "Note": "PM Alarm"
+  },
+  {
+    "Id": 1024,
+    "Level": "Info",
+    "LogEnum": "INFO_PM",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "PM",
+    "Note": "PM INFO"
+  },
+  {
+    "Id": 1025,
+    "Level": "Warning",
+    "LogEnum": "WARN_PM",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "PM",
+    "Note": "PM warning"
+  },
 
-    {
-      "Id": 1026,
-      "Level": "Info",
-      "LogEnum": "INFO_Sensor",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "PM",
-      "Note": "Sensor log"
-    },
-    {
-      "Id": 1027,
-      "Level": "Warning",
-      "LogEnum": "WARN_Sensor",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "PM",
-      "Note": "Sensor warning"
-    },
-    {
-      "Id": 1028,
-      "Level": "Error",
-      "LogEnum": "ERR_Sensor",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "PM",
-      "Note": "Sensor Error"
-    },
-    {
-      "Id": 2000,
-      "Level": "Error",
-      "LogEnum": "ERR_TM",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "TM",
-      "Note": "TM Alarm"
-    },
-    {
-      "Id": 2001,
-      "Level": "Info",
-      "LogEnum": "INFO_TM",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "TM",
-      "Note": "TM INFO"
-    },
-    {
-      "Id": 2002,
-      "Level": "Warning",
-      "LogEnum": "WARN_TM",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "TM",
-      "Note": "TM warning"
-    },
-    {
-      "Id": 2100,
-      "Level": "Error",
-      "LogEnum": "ERR_TM_ROBOT",
-      "GlobalDescription_zh": "TM Robot receive an error:{0}",
-      "GlobalDescription_en": "TM Robot receive an error:{0}",
-      "Module": "TM",
-      "Note": "TM Alarm"
-    },
-    {
-      "Id": 2101,
-      "Level": "Info",
-      "LogEnum": "INFO_TM_ROBOT",
-      "GlobalDescription_zh": "{0}",
-      "GlobalDescription_en": "{0}",
-      "Module": "TM",
-      "Note": "TM Info"
-    },
-    {
-      "Id": 4000,
-      "Level": "Info",
-      "LogEnum": "EV_EFEM_COMMON_INFO",
-      "GlobalDescription_zh": "{0}。",
-      "GlobalDescription_en": "{0}.",
-      "Module": "EFEM",
-      "Note": "EFEM Notify"
-    },
-    {
-      "Id": 4001,
-      "Level": "Warning",
-      "LogEnum": "WARN_EFEM_COMMON_WARN",
-      "GlobalDescription_zh": "{0}。",
-      "GlobalDescription_en": "{0}.",
-      "Module": "EFEM",
-      "Note": "EFEM Warning"
-    },
-    {
-      "Id": 4002,
-      "Level": "Error",
-      "LogEnum": "ERR_EFEM_COMMON_FAILED",
-      "GlobalDescription_zh": "{0}。",
-      "GlobalDescription_en": "{0}.",
-      "Module": "EFEM",
-      "Note": "EFEM Failed"
-    }
+  {
+    "Id": 1026,
+    "Level": "Info",
+    "LogEnum": "INFO_Sensor",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "PM",
+    "Note": "Sensor log"
+  },
+  {
+    "Id": 1027,
+    "Level": "Warning",
+    "LogEnum": "WARN_Sensor",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "PM",
+    "Note": "Sensor warning"
+  },
+  {
+    "Id": 1028,
+    "Level": "Error",
+    "LogEnum": "ERR_Sensor",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "PM",
+    "Note": "Sensor Error"
+  },
+  {
+    "Id": 2000,
+    "Level": "Error",
+    "LogEnum": "ERR_TM",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "TM",
+    "Note": "TM Alarm"
+  },
+  {
+    "Id": 2001,
+    "Level": "Info",
+    "LogEnum": "INFO_TM",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "TM",
+    "Note": "TM INFO"
+  },
+  {
+    "Id": 2002,
+    "Level": "Warning",
+    "LogEnum": "WARN_TM",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "TM",
+    "Note": "TM warning"
+  },
+  {
+    "Id": 2100,
+    "Level": "Error",
+    "LogEnum": "ERR_TM_ROBOT",
+    "GlobalDescription_zh": "TM Robot receive an error:{0}",
+    "GlobalDescription_en": "TM Robot receive an error:{0}",
+    "Module": "TM",
+    "Note": "TM Alarm"
+  },
+  {
+    "Id": 2101,
+    "Level": "Info",
+    "LogEnum": "INFO_TM_ROBOT",
+    "GlobalDescription_zh": "{0}",
+    "GlobalDescription_en": "{0}",
+    "Module": "TM",
+    "Note": "TM Info"
+  },
+  {
+    "Id": 4000,
+    "Level": "Info",
+    "LogEnum": "EV_EFEM_COMMON_INFO",
+    "GlobalDescription_zh": "{0}。",
+    "GlobalDescription_en": "{0}.",
+    "Module": "EFEM",
+    "Note": "EFEM Notify"
+  },
+  {
+    "Id": 4001,
+    "Level": "Warning",
+    "LogEnum": "WARN_EFEM_COMMON_WARN",
+    "GlobalDescription_zh": "{0}。",
+    "GlobalDescription_en": "{0}.",
+    "Module": "EFEM",
+    "Note": "EFEM Warning"
+  },
+  {
+    "Id": 4002,
+    "Level": "Error",
+    "LogEnum": "ERR_EFEM_COMMON_FAILED",
+    "GlobalDescription_zh": "{0}。",
+    "GlobalDescription_en": "{0}.",
+    "Module": "EFEM",
+    "Note": "EFEM Failed"
+  }
 ]

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

@@ -147,7 +147,8 @@ namespace Venus_RT.Modules
                 }
                 else if (WaferManager.Instance.CreateWafer(chamber, slot, state) != null)
                 {
-                    EV.PostMessage(ModuleName.System.ToString(), EventEnum.WaferCreate, chamber.ToString(), slot + 1, state.ToString());
+                    //EV.PostMessage(ModuleName.System.ToString(), EventEnum.WaferCreate, chamber.ToString(), slot + 1, state.ToString());
+                    LOG.Write(eEvent.EV_WAFER_CREATE, ModuleName.System, chamber.ToString(), (slot + 1).ToString(), state.ToString());
                 }
             }
             else

+ 1 - 0
Venus/Venus_RT/Modules/Schedulers/SchedulerTMRobot.cs

@@ -237,6 +237,7 @@ namespace Venus_RT.Modules.Schedulers
                 foreach(var item in _currentScheduler.moveList)
                 {
                     moveItems.Enqueue(item);
+                    LOG.Write(eEvent.INFO_TM, ModuleName.TM, $"TM Moving Items: {item.SourceModule} Slot {item.SourceSlot + 1} => {item.DestinationModule} Slot {item.DestinationSlot + 1}");
                 }
 
                 if(_entity.CheckToPostMessage((int)_currentScheduler.MoveType, moveItems))

+ 1 - 1
Venus/Venus_RT/Modules/TM/MFPMExtendRoutine.cs

@@ -87,7 +87,7 @@ namespace Venus_RT.Modules.TM
             Reset();
             _extendingTimeout = SC.GetValue<int>($"{Module}.ExtendTimeout") * 1000;
 
-            return Runner.Start(Module, Name);
+            return Runner.Start(Module, $"Extend to {_targetModule}");
         }
 
         public RState Monitor()

+ 4 - 1
Venus/Venus_RT/Modules/TM/MFPMPickRoutine.cs

@@ -76,10 +76,13 @@ namespace Venus_RT.Modules.TM
                 return RState.Failed;
             }
 
+            var wafer = WaferManager.Instance.GetWafer(_targetModule, _targetSlot);
+            LOG.Write(eEvent.INFO_TM_ROBOT, ModuleName.TM, $"{wafer.WaferOrigin} will be move from {_targetModule} {_targetSlot + 1} to TM Robot {_hand}");
+
             Reset();
             _pickingTimeout = SC.GetValue<int>($"{Module}.PickTimeout") * 1000;
 
-            return Runner.Start(Module, Name);
+            return Runner.Start(Module, $"Pick from {_targetModule}");
         }
 
         public RState Monitor()

+ 4 - 1
Venus/Venus_RT/Modules/TM/MFPMPlaceRoutine.cs

@@ -76,10 +76,13 @@ namespace Venus_RT.Modules.TM
                 return RState.Failed;
             }
 
+            var wafer = WaferManager.Instance.GetWafer(ModuleName.TM, (int)_hand);
+            LOG.Write(eEvent.INFO_TM_ROBOT, ModuleName.TM, $"{wafer.WaferOrigin} will be move from TM Robot {_hand}  to {_targetModule} {_targetSlot + 1}");
+
             Reset();
             _placingTimeout = SC.GetValue<int>($"{Module}.PlaceTimeout") * 1000;
 
-            return Runner.Start(Module, Name);
+            return Runner.Start(Module, $"Place to {_targetModule}");
         }
 
         public RState Monitor()

+ 1 - 1
Venus/Venus_RT/Modules/TM/MFPMRetractRoutine.cs

@@ -66,7 +66,7 @@ namespace Venus_RT.Modules.TM
             Reset();
             _extendingTimeout = SC.GetValue<int>($"{Module}.ExtendTimeout") * 1000;
 
-            return Runner.Start(Module, Name);
+            return Runner.Start(Module, $"Retract from {_targetModule}");
         }
 
         public RState Monitor()

+ 1 - 1
Venus/Venus_RT/Modules/TM/MFPMSwapRoutine.cs

@@ -91,7 +91,7 @@ namespace Venus_RT.Modules.TM
             Reset();
             _swapingTimeout = SC.GetValue<int>($"{Module}.SwapTimeout") * 1000;
 
-            return Runner.Start(Module, Name);
+            return Runner.Start(Module, $"Swap with {_targetModule}");
         }
 
         public RState Monitor()

+ 1 - 1
Venus/Venus_RT/Modules/TM/MFPickRoutine.cs

@@ -79,7 +79,7 @@ namespace Venus_RT.Modules.TM
             Reset();
             _pickingTimeout = SC.GetValue<int>($"{Module}.PickTimeout") * 1000;
 
-            return Runner.Start(Module, Name);
+            return Runner.Start(Module, $"Pick from {_targetModule}");
         }
 
         public RState Monitor()

+ 1 - 1
Venus/Venus_RT/Modules/TM/MFPlaceRoutine.cs

@@ -79,7 +79,7 @@ namespace Venus_RT.Modules.TM
             Reset();
             _placingTimeout = SC.GetValue<int>($"{Module}.PlaceTimeout") * 1000;
 
-            return Runner.Start(Module, Name);
+            return Runner.Start(Module, $"Place to {_targetModule}");
         }
 
         public RState Monitor()

+ 5 - 2
Venus/Venus_RT/Modules/TM/MFSwapRoutine.cs

@@ -76,7 +76,7 @@ namespace Venus_RT.Modules.TM
             Reset();
             _swapTimeout = SC.GetValue<int>($"{Module}.SwapTimeout") * 1000;
 
-            return Runner.Start(Module, Name);
+            return Runner.Start(Module, $"Swap with {_targetModule}");
         }
 
         public RState Monitor()
@@ -158,7 +158,10 @@ namespace Venus_RT.Modules.TM
             if (!VerifyWaferExistence(_currentAction))
                 return false;
 
-            if(ModuleHelper.IsLoadLock(_currentAction.SourceModule) && ModuleHelper.IsTM(_currentAction.DestinationModule))
+            var wafer = WaferManager.Instance.GetWafer(_currentAction.SourceModule, _currentAction.SourceSlot);
+            LOG.Write(eEvent.INFO_TM_ROBOT, ModuleName.TM, $"{wafer.WaferOrigin} will be move from {_currentAction.SourceModule} {_currentAction.SourceSlot + 1}  to {_currentAction.DestinationModule} {_currentAction.DestinationSlot + 1}");
+
+            if (ModuleHelper.IsLoadLock(_currentAction.SourceModule) && ModuleHelper.IsTM(_currentAction.DestinationModule))
             {
                 return _robot.Pick(_currentAction.SourceModule, _currentAction.SourceSlot, (Hand)_currentAction.DestinationSlot);
             }

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

@@ -30,7 +30,7 @@ namespace Venus_RT.Modules
         private bool IsModuleAvailable(ModuleName module) => dictSchedulers.Keys.Contains(module) && dictSchedulers[module].IsAvailable;
 
         List<ModuleName> tmCycleRoutine = new List<ModuleName>() { ModuleName.LLA, ModuleName.PMA, ModuleName.PMB, ModuleName.LLB };
-        int cycleCount = 10;
+        int cycleCount = 1000;
         ModuleName _sourceModule = ModuleName.LLA;
         ModuleName _destinationModule = ModuleName.LLB;
         int _sourceSlotNumber = 4;