|
@@ -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;
|
|
|
}
|
|
|
|