下述Routine中强制打开压力伺服,并禁用PID调节:

TMServoRoutine、TMSlitValveRoutine

禁用下述系统配置项:
PM中以Recipe形式运行Routine。
TM\NeedPressureBalance/PressureBalanceUsePid
TM\PressureBalance\Pid*
This commit is contained in:
DESKTOP-GPE37UV\THINKAPD 2022-12-07 15:46:24 +08:00
parent ae81c5e095
commit 97e0b2f0b3
3 changed files with 26 additions and 22 deletions

View File

@ -47,10 +47,12 @@ namespace Mainframe.TMs.Routines
_balanceRoutine.Init(ModuleName.PM1);
_pidBalanceRoutine.Init(ModuleName.PM1);
_needPressureBalance = SC.GetValue<bool>("TM.NeedPressureBalance");
_userPidBalance = SC.GetValue<bool>("TM.PressureBalanceUsePid");
/*_needPressureBalance = SC.GetValue<bool>("TM.NeedPressureBalance");
_userPidBalance = SC.GetValue<bool>("TM.PressureBalanceUsePid");*/
_needPressureBalance = true;
_userPidBalance = false;
ModuleName[] modules = new ModuleName[] { ModuleName.LoadLock, ModuleName.PM1, ModuleName.UnLoad};
ModuleName[] modules = { ModuleName.LoadLock, ModuleName.PM1, ModuleName.UnLoad};
foreach (var moduleName in modules)
{
if (!_tm.CheckSlitValveClose(moduleName))

View File

@ -140,8 +140,10 @@ namespace Mainframe.TMs.Routines
_pidBalanceRoutine.Init(ModuleHelper.Converter(module));
_pidAwaysRoutine.Init(ModuleHelper.Converter(module), true);
_needPressureBalance = SC.GetValue<bool>("TM.NeedPressureBalance");
_userPidBalance= SC.GetValue<bool>("TM.PressureBalanceUsePid");
/*_needPressureBalance = SC.GetValue<bool>("TM.NeedPressureBalance");
_userPidBalance= SC.GetValue<bool>("TM.PressureBalanceUsePid");*/
_needPressureBalance = true;
_userPidBalance = false;
}
public override Result Start(params object[] objs)

View File

@ -75,18 +75,18 @@
<config default="2" name="OperationTimeout" description="Operation Timeout" max="10000" min="1" paramter="" tag="" unit="s" type="Integer" />
<config default="960" name="AtmPressureBase" description="Atm Pressure Base" max="1100" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="302" name="VacuumPressureBase" description="Vacuum Pressure Base" max="1100" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="false" name="IsAtmIdleRoutine" description="是否以Recipe的形式运行ATM Idle" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsVacIdleRoutine" description="是否以Recipe的形式运行VAC Idle" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsProcessIdleRoutine" description="是否Recipe的形式运行Process Idle" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsPumpRoutine" description="是否Recipe的形式运行Pump" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsVentRoutine" description="是否Recipe的形式运行Vent" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsPurgeRoutine" description="是否Recipe的形式运行Purge" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsCleanRoutine" description="是否Recipe的形式运行Clean" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsExchangeMOTCSRoutine" description="是否Recipe的形式运行ExchangeTCS" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsExchangeMOTMARoutine" description="是否Recipe的形式运行ExchangeTMA" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsIsolationRoutine" description="是否Recipe的形式运行Isolation" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsLeakCheckRoutine" description="是否Recipe的形式运行LeakCheck" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsAbortRoutine" description="是否Recipe的形式运行Abort" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="false" name="IsAtmIdleRoutine" description="是否以Recipe的形式运行ATM Idle" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsVacIdleRoutine" description="是否以Recipe的形式运行VAC Idle" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsProcessIdleRoutine" description="是否Recipe的形式运行Process Idle" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsPumpRoutine" description="是否Recipe的形式运行Pump" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsVentRoutine" description="是否Recipe的形式运行Vent" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsPurgeRoutine" description="是否Recipe的形式运行Purge" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsCleanRoutine" description="是否Recipe的形式运行Clean" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsExchangeMOTCSRoutine" description="是否Recipe的形式运行ExchangeTCS" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsExchangeMOTMARoutine" description="是否Recipe的形式运行ExchangeTMA" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsIsolationRoutine" description="是否Recipe的形式运行Isolation" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsLeakCheckRoutine" description="是否Recipe的形式运行LeakCheck" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="IsAbortRoutine" description="是否Recipe的形式运行Abort" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="15" name="LidMotionTimeout" description="LidMotionTimeout" max="100" min="1" paramter="" tag="" unit="s" type="Integer" />
<config default="180" name="LidEnableOpenAfterHeatDisbaleMinuts" description="在加热停止多少分钟后才能执行开腔" max="100000" min="1" paramter="" tag="" unit="min" type="Integer" />
@ -1260,8 +1260,8 @@
<config default="1100" name="VentMaxPressure" description="腔体到达此压力自动关闭Vent阀门" max="1200" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="1" name="MaxPressureDiffOpenSlitValve" description="闸板阀允许打开的最大压力差" max="1200" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="10" name="TMPressureBigThanPM" description="闸板阀打开前TM的压力需要高于PM的数值" max="1200" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="true" name="NeedPressureBalance" description="开闸板阀是否需要压力平衡" max="" min="" paramter="" tag="" unit="" visible="true" type="Bool" />
<config default="false" name="PressureBalanceUsePid" description="压力平衡方式是否启用PID" max="" min="" paramter="" tag="" unit="" type="Bool" />
<config default="true" name="NeedPressureBalance" description="开闸板阀是否需要压力平衡" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="false" name="PressureBalanceUsePid" description="压力平衡方式是否启用PID" max="" min="" paramter="" tag="" unit="" visible="false" type="Bool" />
<config default="1100" name="ForelinePressureBase" description="抽气的时候Foreline压力值需要小于该值" max="10000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="true" name="RunPumpRoutineEventBelowBasePressure" description="即使在低压,仍然继续抽" max="" min="" paramter="" tag="" unit="" visible="true" type="Bool" />
<config default="100" name="WaitForelinePressureTimeout" description="抽气的时候foreline压力多久达不到底压则报错" max="10000" min="0" paramter="" tag="" unit="s" type="Integer" />
@ -1327,9 +1327,9 @@
</configs>
<configs name="PressureBalance">
<config default="5" name="PidP" description="Balance Pressure For Proportional" max="100" min="0" paramter="" tag="" unit="" type="Double" />
<config default="9" name="PidI" description="Balance Pressure For Integral" max="100" min="0" paramter="" tag="" unit="" type="Double" />
<config default="-2" name="PidD" description="Balance Pressure For Derivative" max="100" min="-100" paramter="" tag="" unit="" type="Double" />
<config default="5" name="PidP" description="Balance Pressure For Proportional" max="100" min="0" paramter="" tag="" unit="" visible="false" type="Double" />
<config default="9" name="PidI" description="Balance Pressure For Integral" max="100" min="0" paramter="" tag="" unit="" visible="false" type="Double" />
<config default="-2" name="PidD" description="Balance Pressure For Derivative" max="100" min="-100" paramter="" tag="" unit="" visible="false" type="Double" />
<config default="300" name="BalanceTimeout" description="PID Timeout" max="3000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="1000" name="SleepTime" description="PID Sleep Time" max="3000" min="1" paramter="" tag="" unit="ms" type="Integer" />
<config default="50" name="SuccessCount" description="Success Count" max="3000" min="1" paramter="" tag="" unit="" type="Integer" />