load伺服配置不隐藏

删除tm控制v124代码
This commit is contained in:
SIC1016\caipeilun 2026-08-18 19:18:07 +08:00
parent 8338d5d9f7
commit c6bcd06b61
8 changed files with 137 additions and 174 deletions

View File

@ -17,12 +17,12 @@
<LoadRotation id="Rotation" module="Load" display="LoadRotation" schematicId="LoadRotation" unit=""
diServoOn="DI_LdRotationServoOn" diServoBusy="DI_LdRotationBusy" diServoError="DI_LdRotationServoError" diMoveDone="DI_LdRotationMoveDone"
diRelativeHomeDone="DI_LdRotationRelativeHomeDone" diOneCircleDone="DI_LdRotationOneCircleDone" diCCD1PosDone="DI_LdRotationCCD1PosDone"
diCCD2PosDone="DI_LdRotationCCD2PosDone" diCCD3PosDone="DI_LdRotationCCD3PosDone" doServoOn="DO_LdRotationServoOn" doServoReset="DO_LdRotationReset"
diCCD2PosDone="DI_LdRotationCCD2PosDone" doServoOn="DO_LdRotationServoOn" doServoReset="DO_LdRotationReset"
doJogCW="DO_LdRotationJogCW" doJogCCW="DO_LdRotationJogCCW" doStop="DO_LdRotationStop" doMoveRelativeHome="DO_LdRotationMoveRelativeHome"
doMoveOneCircle="DO_LdRotationMoveOneCircle" doMoveCCD1Pos="DO_LdRotationMoveCCD1Pos" doMoveCCD2Pos="DO_LdRotationMoveCCD2Pos"
doMoveCCD3Pos="DO_LdRotationMoveCCD3Pos" aiCurPos="AI_LdRotationRelativeDegree" aiCCD1Degree="AI_LdRotationCCD1Degree" aiCCD2Degree="AI_LdRotationCCD2Degree"
aiCCD3Degree="AI_LdRotationCCD3Degree" aoCCD1Degree="AO_LdRotationCCD1Degree" aoHomeSpeed="AO_LdRotationSpeed" aoPosSpeed="AO_LdRotationPosSpeed" aoCCD2Degree="AO_LdRotationCCD2Degree"
aoCCD3Degree="AO_LdRotationCCD3Degree" aoJogDegree="AO_LdRotationJogDegree" aoHomeOffset="AO_LdRotationHomeOffset"/>
aiCurPos="AI_LdRotationRelativeDegree" aiCCD1Degree="AI_LdRotationCCD1Degree" aiCCD2Degree="AI_LdRotationCCD2Degree"
aoCCD1Degree="AO_LdRotationCCD1Degree" aoHomeSpeed="AO_LdRotationSpeed" aoPosSpeed="AO_LdRotationPosSpeed" aoCCD2Degree="AO_LdRotationCCD2Degree"
aoJogDegree="AO_LdRotationJogDegree" aoHomeOffset="AO_LdRotationHomeOffset"/>
</LoadRotations>
<TcAdses classType="Aitex.Core.RT.Device.Devices.SicAds" assembly="MECF.Framework.RT.EquipmentLibrary">

View File

@ -12,7 +12,8 @@ namespace SicModules.LLs.Routines
{
CloseV79,
CloseV83,
CloseV84
CloseV84,
CloseV85
}
private int _homeTimeout;
@ -41,6 +42,7 @@ namespace SicModules.LLs.Routines
CloseLoadVent((int)RoutineStep.CloseV79);
CloseFastPump((int)RoutineStep.CloseV83);
CloseSlowPump((int)RoutineStep.CloseV84);
CloseBalanceValve((int)RoutineStep.CloseV85);
LoadLockDevice.AutoCreatWafer();
}
@ -59,84 +61,6 @@ namespace SicModules.LLs.Routines
return Result.DONE;
}
public void CloseLoadVent(int id)
{
Tuple<bool, Result> ret = Execute(id, () =>
{
Notify($"Close Load vent valve");
if (!LoadLockDevice.SetFastVentValve(false, out string reason))
{
Stop(reason);
return false;
}
return true;
});
if (ret.Item1)
{
if (ret.Item2 == Result.FAIL)
{
throw (new RoutineFaildException());
}
else
throw (new RoutineBreakException());
}
}
public void CloseFastPump(int id)
{
Tuple<bool, Result> ret = Execute(id, () =>
{
Notify($"Close Load fast pump valve");
if (!LoadLockDevice.SetFastPumpValve(false, out string reason))
{
Stop(reason);
return false;
}
return true;
});
if (ret.Item1)
{
if (ret.Item2 == Result.FAIL)
{
throw (new RoutineFaildException());
}
else
throw (new RoutineBreakException());
}
}
public void CloseSlowPump(int id)
{
Tuple<bool, Result> ret = Execute(id, () =>
{
Notify($"Close slow pump valve");
if (!LoadLockDevice.SetSlowPumpValve(false, out string reason))
{
Stop(reason);
return false;
}
return true;
});
if (ret.Item1)
{
if (ret.Item2 == Result.FAIL)
{
throw (new RoutineFaildException());
}
else
throw (new RoutineBreakException());
}
}
public override void Abort()
{
base.Abort();

View File

@ -87,6 +87,7 @@ namespace SicModules.LLs.Routines
LoadLockDevice.SetSlowPumpValve(false, out _);
LoadLockDevice.SetFastPumpValve(false, out _);
LoadLockDevice.SetSlowVentValve(false, out _);
TMDevice.SetTmToLLVent(false, out _);
}
protected void LiftMove(int id, bool up, int timeout)
@ -855,5 +856,109 @@ namespace SicModules.LLs.Routines
return CCDTriggerResult;
}
public void CloseLoadVent(int id)
{
Tuple<bool, Result> ret = Execute(id, () =>
{
Notify($"Close Load vent valve");
if (!LoadLockDevice.SetFastVentValve(false, out string reason))
{
Stop(reason);
return false;
}
return true;
});
if (ret.Item1)
{
if (ret.Item2 == Result.FAIL)
{
throw (new RoutineFaildException());
}
else
throw (new RoutineBreakException());
}
}
public void CloseFastPump(int id)
{
Tuple<bool, Result> ret = Execute(id, () =>
{
Notify($"Close Load fast pump valve");
if (!LoadLockDevice.SetFastPumpValve(false, out string reason))
{
Stop(reason);
return false;
}
return true;
});
if (ret.Item1)
{
if (ret.Item2 == Result.FAIL)
{
throw (new RoutineFaildException());
}
else
throw (new RoutineBreakException());
}
}
public void CloseSlowPump(int id)
{
Tuple<bool, Result> ret = Execute(id, () =>
{
Notify($"Close slow pump valve");
if (!LoadLockDevice.SetSlowPumpValve(false, out string reason))
{
Stop(reason);
return false;
}
return true;
});
if (ret.Item1)
{
if (ret.Item2 == Result.FAIL)
{
throw (new RoutineFaildException());
}
else
throw (new RoutineBreakException());
}
}
public void CloseBalanceValve(int id)
{
Tuple<bool, Result> ret = Execute(id, () =>
{
Notify($"Close Balance valve V85");
if (!TMDevice.SetTmToLLVent(false, out string reason))
{
Stop(reason);
return false;
}
return true;
});
if (ret.Item1)
{
if (ret.Item2 == Result.FAIL)
{
throw (new RoutineFaildException());
}
else
throw (new RoutineBreakException());
}
}
}
}

View File

@ -22,6 +22,8 @@ namespace SicModules.LLs.Routines
CloseFastValve,
Delay,
TimeDelay1,
CloseV79,
CloseV85
}
private double _pumpBasePressure=0;
@ -138,8 +140,12 @@ namespace SicModules.LLs.Routines
{
try
{
//关闭 V79 V85打开 V84等待压力低于 200mbar可配置打开 V83压力达到 0mbar可配置等待 5s可配置关闭 V83、 V84。 Routine 结束。
CheckRoutineTimeOut();
CloseLoadVent((int)RoutineStep.CloseV79);
CloseBalanceValve((int)RoutineStep.CloseV85);
TimeDelay((int)RoutineStep.RequestPumpDelay, 1);
SlowPump((int)RoutineStep.SlowPump, _pumpSwitchPressure, _slowPumpTimeout);

View File

@ -18,6 +18,7 @@ namespace SicModules.LLs.Routines
CloseSlowVentValve,
CloseFastVentValve,
CloseValveDelay,
CloseFastPumpValve, CloseSlowPumpValve, CloseV85
}
private double _ventBasePressure;
@ -110,8 +111,13 @@ namespace SicModules.LLs.Routines
{
try
{
//关闭 V83 V84 V85打开 V79等到压力等于 ATM1020mbar 可配置),等待 5s可配置关闭 V79。 Routine 结束。
CheckRoutineTimeOut();
CloseFastPumpValve((int)RoutineStep.CloseFastPumpValve);
CloseSlowPumpValve((int)RoutineStep.CloseSlowPumpValve);
CloseBalanceValve((int)RoutineStep.CloseV85);
SlowVent((int)RoutineStep.SlowVent, _ventBasePressure, _slowVentTimeout);
TimeDelay((int)RoutineStep.VentDelay, _ventDelayTime);

View File

@ -26,7 +26,7 @@ namespace SicModules.TMs
//四个联通阀
private IoValve _tmLoadBanlance_V85;
private IoValve _tmUnLoadBanlance_V124;
//private IoValve _tmUnLoadBanlance_V124;
private IoValve _tmPMABanlance_V70_1;
//private IoValve _tmPMABanlance_V70_2;
@ -153,7 +153,7 @@ namespace SicModules.TMs
_pumpValveV81 = DEVICE.GetDevice<IoValve>("TM.TMFastPump");
_pumpSlowValveV82 = DEVICE.GetDevice<IoValve>("TM.TMSlowPump");
_tmLoadBanlance_V85 = DEVICE.GetDevice<IoValve>("TM.TMLoadBanlance");
_tmUnLoadBanlance_V124 = DEVICE.GetDevice<IoValve>("TM.TMUnLoadBanlance");
//_tmUnLoadBanlance_V124 = DEVICE.GetDevice<IoValve>("TM.TMUnLoadBanlance");
_tmPMABanlance_V70_1 = DEVICE.GetDevice<IoValve>("PM1.V70");
//_tmPMABanlance_V70_2 = DEVICE.GetDevice<IoValve>("TM.TMPMBBanlance");
_bufferVentValveV80 = DEVICE.GetDevice<IoValve>("TM.BufferVent");
@ -352,7 +352,7 @@ namespace SicModules.TMs
_ventValveV77.TurnValve(false, out reason);
_tmLoadBanlance_V85.TurnValve(false, out reason);
_tmPMABanlance_V70_1.TurnValve(false, out reason);
_tmUnLoadBanlance_V124.TurnValve(false, out reason);
//_tmUnLoadBanlance_V124.TurnValve(false, out reason);
return true;
}
@ -364,7 +364,8 @@ namespace SicModules.TMs
public override bool SetTmToUnLoadVent(bool isOpen, out string reason)
{
return _tmUnLoadBanlance_V124.TurnValve(isOpen, out reason);
reason = "";
return true;
}
public bool SetPIDValve(bool isOpen, out string reason)
@ -511,7 +512,7 @@ namespace SicModules.TMs
_pumpSlowValveV82.TurnValve(false, out reason);
//_bufferVentValveV80.TurnValve(false, out reason);
_tmLoadBanlance_V85.TurnValve(false, out reason);
_tmUnLoadBanlance_V124.TurnValve(false, out reason);
//_tmUnLoadBanlance_V124.TurnValve(false, out reason);
_tmPMABanlance_V70_1.TurnValve(false, out reason);
//_tmPMABanlance_V70_2.TurnValve(false, out reason);

View File

@ -2090,7 +2090,7 @@
<config default="0.5" name="LeakSpec" description="LeakSpec" max="100" min="0" paramter="" tag="" unit="mbar/min" type="Double" />
<config default="3000" name="RoutineTimeOut" description="Routine超时时间" max="10000" min="0" paramter="" tag="" unit="s" type="Integer" />
</configs>
<configs name="LoadRotation" visible="false">
<configs name="LoadRotation">
<config default="0" name="CCD1Pos" description="CCD拍照位置1" max="360" min="-360" paramter="" tag="" unit="°" type="Double" />
<config default="0" name="CCD2Pos" description="CCD拍照位置2" max="360" min="-360" paramter="" tag="" unit="°" type="Double" />
<config default="0" name="HomeOffset" description="LoadRotation旋转电机原点偏移量" max="360" min="-360" paramter="" tag="" unit="°" type="Double" />

View File

@ -1655,85 +1655,6 @@
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{lex:Loc ID_TXT_LoadLid}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="5"
Grid.Column="1"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{lex:Loc {Binding LLLidState}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="5"
Grid.Column="2"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<StackPanel Orientation="Horizontal">
<Button
Width="80"
Height="25"
Margin="10,0"
HorizontalAlignment="Left"
Content="{lex:Loc ID_BTN_Lock_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="LoadLidLock" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<deviceControl:AITSensor
HorizontalAlignment="Center"
VerticalAlignment="Center"
GreenColor="True"
LightOnValue="{Binding LoadLockSensor}" />
<Button
Width="80"
Height="25"
Margin="10,0"
HorizontalAlignment="Left"
Content="{lex:Loc ID_BTN_Unlock_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="LoadLidUnlock" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<deviceControl:AITSensor
HorizontalAlignment="Center"
VerticalAlignment="Center"
GreenColor="True"
LightOnValue="{Binding LoadUnLockSensor}" />
</StackPanel>
</Border>
<Border
Grid.Row="6"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
VerticalAlignment="Center"
@ -1745,7 +1666,7 @@
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="6"
Grid.Row="5"
Grid.Column="1"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Content}"
@ -1761,7 +1682,7 @@ TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="6"
Grid.Row="5"
Grid.Column="2"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"
@ -1808,7 +1729,7 @@ TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="7"
Grid.Row="6"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
@ -1823,7 +1744,7 @@ TextWrapping="Wrap" />
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="7"
Grid.Row="6"
Grid.Column="1"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Content}"
@ -1839,7 +1760,7 @@ TextWrapping="Wrap" />
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="7"
Grid.Row="6"
Grid.Column="2"
Padding="5,1"
Background="{DynamicResource Table_BG_Content}"