parent
06c4d228ba
commit
845c83e546
|
@ -633,7 +633,6 @@
|
|||
<Valve Name="V52s" Purge="true" Vent="false" Run="false" />
|
||||
<Valve Name="V53" Purge="false" Vent="false" Run="true" />
|
||||
<Valve Name="V53s" Purge="true" Vent="true" Run="false" />
|
||||
<Valve Name="V62" Purge="true" Vent="true" Run="true" />
|
||||
</RecipeValveAction>
|
||||
|
||||
<RecipeValveAction id="TCS" display="" schematicId="" unit="">
|
||||
|
@ -661,14 +660,14 @@
|
|||
<Valve Name="V65" Ar="true" H2="true" />
|
||||
</RecipeValveAction>
|
||||
|
||||
<RecipeValveAction id="PurgeArH2Switch" display="" schematicId="" unit="">
|
||||
<!--<RecipeValveAction id="PurgeArH2Switch" display="" schematicId="" unit="">
|
||||
<Valve Name="V68" Ar="false" H2="true" />
|
||||
</RecipeValveAction>
|
||||
</RecipeValveAction>-->
|
||||
|
||||
<RecipeValveAction id="Valve99" display="" schematicId="" unit="">
|
||||
<!--<RecipeValveAction id="Valve99" display="" schematicId="" unit="">
|
||||
<Valve Name="V99" Purge="false" Vent="true" />
|
||||
<Valve Name="V99s" Purge="true" Vent="false" />
|
||||
</RecipeValveAction>
|
||||
</RecipeValveAction>-->
|
||||
</RecipeValveActions>
|
||||
|
||||
<IoInterLocks classType="Aitex.Core.RT.Device.Devices.IoInterLock" assembly="MECF.Framework.RT.EquipmentLibrary">
|
||||
|
|
|
@ -1549,87 +1549,9 @@ 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)
|
||||
{
|
||||
|
|
|
@ -40,15 +40,15 @@
|
|||
<configs name="SetUp">
|
||||
<config default="true" name="IsTMInstalled" visible="false" description="Is TM Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="true" name="IsLoadLockInstalled" visible="false" description="Is LoadLock Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="true" name="IsUnLoadInstalled" description="Is UnLoad Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="false" name="IsUnLoadInstalled" description="Is UnLoad Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="true" name="IsBufferInstalled" description="Is Buffer Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="true" name="IsEFEMInstalled" description="Is EFEM Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="false" name="IsEFEMInstalled" description="Is EFEM Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="true" name="IsPM1Installed" description="Is PM1 Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="false" name="IsPM2Installed" description="Is PM2 Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="true" name="IsAlignerInstalled" description="Is Aligner Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="true" name="IsCassetteALInstalled" description="Is Wafer CassetteL Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="true" name="IsCassetteARInstalled" description="Is Wafer CassetteR Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="true" name="IsCassetteBLInstalled" description="Is Tray Cassette Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="false" name="IsAlignerInstalled" description="Is Aligner Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="false" name="IsCassetteALInstalled" description="Is Wafer CassetteL Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="false" name="IsCassetteARInstalled" description="Is Wafer CassetteR Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
<config default="false" name="IsCassetteBLInstalled" description="Is Tray Cassette Installed" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
|
||||
</configs>
|
||||
<configs name="Recipe">
|
||||
<config default="Sic" name="SupportedChamberType" description="Supported Chamber Type" max="" min="" paramter="" tag="" visible="false" unit="" type="String" />
|
||||
|
@ -1705,10 +1705,13 @@
|
|||
<config default="AKunTemp.t4" name="OuterTemp" description="设置Outer温度数据通道,重启生效" max="" min="" paramter="AETemp.t1;AETemp.t2;AETemp.t3;AETemp.t4;AKunTemp.t1;AKunTemp.t2;AKunTemp.t3;AKunTemp.t4;SensorTemp1.t1;SensorTemp2.t1;SensorTemp3.t1;SensorTemp4.t1;StrongTemp1.t1;StrongTemp2.t1;StrongTemp3.t1;StrongTemp4.t1;Disabled" tag="ReadOnlySelection" unit="" type="String" visible="false"/>
|
||||
<config default="Disabled" name="InnerTemp" description="设置Inner温度数据通道,重启生效" max="" min="" paramter="AETemp.t1;AETemp.t2;AETemp.t3;AETemp.t4;AKunTemp.t1;AKunTemp.t2;AKunTemp.t3;AKunTemp.t4;SensorTemp1.t1;SensorTemp2.t1;SensorTemp3.t1;SensorTemp4.t1;StrongTemp1.t1;StrongTemp2.t1;StrongTemp3.t1;StrongTemp4.t1;Disabled" tag="ReadOnlySelection" unit="" type="String" visible="false"/>
|
||||
|
||||
<config default="Disabled" name="Middle" description="设置Middle温度数据通道,重启生效" max="" min="" paramter="AETemp.CH1;AETemp.CH2;AETemp.CH3;AETemp.CH4;AKunTriggerTemp.CH1;AKunTriggerTemp.CH2;AKunTriggerTemp.CH3;AKunTemp.CH1;AKunTemp.CH2;AKunTemp.CH3;AKunTemp.CH4;SensorTemp1.CH1;SensorTemp2.CH1;SensorTemp3.CH1;SensorTemp4.CH1;StrongTemp1.CH1;StrongTemp2.CH1;StrongTemp3.CH1;StrongTemp4.CH1;Disabled" tag="ReadOnlySelection" unit="" type="String" />
|
||||
<config default="Disabled" name="Outer" description="设置Outer温度数据通道,重启生效" max="" min="" paramter="AETemp.CH1;AETemp.CH2;AETemp.CH3;AETemp.CH4;AKunTriggerTemp.CH1;AKunTriggerTemp.CH2;AKunTriggerTemp.CH3;AKunTemp.CH1;AKunTemp.CH2;AKunTemp.CH3;AKunTemp.CH4;SensorTemp1.CH1;SensorTemp2.CH1;SensorTemp3.CH1;SensorTemp4.CH1;StrongTemp1.CH1;StrongTemp2.CH1;StrongTemp3.CH1;StrongTemp4.CH1;Disabled" tag="ReadOnlySelection" unit="" type="String" />
|
||||
<config default="Disabled" name="Inner" description="设置Inner温度数据通道,重启生效" max="" min="" paramter="AETemp.CH1;AETemp.CH2;AETemp.CH3;AETemp.CH4;AKunTriggerTemp.CH1;AKunTriggerTemp.CH2;AKunTriggerTemp.CH3;AKunTemp.CH1;AKunTemp.CH2;AKunTemp.CH3;AKunTemp.CH4;SensorTemp1.CH1;SensorTemp2.CH1;SensorTemp3.CH1;SensorTemp4.CH1;StrongTemp1.CH1;StrongTemp2.CH1;StrongTemp3.CH1;StrongTemp4.CH1;Disabled" tag="ReadOnlySelection" unit="" type="String" />
|
||||
</configs>
|
||||
<config default="AKunTemp.CH1" name="Middle" description="设置Middle温度数据通道,重启生效" max="" min="" paramter="AETemp.CH1;AETemp.CH2;AETemp.CH3;AETemp.CH4;AKunTriggerTemp.CH1;AKunTriggerTemp.Wafer1;AKunTriggerTemp.Wafer2;AKunTriggerTemp.Wafer3;AKunTriggerTemp.Wafer4;AKunTriggerTemp.Wafer5;AKunTemp.CH1;AKunTemp.CH2;AKunTemp.CH3;AKunTemp.CH4;SensorTemp1.CH1;SensorTemp2.CH1;SensorTemp3.CH1;SensorTemp4.CH1;StrongTemp1.CH1;StrongTemp2.CH1;StrongTemp3.CH1;StrongTemp4.CH1;Disabled" tag="ReadOnlySelection" unit="" type="String" />
|
||||
<config default="AKunTemp.CH2" name="Outer" description="设置Outer温度数据通道,重启生效" max="" min="" paramter="AETemp.CH1;AETemp.CH2;AETemp.CH3;AETemp.CH4;AKunTriggerTemp.CH1;AKunTriggerTemp.Wafer1;AKunTriggerTemp.Wafer2;AKunTriggerTemp.Wafer3;AKunTriggerTemp.Wafer4;AKunTriggerTemp.Wafer5;AKunTemp.CH1;AKunTemp.CH2;AKunTemp.CH3;AKunTemp.CH4;SensorTemp1.CH1;SensorTemp2.CH1;SensorTemp3.CH1;SensorTemp4.CH1;StrongTemp1.CH1;StrongTemp2.CH1;StrongTemp3.CH1;StrongTemp4.CH1;Disabled" tag="ReadOnlySelection" unit="" type="String" />
|
||||
<config default="AKunTemp.CH3" name="Inner" description="设置Inner温度数据通道,重启生效" max="" min="" paramter="AETemp.CH1;AETemp.CH2;AETemp.CH3;AETemp.CH4;AKunTriggerTemp.CH1;AKunTriggerTemp.Wafer1;AKunTriggerTemp.Wafer2;AKunTriggerTemp.Wafer3;AKunTriggerTemp.Wafer4;AKunTriggerTemp.Wafer5;AKunTemp.CH1;AKunTemp.CH2;AKunTemp.CH3;AKunTemp.CH4;SensorTemp1.CH1;SensorTemp2.CH1;SensorTemp3.CH1;SensorTemp4.CH1;StrongTemp1.CH1;StrongTemp2.CH1;StrongTemp3.CH1;StrongTemp4.CH1;Disabled" tag="ReadOnlySelection" unit="" type="String" />
|
||||
|
||||
<config default="Middle" name="TemperControlMode" description="使用哪路输出作为温控数据" max="" min="" paramter="Middle;Outer;Inner" tag="ReadOnlySelection" unit="" type="String" visible="true" />
|
||||
|
||||
</configs>
|
||||
|
||||
</configs>
|
||||
</configs>
|
||||
|
|
Loading…
Reference in New Issue