parent
b770eefdaf
commit
d4a2d4b252
|
@ -148,6 +148,9 @@
|
|||
<IoPressureMeter id="PT1" display="PT1" schematicId="PT1" scBasePath="PM.{module}.PC" unit="mbar" aioType="float" aiOpenDegree="" aiActMode="" aoSetMode="" aiValue="AI_ActualPressure" aoValue="" formatString="0.0" />
|
||||
<IoPressureMeter id="PT2" display="PT2" schematicId="PT2" scBasePath="PM.{module}.PC" unit="mbar" aioType="float" aiOpenDegree="" aiActMode="" aoSetMode="" aiValue="AI_ForelinePress" aoValue="" formatString="0.0" />
|
||||
</IoPressureMeters>
|
||||
<IoPressureMeter3s classType="Aitex.Core.RT.Device.Unit.IoPressureMeter3" assembly="MECF.Framework.RT.EquipmentLibrary">
|
||||
<IoPressureMeter3 id="ChamberPressure" module="PM1" display="ChamberPressure" schematicId="ChamberPressure" unit="mbar" aioType="float" aiValue="AI_ChamPress" formatString="F1" MaxValue="1500"/>
|
||||
</IoPressureMeter3s>
|
||||
<IoSensorWaterFlowTemp classType="Aitex.Core.RT.Device.Devices.IoSensorWaterFlowTemp" assembly="MECF.Framework.RT.EquipmentLibrary">
|
||||
<IoSensorWaterFlowTemp id="FlowTemp1" module="" display="SHFlowTemp(U1)" schematicId="SHFlowTemp"
|
||||
unit="℃"
|
||||
|
|
|
@ -143,6 +143,9 @@
|
|||
<IoPressureMeter id="PT1" display="PT1" schematicId="PT1" scBasePath="PM.{module}.PC" unit="mbar" aioType="float" aiOpenDegree="" aiActMode="" aoSetMode="" aiValue="AI_ActualPressure" aoValue="" formatString="0.0" />
|
||||
<IoPressureMeter id="PT2" display="PT2" schematicId="PT2" scBasePath="PM.{module}.PC" unit="mbar" aioType="float" aiOpenDegree="" aiActMode="" aoSetMode="" aiValue="AI_ForelinePress" aoValue="" formatString="0.0" />
|
||||
</IoPressureMeters>
|
||||
<IoPressureMeter3s classType="Aitex.Core.RT.Device.Unit.IoPressureMeter3" assembly="MECF.Framework.RT.EquipmentLibrary">
|
||||
<IoPressureMeter3 id="ChamberPressure" module="PM2" display="ChamberPressure" schematicId="ChamberPressure" unit="mbar" aioType="float" aiValue="AI_ChamPress" formatString="F1" MaxValue="1500"/>
|
||||
</IoPressureMeter3s>
|
||||
<IoSensorWaterFlowTemp classType="Aitex.Core.RT.Device.Devices.IoSensorWaterFlowTemp" assembly="MECF.Framework.RT.EquipmentLibrary">
|
||||
<IoSensorWaterFlowTemp id="FlowTemp1" module="" display="SHFlowTemp(U1)" schematicId="SHFlowTemp"
|
||||
unit="℃"
|
||||
|
|
|
@ -267,7 +267,6 @@
|
|||
<Limit di="TM.DI_UnloadStationGateINTK" value="false" tip="" tip.zh-CN="" tip.en-US="DI-41"/>
|
||||
<Limit do="TM.DO_ATMRobotExtendUnloadEnable" value="false" tip="" tip.zh-CN="" tip.en-US="DO-24"/>
|
||||
</Action>
|
||||
|
||||
<Action do="TM.DO_LoadLSideDoorClose" value="true" tip="" tip.zh-CN="" tip.en-US="DO-27">
|
||||
<Limit do="TM.DO_ATMRobotExtendLoaLSideEnable" value="false" tip="" tip.zh-CN="" tip.en-US="DO-25"/>
|
||||
<Limit di="TM.DI_LoadLeftGateINTK" value="false" tip="" tip.zh-CN="" tip.en-US="DI-33"/>
|
||||
|
@ -284,6 +283,7 @@
|
|||
<Limit di="TM.DI_PMAHCLSwitchFB" value="false" tip="" tip.zh-CN="" tip.en-US="DI-202"/>
|
||||
<Limit di="TM.DI_PMASiH4SwitchFB" value="false" tip="" tip.zh-CN="" tip.en-US="DI-203"/>
|
||||
<Limit di="TM.DI_PMAC3H8SwitchFB" value="false" tip="" tip.zh-CN="" tip.en-US="DI-204"/>
|
||||
<Limit pollbool="TM.IsPressureAbs_TM_PMA_DValue_In50" value="true" tip="" tip.zh-CN="" tip.en-US="" ignoreReverse="true"/>
|
||||
</Action>
|
||||
|
||||
<Action do="TM.DO_RectorBDoorOpen" value="true" tip="" tip.zh-CN="" tip.en-US="DO-16">
|
||||
|
@ -292,16 +292,19 @@
|
|||
<Limit di="TM.DI_PMBHCLSwitchFB" value="false" tip="" tip.zh-CN="" tip.en-US="DI-218"/>
|
||||
<Limit di="TM.DI_PMBSiH4SwitchFB" value="false" tip="" tip.zh-CN="" tip.en-US="DI-219"/>
|
||||
<Limit di="TM.DI_PMBC3H8SwitchFB" value="false" tip="" tip.zh-CN="" tip.en-US="DI-220"/>
|
||||
<Limit pollbool="TM.IsPressureAbs_TM_PMB_DValue_In50" value="true" tip="" tip.zh-CN="" tip.en-US="" ignoreReverse="true"/>
|
||||
</Action>
|
||||
|
||||
<Action do="TM.DO_LoadDoorOpen" value="true" tip="" tip.zh-CN="" tip.en-US="DO-10">
|
||||
<Limit di="TM.DI_TMLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-12"/>
|
||||
<Limit di="TM.DI_LoadLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-13"/>
|
||||
<Limit pollbool="TM.IsPressureAbs_TM_Load_DValue_In50" value="true" tip="" tip.zh-CN="" tip.en-US="" ignoreReverse="true"/>
|
||||
</Action>
|
||||
|
||||
<Action do="TM.DO_UnloadStationDoorOpen" value="true" tip="" tip.zh-CN="" tip.en-US="DO-12">
|
||||
<Limit di="TM.DI_TMLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-12"/>
|
||||
<Limit di="TM.DI_UnloadStationLidClosed" value="true" tip="" tip.zh-CN="" tip.en-US="DI-14"/>
|
||||
<Limit pollbool="TM.IsPressureAbs_TM_Unload_DValue_In50" value="true" tip="" tip.zh-CN="" tip.en-US="" ignoreReverse="true"/>
|
||||
</Action>
|
||||
|
||||
<Action do="TM.DO_BufferStationDoorOpen" value="true" tip="" tip.zh-CN="" tip.en-US="DO-34">
|
||||
|
@ -347,4 +350,17 @@
|
|||
<Limit di="TM.DI_LoadLifterCYDown" value="true" tip="" tip.zh-CN="" tip.en-US="DI-65"/>
|
||||
<Limit di="TM.DI_LoadRSideDoorOpened" value="true" tip="" tip.zh-CN="" tip.en-US="DI-27"/>
|
||||
</Action>
|
||||
|
||||
<Action do="TM.DO_TMToPMABanlance(V70_1)" value="true" tip="" tip.zh-CN="" tip.en-US="DO-47">
|
||||
<Limit pollbool="TM.IsPressureAbs_TM_PMA_DValue_In50" value="true" tip="" tip.zh-CN="" tip.en-US="" ignoreReverse="true"/>
|
||||
</Action>
|
||||
<Action do="TM.DO_TMToPMBBanlance(V70_2)" value="true" tip="" tip.zh-CN="" tip.en-US="DO-48">
|
||||
<Limit pollbool="TM.IsPressureAbs_TM_PMB_DValue_In50" value="true" tip="" tip.zh-CN="" tip.en-US="" ignoreReverse="true"/>
|
||||
</Action>
|
||||
<Action do="TM.DO_TMToUnloadBanlance" value="true" tip="" tip.zh-CN="" tip.en-US="DO-17">
|
||||
<Limit pollbool="TM.IsPressureAbs_TM_Unload_DValue_In50" value="true" tip="" tip.zh-CN="" tip.en-US="" ignoreReverse="true"/>
|
||||
</Action>
|
||||
<Action do="TM.DO_TMLoadBanlance" value="true" tip="" tip.zh-CN="" tip.en-US="DO-8">
|
||||
<Limit pollbool="TM.IsPressureAbs_TM_Load_DValue_In50" value="true" tip="" tip.zh-CN="" tip.en-US="" ignoreReverse="true"/>
|
||||
</Action>
|
||||
</Interlock>
|
||||
|
|
|
@ -34,6 +34,7 @@ namespace SicModules.TMs
|
|||
//private IoPressureMeter3 _forelineGuage_PS7;
|
||||
private IoPressureMeter3 _chamberGuage_TM;
|
||||
private IoPressureMeter3 _loadLockGuage_PT3;
|
||||
private IoPressureMeter3 _unLoadGuage_PT3;
|
||||
private IoPressureMeter3 _pm1Pressure2;
|
||||
private IoPressureMeter3 _pm2Pressure2;
|
||||
|
||||
|
@ -62,6 +63,22 @@ namespace SicModules.TMs
|
|||
}
|
||||
}
|
||||
|
||||
public double LoadLockPressure
|
||||
{
|
||||
get
|
||||
{
|
||||
return _loadLockGuage_PT3.Value;
|
||||
}
|
||||
}
|
||||
|
||||
public double UnLoadPressure
|
||||
{
|
||||
get
|
||||
{
|
||||
return _unLoadGuage_PT3.Value;
|
||||
}
|
||||
}
|
||||
|
||||
public override double PM1Pressure2
|
||||
{
|
||||
get
|
||||
|
@ -145,6 +162,7 @@ namespace SicModules.TMs
|
|||
_chamberGuage_TM = DEVICE.GetDevice<IoPressureMeter3>("TM.TMPressure");
|
||||
//_forelineGuage_PS7 = DEVICE.GetDevice<IoPressureMeter3>("TM.ForelinePressure");
|
||||
_loadLockGuage_PT3 = DEVICE.GetDevice<IoPressureMeter3>("TM.LLPressure");
|
||||
_unLoadGuage_PT3 = DEVICE.GetDevice<IoPressureMeter3>("TM.UnLoadPressure");
|
||||
_pm1Pressure2 = DEVICE.GetDevice<IoPressureMeter3>("TM.PM1Pressure2");
|
||||
_pm2Pressure2 = DEVICE.GetDevice<IoPressureMeter3>("TM.PM2Pressure2");
|
||||
|
||||
|
|
|
@ -87,6 +87,14 @@ namespace SicModules.TMs
|
|||
public bool IsBypassInterlock => SC.GetValue<bool>($"TM.BypassInterlock");
|
||||
public bool IsBypassEnableTable => SC.GetValue<bool>($"TM.BypassEnableTable");
|
||||
|
||||
public bool IsPressureAbs_TM_PMA_DValue_In50 => (Math.Abs(TMDevice.ChamberPressure - PM1ChamberGuage.Value) < 50);
|
||||
|
||||
public bool IsPressureAbs_TM_PMB_DValue_In50 => (Math.Abs(TMDevice.ChamberPressure - PM2ChamberGuage.Value) < 50);
|
||||
|
||||
public bool IsPressureAbs_TM_Unload_DValue_In50 => (Math.Abs(TMDevice.ChamberPressure - TMDevice.UnLoadPressure) < 50);
|
||||
|
||||
public bool IsPressureAbs_TM_Load_DValue_In50 => (Math.Abs(TMDevice.ChamberPressure - TMDevice.LoadLockPressure) < 50);
|
||||
|
||||
public bool IsAlarm
|
||||
{
|
||||
get
|
||||
|
@ -182,6 +190,9 @@ namespace SicModules.TMs
|
|||
public IoPressureMeter3 ForelineGuage { get; set; }
|
||||
public IoPressureMeter3 ChamberGuage { get; set; }
|
||||
|
||||
public IoPressureMeter3 PM1ChamberGuage { get; set; }
|
||||
public IoPressureMeter3 PM2ChamberGuage { get; set; }
|
||||
|
||||
public Dictionary<ModuleName, IoSlitValve> SlitValves { get; set; } = new Dictionary<ModuleName, IoSlitValve>();
|
||||
public Dictionary<ModuleName, bool> SlitValveInstalled { get; set; } = new Dictionary<ModuleName, bool>();
|
||||
|
||||
|
@ -244,6 +255,8 @@ namespace SicModules.TMs
|
|||
|
||||
InitScChangeCallback();
|
||||
|
||||
|
||||
|
||||
return base.Initialize();
|
||||
}
|
||||
|
||||
|
@ -339,6 +352,9 @@ namespace SicModules.TMs
|
|||
ChamberGuage = DEVICE.GetDevice<IoPressureMeter3>("TM.TMPressure");
|
||||
ForelineGuage = DEVICE.GetDevice<IoPressureMeter3>("TM.ForelinePressure");
|
||||
|
||||
PM1ChamberGuage = DEVICE.GetDevice<IoPressureMeter3>("PM1.ChamberPressure");
|
||||
PM2ChamberGuage = DEVICE.GetDevice<IoPressureMeter3>("PM2.ChamberPressure");
|
||||
|
||||
//SlitValves[ModuleName.PM1] = DEVICE.GetDevice<IoSlitValve>("TM.PM1Door");
|
||||
//SlitValves[ModuleName.PM2] = DEVICE.GetDevice<IoSlitValve>("TM.PM2Door");
|
||||
//SlitValves[ModuleName.UnLoad] = DEVICE.GetDevice<IoSlitValve>("TM.TMUnLoadDoor");
|
||||
|
@ -564,6 +580,11 @@ namespace SicModules.TMs
|
|||
|
||||
private void InitData()
|
||||
{
|
||||
DATA.Subscribe($"{Name}.IsPressureAbs_TM_PMA_DValue_In50", () => IsPressureAbs_TM_PMA_DValue_In50);
|
||||
DATA.Subscribe($"{Name}.IsPressureAbs_TM_PMB_DValue_In50", () => IsPressureAbs_TM_PMB_DValue_In50);
|
||||
DATA.Subscribe($"{Name}.IsPressureAbs_TM_Unload_DValue_In50", () => IsPressureAbs_TM_Unload_DValue_In50);
|
||||
DATA.Subscribe($"{Name}.IsPressureAbs_TM_Load_DValue_In50", () => IsPressureAbs_TM_Load_DValue_In50);
|
||||
|
||||
DATA.Subscribe($"{Name}.Status", () => StringFsmStatus);
|
||||
DATA.Subscribe($"{Name}.IsOnline", () => IsOnline);
|
||||
DATA.Subscribe($"TMRobot.IsHomed", () => IsTMRobotHomed);
|
||||
|
|
|
@ -329,6 +329,8 @@ namespace SicModules.UnLoads
|
|||
DATA.Subscribe($"{Name}.CurrentRoutineLoopTotal", () => CurrentRoutineLoopTotal, SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
||||
DATA.Subscribe($"{Name}.RemainedCoolingTime", () => _unloadCoolingRoutine.GetRemainedTime(), SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
||||
|
||||
DATA.Subscribe($"{Name}.AtATM", () => { return _unLoadDevice.CheckAtm(); });
|
||||
|
||||
DATA.Subscribe($"{Name}.UnderVAC", () =>
|
||||
{
|
||||
if (_unLoadDevice.CheckVacuum())
|
||||
|
|
Loading…
Reference in New Issue