|
|
@@ -443,7 +443,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
}
|
|
|
_canSwitchToPhase2 = true;
|
|
|
}
|
|
|
- private void SetN2PurgeValveData(string mode, string msg = "")
|
|
|
+ public void SetN2PurgeValveData(string mode, string msg = "")
|
|
|
{
|
|
|
|
|
|
var value = _n2PurgeSequenceAction[mode];
|
|
|
@@ -702,16 +702,32 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
SetN2PurgeFOUPO2CheckSV((float)GetWaferChargeFOUPO2CheckSV());
|
|
|
SetN2PurgeLAO2CheckSV((float)GetWaferChargeLAO2CheckSV());
|
|
|
+
|
|
|
+ if (GetWaferChargeLAN2purgeConfig())
|
|
|
+ {
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase1.ToString());
|
|
|
+ RestAllN2PrugeRD();
|
|
|
+ }
|
|
|
}
|
|
|
if (n2PurgeModeEnum == N2PurgeModeEnum.FoupEnter.ToString())
|
|
|
{
|
|
|
SetN2PurgeFOUPO2CheckSV((float)GetFoupEnterFOUPO2CheckSV());
|
|
|
SetN2PurgeLAO2CheckSV((float)GetFoupEnterLAO2CheckSV());
|
|
|
+ if (GetFoupEnterLAN2purgeConfig())
|
|
|
+ {
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase1.ToString());
|
|
|
+ RestAllN2PrugeRD();
|
|
|
+ }
|
|
|
}
|
|
|
if (n2PurgeModeEnum == N2PurgeModeEnum.WaferDisCharge.ToString())
|
|
|
{
|
|
|
SetN2PurgeFOUPO2CheckSV((float)GetWaferDisChargeFOUPO2CheckSV());
|
|
|
SetN2PurgeLAO2CheckSV((float)GetWaferDisChargeLAO2CheckSV());
|
|
|
+ if (GetWaferDisChargeLAN2purgeConfig())
|
|
|
+ {
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase1.ToString());
|
|
|
+ RestAllN2PrugeRD();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -862,7 +878,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
/// <param name="isProcessing"></param>
|
|
|
/// <param name="limitO2Data"></param>
|
|
|
/// <returns></returns>
|
|
|
- public bool CheckBoatMoveIsNeedOxygenPressure(string n2PurgeModeEnumStr,bool isProcessing, out double limitO2Data)
|
|
|
+ public bool CheckBoatMoveIsNeedOxygenPressure(string n2PurgeModeEnumStr, bool isProcessing, out double limitO2Data)
|
|
|
{
|
|
|
limitO2Data = 0;
|
|
|
|
|
|
@@ -917,6 +933,19 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
}
|
|
|
return str;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public string GetLACurrectN2purgeMode()
|
|
|
+ {
|
|
|
+ return SC.ContainsItem("PM1.SelectN2PurgeMode") ? SC.GetStringValue("PM1.SelectN2PurgeMode") : N2PurgeModeEnum.ManualMode.ToString();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ #region FoupEnter
|
|
|
public double GetFoupEnterLAO2CheckSV()
|
|
|
{
|
|
|
return SC.ContainsItem("PM1.N2Purge.FoupEnter.LAO2CheckSV") ? SC.GetValue<double>("PM1.N2Purge.FoupEnter.LAO2CheckSV") : 20;
|
|
|
@@ -930,6 +959,13 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
return SC.ContainsItem("PM1.N2Purge.FoupEnter.FOUPN2PurgeEnable") ? SC.GetValue<bool>("PM1.N2Purge.FoupEnter.FOUPN2PurgeEnable") : false;
|
|
|
|
|
|
}
|
|
|
+ public bool GetFoupEnterLAN2purgeConfig()
|
|
|
+ {
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.FoupEnter.TransferRoomN2PurgeEnable") ? SC.GetValue<bool>("PM1.N2Purge.FoupEnter.TransferRoomN2PurgeEnable") : false;
|
|
|
+
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ #region WaferCharge
|
|
|
public double GetWaferChargeLAO2CheckSV()
|
|
|
{
|
|
|
return SC.ContainsItem("PM1.N2Purge.WaferCharge.LAO2CheckSV") ? SC.GetValue<double>("PM1.N2Purge.WaferCharge.LAO2CheckSV") : 20;
|
|
|
@@ -943,55 +979,70 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
return SC.ContainsItem("PM1.N2Purge.WaferCharge.FOUPN2PurgeEnable") ? SC.GetValue<bool>("PM1.N2Purge.WaferCharge.FOUPN2PurgeEnable") : false;
|
|
|
}
|
|
|
-
|
|
|
- public bool GetBoatLoadCheckO2DensityConfig()
|
|
|
+ public bool GetWaferChargeLAN2purgeConfig()
|
|
|
{
|
|
|
- return SC.ContainsItem("PM1.N2Purge.BoatLoad.TransferRoomO2DensityCheckEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatLoad.TransferRoomO2DensityCheckEnable") : false;
|
|
|
- }
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.WaferCharge.TransferRoomN2PurgeEnable") ? SC.GetValue<bool>("PM1.N2Purge.WaferCharge.TransferRoomN2PurgeEnable") : false;
|
|
|
|
|
|
- public bool GetBoatUnLoadCheckO2DensityConfig()
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ #region WaferDisCharge
|
|
|
+ public double GetWaferDisChargeLAO2CheckSV()
|
|
|
{
|
|
|
- return SC.ContainsItem("PM1.N2Purge.BoatUnLoad.TransferRoomO2DensityCheckEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatUnLoad.TransferRoomO2DensityCheckEnable") : false;
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.WaferDisCharge.LAO2CheckSV") ? SC.GetValue<double>("PM1.N2Purge.WaferDisCharge.LAO2CheckSV") : 20;
|
|
|
}
|
|
|
-
|
|
|
- public bool GetBoatUnLoadEAxisInhibitEnableConfig()
|
|
|
+ public double GetWaferDisChargeFOUPO2CheckSV()
|
|
|
{
|
|
|
- return SC.ContainsItem("PM1.N2Purge.BoatUnLoad.EAxisInhibitEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatUnLoad.EAxisInhibitEnable") : false;
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.WaferDisCharge.FOUPO2CheckSV") ? SC.GetValue<double>("PM1.N2Purge.WaferDisCharge.FOUPO2CheckSV") : 20;
|
|
|
}
|
|
|
|
|
|
- public bool GetBoatLoadEAxisInhibitEnableConfig()
|
|
|
+ public bool GetWaferDisChargeFIMSN2purgeConfig()
|
|
|
{
|
|
|
- return SC.ContainsItem("PM1.N2Purge.BoatLoad.EAxisInhibitEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatLoad.EAxisInhibitEnable") : false;
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.WaferDisCharge.FOUPN2PurgeEnable") ? SC.GetValue<bool>("PM1.N2Purge.WaferDisCharge.FOUPN2PurgeEnable") : false;
|
|
|
}
|
|
|
- public double GetBoatUnLoadLAO2CheckSV()
|
|
|
+ public bool GetWaferDisChargeLAN2purgeConfig()
|
|
|
{
|
|
|
- return SC.ContainsItem("PM1.N2Purge.BoatUnLoad.LAO2CheckSV") ? SC.GetValue<double>("PM1.N2Purge.BoatUnLoad.LAO2CheckSV") : 20;
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.WaferDisCharge.TransferRoomN2PurgeEnable") ? SC.GetValue<bool>("PM1.N2Purge.WaferDisCharge.TransferRoomN2PurgeEnable") : false;
|
|
|
+
|
|
|
}
|
|
|
+ #endregion
|
|
|
+ #region Boat Load
|
|
|
public double GetBoatLoadLAO2CheckSV()
|
|
|
{
|
|
|
return SC.ContainsItem("PM1.N2Purge.BoatLoad.LAO2CheckSV") ? SC.GetValue<double>("PM1.N2Purge.BoatLoad.LAO2CheckSV") : 20;
|
|
|
}
|
|
|
- public double GetWaferDisChargeLAO2CheckSV()
|
|
|
+ public bool GetBoatLoadCheckO2DensityConfig()
|
|
|
{
|
|
|
- return SC.ContainsItem("PM1.N2Purge.WaferDisCharge.LAO2CheckSV") ? SC.GetValue<double>("PM1.N2Purge.WaferDisCharge.LAO2CheckSV") : 20;
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.BoatLoad.TransferRoomO2DensityCheckEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatLoad.TransferRoomO2DensityCheckEnable") : false;
|
|
|
}
|
|
|
- public double GetWaferDisChargeFOUPO2CheckSV()
|
|
|
+ public bool GetBoatLoadEAxisInhibitEnableConfig()
|
|
|
{
|
|
|
- return SC.ContainsItem("PM1.N2Purge.WaferDisCharge.FOUPO2CheckSV") ? SC.GetValue<double>("PM1.N2Purge.WaferDisCharge.FOUPO2CheckSV") : 20;
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.BoatLoad.EAxisInhibitEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatLoad.EAxisInhibitEnable") : false;
|
|
|
}
|
|
|
-
|
|
|
- public bool GetWaferDisChargeFIMSN2purgeConfig()
|
|
|
+ public bool GetBoatLoadLAN2purgeConfig()
|
|
|
{
|
|
|
- return SC.ContainsItem("PM1.N2Purge.WaferDisCharge.FOUPN2PurgeEnable") ? SC.GetValue<bool>("PM1.N2Purge.WaferDisCharge.FOUPN2PurgeEnable") : false;
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.BoatLoad.TransferRoomN2PurgeEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatLoad.TransferRoomN2PurgeEnable") : false;
|
|
|
}
|
|
|
- public string GetLACurrectN2purgeMode()
|
|
|
+ #endregion
|
|
|
+ #region BoatUnLoad
|
|
|
+ public bool GetBoatUnLoadCheckO2DensityConfig()
|
|
|
{
|
|
|
- return SC.ContainsItem("PM1.SelectN2PurgeMode") ? SC.GetStringValue("PM1.SelectN2PurgeMode") : N2PurgeModeEnum.ManualMode.ToString();
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.BoatUnLoad.TransferRoomO2DensityCheckEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatUnLoad.TransferRoomO2DensityCheckEnable") : false;
|
|
|
}
|
|
|
|
|
|
+ public bool GetBoatUnLoadEAxisInhibitEnableConfig()
|
|
|
+ {
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.BoatUnLoad.EAxisInhibitEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatUnLoad.EAxisInhibitEnable") : false;
|
|
|
+ }
|
|
|
+ public double GetBoatUnLoadLAO2CheckSV()
|
|
|
+ {
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.BoatUnLoad.LAO2CheckSV") ? SC.GetValue<double>("PM1.N2Purge.BoatUnLoad.LAO2CheckSV") : 20;
|
|
|
+ }
|
|
|
+ public bool GetBoatUnLoadLAN2purgeConfig()
|
|
|
+ {
|
|
|
+ return SC.ContainsItem("PM1.N2Purge.BoatUnLoad.TransferRoomN2PurgeEnable") ? SC.GetValue<bool>("PM1.N2Purge.BoatUnLoad.TransferRoomN2PurgeEnable") : false;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
|
|
|
}
|
|
|
}
|