refactor(PMModule): 移除PMModule对象中,工艺时温度变化率过大报警监测,该逻辑在IoTC对象中实现。
系统配置项PM.PMx.Heater.AETempRasingFastIsAlarm的默认值改为false。
This commit is contained in:
parent
32990b4f2c
commit
fe9280864b
|
@ -1538,87 +1538,8 @@ namespace SicModules.PMs
|
||||||
return false;
|
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)
|
private bool FsmMonitorTask(object[] param)
|
||||||
{
|
{
|
||||||
MonitorAETempRasingFastAlarm();
|
|
||||||
|
|
||||||
Result ret = MonitorRoutine();
|
Result ret = MonitorRoutine();
|
||||||
if (ret == Result.FAIL)
|
if (ret == Result.FAIL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -569,7 +569,7 @@
|
||||||
<config default="30" name="PressureBalanceDifference" description="PT1、PT2气压平衡安全阈值" max="1000" min="0" paramter="" tag="" unit="mbar" type="Double" />
|
<config default="30" name="PressureBalanceDifference" description="PT1、PT2气压平衡安全阈值" max="1000" min="0" paramter="" tag="" unit="mbar" type="Double" />
|
||||||
<config default="Warning" name="PressureImbalanceAlarmLevel" description="PT1、PT2气压差异过大时报警等级" max="" min="" paramter="Alarm;Warning" tag="ReadOnlySelection" unit="" type="String" />
|
<config default="Warning" name="PressureImbalanceAlarmLevel" description="PT1、PT2气压差异过大时报警等级" max="" min="" paramter="Alarm;Warning" tag="ReadOnlySelection" unit="" type="String" />
|
||||||
|
|
||||||
<config default="true" name="AETempRasingFastIsAlarm" description="AETemp温度上升过快报警类型为Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" />
|
<config default="false" name="AETempRasingFastIsAlarm" description="AETemp温度上升过快报警类型为Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" />
|
||||||
<config default="100" visible="false" name="SCRTempRasingRate" description="SCRTemp每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
<config default="100" visible="false" name="SCRTempRasingRate" description="SCRTemp每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
||||||
<config default="20" name="AETempMiddleRasingRate" description="AETemp Middle每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
<config default="20" name="AETempMiddleRasingRate" description="AETemp Middle每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
||||||
<config default="20" name="AETempOuterRasingRate" description="AETemp Outer每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
<config default="20" name="AETempOuterRasingRate" description="AETemp Outer每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
||||||
|
@ -1135,7 +1135,7 @@
|
||||||
|
|
||||||
<config default="30" name="PressureBalanceDifference" description="PT1、PT2气压平衡安全阈值" max="1000" min="0" paramter="" tag="" unit="mbar" type="Double" />
|
<config default="30" name="PressureBalanceDifference" description="PT1、PT2气压平衡安全阈值" max="1000" min="0" paramter="" tag="" unit="mbar" type="Double" />
|
||||||
<config default="Warning" name="PressureImbalanceAlarmLevel" description="PT1、PT2气压差异过大时报警等级" max="" min="" paramter="Alarm;Warning" tag="ReadOnlySelection" unit="" type="String" />
|
<config default="Warning" name="PressureImbalanceAlarmLevel" description="PT1、PT2气压差异过大时报警等级" max="" min="" paramter="Alarm;Warning" tag="ReadOnlySelection" unit="" type="String" />
|
||||||
<config default="true" name="AETempRasingFastIsAlarm" description="AETemp温度上升过快报警类型为Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" />
|
<config default="false" name="AETempRasingFastIsAlarm" description="AETemp温度上升过快报警类型为Alarm" max="" min="" paramter="" tag="" unit="" type="Bool" />
|
||||||
<config default="100" visible="false" name="SCRTempRasingRate" description="SCRTemp每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
<config default="100" visible="false" name="SCRTempRasingRate" description="SCRTemp每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
||||||
<config default="20" name="AETempMiddleRasingRate" description="AETemp Middle每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
<config default="20" name="AETempMiddleRasingRate" description="AETemp Middle每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
||||||
<config default="20" name="AETempOuterRasingRate" description="AETemp Outer每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
<config default="20" name="AETempOuterRasingRate" description="AETemp Outer每秒的上升速率,超过此范围报警" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
||||||
|
|
Loading…
Reference in New Issue