|
@@ -1390,7 +1390,7 @@ namespace Venus_RT.Modules
|
|
|
#region Atm System
|
|
|
private void driveAtmSystem()
|
|
|
{
|
|
|
- if(_efemMovingItems.Count == 0)
|
|
|
+ if(_efemMovingItems.Count == 0 && _efemRobot.IsAvailable && _efemRobot.RobotStatus != RState.Running)
|
|
|
{
|
|
|
PumpingEFEMRobotTask();
|
|
|
RuningEFEMRobotTask();
|
|
@@ -1399,9 +1399,6 @@ namespace Venus_RT.Modules
|
|
|
|
|
|
private void PumpingEFEMRobotTask()
|
|
|
{
|
|
|
- if (!_efemRobot.IsAvailable || _efemRobot.RobotStatus == RState.Running)
|
|
|
- return;
|
|
|
-
|
|
|
foreach (var scheduler in _atmSchedulers)
|
|
|
{
|
|
|
if (!scheduler.Value.IsAvailable)
|
|
@@ -1935,7 +1932,7 @@ namespace Venus_RT.Modules
|
|
|
|
|
|
private void RuningEFEMRobotTask()
|
|
|
{
|
|
|
- if (_efemRobot.IsAvailable && _efemMovingItems.Count > 0)
|
|
|
+ if (_efemMovingItems.Count > 0)
|
|
|
{
|
|
|
if (_efemRobot.PostMoveItems(_efemMovingItems.ToArray()))
|
|
|
{
|
|
@@ -1995,16 +1992,16 @@ namespace Venus_RT.Modules
|
|
|
WaferInfo wafer = WaferManager.Instance.GetWafer(align.Key, 0);
|
|
|
if (!wafer.IsEmpty)
|
|
|
{
|
|
|
- string attr = "AlignAngle";
|
|
|
- string angle = string.Empty;
|
|
|
int step = wafer.NextSequenceStep;
|
|
|
- if (!wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepModules.Contains(align.Key))
|
|
|
+ if (step >= wafer.ProcessJob.Sequence.Steps.Count || !wafer.ProcessJob.Sequence.Steps[wafer.NextSequenceStep].StepModules.Contains(align.Key))
|
|
|
{
|
|
|
step = wafer.NextSequenceStep - 1;
|
|
|
}
|
|
|
|
|
|
+ string attr = "AlignAngle";
|
|
|
if (wafer.ProcessJob.Sequence.Steps[step].StepParameter.ContainsKey(attr))
|
|
|
{
|
|
|
+ string angle;
|
|
|
angle = (string)wafer.ProcessJob.Sequence.Steps[step].StepParameter[attr];
|
|
|
if (_efemRobot.Align(float.Parse(angle)))
|
|
|
{
|