load伺服配置不隐藏
删除tm控制v124代码
This commit is contained in:
parent
8338d5d9f7
commit
c6bcd06b61
@ -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">
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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,等到压力等于 ATM(1020mbar 可配置),等待 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);
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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" />
|
||||
|
||||
@ -1651,86 +1651,7 @@
|
||||
</Border>
|
||||
|
||||
<Border
|
||||
Grid.Row="5"
|
||||
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"
|
||||
Grid.Row="5"
|
||||
Padding="5,1,0,1"
|
||||
Background="{DynamicResource Table_BG_Title}"
|
||||
BorderBrush="{DynamicResource Table_BD}"
|
||||
@ -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}"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user