修改vent processidle routine
修改磁流体io
This commit is contained in:
parent
0ef8d59d8c
commit
4c9ab364fc
@ -257,8 +257,21 @@
|
||||
</DoSensors>
|
||||
|
||||
<SicServos classType="Aitex.Core.RT.Device.Devices.SicServo" assembly="MECF.Framework.RT.EquipmentLibrary">
|
||||
<SicServo id="PMServo" module="" display="PMServo" schematicId="PMServo" unit="" aioType="float" aiActualSpeed="AI_ActualSpeed" aiActualCurrent="AI_ActualCurrent" aiAccSpeed="AI_ActualspeedACC" aiDecSpeed="AI_ActualspeedDEC" aoActualSpeedSetPoint="AO_SpindleSpeed" aoAccSpeedSetPoint="AO_SpindleACC" aoDecSpeedSetPoint="AO_SpindleDEC" diServoReady="DI_ServoReady" diServoError="DI_ServoDriverFaultSW" doServoEnable="DO_ServoEnable" doServoInital="DO_ServoInitial" doServoReset="DO_ServoReset" />
|
||||
<SicServo id="PMServo" module="" display="PMServo" schematicId="PMServo" unit="" aioType="float"
|
||||
aiActualSpeed="AI_ActualSpeed"
|
||||
aiActualCurrent="AI_ActualCurrent"
|
||||
aiAccSpeed="AI_ActualspeedACC"
|
||||
aiDecSpeed="AI_ActualspeedDEC"
|
||||
aoActualSpeedSetPoint="AO_SpindleSpeed"
|
||||
aoAccSpeedSetPoint="AO_SpindleACC"
|
||||
aoDecSpeedSetPoint="AO_SpindleDEC"
|
||||
diServoReady="DI_ServoReady"
|
||||
diServoError="DI_ServoDriverFaultSW"
|
||||
doServoEnable="DO_ServoEnable"
|
||||
doServoInital="DO_ServoInitial"
|
||||
doServoReset="DO_ServoReset" />
|
||||
</SicServos>
|
||||
|
||||
<IoSignalTowers classType="MECF.Framework.RT.EquipmentLibrary.Devices.IoSignalTower" assembly="MECF.Framework.RT.EquipmentLibrary">
|
||||
<IoSignalTower id="SignalTower" module="PM1" display="SignalTower" schematicId="PMSignalTower"
|
||||
eventFile="STEvents.xml"
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
<DI_ITEM Index="40" Name="DI_PMH2SDetectorAlarm" BufferOffset="40" Addr="40" Description="" />
|
||||
<DI_ITEM Index="41" Name="DI_ScrubberIntlk" BufferOffset="41" Addr="41" Description="" />
|
||||
<DI_ITEM Index="42" Name="DI_FacilityIntlk" BufferOffset="42" Addr="42" Description="" />
|
||||
<DI_ITEM Index="45" Name="DI_RotaryMotorAlarm" BufferOffset="45" Addr="45" Description="" />
|
||||
<DI_ITEM Index="45" Name="DI_ServoDriverFaultSW" BufferOffset="45" Addr="45" Description="" />
|
||||
<DI_ITEM Index="48" Name="DI_ReactorWaterLeakAlarm" BufferOffset="48" Addr="48" Description="" />
|
||||
<DI_ITEM Index="49" Name="DI_ChamLidPushButtonRemote" BufferOffset="49" Addr="49" Description="" />
|
||||
<DI_ITEM Index="50" Name="DI_ConfinementRingDown" BufferOffset="50" Addr="50" Description="" />
|
||||
@ -747,9 +747,9 @@
|
||||
<AO_ITEM Index="114" Name="AO_PressCtrl7" BufferOffset="114" Addr="114" Description="" />
|
||||
<AO_ITEM Index="115" Name="AO_PressCtrl8" BufferOffset="115" Addr="115" Description="" />
|
||||
<AO_ITEM Index="116" Name="AO_PressCtrl9" BufferOffset="116" Addr="116" Description="" />
|
||||
<AO_ITEM Index="118" Name="AO_Setpointspeed" BufferOffset="118" Addr="118" Description="" />
|
||||
<AO_ITEM Index="120" Name="AO_SetpointACC" BufferOffset="120" Addr="120" Description="" />
|
||||
<AO_ITEM Index="121" Name="AO_SetpointDEC" BufferOffset="121" Addr="121" Description="" />
|
||||
<AO_ITEM Index="118" Name="AO_SpindleSpeed" BufferOffset="118" Addr="118" Description="" />
|
||||
<AO_ITEM Index="120" Name="AO_SpindleACC" BufferOffset="120" Addr="120" Description="" />
|
||||
<AO_ITEM Index="121" Name="AO_SpindleDEC" BufferOffset="121" Addr="121" Description="" />
|
||||
<AO_ITEM Index="123" Name="AO_ConfinementRingMode" BufferOffset="123" Addr="123" Description="" />
|
||||
<AO_ITEM Index="124" Name="AO_ConfinementRingSpeed" BufferOffset="124" Addr="124" Description="" />
|
||||
<AO_ITEM Index="125" Name="AO_ConfinementRingDistance" BufferOffset="125" Addr="125" Description="" />
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
<DI_ITEM Index="40" Name="DI_PumpExhaustDPLowAlarm" BufferOffset="40" Addr="40" Description="" />
|
||||
<DI_ITEM Index="41" Name="DI_ScrubberIntlk" BufferOffset="41" Addr="41" Description="" />
|
||||
<DI_ITEM Index="42" Name="DI_FacilityIntlk" BufferOffset="42" Addr="42" Description="" />
|
||||
<DI_ITEM Index="45" Name="DI_RotaryMotorAlarm" BufferOffset="45" Addr="45" Description="" />
|
||||
<DI_ITEM Index="45" Name="DI_ServoDriverFaultSW" BufferOffset="45" Addr="45" Description="" />
|
||||
<DI_ITEM Index="48" Name="DI_ReactorWaterLeakAlarm" BufferOffset="48" Addr="48" Description="" />
|
||||
<DI_ITEM Index="49" Name="DI_ChamLidPushButtonRemote" BufferOffset="49" Addr="49" Description="" />
|
||||
<DI_ITEM Index="50" Name="DI_ConfinementRingDown" BufferOffset="50" Addr="50" Description="" />
|
||||
@ -727,9 +727,9 @@
|
||||
<AO_ITEM Index="112" Name="AO_PC5MoWRunPressureSV" BufferOffset="112" Addr="112" Description="" />
|
||||
<AO_ITEM Index="113" Name="AO_PC6CS2H2SSeRunPressureSV" BufferOffset="113" Addr="113" Description="" />
|
||||
<AO_ITEM Index="114" Name="AO_PC7O2SO2RunPressureSV" BufferOffset="114" Addr="114" Description="" />
|
||||
<AO_ITEM Index="118" Name="AO_Setpointspeed" BufferOffset="118" Addr="118" Description="" />
|
||||
<AO_ITEM Index="120" Name="AO_SetpointACC" BufferOffset="120" Addr="120" Description="" />
|
||||
<AO_ITEM Index="121" Name="AO_SetpointDEC" BufferOffset="121" Addr="121" Description="" />
|
||||
<AO_ITEM Index="118" Name="AO_SpindleSpeed" BufferOffset="118" Addr="118" Description="" />
|
||||
<AO_ITEM Index="120" Name="AO_SpindleACC" BufferOffset="120" Addr="120" Description="" />
|
||||
<AO_ITEM Index="121" Name="AO_SpindleDEC" BufferOffset="121" Addr="121" Description="" />
|
||||
<AO_ITEM Index="123" Name="AO_ConfinementRingMode" BufferOffset="123" Addr="123" Description="" />
|
||||
<AO_ITEM Index="124" Name="AO_ConfinementRingSpeed" BufferOffset="124" Addr="124" Description="" />
|
||||
<AO_ITEM Index="125" Name="AO_ConfinementRingDistance" BufferOffset="125" Addr="125" Description="" />
|
||||
|
||||
@ -71,6 +71,8 @@ namespace SicModules.PMs
|
||||
{
|
||||
Final1,
|
||||
Final2,
|
||||
M1to17,
|
||||
M18to40No303439,
|
||||
M1to16,
|
||||
M5M21,
|
||||
M17,
|
||||
@ -86,6 +88,7 @@ namespace SicModules.PMs
|
||||
M32toM38,
|
||||
M36,
|
||||
M28293140,
|
||||
M18toM26,
|
||||
M19toM26,
|
||||
All,
|
||||
M32M35M37,
|
||||
@ -983,23 +986,23 @@ namespace SicModules.PMs
|
||||
}
|
||||
else if (eGroupName == IoGroupName.A)
|
||||
{
|
||||
lst = new List<string>() { "V33s" };
|
||||
lst = new List<string>() { "V33s", "V67", "V68" };
|
||||
}
|
||||
else if (eGroupName == IoGroupName.B)
|
||||
{
|
||||
lst = new List<string>() { "V33" };
|
||||
lst = new List<string>() { "V33", "V66" };
|
||||
}
|
||||
else if (eGroupName == IoGroupName.C)
|
||||
{
|
||||
lst = new List<string>() { "V43", "V48" };
|
||||
lst = new List<string>() { "V18", "V21", "V43", "V48" };
|
||||
}
|
||||
else if (eGroupName == IoGroupName.D)
|
||||
{
|
||||
lst = new List<string>() { "V45", "V49" };
|
||||
lst = new List<string>() { "V19", "V22", "V45", "V49" };
|
||||
}
|
||||
else if (eGroupName == IoGroupName.E)
|
||||
{
|
||||
lst = new List<string>() { "V46", "V50" };
|
||||
lst = new List<string>() { "V20", "V23", "V46", "V50" };
|
||||
}
|
||||
else if (eGroupName == IoGroupName.F)
|
||||
{
|
||||
@ -1016,11 +1019,11 @@ namespace SicModules.PMs
|
||||
else if (eGroupName == IoGroupName.I)
|
||||
{
|
||||
lst = new List<string>()
|
||||
{ "V87", "V88", "V89", "V97", "V90", "V91", "V92", "V93", "V94", "V95", "V96" };
|
||||
{ "V87", "V88", "V89", "V90", "V91", "V92", "V93", "V94", "V95", "V96", "V97" };
|
||||
}
|
||||
else if (eGroupName == IoGroupName.J)
|
||||
{
|
||||
lst = new List<string>() { "V57", "V61", "V62", "V63" };
|
||||
lst = new List<string>() { "V61", "V62", "V63" };
|
||||
}
|
||||
else if (eGroupName == IoGroupName.K)
|
||||
{
|
||||
@ -1036,7 +1039,7 @@ namespace SicModules.PMs
|
||||
}
|
||||
else if (eGroupName == IoGroupName.Final2)
|
||||
{
|
||||
lst = new List<string>() { "V87", "V88", "V97", "V90", "V89", "V91" };
|
||||
lst = new List<string>() { "V87", "V88", "V89", "V90", "V91", "V97" };
|
||||
}
|
||||
else if (eGroupName == IoGroupName.GasIn1)
|
||||
{
|
||||
@ -1148,12 +1151,20 @@ namespace SicModules.PMs
|
||||
}
|
||||
else if (mGroupName == MfcGroupName.Final2)
|
||||
{
|
||||
lst = new List<int>() { 27, 28, 29, 40, 33, 32, 31 };
|
||||
lst = new List<int>() { 27, 28, 29, 31, 33, 40 };
|
||||
}
|
||||
else if (mGroupName == MfcGroupName.M1to16)
|
||||
{
|
||||
lst = new List<int>() { 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 30 };//新增 30
|
||||
}
|
||||
else if (mGroupName == MfcGroupName.M1to17)
|
||||
{
|
||||
lst = new List<int>() { 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17 };
|
||||
}
|
||||
else if (mGroupName == MfcGroupName.M18to40No303439)
|
||||
{
|
||||
lst = new List<int>() { 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32,33,35,36,37,38,40 };//无30 34 39
|
||||
}
|
||||
else if (mGroupName == MfcGroupName.M5M21)
|
||||
{
|
||||
lst = new List<int>() { 5,21 };
|
||||
@ -1190,6 +1201,10 @@ namespace SicModules.PMs
|
||||
{
|
||||
lst = new List<int>() { 19, 20, 22, 23, 25, 26, 2, 15, 9 };
|
||||
}
|
||||
else if (mGroupName == MfcGroupName.M18toM26)
|
||||
{
|
||||
lst = new List<int>() { 18, 19, 20, 21, 22, 23, 24, 25, 26 };
|
||||
}
|
||||
else if (mGroupName == MfcGroupName.M19toM26)
|
||||
{
|
||||
lst = new List<int>() { 19, 20, 21, 22, 23, 24, 25, 26 };
|
||||
|
||||
@ -41,7 +41,7 @@ namespace SicModules.PMs.Routines
|
||||
SetM17M18,
|
||||
SetPC,
|
||||
SetGroupJ,
|
||||
SetM2toM40,
|
||||
SetM18toM40,
|
||||
|
||||
SetPC567Close,
|
||||
SetPC567Default,
|
||||
@ -54,7 +54,7 @@ namespace SicModules.PMs.Routines
|
||||
SetGasIn1, //V68
|
||||
OpenFinal1, //V91-96
|
||||
SetMfcFinal1, //M32-38
|
||||
SetM291519to26,
|
||||
SetM18toM26,
|
||||
|
||||
SetTVCloseMode,
|
||||
SetTvPositionToZero,
|
||||
@ -292,107 +292,84 @@ namespace SicModules.PMs.Routines
|
||||
SetIoValueByGroup((int)RoutineStep.SetV76, IoGroupName.V76, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetV75, IoGroupName.V75, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//旋转停止
|
||||
//2、 旋转停止,加热停止(根据配置,配置加热就不需要停止加热,没有配置加热时停止加热) 。
|
||||
//SetHeatEnable((int)RoutineStep.HeatEnable, false, _heatTimeOut);
|
||||
SetRotationValve((int)RoutineStep.RotationEnable, _rotationCheckSpeed, false, _rotationCloseTimeout);
|
||||
//打开V103,关闭V105
|
||||
SetIoValueByGroup((int)RoutineStep.SetV103, IoGroupName.V103, true, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetV105, IoGroupName.V105, false, _IoValueOpenCloseTimeout);
|
||||
|
||||
//打开V31,打开V32
|
||||
//3、 打开 V31(H2.Supply)、 V32(Ar.Supply) 。
|
||||
SetIoValueByGroup((int)RoutineStep.SetV31, IoGroupName.V31, true, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetV32, IoGroupName.V32, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//打开V35,打开V36
|
||||
//4、 打开 V35(H2N2.Line1)、 V36(H2N2.Line2),关闭 B/C/E/F/H/KValves,打开 D/G Valves。
|
||||
SetIoValueByGroup((int)RoutineStep.SetV35V36, IoGroupName.V35V36, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//关闭B/C/E/F/H/K 阀门
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupB, IoGroupName.B, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupC, IoGroupName.C, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupE, IoGroupName.E, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupF, IoGroupName.F, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupH, IoGroupName.H, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupK, IoGroupName.K, false, _IoValueOpenCloseTimeout);
|
||||
|
||||
//打开D/G 阀门
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupD, IoGroupName.D, true, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupG, IoGroupName.G, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//打开V65
|
||||
SetIoValueByGroup((int)RoutineStep.SetV65, IoGroupName.V65, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//设置MFC和PC的模式
|
||||
SetMfcModeToNormalByGroup((int)RoutineStep.SetMFCMode, MfcGroupName.All);
|
||||
SetPcModeToNormal((int)RoutineStep.SetPCMode, _lstPcList);
|
||||
//5、 M1-M17 设定为 default 值,所有 PC 设定为 default 值(PC1-PC9)。
|
||||
SetMfcModeToNormalByGroup((int)RoutineStep.SetMFCMode, MfcGroupName.M1to17);
|
||||
SetPcToDefault((int)RoutineStep.SetPC, _lstPcList);
|
||||
|
||||
//M1-M16设定为default值(M2、M9、M15除外)
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM1to16, MfcGroupName.M1to16, 0);
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM17M18, MfcGroupName.M17M18, 0);
|
||||
|
||||
//设置所有PC到默认值
|
||||
SetPcToDefault((int)RoutineStep.SetPC, _lstPcList);
|
||||
//6、 M18-M40(除 M30\M34\M39) MFC 5s ramp 到 0。
|
||||
SetMfcByGroup((int)RoutineStep.SetM18toM40, MfcGroupName.M18to40No303439, 0, 5);
|
||||
|
||||
////M2、M9、M15、M19-M40 MFC 5s ramp 到0
|
||||
//SetMfcByGroup((int)RoutineStep.SetM2toM40, MfcGroupName.M2toM42, 0, 5);
|
||||
|
||||
//打开EPV2
|
||||
//7、 打开 EPV2。
|
||||
SetIoValueByGroup((int)RoutineStep.SetEPV2, IoGroupName.EPV2, true, _IoValueOpenCloseTimeout);
|
||||
TimeDelay((int)RoutineStep.TimeDelay1, 3);
|
||||
|
||||
//打开Final2阀
|
||||
//8 、打 开 V87( SHPurge.Final )、 V88( OuterGas.Final)、 V89( InnerGas.Final )、 V90(MiddleGas.Final)、 V91(OpticPurge.Final)、 V97(CarryGas.Final);
|
||||
SetIoValueByGroup((int)RoutineStep.OpenFinal2, IoGroupName.Final2, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//Final2阀对应的MFC 3s Ramp到Default值
|
||||
//9、 M27、 M28、 M29、 M31、 M33、 M40 依次设定 3S ramp 到 default 值 ;
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetMfcFinal2, MfcGroupName.Final2, 3);
|
||||
|
||||
//10、打开 V92(GasRingPurge.Final)、 V93(ChamberPurge.Final)、 V95(ConfinementRing.Final);等待 3S
|
||||
SetIoValueByGroup((int)RoutineStep.SetV92V93V95, IoGroupName.V92V93V95, true, _IoValueOpenCloseTimeout);
|
||||
TimeDelay((int)RoutineStep.TimeDelay2, 3);
|
||||
|
||||
//11、 M32、 M35、 M37 依次设定 3S ramp 到 default 值 ; 等待 3S,打开 V68(ChamBody.N2.Purge)
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM32M35M37, MfcGroupName.M32M35M37, 3);
|
||||
|
||||
//打开V68
|
||||
SetIoValueByGroup((int)RoutineStep.SetV68, IoGroupName.GasIn1, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//12、打开 V94(RotationUpPurge.Final)、 M36 设定 5S ramp 到 default 值;等待 3S,打开V96(HeaterWF.Final); M38 依次设定 5S ramp 到 default 值 ;
|
||||
SetIoValueByGroup((int)RoutineStep.SetV94, IoGroupName.V94, true, _IoValueOpenCloseTimeout);
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM36, MfcGroupName.M36, 5);
|
||||
TimeDelay((int)RoutineStep.TimeDelay3, 3);
|
||||
|
||||
SetIoValueByGroup((int)RoutineStep.SetV96, IoGroupName.V96, true, _IoValueOpenCloseTimeout);
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM38, MfcGroupName.M38, 5);
|
||||
TimeDelay((int)RoutineStep.TimeDelay4, 3);
|
||||
|
||||
//打开J Valves
|
||||
//13、打开 J Valves ; 设置 M18-M26 3s ramp 到 default 值。
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupJOpen, IoGroupName.J, true, _IoValueOpenCloseTimeout);
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM18toM26, MfcGroupName.M18toM26, 3);
|
||||
|
||||
//设置M2,M9,M15,M19-M26 3s ramp 到default 值
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM291519to26, MfcGroupName.M2toM26, 3);
|
||||
|
||||
//设置蝶阀Enable
|
||||
//14、 打开 TV enable, 压力模式,伺服压力默认设定为 1050mbar;
|
||||
SetThrottleEnableAndWait((int)RoutineStep.SetTVEnable, _IoThrottle, 5);
|
||||
|
||||
//设置蝶阀为压力模式
|
||||
SetThrottleToPressModeAndWait((int)RoutineStep.SetTVPressMode, _IoThrottle, 5);
|
||||
|
||||
//伺服压力设定值到1050mbar
|
||||
SetThrottleToTargetAndNoWait((int)RoutineStep.SetTV, _IoThrottle, 1050);
|
||||
|
||||
//打开V72
|
||||
//15、打开 V72(GasBox.Vent.Pump) 关闭 V25(GasBox.Vent.Bypass), 反应腔压力伺服到300mbar(可配置)
|
||||
SetIoValueByGroup((int)RoutineStep.SetV72, IoGroupName.VentPump, true, _IoValueOpenCloseTimeout);
|
||||
TimeDelay((int)RoutineStep.TimeDelay5, 1);
|
||||
|
||||
//关闭V25
|
||||
SetIoValueByGroup((int)RoutineStep.SetV25, IoGroupName.V25, false, _IoValueOpenCloseTimeout);
|
||||
|
||||
//蝶阀调整到300
|
||||
SetPressureUpOrDown((int)RoutineStep.SetPressUpOrDown1, PressureUpOrDown.Dowing);
|
||||
SetThrottleToTargetAndNoWait((int)RoutineStep.SetPressureDown, _IoThrottle, _throttleFinalPressure);
|
||||
WaitThrottleToPressureAndSetMfcSpecial((int)RoutineStep.SetTVto300, _IoThrottle, _throttleFinalPressure, _pmPressureMaxDiff, _throttleTimeout);
|
||||
//TimeDelay((int)RoutineStep.TimeDelay8, 3);
|
||||
|
||||
//转速Enable,加热Enable, 电流功率可配置
|
||||
//16、设定转速(可配置)
|
||||
EnableRotation((int)RoutineStep.EnableRotation, 5);
|
||||
SetRotationValveAndNoWait((int)RoutineStep.SetRotation1, _rotationSpeed);
|
||||
|
||||
//17、加热使能(PSU 和 SCR)(可配置)
|
||||
if (_psuHeatEnable)
|
||||
{
|
||||
//打开PSU加热
|
||||
|
||||
@ -1,12 +1,13 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using Aitex.Core.RT.Device;
|
||||
using Aitex.Core.RT.Device;
|
||||
using Aitex.Core.RT.Device.Devices;
|
||||
using Aitex.Core.RT.Event;
|
||||
using Aitex.Core.RT.Routine;
|
||||
using Aitex.Core.RT.SCCore;
|
||||
using MECF.Framework.Common.Equipment;
|
||||
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.MFCs;
|
||||
using SicModules.PMs.Routines.Base;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace SicModules.PMs.Routines
|
||||
{
|
||||
@ -34,7 +35,7 @@ namespace SicModules.PMs.Routines
|
||||
|
||||
SetM1to16,
|
||||
SetM17M18,
|
||||
SetM2toM40,
|
||||
SetM18toM40,
|
||||
SetPC,
|
||||
SetM291519to38,
|
||||
SetGroupJ,
|
||||
@ -164,7 +165,7 @@ namespace SicModules.PMs.Routines
|
||||
{
|
||||
CheckRoutineTimeOut();
|
||||
|
||||
//关闭V76,打开V75
|
||||
//DOR Pump 抽真空。关闭V76,打开V75
|
||||
SetIoValueByGroup((int)RoutineStep.SetV76, IoGroupName.V76, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetV75, IoGroupName.V75, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
@ -175,95 +176,63 @@ namespace SicModules.PMs.Routines
|
||||
//关闭V72,打开V25
|
||||
SetIoValueByGroup((int)RoutineStep.VentPumpClose, IoGroupName.VentPump, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupV25, IoGroupName.V25, true, _IoValueOpenCloseTimeout);
|
||||
//打开V103,关闭V105
|
||||
SetIoValueByGroup((int)RoutineStep.SetV103, IoGroupName.V103, true, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetV105, IoGroupName.V105, false, _IoValueOpenCloseTimeout);
|
||||
|
||||
//打开V31,打开V32
|
||||
SetIoValueByGroup((int)RoutineStep.SetV31, IoGroupName.V31, true, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetV32, IoGroupName.V32, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//打开V35,打开V36
|
||||
//5、 打开 V35(H2N2.Line1)、 V36(H2N2.Line2) , 关闭 B/ C / E / F / H / K Valves,打开 D/ G Valves 。
|
||||
SetIoValueByGroup((int)RoutineStep.SetV35V36, IoGroupName.V35V36, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//关闭B/C/E/F/H/K 阀门
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupB, IoGroupName.B, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupC, IoGroupName.C, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupE, IoGroupName.E, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupF, IoGroupName.F, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupH, IoGroupName.H, false, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupK, IoGroupName.K, false, _IoValueOpenCloseTimeout);
|
||||
|
||||
//打开D/G 阀门
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupD, IoGroupName.D, true, _IoValueOpenCloseTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupG, IoGroupName.G, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//设置MFC和PC的模式
|
||||
SetMfcModeToNormalByGroup((int)RoutineStep.SetMFCMode, MfcGroupName.All);
|
||||
SetPcModeToNormal((int)RoutineStep.SetPCMode, _lstPcList);
|
||||
|
||||
//M1-M16设定为default值(M2、M9、M15除外)
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM1to16, MfcGroupName.M1to16, 0);
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM17M18, MfcGroupName.M17M18, 0);
|
||||
|
||||
//设置所有PC到默认值
|
||||
//6、 M1-M17 设定为 default 值, 所有 PC 设定为 default 值(PC1-PC9) ,M18 - M40(除 M30\M34\M39) MFC 5s ramp 到 0。
|
||||
SetMfcModeToNormalByGroup((int)RoutineStep.SetMFCMode, MfcGroupName.M1to17);
|
||||
SetPcToDefault((int)RoutineStep.SetPC, _lstPcList);
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM18toM40, MfcGroupName.M18to40No303439, 5);
|
||||
|
||||
//M2、M9、M15、M19-M40 MFC 3s ramp 到默认值
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM2toM40, MfcGroupName.M2toM42, 3);
|
||||
|
||||
//关闭蝶阀
|
||||
//7、 关闭蝶阀, 再关闭 EPV2
|
||||
SetThrottleToCloseMode((int)RoutineStep.SetTVCloseMode, _IoThrottle, 8);
|
||||
SetThrottleDisable((int)RoutineStep.SetTvPositionToZero, _IoThrottle, 8);
|
||||
TimeDelay((int)RoutineStep.TimeDelay1, 1);
|
||||
|
||||
//关闭EPV2
|
||||
SetIoValueByGroup((int)RoutineStep.SetEPV2, IoGroupName.EPV2, false, _IoValueOpenCloseTimeout);
|
||||
|
||||
//打开A 组阀
|
||||
//8、 打开 A Valves(V33S(SH.H2/N2 Switch); V67、 V68(N2.Supply) ).
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupA, IoGroupName.A, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//Final2阀对应的MFC 3s Ramp到Default值
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetMfcFinal2, MfcGroupName.Final2, 3);
|
||||
|
||||
//打开Final2阀
|
||||
//9 、 打 开 V87 ( SHPurge.Final )、 V88 ( OuterGas.Final )、 V89 ( InnerGas.Final )、 V90(MiddleGas.Final) 、 V91(OpticPurge.Final)、 V97(CarryGas.Final) ;
|
||||
//M27、 M28、 M29、 M31、 M33、 M40 依次设定 3S ramp 到 default 值 ;
|
||||
SetIoValueByGroup((int)RoutineStep.OpenFinal2, IoGroupName.Final2, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//Final2阀对应的MFC 3s Ramp到Default值
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetMfcFinal2, MfcGroupName.Final2, 3);
|
||||
|
||||
//10、 打开 V92(GasRingPurge.Final)、 V93(ChamberPurge.Final)、 V95(ConfinementRing.Final);等待 3S
|
||||
SetIoValueByGroup((int)RoutineStep.SetV92V93V95, IoGroupName.V92V93V95, true, _IoValueOpenCloseTimeout);
|
||||
TimeDelay((int)RoutineStep.TimeDelay2, 3);
|
||||
|
||||
//11、 M32、 M35、 M37 依次设定 3S ramp 到 default 值 ; 等待 3S,
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM32M35M37, MfcGroupName.M32M35M37, 3);
|
||||
|
||||
//打开V68
|
||||
SetIoValueByGroup((int)RoutineStep.SetV68, IoGroupName.GasIn1, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//打开J Valves
|
||||
//12、 打开 J Valves ;设置 M18-M26 3s ramp 到 default 值。
|
||||
//等到腔体压力达到 900 mbar打开 V94(RotationUpPurge.Final)、 M36 设定 5S ramp 到 default 值;
|
||||
//等待 3S,打开 V96(HeaterWF.Final); M38 设定 5S ramp 到 default 值;
|
||||
SetIoValueByGroup((int)RoutineStep.SetGroupJOpen, IoGroupName.J, true, _IoValueOpenCloseTimeout);
|
||||
|
||||
//设置M2,M9,M15,M19-M26 3s ramp 到default 值
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM291519to26, MfcGroupName.M2toM26, 3);
|
||||
|
||||
//开V94,V96需等到腔体压力大于950
|
||||
WaitPMPressureAndSetMfcSpecial((int)RoutineStep.WaitPmPressureUp1, 950, _waitPMPressureUpTimeout);
|
||||
|
||||
WaitPMPressureAndSetMfcSpecial((int)RoutineStep.WaitPmPressureUp1, 900, _waitPMPressureUpTimeout);
|
||||
SetIoValueByGroup((int)RoutineStep.SetV94, IoGroupName.V94, true, _IoValueOpenCloseTimeout);
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM36, MfcGroupName.M36, 5);
|
||||
TimeDelay((int)RoutineStep.TimeDelay3, 3);
|
||||
|
||||
SetIoValueByGroup((int)RoutineStep.SetV96, IoGroupName.V96, true, _IoValueOpenCloseTimeout);
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetM38, MfcGroupName.M38, 5);
|
||||
TimeDelay((int)RoutineStep.TimeDelay4, 3);
|
||||
|
||||
//等待反应腔压力到达1020
|
||||
//13、 压力达到 1020,结束
|
||||
NotifyInfo((int)RoutineStep.Notify1, $"Wait pm pressure to {_ventBasePressure} mbar!");
|
||||
WaitPMPressureAndSetMfcSpecial((int)RoutineStep.WaitPmPressureUp, _ventBasePressure, _waitPMPressureUpTimeout); //等待反应腔压力大于1000
|
||||
|
||||
//设置M28,M29,M31,M40 3s ramp 到default 值
|
||||
SetMfcToDefaultByGroup((int)RoutineStep.SetMfc28to40Default, MfcGroupName.M28293140, 3);
|
||||
|
||||
_pmIoInterLock.SetPMVentRoutineRunning(false, out _);
|
||||
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
<DI_ITEM Index="40" Name="DI_PMH2SDetectorAlarm" BufferOffset="40" Addr="40" Description="" />
|
||||
<DI_ITEM Index="41" Name="DI_ScrubberIntlk" BufferOffset="41" Addr="41" Description="" />
|
||||
<DI_ITEM Index="42" Name="DI_FacilityIntlk" BufferOffset="42" Addr="42" Description="" />
|
||||
<DI_ITEM Index="45" Name="DI_RotaryMotorAlarm" BufferOffset="45" Addr="45" Description="" />
|
||||
<DI_ITEM Index="45" Name="DI_ServoDriverFaultSW" BufferOffset="45" Addr="45" Description="" />
|
||||
<DI_ITEM Index="48" Name="DI_ReactorWaterLeakAlarm" BufferOffset="48" Addr="48" Description="" />
|
||||
<DI_ITEM Index="49" Name="DI_ChamLidPushButtonRemote" BufferOffset="49" Addr="49" Description="" />
|
||||
<DI_ITEM Index="50" Name="DI_ConfinementRingDown" BufferOffset="50" Addr="50" Description="" />
|
||||
@ -747,9 +747,9 @@
|
||||
<AO_ITEM Index="114" Name="AO_PressCtrl7" BufferOffset="114" Addr="114" Description="" />
|
||||
<AO_ITEM Index="115" Name="AO_PressCtrl8" BufferOffset="115" Addr="115" Description="" />
|
||||
<AO_ITEM Index="116" Name="AO_PressCtrl9" BufferOffset="116" Addr="116" Description="" />
|
||||
<AO_ITEM Index="118" Name="AO_Setpointspeed" BufferOffset="118" Addr="118" Description="" />
|
||||
<AO_ITEM Index="120" Name="AO_SetpointACC" BufferOffset="120" Addr="120" Description="" />
|
||||
<AO_ITEM Index="121" Name="AO_SetpointDEC" BufferOffset="121" Addr="121" Description="" />
|
||||
<AO_ITEM Index="118" Name="AO_SpindleSpeed" BufferOffset="118" Addr="118" Description="" />
|
||||
<AO_ITEM Index="120" Name="AO_SpindleACC" BufferOffset="120" Addr="120" Description="" />
|
||||
<AO_ITEM Index="121" Name="AO_SpindleDEC" BufferOffset="121" Addr="121" Description="" />
|
||||
<AO_ITEM Index="123" Name="AO_ConfinementRingMode" BufferOffset="123" Addr="123" Description="" />
|
||||
<AO_ITEM Index="124" Name="AO_ConfinementRingSpeed" BufferOffset="124" Addr="124" Description="" />
|
||||
<AO_ITEM Index="125" Name="AO_ConfinementRingDistance" BufferOffset="125" Addr="125" Description="" />
|
||||
|
||||
Loading…
Reference in New Issue
Block a user