Merge branch 'develop' of http://112.124.35.216:65000/Sic-Software/MoS2 into develop
This commit is contained in:
commit
da44ca6288
@ -17,12 +17,12 @@
|
|||||||
<LoadRotation id="Rotation" module="Load" display="LoadRotation" schematicId="LoadRotation" unit=""
|
<LoadRotation id="Rotation" module="Load" display="LoadRotation" schematicId="LoadRotation" unit=""
|
||||||
diServoOn="DI_LdRotationServoOn" diServoBusy="DI_LdRotationBusy" diServoError="DI_LdRotationServoError" diMoveDone="DI_LdRotationMoveDone"
|
diServoOn="DI_LdRotationServoOn" diServoBusy="DI_LdRotationBusy" diServoError="DI_LdRotationServoError" diMoveDone="DI_LdRotationMoveDone"
|
||||||
diRelativeHomeDone="DI_LdRotationRelativeHomeDone" diOneCircleDone="DI_LdRotationOneCircleDone" diCCD1PosDone="DI_LdRotationCCD1PosDone"
|
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"
|
doJogCW="DO_LdRotationJogCW" doJogCCW="DO_LdRotationJogCCW" doStop="DO_LdRotationStop" doMoveRelativeHome="DO_LdRotationMoveRelativeHome"
|
||||||
doMoveOneCircle="DO_LdRotationMoveOneCircle" doMoveCCD1Pos="DO_LdRotationMoveCCD1Pos" doMoveCCD2Pos="DO_LdRotationMoveCCD2Pos"
|
doMoveOneCircle="DO_LdRotationMoveOneCircle" doMoveCCD1Pos="DO_LdRotationMoveCCD1Pos" doMoveCCD2Pos="DO_LdRotationMoveCCD2Pos"
|
||||||
doMoveCCD3Pos="DO_LdRotationMoveCCD3Pos" aiCurPos="AI_LdRotationRelativeDegree" aiCCD1Degree="AI_LdRotationCCD1Degree" aiCCD2Degree="AI_LdRotationCCD2Degree"
|
aiCurPos="AI_LdRotationRelativeDegree" aiCCD1Degree="AI_LdRotationCCD1Degree" aiCCD2Degree="AI_LdRotationCCD2Degree"
|
||||||
aiCCD3Degree="AI_LdRotationCCD3Degree" aoCCD1Degree="AO_LdRotationCCD1Degree" aoHomeSpeed="AO_LdRotationSpeed" aoPosSpeed="AO_LdRotationPosSpeed" aoCCD2Degree="AO_LdRotationCCD2Degree"
|
aoCCD1Degree="AO_LdRotationCCD1Degree" aoHomeSpeed="AO_LdRotationSpeed" aoPosSpeed="AO_LdRotationPosSpeed" aoCCD2Degree="AO_LdRotationCCD2Degree"
|
||||||
aoCCD3Degree="AO_LdRotationCCD3Degree" aoJogDegree="AO_LdRotationJogDegree" aoHomeOffset="AO_LdRotationHomeOffset"/>
|
aoJogDegree="AO_LdRotationJogDegree" aoHomeOffset="AO_LdRotationHomeOffset"/>
|
||||||
</LoadRotations>
|
</LoadRotations>
|
||||||
|
|
||||||
<TcAdses classType="Aitex.Core.RT.Device.Devices.SicAds" assembly="MECF.Framework.RT.EquipmentLibrary">
|
<TcAdses classType="Aitex.Core.RT.Device.Devices.SicAds" assembly="MECF.Framework.RT.EquipmentLibrary">
|
||||||
|
|||||||
@ -12,7 +12,8 @@ namespace SicModules.LLs.Routines
|
|||||||
{
|
{
|
||||||
CloseV79,
|
CloseV79,
|
||||||
CloseV83,
|
CloseV83,
|
||||||
CloseV84
|
CloseV84,
|
||||||
|
CloseV85
|
||||||
}
|
}
|
||||||
|
|
||||||
private int _homeTimeout;
|
private int _homeTimeout;
|
||||||
@ -41,6 +42,7 @@ namespace SicModules.LLs.Routines
|
|||||||
CloseLoadVent((int)RoutineStep.CloseV79);
|
CloseLoadVent((int)RoutineStep.CloseV79);
|
||||||
CloseFastPump((int)RoutineStep.CloseV83);
|
CloseFastPump((int)RoutineStep.CloseV83);
|
||||||
CloseSlowPump((int)RoutineStep.CloseV84);
|
CloseSlowPump((int)RoutineStep.CloseV84);
|
||||||
|
CloseBalanceValve((int)RoutineStep.CloseV85);
|
||||||
|
|
||||||
LoadLockDevice.AutoCreatWafer();
|
LoadLockDevice.AutoCreatWafer();
|
||||||
}
|
}
|
||||||
@ -59,84 +61,6 @@ namespace SicModules.LLs.Routines
|
|||||||
return Result.DONE;
|
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()
|
public override void Abort()
|
||||||
{
|
{
|
||||||
base.Abort();
|
base.Abort();
|
||||||
|
|||||||
@ -87,6 +87,7 @@ namespace SicModules.LLs.Routines
|
|||||||
LoadLockDevice.SetSlowPumpValve(false, out _);
|
LoadLockDevice.SetSlowPumpValve(false, out _);
|
||||||
LoadLockDevice.SetFastPumpValve(false, out _);
|
LoadLockDevice.SetFastPumpValve(false, out _);
|
||||||
LoadLockDevice.SetSlowVentValve(false, out _);
|
LoadLockDevice.SetSlowVentValve(false, out _);
|
||||||
|
TMDevice.SetTmToLLVent(false, out _);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void LiftMove(int id, bool up, int timeout)
|
protected void LiftMove(int id, bool up, int timeout)
|
||||||
@ -855,5 +856,109 @@ namespace SicModules.LLs.Routines
|
|||||||
return CCDTriggerResult;
|
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,
|
CloseFastValve,
|
||||||
Delay,
|
Delay,
|
||||||
TimeDelay1,
|
TimeDelay1,
|
||||||
|
CloseV79,
|
||||||
|
CloseV85
|
||||||
}
|
}
|
||||||
|
|
||||||
private double _pumpBasePressure=0;
|
private double _pumpBasePressure=0;
|
||||||
@ -138,8 +140,12 @@ namespace SicModules.LLs.Routines
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//关闭 V79, V85;打开 V84,等待压力低于 200mbar(可配置),打开 V83,压力达到 0mbar(可配置),等待 5s(可配置),关闭 V83、 V84。 Routine 结束。
|
||||||
CheckRoutineTimeOut();
|
CheckRoutineTimeOut();
|
||||||
|
|
||||||
|
CloseLoadVent((int)RoutineStep.CloseV79);
|
||||||
|
CloseBalanceValve((int)RoutineStep.CloseV85);
|
||||||
|
|
||||||
TimeDelay((int)RoutineStep.RequestPumpDelay, 1);
|
TimeDelay((int)RoutineStep.RequestPumpDelay, 1);
|
||||||
|
|
||||||
SlowPump((int)RoutineStep.SlowPump, _pumpSwitchPressure, _slowPumpTimeout);
|
SlowPump((int)RoutineStep.SlowPump, _pumpSwitchPressure, _slowPumpTimeout);
|
||||||
|
|||||||
@ -18,6 +18,7 @@ namespace SicModules.LLs.Routines
|
|||||||
CloseSlowVentValve,
|
CloseSlowVentValve,
|
||||||
CloseFastVentValve,
|
CloseFastVentValve,
|
||||||
CloseValveDelay,
|
CloseValveDelay,
|
||||||
|
CloseFastPumpValve, CloseSlowPumpValve, CloseV85
|
||||||
}
|
}
|
||||||
|
|
||||||
private double _ventBasePressure;
|
private double _ventBasePressure;
|
||||||
@ -110,8 +111,13 @@ namespace SicModules.LLs.Routines
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//关闭 V83, V84, V85;打开 V79,等到压力等于 ATM(1020mbar 可配置),等待 5s(可配置),关闭 V79。 Routine 结束。
|
||||||
CheckRoutineTimeOut();
|
CheckRoutineTimeOut();
|
||||||
|
|
||||||
|
CloseFastPumpValve((int)RoutineStep.CloseFastPumpValve);
|
||||||
|
CloseSlowPumpValve((int)RoutineStep.CloseSlowPumpValve);
|
||||||
|
CloseBalanceValve((int)RoutineStep.CloseV85);
|
||||||
|
|
||||||
SlowVent((int)RoutineStep.SlowVent, _ventBasePressure, _slowVentTimeout);
|
SlowVent((int)RoutineStep.SlowVent, _ventBasePressure, _slowVentTimeout);
|
||||||
|
|
||||||
TimeDelay((int)RoutineStep.VentDelay, _ventDelayTime);
|
TimeDelay((int)RoutineStep.VentDelay, _ventDelayTime);
|
||||||
|
|||||||
@ -62,6 +62,8 @@ namespace SicModules.TMs.Routines
|
|||||||
private IoLift4 _loadLift;
|
private IoLift4 _loadLift;
|
||||||
private IoLift4 _unLoadLift;
|
private IoLift4 _unLoadLift;
|
||||||
|
|
||||||
|
private IoValve PM1ToTm_V70;
|
||||||
|
|
||||||
public TMBaseRoutine() : base(ModuleName.TM.ToString())
|
public TMBaseRoutine() : base(ModuleName.TM.ToString())
|
||||||
{
|
{
|
||||||
Module = ModuleName.TM.ToString();
|
Module = ModuleName.TM.ToString();
|
||||||
@ -82,6 +84,8 @@ namespace SicModules.TMs.Routines
|
|||||||
|
|
||||||
_reactorSuspectorCheckPM1 = DEVICE.GetDevice<IoSensor>($"PM1.SensorReactorSuspectorCheck");
|
_reactorSuspectorCheckPM1 = DEVICE.GetDevice<IoSensor>($"PM1.SensorReactorSuspectorCheck");
|
||||||
_reactorSuspectorCheckPM2 = DEVICE.GetDevice<IoSensor>($"PM2.SensorReactorSuspectorCheck");
|
_reactorSuspectorCheckPM2 = DEVICE.GetDevice<IoSensor>($"PM2.SensorReactorSuspectorCheck");
|
||||||
|
|
||||||
|
PM1ToTm_V70 = DEVICE.GetDevice<IoValve>($"PM1.V70");
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual Result Start(params object[] objs)
|
public virtual Result Start(params object[] objs)
|
||||||
@ -1694,6 +1698,32 @@ namespace SicModules.TMs.Routines
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ClosePM1ToTMV70(int id)
|
||||||
|
{
|
||||||
|
Tuple<bool, Result> ret = Execute(id, () =>
|
||||||
|
{
|
||||||
|
Notify($"Close V70 valve");
|
||||||
|
|
||||||
|
if (!PM1ToTm_V70.TurnValve(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 SetMFCToSetPoint(int id, IoMFC _mfc, double setPoint)
|
public void SetMFCToSetPoint(int id, IoMFC _mfc, double setPoint)
|
||||||
{
|
{
|
||||||
Tuple<bool, Result> ret = Execute(id, () =>
|
Tuple<bool, Result> ret = Execute(id, () =>
|
||||||
|
|||||||
@ -9,6 +9,7 @@ namespace SicModules.TMs.Routines
|
|||||||
enum RoutineStep
|
enum RoutineStep
|
||||||
{
|
{
|
||||||
CloseV77,
|
CloseV77,
|
||||||
|
CloseV70,
|
||||||
CloseV80,
|
CloseV80,
|
||||||
CloseV85,
|
CloseV85,
|
||||||
TMRobotHome
|
TMRobotHome
|
||||||
@ -47,7 +48,7 @@ namespace SicModules.TMs.Routines
|
|||||||
CloseTMVent((int)RoutineStep.CloseV77);
|
CloseTMVent((int)RoutineStep.CloseV77);
|
||||||
//没有V78
|
//没有V78
|
||||||
SetTMLLBalanceValve((int)RoutineStep.CloseV85, TMDevice,false);
|
SetTMLLBalanceValve((int)RoutineStep.CloseV85, TMDevice,false);
|
||||||
//没有V70
|
ClosePM1ToTMV70((int)RoutineStep.CloseV70);
|
||||||
ExecuteRoutine((int)RoutineStep.TMRobotHome, _tmRobotHomeRoutine);
|
ExecuteRoutine((int)RoutineStep.TMRobotHome, _tmRobotHomeRoutine);
|
||||||
}
|
}
|
||||||
catch (RoutineBreakException)
|
catch (RoutineBreakException)
|
||||||
|
|||||||
@ -171,9 +171,6 @@ namespace SicModules.TMs.Routines
|
|||||||
//关闭V77
|
//关闭V77
|
||||||
CloseTMVent((int)RoutineStep.CloseV77);
|
CloseTMVent((int)RoutineStep.CloseV77);
|
||||||
|
|
||||||
//关闭V80
|
|
||||||
//CloseBufferVent((int)RoutineStep.CloseV80);
|
|
||||||
|
|
||||||
//打开V82,等待压力低于200mbar(可配置)
|
//打开V82,等待压力低于200mbar(可配置)
|
||||||
OpenSlowPump((int)RoutineStep.SlowPump, TMDevice, _slowFastPumpSwitchPressure, _slowPumpTimeout);
|
OpenSlowPump((int)RoutineStep.SlowPump, TMDevice, _slowFastPumpSwitchPressure, _slowPumpTimeout);
|
||||||
|
|
||||||
|
|||||||
@ -205,14 +205,14 @@ namespace SicModules.TMs.Routines
|
|||||||
//设定MFC60慢充流量
|
//设定MFC60慢充流量
|
||||||
SetMFCToSetPoint((int)RoutineStep.SetMFC1, _mfc60, _mfc60Default1);
|
SetMFCToSetPoint((int)RoutineStep.SetMFC1, _mfc60, _mfc60Default1);
|
||||||
|
|
||||||
////打开V77,等待压力大于200mbar
|
//打开V77,等待压力大于200mbar
|
||||||
//OpenSlowVent((int)RoutineStep.OpenSlowVent, _tm, _slowFastVentSwitchPressure, _slowVentTimeout);
|
OpenSlowVent((int)RoutineStep.OpenSlowVent, _tm, _slowFastVentSwitchPressure, _ventTimeOut);
|
||||||
|
|
||||||
////设定MFC60快充流量
|
//设定MFC60快充流量
|
||||||
//SetMFCToSetPoint((int)RoutineStep.SetMFC2, _mfc60, _mfc60Default2);
|
SetMFCToSetPoint((int)RoutineStep.SetMFC2, _mfc60, _mfc60Default2);
|
||||||
|
|
||||||
////等待压力大于1020mbar
|
//等待压力大于1020mbar
|
||||||
//OpenFastVent((int)RoutineStep.OpenFastVent, _tm, _ventBasePressure, _fastVentTime);
|
OpenFastVent((int)RoutineStep.OpenFastVent, _tm, _ventBasePressure, _ventTimeOut);
|
||||||
|
|
||||||
//充气过程中检查是否到达打开快充流量的条件
|
//充气过程中检查是否到达打开快充流量的条件
|
||||||
OpenVent((int)RoutineStep.OpenVent, _tm, _ventBasePressure, _slowFastVentSwitchPressure, _mfc60Default2, _ventTimeOut);
|
OpenVent((int)RoutineStep.OpenVent, _tm, _ventBasePressure, _slowFastVentSwitchPressure, _mfc60Default2, _ventTimeOut);
|
||||||
|
|||||||
@ -28,6 +28,7 @@ namespace SicModules.TMs.Routines
|
|||||||
CloseVentValveDelay,
|
CloseVentValveDelay,
|
||||||
TimeDelay,
|
TimeDelay,
|
||||||
OpenV80,
|
OpenV80,
|
||||||
|
OpenV77,
|
||||||
CloseV80,
|
CloseV80,
|
||||||
CloseV81,
|
CloseV81,
|
||||||
CloseV82,
|
CloseV82,
|
||||||
@ -195,13 +196,13 @@ namespace SicModules.TMs.Routines
|
|||||||
SetMFCToSetPoint((int)RoutineStep.SetMFC1, _mfc60, _mfc60Default1);
|
SetMFCToSetPoint((int)RoutineStep.SetMFC1, _mfc60, _mfc60Default1);
|
||||||
|
|
||||||
////打开V77,等待压力大于200mbar
|
////打开V77,等待压力大于200mbar
|
||||||
//OpenSlowVent((int)RoutineStep.OpenSlowVent, _tm, _slowFastVentSwitchPressure, _slowVentTimeout);
|
OpenSlowVent((int)RoutineStep.OpenSlowVent, _tm, _slowFastVentSwitchPressure, _ventTimeOut);
|
||||||
|
|
||||||
////设定MFC60快充流量
|
////设定MFC60快充流量
|
||||||
//SetMFCToSetPoint((int)RoutineStep.SetMFC2, _mfc60, _mfc60Default2);
|
SetMFCToSetPoint((int)RoutineStep.SetMFC2, _mfc60, _mfc60Default2);
|
||||||
|
|
||||||
////等待压力大于1020mbar
|
////等待压力大于1020mbar
|
||||||
//OpenFastVent((int)RoutineStep.OpenFastVent, _tm, _ventBasePressure, _fastVentTime);
|
OpenFastVent((int)RoutineStep.OpenFastVent, _tm, _ventBasePressure, _ventTimeOut);
|
||||||
|
|
||||||
//充气过程中检查是否到达打开快充流量的条件
|
//充气过程中检查是否到达打开快充流量的条件
|
||||||
OpenVent((int)RoutineStep.OpenVent, _tm, _ventBasePressure, _slowFastVentSwitchPressure, _mfc60Default2, _ventTimeOut);
|
OpenVent((int)RoutineStep.OpenVent, _tm, _ventBasePressure, _slowFastVentSwitchPressure, _mfc60Default2, _ventTimeOut);
|
||||||
@ -211,9 +212,6 @@ namespace SicModules.TMs.Routines
|
|||||||
|
|
||||||
//关闭V77
|
//关闭V77
|
||||||
CloseSlowVentValve((int)RoutineStep.CloseSlowVent, _tm);
|
CloseSlowVentValve((int)RoutineStep.CloseSlowVent, _tm);
|
||||||
|
|
||||||
//关闭V80
|
|
||||||
//CloseBufferVent((int)RoutineStep.CloseV80);
|
|
||||||
}
|
}
|
||||||
catch (RoutineBreakException)
|
catch (RoutineBreakException)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -26,7 +26,7 @@ namespace SicModules.TMs
|
|||||||
|
|
||||||
//四个联通阀
|
//四个联通阀
|
||||||
private IoValve _tmLoadBanlance_V85;
|
private IoValve _tmLoadBanlance_V85;
|
||||||
private IoValve _tmUnLoadBanlance_V124;
|
//private IoValve _tmUnLoadBanlance_V124;
|
||||||
private IoValve _tmPMABanlance_V70_1;
|
private IoValve _tmPMABanlance_V70_1;
|
||||||
//private IoValve _tmPMABanlance_V70_2;
|
//private IoValve _tmPMABanlance_V70_2;
|
||||||
|
|
||||||
@ -153,7 +153,7 @@ namespace SicModules.TMs
|
|||||||
_pumpValveV81 = DEVICE.GetDevice<IoValve>("TM.TMFastPump");
|
_pumpValveV81 = DEVICE.GetDevice<IoValve>("TM.TMFastPump");
|
||||||
_pumpSlowValveV82 = DEVICE.GetDevice<IoValve>("TM.TMSlowPump");
|
_pumpSlowValveV82 = DEVICE.GetDevice<IoValve>("TM.TMSlowPump");
|
||||||
_tmLoadBanlance_V85 = DEVICE.GetDevice<IoValve>("TM.TMLoadBanlance");
|
_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_1 = DEVICE.GetDevice<IoValve>("PM1.V70");
|
||||||
//_tmPMABanlance_V70_2 = DEVICE.GetDevice<IoValve>("TM.TMPMBBanlance");
|
//_tmPMABanlance_V70_2 = DEVICE.GetDevice<IoValve>("TM.TMPMBBanlance");
|
||||||
_bufferVentValveV80 = DEVICE.GetDevice<IoValve>("TM.BufferVent");
|
_bufferVentValveV80 = DEVICE.GetDevice<IoValve>("TM.BufferVent");
|
||||||
@ -352,7 +352,7 @@ namespace SicModules.TMs
|
|||||||
_ventValveV77.TurnValve(false, out reason);
|
_ventValveV77.TurnValve(false, out reason);
|
||||||
_tmLoadBanlance_V85.TurnValve(false, out reason);
|
_tmLoadBanlance_V85.TurnValve(false, out reason);
|
||||||
_tmPMABanlance_V70_1.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;
|
return true;
|
||||||
}
|
}
|
||||||
@ -364,7 +364,8 @@ namespace SicModules.TMs
|
|||||||
|
|
||||||
public override bool SetTmToUnLoadVent(bool isOpen, out string reason)
|
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)
|
public bool SetPIDValve(bool isOpen, out string reason)
|
||||||
@ -511,7 +512,7 @@ namespace SicModules.TMs
|
|||||||
_pumpSlowValveV82.TurnValve(false, out reason);
|
_pumpSlowValveV82.TurnValve(false, out reason);
|
||||||
//_bufferVentValveV80.TurnValve(false, out reason);
|
//_bufferVentValveV80.TurnValve(false, out reason);
|
||||||
_tmLoadBanlance_V85.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_1.TurnValve(false, out reason);
|
||||||
//_tmPMABanlance_V70_2.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="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" />
|
<config default="3000" name="RoutineTimeOut" description="Routine超时时间" max="10000" min="0" paramter="" tag="" unit="s" type="Integer" />
|
||||||
</configs>
|
</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="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="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" />
|
<config default="0" name="HomeOffset" description="LoadRotation旋转电机原点偏移量" max="360" min="-360" paramter="" tag="" unit="°" type="Double" />
|
||||||
|
|||||||
@ -1655,85 +1655,6 @@
|
|||||||
Padding="5,1,0,1"
|
Padding="5,1,0,1"
|
||||||
Background="{DynamicResource Table_BG_Title}"
|
Background="{DynamicResource Table_BG_Title}"
|
||||||
BorderBrush="{DynamicResource Table_BD}"
|
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">
|
BorderThickness="1,0,1,1">
|
||||||
<TextBlock
|
<TextBlock
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
@ -1745,7 +1666,7 @@
|
|||||||
TextWrapping="Wrap" />
|
TextWrapping="Wrap" />
|
||||||
</Border>
|
</Border>
|
||||||
<Border
|
<Border
|
||||||
Grid.Row="6"
|
Grid.Row="5"
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Padding="5,1,0,1"
|
Padding="5,1,0,1"
|
||||||
Background="{DynamicResource Table_BG_Content}"
|
Background="{DynamicResource Table_BG_Content}"
|
||||||
@ -1761,7 +1682,7 @@ TextAlignment="Center"
|
|||||||
TextWrapping="Wrap" />
|
TextWrapping="Wrap" />
|
||||||
</Border>
|
</Border>
|
||||||
<Border
|
<Border
|
||||||
Grid.Row="6"
|
Grid.Row="5"
|
||||||
Grid.Column="2"
|
Grid.Column="2"
|
||||||
Padding="5,1"
|
Padding="5,1"
|
||||||
Background="{DynamicResource Table_BG_Content}"
|
Background="{DynamicResource Table_BG_Content}"
|
||||||
@ -1808,7 +1729,7 @@ TextWrapping="Wrap" />
|
|||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<Border
|
<Border
|
||||||
Grid.Row="7"
|
Grid.Row="6"
|
||||||
Padding="5,1,0,1"
|
Padding="5,1,0,1"
|
||||||
Background="{DynamicResource Table_BG_Title}"
|
Background="{DynamicResource Table_BG_Title}"
|
||||||
BorderBrush="{DynamicResource Table_BD}"
|
BorderBrush="{DynamicResource Table_BD}"
|
||||||
@ -1823,7 +1744,7 @@ TextWrapping="Wrap" />
|
|||||||
TextWrapping="Wrap" />
|
TextWrapping="Wrap" />
|
||||||
</Border>
|
</Border>
|
||||||
<Border
|
<Border
|
||||||
Grid.Row="7"
|
Grid.Row="6"
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Padding="5,1,0,1"
|
Padding="5,1,0,1"
|
||||||
Background="{DynamicResource Table_BG_Content}"
|
Background="{DynamicResource Table_BG_Content}"
|
||||||
@ -1839,7 +1760,7 @@ TextWrapping="Wrap" />
|
|||||||
TextWrapping="Wrap" />
|
TextWrapping="Wrap" />
|
||||||
</Border>
|
</Border>
|
||||||
<Border
|
<Border
|
||||||
Grid.Row="7"
|
Grid.Row="6"
|
||||||
Grid.Column="2"
|
Grid.Column="2"
|
||||||
Padding="5,1"
|
Padding="5,1"
|
||||||
Background="{DynamicResource Table_BG_Content}"
|
Background="{DynamicResource Table_BG_Content}"
|
||||||
|
|||||||
@ -1156,8 +1156,13 @@ namespace SicUI.Models.PMs
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void GetSC()
|
private void GetSC()
|
||||||
|
{
|
||||||
|
var mfc5IsInstalled = QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.MFC.Mfc5.IsInstalled");
|
||||||
|
if (mfc5IsInstalled != null)
|
||||||
{
|
{
|
||||||
Mfc5IsInstalled = (bool)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.MFC.Mfc5.IsInstalled");
|
Mfc5IsInstalled = (bool)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.MFC.Mfc5.IsInstalled");
|
||||||
|
}
|
||||||
|
|
||||||
TMAEnable = (bool)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.TMAEnable");
|
TMAEnable = (bool)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.TMAEnable");
|
||||||
CarbonSource = (string)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.CarbonSource");
|
CarbonSource = (string)QueryDataClient.Instance.Service.GetConfig($"PM.{Module}.CarbonSource");
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user