Przeglądaj źródła

1.增加相应得svid

JET-YDB\JET-YANGDB 5 dni temu
rodzic
commit
05b7369421

+ 12 - 0
VirgoRT/Config/ClusterGemModel.xml

@@ -157,6 +157,12 @@
 		<SVID id="430065" valueType="Ascii" logicalName="PMA.RecipeProcessTime" value="" units="s" description=" " eventTrigger=" " />
 		<SVID id="430066" valueType="Ascii" logicalName="PMA.RecipeStepTimeElapsed" value="" units="s" description=" " eventTrigger=" " />
 		<SVID id="430067" valueType="Ascii" logicalName="PMA.RecipeStepTimeSetPoint" value="" units="s" description=" " eventTrigger=" " />
+    <SVID id="430068" valueType="Ascii" logicalName="PMA.ProcessedWaferCount" value="186" eventTrigger=" " units="" />
+    <SVID id="430069" valueType="Ascii" logicalName="PMA.RfOnTime" value="0" eventTrigger=" " units="h" />
+    <SVID id="430070" valueType="Ascii" logicalName="PMA.BiasRfOnTime" value="3.892549" eventTrigger=" " units="h" />
+    <SVID id="430071" valueType="Ascii" logicalName="PMA.PumpOnTime" value="3173.80114508672" eventTrigger=" " units="h" />
+    <SVID id="430073" valueType="Ascii" logicalName="PMA.PumpDownOnTime" value="0" eventTrigger=" " units="s" />
+    <SVID id="430074" valueType="Ascii" logicalName="PMA.VentOnTime" value="0" eventTrigger=" " units="s" />
 
 
 		<SVID id="440001" valueType="Ascii" logicalName="PMB.IoPressureMeter.PressureMeterChamber.Feedback" value="" units="" description=" " eventTrigger=" " />
@@ -226,6 +232,12 @@
 		<SVID id="440065" valueType="Ascii" logicalName="PMB.RecipeProcessTime" value="" units="s" description=" " eventTrigger=" " />
 		<SVID id="440066" valueType="Ascii" logicalName="PMB.RecipeStepTimeElapsed" value="" units="s" description=" " eventTrigger=" " />
 		<SVID id="440067" valueType="Ascii" logicalName="PMB.RecipeStepTimeSetPoint" value="" units="s" description=" " eventTrigger=" " />
+    <SVID id="440068" valueType="Ascii" logicalName="PMB.ProcessedWaferCount" value="118" eventTrigger=" " units="" />
+    <SVID id="440069" valueType="Ascii" logicalName="PMB.RfOnTime" value="0" eventTrigger=" " units="h" />
+    <SVID id="440070" valueType="Ascii" logicalName="PMB.BiasRfOnTime" value="1.51179" eventTrigger=" " units="h" />
+    <SVID id="440071" valueType="Ascii" logicalName="PMB.PumpOnTime" value="3173.89199521728" eventTrigger=" " units="h" />
+    <SVID id="440073" valueType="Ascii" logicalName="PMB.PumpDownOnTime" value="0" eventTrigger=" " units="s" />
+    <SVID id="440074" valueType="Ascii" logicalName="PMB.VentOnTime" value="0" eventTrigger=" " units="s" />
 
 
 		<SVID id="430072" valueType="Ascii" logicalName="PMA.FdcData" value="" units="" description=" " eventTrigger=" " />

+ 15 - 0
VirgoRT/Modules/PMs/PMEntity.cs

@@ -100,9 +100,11 @@ namespace VirgoRT.Module
         private int _bigWafer = 0;
         private int _midWafer = 0;
         private int _smallWafer = 0;
+        private bool _enableBias;
 
         private StatsDataItem _statProcessedWafer;
         private StatsDataItemRFAndPump _statRfOnTime;
+        private StatsDataItemRFAndPump _statBiasRfOnTime;
         private StatsDataItemRFAndPump _statPumpOnTime;
 
         private readonly JetPM _chamber;
@@ -341,6 +343,7 @@ namespace VirgoRT.Module
             _smallWafer = SC.GetValue<int>($"System.SmallWafer");
             _midWafer = SC.GetValue<int>($"System.MidWafer");
             _bigWafer = SC.GetValue<int>($"System.BigWafer");
+            _enableBias = SC.GetValue<bool>($"{Module}.BiasRf.EnableBiasRF");
             _chamber = DEVICE.GetDevice<JetPM>(Module.ToString());
             _isAlarm = false;
 
@@ -537,6 +540,8 @@ namespace VirgoRT.Module
             DATA.Subscribe($"{Module}.RecipeTotalElapsedSeconds", () => RecipeTotalElapsedSeconds);
             DATA.Subscribe($"{Module}.RecipeStepTimeElapsed", () => (_processRoutine.CurStepElpasedTime / 1000).ToString("F0"));
             DATA.Subscribe($"{Module}.RecipeStepTimeSetPoint", () => (_processRoutine.CurStepTotalTime / 1000).ToString("F0"));
+            DATA.Subscribe($"{Module}.VentOnTime", () => _ventRoutine.VentOnTime.ToString("F2"), SubscriptionAttribute.FLAG.IgnoreSaveDB);
+            DATA.Subscribe($"{Module}.PumpDownOnTime", () => _pumpRoutine.PumpDownOnTime.ToString("F2"), SubscriptionAttribute.FLAG.IgnoreSaveDB);
 
             OP.Subscribe($"{Module}.{RtOperation.GasFlow}", (cmd, args) => CheckToPostMessage((int)MSG.GasFlow, args));
             OP.Subscribe($"{Module}.{RtOperation.RfPower}", (cmd, args) => CheckToPostMessage((int)MSG.RfPower, args));
@@ -568,12 +573,22 @@ namespace VirgoRT.Module
 
             StatsDataManager.Instance.Subscribe($"{Module}.ProcessedWaferCount", "Processed Wafer Count", 0);
             StatsDataManager.Instance.Subscribe($"{Module}.RfOnTime", "Rf On Time");
+            if (_enableBias)
+                StatsDataManager.Instance.Subscribe($"{Module}.BiasRfOnTime", "Bias  Rf On Time");
             StatsDataManager.Instance.Subscribe($"{Module}.PumpOnTime", "Pump On Time");
 
             _statProcessedWafer = StatsDataManager.Instance.GetItem($"{Module}.ProcessedWaferCount");
             _statRfOnTime = StatsDataManager.Instance.GetItemRFAndPump($"{Module}.RfOnTime");
+            if (_enableBias)
+                _statBiasRfOnTime = StatsDataManager.Instance.GetItemRFAndPump($"{Module}.BiasRfOnTime");
             _statPumpOnTime = StatsDataManager.Instance.GetItemRFAndPump($"{Module}.PumpOnTime");
 
+            DATA.Subscribe($"{Module}.ProcessedWaferCount", () => _statProcessedWafer?.Value, SubscriptionAttribute.FLAG.IgnoreSaveDB);
+            DATA.Subscribe($"{Module}.RfOnTime", () => _statRfOnTime?.fromLastPM, SubscriptionAttribute.FLAG.IgnoreSaveDB);
+            if (_enableBias)
+                DATA.Subscribe($"{Module}.BiasRfOnTime", () => _statBiasRfOnTime?.fromLastPM, SubscriptionAttribute.FLAG.IgnoreSaveDB);
+            DATA.Subscribe($"{Module}.PumpOnTime", () => _statPumpOnTime?.fromLastPM, SubscriptionAttribute.FLAG.IgnoreSaveDB);
+
             return true;
         }
 

+ 5 - 0
VirgoRT/Modules/PMs/PumpDownRoutine.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Diagnostics;
 using Aitex.Core.RT.Event;
 using Aitex.Core.RT.Routine;
 using Aitex.Core.RT.SCCore;
@@ -33,6 +34,8 @@ namespace VirgoRT.Modules.PMs
         private int _pumpValveDelay;
         private double _pumpTimeLimit;
         private readonly uint FORELINE_TARGET = 500;
+        private Stopwatch _pumpDownStopwatch = new Stopwatch();
+        public double PumpDownOnTime => _pumpDownStopwatch.Elapsed.TotalSeconds;
 
         public PumpDownRoutine(JetPM chamber) : base(chamber)
         {
@@ -61,6 +64,7 @@ namespace VirgoRT.Modules.PMs
                 _pumpTimeLimit = SC.GetValue<double>($"{Module}.Pump.PumpTimeLimit");
                 _pumpValveDelay = SC.GetValue<int>($"{Module}.Pump.PumpValveDelay");
 
+                _pumpDownStopwatch.Restart();
                 Notify("开始");
                 return Result.RUN;
             }
@@ -112,6 +116,7 @@ namespace VirgoRT.Modules.PMs
                 Stop(ex.Message);
                 return Result.FAIL;
             }
+            _pumpDownStopwatch.Stop();
             Notify("结束");
             return Result.DONE;
         }

+ 5 - 1
VirgoRT/Modules/PMs/VentRountine.cs

@@ -1,5 +1,6 @@
 using Aitex.Core.RT.Routine;
 using Aitex.Core.RT.SCCore;
+using System.Diagnostics;
 using VirgoRT.Devices;
 
 namespace VirgoRT.Modules.PMs
@@ -28,6 +29,8 @@ namespace VirgoRT.Modules.PMs
         private int _ventTime;
         private int _ventTimeDelay = 1;  //执行Vent程序时(自动或手动Vent),先关闭PV2,延时2秒后打开PV3。
         private int _checkATMTimeout = 90;
+        private Stopwatch _ventStopwatch = new Stopwatch();
+        public double VentOnTime => _ventStopwatch.Elapsed.TotalSeconds;
 
         public VentRoutine(JetPM chamber) : base(chamber)
         {
@@ -51,6 +54,7 @@ namespace VirgoRT.Modules.PMs
                 _checkATMTimeout = SC.GetValue<int>($"{Module}.CheckATMTimeout");
                 _ventTimeDelay = SC.GetValue<int>($"{Module}.VentTimeDelay");
 
+                _ventStopwatch.Restart();
                 Notify("开始");
                 return Result.RUN;
             }
@@ -103,7 +107,7 @@ namespace VirgoRT.Modules.PMs
                 Stop(ex.Message);
                 return Result.FAIL;
             }
-
+            _ventStopwatch.Stop();
             Notify("结束");
             return Result.DONE;
         }

+ 1 - 1
VirgoRT/Properties/AssemblyInfo.cs

@@ -51,5 +51,5 @@ using System.Windows;
 // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
 // 方法是按如下所示使用“*”: :
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.80")]
+[assembly: AssemblyVersion("1.0.0.81")]
 //[assembly: AssemblyFileVersion("1.0.4")]

+ 4 - 0
VirgoRT/ReleaseNotes.txt

@@ -6,6 +6,10 @@
 					 VirgoA 系统更新历史记录
 
 ---------------------------------------------------------------------------------
+2025-07-27 version 1.0.0.81
+1.PMA 增加430068,430069,430070,430071,430073,430074 SVID
+2.PMB 增加440068,440069,440070,440071,440073,440074 SVID
+
  
 2023-02-5 version 1.0.0.80
 1. fix: EAP查询recipe内容,会报warning的问题

+ 1 - 1
VirgoUI/Properties/AssemblyInfo.cs

@@ -51,5 +51,5 @@ using System.Windows;
 // You can specify all the values or you can default the Build and Revision Numbers 
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.80")]
+[assembly: AssemblyVersion("1.0.0.81")]
 //[assembly: AssemblyFileVersion("1.0.0.0")]