refactor(PMModule): 移除PMModule对象中,工艺时温度变化率过大报警监测,该逻辑在IoTC对象中实现。
This commit is contained in:
parent
7722d3641b
commit
7d27b30847
|
@ -1494,87 +1494,8 @@ namespace SicModules.PMs
|
|||
return false;
|
||||
}
|
||||
|
||||
private FixSizeQueue<double> InnerTempRecordQueue = new FixSizeQueue<double>(16);
|
||||
private FixSizeQueue<double> MiddleTempRecordQueue = new FixSizeQueue<double>(16);
|
||||
private FixSizeQueue<double> OuterTempRecordQueue = new FixSizeQueue<double>(16);
|
||||
private void MonitorAETempRasingFastAlarm()
|
||||
{
|
||||
var AETempInnerRasingRate = SC.GetValue<double>($"PM.{Module}.Heater.SCRTempRasingRate");
|
||||
var AETempMiddleRasingRate = SC.GetValue<double>($"PM.{Module}.Heater.AETempMiddleRasingRate");
|
||||
var AETempOuterRasingRate = SC.GetValue<double>($"PM.{Module}.Heater.AETempOuterRasingRate");
|
||||
var AETempRasingFastIsAlarm = SC.GetValue<bool>($"PM.{Module}.Heater.AETempRasingFastIsAlarm");
|
||||
|
||||
if (FsmState == (int)STATE.Process)
|
||||
{
|
||||
|
||||
//if (InnerTempRecordQueue.Count == 16)
|
||||
//{
|
||||
// var InnerHalfBeforeAverage = InnerTempRecordQueue.ToList().Take(8).ToList().Average();
|
||||
// var InnerHalfAfterAverage = InnerTempRecordQueue.ToList().Skip(8).ToList().Average();
|
||||
|
||||
// if (Math.Abs(InnerHalfAfterAverage - InnerHalfBeforeAverage) > AETempInnerRasingRate)
|
||||
// {
|
||||
// if (AETempRasingFastIsAlarm)
|
||||
// {
|
||||
// EV.PostAlarmLog(Module, $"AETemp Inner rasing fast");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// EV.PostWarningLog(Module, $"AETemp Inner rasing fast");
|
||||
// }
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
if (MiddleTempRecordQueue.Count == 16)
|
||||
{
|
||||
var MiddleHalfBeforeAverage = MiddleTempRecordQueue.ToList().Take(8).ToList().Average();
|
||||
var MiddleHalfAfterAverage = MiddleTempRecordQueue.ToList().Skip(8).ToList().Average();
|
||||
|
||||
if (Math.Abs(MiddleHalfAfterAverage - MiddleHalfBeforeAverage) > AETempMiddleRasingRate)
|
||||
{
|
||||
if (AETempRasingFastIsAlarm)
|
||||
{
|
||||
EV.PostAlarmLog(Module, $"AETemp Middle rasing fast");
|
||||
}
|
||||
else
|
||||
{
|
||||
EV.PostWarningLog(Module, $"AETemp Middle rasing fast");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (OuterTempRecordQueue.Count == 16)
|
||||
{
|
||||
var OuterHalfBeforeAverage = MiddleTempRecordQueue.ToList().Take(8).ToList().Average();
|
||||
var OuterHalfAfterAverage = MiddleTempRecordQueue.ToList().Skip(8).ToList().Average();
|
||||
if (Math.Abs(OuterHalfAfterAverage - OuterHalfBeforeAverage) > AETempOuterRasingRate)
|
||||
{
|
||||
if (AETempRasingFastIsAlarm)
|
||||
{
|
||||
EV.PostAlarmLog(Module, $"AETemp Outer rasing fast");
|
||||
}
|
||||
else
|
||||
{
|
||||
EV.PostWarningLog(Module, $"AETemp Outer rasing fast");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
InnerTempRecordQueue.Enqueue(TC1.InnerTemp);
|
||||
MiddleTempRecordQueue.Enqueue(TC1.MiddleTemp);
|
||||
OuterTempRecordQueue.Enqueue(TC1.OuterTemp);
|
||||
|
||||
|
||||
//tempMonitorDT.Start(0);
|
||||
}
|
||||
|
||||
private bool FsmMonitorTask(object[] param)
|
||||
{
|
||||
MonitorAETempRasingFastAlarm();
|
||||
|
||||
Result ret = MonitorRoutine();
|
||||
if (ret == Result.FAIL)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue