140 lines
4.3 KiB
C#
140 lines
4.3 KiB
C#
|
using System;
|
|||
|
using Sicentury.Core;
|
|||
|
|
|||
|
namespace MECF.Framework.RT.Core.Managers.PDS
|
|||
|
{
|
|||
|
public class ProcessDataStatPerRun : BindableBase
|
|||
|
{
|
|||
|
#region Variables
|
|||
|
|
|||
|
private DateTime _statStart;
|
|||
|
private DateTime? _statEnd;
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Constructors
|
|||
|
|
|||
|
public ProcessDataStatPerRun(int index, Guid uid, string module, string recipeName, string waferUid, DateTime beginTime, DateTime endTime, double h2,
|
|||
|
double ar,
|
|||
|
double pn2, double hcl, double sih4, double cxhx, double tcs, double tma, double heaterPowerConsumption)
|
|||
|
{
|
|||
|
Index = index;
|
|||
|
Module = module;
|
|||
|
StatisticsUid = uid;
|
|||
|
RecipeName = recipeName;
|
|||
|
WaferId = waferUid;
|
|||
|
StatisticsStart = beginTime;
|
|||
|
StatisticsEnd = endTime;
|
|||
|
H2 = new ProcessDataStatCounter(nameof(H2), module, h2);
|
|||
|
Ar = new ProcessDataStatCounter(nameof(Ar), module, ar);
|
|||
|
PN2 = new ProcessDataStatCounter(nameof(PN2), module, pn2);
|
|||
|
HCL = new ProcessDataStatCounter(nameof(HCL), module, hcl);
|
|||
|
SiH4 = new ProcessDataStatCounter(nameof(SiH4), module, sih4);
|
|||
|
C2H4 = new ProcessDataStatCounter(nameof(C2H4), module, cxhx);
|
|||
|
TCS = new ProcessDataStatCounter(nameof(TCS), module, tcs);
|
|||
|
TMA = new ProcessDataStatCounter(nameof(TMA), module, tma);
|
|||
|
HeaterPowerConsumption = new ProcessDataStatCounter(nameof(HeaterPowerConsumption), module, new []
|
|||
|
{
|
|||
|
$"{module}.PSU1.OutputPowerFeedBack",
|
|||
|
$"{module}.PSU2.OutputPowerFeedBack",
|
|||
|
$"{module}.PSU3.OutputPowerFeedBack",
|
|||
|
$"{module}.SCR1.PowerFeedBack",
|
|||
|
$"{module}.SCR2.PowerFeedBack",
|
|||
|
$"{module}.SCR3.PowerFeedBack"
|
|||
|
});
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public ProcessDataStatPerRun(string module)
|
|||
|
{
|
|||
|
StatisticsUid = Guid.NewGuid();
|
|||
|
Module = module;
|
|||
|
WaferId = string.Empty;
|
|||
|
RecipeName = string.Empty;
|
|||
|
StatisticsStart = DateTime.Now;
|
|||
|
|
|||
|
H2 = new ProcessDataStatCounter(nameof(H2), module);
|
|||
|
Ar = new ProcessDataStatCounter(nameof(Ar), module);
|
|||
|
PN2 = new ProcessDataStatCounter(nameof(PN2), module);
|
|||
|
HCL = new ProcessDataStatCounter(nameof(HCL), module);
|
|||
|
SiH4 = new ProcessDataStatCounter(nameof(SiH4), module);
|
|||
|
C2H4 = new ProcessDataStatCounter(nameof(C2H4), module);
|
|||
|
TCS = new ProcessDataStatCounter(nameof(TCS), module);
|
|||
|
TMA = new ProcessDataStatCounter(nameof(TMA), module);
|
|||
|
HeaterPowerConsumption = new ProcessDataStatCounter(nameof(HeaterPowerConsumption), module);
|
|||
|
}
|
|||
|
|
|||
|
public ProcessDataStatPerRun(string module, string waferId) : this(module)
|
|||
|
{
|
|||
|
WaferId = waferId;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Properties
|
|||
|
|
|||
|
public int Index { get; set; }
|
|||
|
|
|||
|
public string Module { get; set; }
|
|||
|
|
|||
|
public string WaferId { get; }
|
|||
|
|
|||
|
public string RecipeName { get; }
|
|||
|
|
|||
|
public Guid StatisticsUid { get; }
|
|||
|
|
|||
|
public DateTime StatisticsStart
|
|||
|
{
|
|||
|
get => _statStart;
|
|||
|
set => Set(ref _statStart, value);
|
|||
|
}
|
|||
|
|
|||
|
public DateTime? StatisticsEnd
|
|||
|
{
|
|||
|
get => _statEnd;
|
|||
|
set => Set(ref _statEnd, value);
|
|||
|
}
|
|||
|
|
|||
|
public ProcessDataStatCounter H2 { get; }
|
|||
|
|
|||
|
public ProcessDataStatCounter Ar { get; }
|
|||
|
|
|||
|
public ProcessDataStatCounter PN2 { get; }
|
|||
|
|
|||
|
public ProcessDataStatCounter HCL { get; }
|
|||
|
|
|||
|
public ProcessDataStatCounter SiH4 { get; }
|
|||
|
|
|||
|
public ProcessDataStatCounter C2H4 { get; }
|
|||
|
|
|||
|
public ProcessDataStatCounter TCS { get; }
|
|||
|
|
|||
|
public ProcessDataStatCounter TMA { get; }
|
|||
|
|
|||
|
public ProcessDataStatCounter HeaterPowerConsumption { get; }
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Methods
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 累加工艺数据。
|
|||
|
/// </summary>
|
|||
|
public void Accumulate()
|
|||
|
{
|
|||
|
H2.Accumulate();
|
|||
|
Ar.Accumulate();
|
|||
|
PN2.Accumulate();
|
|||
|
HCL.Accumulate();
|
|||
|
SiH4.Accumulate();
|
|||
|
C2H4.Accumulate();
|
|||
|
TCS.Accumulate();
|
|||
|
TMA.Accumulate();
|
|||
|
HeaterPowerConsumption.Accumulate();
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|