屏蔽DI-349报警。

从10号机移植Aligner控制程序。
This commit is contained in:
Liang Su 2023-05-17 18:51:45 +08:00
parent 68fb779ffd
commit 5bcb8e0103
3 changed files with 9 additions and 84 deletions

View File

@ -49,14 +49,7 @@ namespace SicModules.Aligners.Routines
CheckHaveWafer((int)RoutineStep.CheckWafer, 10);
OpenVacuum((int)RoutineStep.OpenVacuum, 3);
//移动到测量中心
AlignerMoveToMeasure((int)RoutineStep.MoveToMeasure, 20);
DoAliger((int)RoutineStep.Aligner, _alignerTimeOut);
CloseVacuum((int)RoutineStep.CloseVacuum, 3);
AlignerMove((int)RoutineStep.Aligner, _alignerTimeOut);
}
catch (RoutineBreakException)
{

View File

@ -184,20 +184,14 @@ namespace SicModules.Aligners.Routines.Base
}
}
//寻边
protected void DoAliger(int id, int timeout)
protected void AlignerMove(int id, int timeout)
{
Tuple<bool, Result> ret = ExecuteAndWait(id, () =>
var ret = ExecuteAndWait(id, () =>
{
Notify($"Alinger");
_alignerDevice.Set("BAL");
Notify($"Align");
_alignerDevice.DoAliger();
return true;
}, () =>
{
return !_alignerDevice.IsBusy;
}, timeout * 1000);
}, () => !_alignerDevice.IsBusy, timeout * 1000);
if (ret.Item1)
{
@ -205,71 +199,9 @@ namespace SicModules.Aligners.Routines.Base
{
throw (new RoutineFaildException());
}
else if (ret.Item2 == Result.TIMEOUT)
else if (ret.Item2 == Result.TIMEOUT) //timeout
{
Stop($"Aligner Alinger Timeout, over {timeout} seconds");
throw (new RoutineFaildException());
}
else
throw (new RoutineBreakException());
}
}
//打开真空
protected void OpenVacuum(int id, int timeout)
{
Tuple<bool, Result> ret = ExecuteAndWait(id, () =>
{
Notify($"Open Vacuum");
_alignerDevice.Set("CVN");
return true;
}, () =>
{
return !_alignerDevice.IsBusy;
}, timeout * 1000);
if (ret.Item1)
{
if (ret.Item2 == Result.FAIL)
{
throw (new RoutineFaildException());
}
else if (ret.Item2 == Result.TIMEOUT)
{
Stop($"Aligner Open Vacuum Timeout, over {timeout} seconds");
throw (new RoutineFaildException());
}
else
throw (new RoutineBreakException());
}
}
//关闭真空
protected void CloseVacuum(int id, int timeout)
{
Tuple<bool, Result> ret = ExecuteAndWait(id, () =>
{
Notify($"Close Vacuum");
_alignerDevice.Set("CVF");
return true;
}, () =>
{
return !_alignerDevice.IsBusy;
}, timeout * 1000);
if (ret.Item1)
{
if (ret.Item2 == Result.FAIL)
{
throw (new RoutineFaildException());
}
else if (ret.Item2 == Result.TIMEOUT)
{
Stop($"Aligner Close Vacuum Timeout, over {timeout} seconds");
Stop($"Aligner Align Timeout, over {timeout} seconds");
throw (new RoutineFaildException());
}
else

View File

@ -415,7 +415,7 @@
<IoSensor id="SensorPSU3dpCommunicationError" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSU3dpCommunicationError" infoText="" warningText="" alarmText="Alarm76 PSU-3 dp Communication Error [DI-332]" />
<IoSensor id="SensorSCRdpCommunicationError" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_SCRdpCommunicationError" infoText="" warningText="" alarmText="Alarm77 SCR dp Communication Error [DI-333]" />
<IoSensor id="SensorChamPressAboveATMSW2" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_ChamPressAboveATMSW2" infoText="" warningText="" alarmText="Alarm98 Chamber Press Above ATM [DI-345]" />
<IoSensor id="SensorEtherCATcomError" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_EtherCATTcomError" infoText="" warningText="" alarmText="Alarm99 EtherCATcomError [DI-349]" />
<IoSensor id="SensorEtherCATcomError" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_EtherCATTcomError" infoText="" warningText="" alarmText="" />
<IoSensor id="SensorHearbeatTimeout" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_HearbeatTimeout" infoText="" warningText="" alarmText="Alarm100 PM Hearbeat Timeout [DI-350]" />
<IoSensor id="SensorMFC01Offline" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_MFC01Offline" infoText="" warningText="" alarmText="Alarm101 MFC01 Offline [DI-351]" />
<IoSensor id="SensorMFC02Offline" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_MFC02Offline" infoText="" warningText="" alarmText="Alarm102 MFC02 Offline [DI-352]" />