|
|
@ -215,15 +215,18 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待运动到周转盘取料位上方:
|
|
|
|
case ETurnoverFlowStep.等待运动到周转盘取料位上方:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX,AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX,AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"已运动到周转盘取料位上方";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
if(retakeNum<3)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.到周转盘下方取料位1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.取料异常报警;
|
|
|
|
logInfo = GetClassName() + $"已运动到周转盘取料位上方";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
if (retakeNum < 3)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.到周转盘下方取料位1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.取料异常报警;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -308,6 +311,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
errCode = AxisControl.TurnoverZ.MovePos(targetPos, GlobalVar.WholeSpeed);
|
|
|
|
errCode = AxisControl.TurnoverZ.MovePos(targetPos, GlobalVar.WholeSpeed);
|
|
|
|
if (errCode == Motion.ErrorCode.Ok || GlobalVar.VirtualAxis)
|
|
|
|
if (errCode == Motion.ErrorCode.Ok || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
undealTasks = LoadAndUnloadTask.Instance.GetTurnoverToTestTasks(ETaskDealStatus.Undeal);
|
|
|
|
/*提前打开周转吸嘴真空吸*/
|
|
|
|
/*提前打开周转吸嘴真空吸*/
|
|
|
|
VacManager.TransitNozzleVacSuction(EVacOperator.Open, false,undealTasks.Select(t => t.ToIndex + 1).ToArray());
|
|
|
|
VacManager.TransitNozzleVacSuction(EVacOperator.Open, false,undealTasks.Select(t => t.ToIndex + 1).ToArray());
|
|
|
|
if (GlobalVar.VirtualAxis)
|
|
|
|
if (GlobalVar.VirtualAxis)
|
|
|
@ -353,14 +357,17 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待运动到周转盘下方取料位2:
|
|
|
|
case ETurnoverFlowStep.等待运动到周转盘下方取料位2:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"已运动到周转盘下方取料位2 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverZ))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
undealTasks = LoadAndUnloadTask.Instance.GetTurnoverToTestTasks(ETaskDealStatus.Undeal);
|
|
|
|
logInfo = GetClassName() + $"已运动到周转盘下方取料位2 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}";
|
|
|
|
/*关闭周转盘真空吸*/
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, false, undealTasks.Select(t => t.FromIndex + 1).ToArray());
|
|
|
|
undealTasks = LoadAndUnloadTask.Instance.GetTurnoverToTestTasks(ETaskDealStatus.Undeal);
|
|
|
|
/*打开周转盘真空破*/
|
|
|
|
/*关闭周转盘真空吸*/
|
|
|
|
VacManager.TurnoverTrayVacBreak(EVacOperator.Open, true,undealTasks.Select(t => t.FromIndex + 1).ToArray());
|
|
|
|
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, true, undealTasks.Select(t => t.FromIndex + 1).ToArray());
|
|
|
|
Step = ETurnoverFlowStep.到周转盘取料破真空位;
|
|
|
|
/*打开周转盘真空破*/
|
|
|
|
|
|
|
|
VacManager.TurnoverTrayVacBreak(EVacOperator.Open, true, undealTasks.Select(t => t.FromIndex + 1).ToArray());
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.到周转盘取料破真空位;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.到周转盘取料破真空位:
|
|
|
|
case ETurnoverFlowStep.到周转盘取料破真空位:
|
|
|
@ -420,9 +427,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待周转盘取料完成抬起:
|
|
|
|
case ETurnoverFlowStep.等待周转盘取料完成抬起:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"周转盘取料完成已抬起";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverZ))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.周转盘取料完成真空检测;
|
|
|
|
logInfo = GetClassName() + $"周转盘取料完成已抬起";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.周转盘取料完成真空检测;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.周转盘取料完成真空检测:
|
|
|
|
case ETurnoverFlowStep.周转盘取料完成真空检测:
|
|
|
@ -487,16 +497,19 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待运动到测试放料位上方:
|
|
|
|
case ETurnoverFlowStep.等待运动到测试放料位上方:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX,AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX,AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (turnoverTakeFinishe==false && TurnoverTrayManager.Instance.GetSlots(ETurnoverTraySlotType.WaitTest, ETurnoverTraySlotStatus.Have).Count() == 0)
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
turnoverTakeFinishe = true;
|
|
|
|
if (turnoverTakeFinishe == false && TurnoverTrayManager.Instance.GetSlots(ETurnoverTraySlotType.WaitTest, ETurnoverTraySlotStatus.Have).Count() == 0)
|
|
|
|
string reportStr = LoadAndUnloadTask.Instance.GetTestLoadString();
|
|
|
|
{
|
|
|
|
TestCenter.Instance.Send(reportStr);
|
|
|
|
turnoverTakeFinishe = true;
|
|
|
|
LoadAndUnloadTask.Instance.Clear(1);
|
|
|
|
string reportStr = LoadAndUnloadTask.Instance.GetTestLoadString();
|
|
|
|
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
|
|
|
|
TestCenter.Instance.Send(reportStr);
|
|
|
|
MessageQueue.Instance.Insert("通知中控周转载盘产品已取走,可以继续排料");
|
|
|
|
LoadAndUnloadTask.Instance.Clear(1);
|
|
|
|
|
|
|
|
MachineManage.Instance.SetLoadUnloadStatus(ERunState.Waiting);
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert("通知中控周转载盘产品已取走,可以继续排料");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.测试位上料丢料检测;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Step = ETurnoverFlowStep.测试位上料丢料检测;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.测试位上料丢料检测:
|
|
|
|
case ETurnoverFlowStep.测试位上料丢料检测:
|
|
|
@ -631,7 +644,6 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
}
|
|
|
|
}
|
|
|
|
logInfo =GetClassName()+ $"到测试放料位下方2";
|
|
|
|
logInfo =GetClassName()+ $"到测试放料位下方2";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.等待运动到到测试放料位下方2;
|
|
|
|
Step = ETurnoverFlowStep.等待运动到到测试放料位下方2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
@ -642,18 +654,21 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待运动到到测试放料位下方2:
|
|
|
|
case ETurnoverFlowStep.等待运动到到测试放料位下方2:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//获取需要放料的吸嘴
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverZ))
|
|
|
|
hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
|
|
|
|
{
|
|
|
|
logInfo =GetClassName()+ $"已运动到到测试放料位下方2 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}";
|
|
|
|
//获取需要放料的吸嘴
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
|
|
|
|
/*打开测试穴位真空吸*/
|
|
|
|
logInfo = GetClassName() + $"已运动到到测试放料位下方2 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}";
|
|
|
|
//VacManager.TestTrayVacSuction(EVacOperator.Open, hasProductNozzles.Select(n => n.NozzleIndex).ToArray());
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
/*关闭周转吸头真空吸*/
|
|
|
|
/*打开测试穴位真空吸*/
|
|
|
|
VacManager.TransitNozzleVacSuction(EVacOperator.Close, false,hasProductNozzles.Select(n => n.NozzleIndex).ToArray());
|
|
|
|
//VacManager.TestTrayVacSuction(EVacOperator.Open, hasProductNozzles.Select(n => n.NozzleIndex).ToArray());
|
|
|
|
/*打开周转吸头真空破*/
|
|
|
|
/*关闭周转吸头真空吸*/
|
|
|
|
VacManager.TransitNozzleVacBreak(EVacOperator.Open,true, hasProductNozzles.Select(n => n.NozzleIndex).ToArray());
|
|
|
|
VacManager.TransitNozzleVacSuction(EVacOperator.Close, true, hasProductNozzles.Select(n => n.NozzleIndex).ToArray());
|
|
|
|
|
|
|
|
/*打开周转吸头真空破*/
|
|
|
|
Step = ETurnoverFlowStep.测试位放料完成抬起;
|
|
|
|
VacManager.TransitNozzleVacBreak(EVacOperator.Open, true, hasProductNozzles.Select(n => n.NozzleIndex).ToArray());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.测试位放料完成抬起;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.测试位放料完成抬起:
|
|
|
|
case ETurnoverFlowStep.测试位放料完成抬起:
|
|
|
@ -677,14 +692,17 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待测试位放料完成抬起:
|
|
|
|
case ETurnoverFlowStep.等待测试位放料完成抬起:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//获取需要放料的吸嘴
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverZ))
|
|
|
|
hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
|
|
|
|
{
|
|
|
|
/*关闭周转吸头真空破*/
|
|
|
|
//获取需要放料的吸嘴
|
|
|
|
VacManager.TransitNozzleVacBreak(EVacOperator.Close, false, hasProductNozzles.Select(n => n.NozzleIndex).ToArray());
|
|
|
|
hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
|
|
|
|
|
|
|
|
/*关闭周转吸头真空破*/
|
|
|
|
|
|
|
|
VacManager.TransitNozzleVacBreak(EVacOperator.Close, true, hasProductNozzles.Select(n => n.NozzleIndex).ToArray());
|
|
|
|
|
|
|
|
|
|
|
|
logInfo = GetClassName()+$"测试位放料完成抬起完成";
|
|
|
|
logInfo = GetClassName() + $"测试位放料完成抬起完成";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
Step = ETurnoverFlowStep.测试位放料完成粘料检测;
|
|
|
|
Step = ETurnoverFlowStep.测试位放料完成粘料检测;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.测试位放料完成粘料检测:
|
|
|
|
case ETurnoverFlowStep.测试位放料完成粘料检测:
|
|
|
@ -697,10 +715,14 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
//nozzle.OpenVac();
|
|
|
|
//nozzle.OpenVac();
|
|
|
|
if (nozzle.HasVacSignal() && !GlobalVar.RunSpace)
|
|
|
|
if (nozzle.HasVacSignal() && !GlobalVar.RunSpace)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
logInfo = $"周转{nozzle.NozzleIndex}号吸嘴粘料";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
masticSlots.Add(nozzle.NozzleIndex);
|
|
|
|
masticSlots.Add(nozzle.NozzleIndex);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
logInfo = $"周转{nozzle.NozzleIndex}号吸嘴无粘料";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
nozzle.CloseVac();
|
|
|
|
nozzle.CloseVac();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -880,17 +902,20 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待到测试保压位上方:
|
|
|
|
case ETurnoverFlowStep.等待到测试保压位上方:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(TestTrayManager.Instance.GetSlots(ETestTraySlotStatus.Have).Count>0)
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"已运动到测试保压位上方";
|
|
|
|
if (TestTrayManager.Instance.GetSlots(ETestTraySlotStatus.Have).Count > 0)
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.到测试保压位下方1;
|
|
|
|
logInfo = GetClassName() + $"已运动到测试保压位上方";
|
|
|
|
}
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
else
|
|
|
|
Step = ETurnoverFlowStep.到测试保压位下方1;
|
|
|
|
{
|
|
|
|
}
|
|
|
|
logInfo = GetClassName() + $"检测到测试治具中无产品需要测试";
|
|
|
|
else
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.通知中控开始测试;
|
|
|
|
logInfo = GetClassName() + $"检测到测试治具中无产品需要测试";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.通知中控开始测试;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -946,12 +971,15 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待到测试保压位下方2:
|
|
|
|
case ETurnoverFlowStep.等待到测试保压位下方2:
|
|
|
|
if (Ops.IsStop(AxisControl.PressZ) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.PressZ) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName()+$"已到测试保压位下方2 PressZ at:{Ops.GetCurPosition(AxisAlias.PressZ)}";
|
|
|
|
if(Ops.IsArrived(AxisControl.PressZ))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
/*关闭测试穴位真空吸*/
|
|
|
|
logInfo = GetClassName() + $"已到测试保压位下方2 PressZ at:{Ops.GetCurPosition(AxisAlias.PressZ)}";
|
|
|
|
List<TestTraySlot> willTestSlot = TestTrayManager.Instance.GetSlots(ETestTraySlotStatus.Have);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
VacManager.TestTrayVacSuction(EVacOperator.Close,false, willTestSlot.Select(s => s.Index).ToArray());
|
|
|
|
/*关闭测试穴位真空吸*/
|
|
|
|
Step = ETurnoverFlowStep.通知中控开始测试;
|
|
|
|
List<TestTraySlot> willTestSlot = TestTrayManager.Instance.GetSlots(ETestTraySlotStatus.Have);
|
|
|
|
|
|
|
|
VacManager.TestTrayVacSuction(EVacOperator.Close, false, willTestSlot.Select(s => s.Index).ToArray());
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.通知中控开始测试;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.通知中控开始测试:
|
|
|
|
case ETurnoverFlowStep.通知中控开始测试:
|
|
|
@ -1079,9 +1107,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待测试完成到治具取料位上方:
|
|
|
|
case ETurnoverFlowStep.等待测试完成到治具取料位上方:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"已运动到治具取料位上方 TurnoverY at:{Ops.GetCurPosition(AxisAlias.TurnoverY)}";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.等待任务;
|
|
|
|
logInfo = GetClassName() + $"已运动到治具取料位上方 TurnoverY at:{Ops.GetCurPosition(AxisAlias.TurnoverY)}";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.等待任务;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
//-----------------------------------------------测试位下料---------------------------------------------------------------------------------------------------------
|
|
|
|
//-----------------------------------------------测试位下料---------------------------------------------------------------------------------------------------------
|
|
|
@ -1116,15 +1147,18 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待到测试取料位上方:
|
|
|
|
case ETurnoverFlowStep.等待到测试取料位上方:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"已运动到测试取料位上方 TurnoverY at:{Ops.GetCurPosition(AxisAlias.TurnoverY)}";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
if (retakeNum < 3)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.到测试取料位下方1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.测试治具取料失败报警;
|
|
|
|
logInfo = GetClassName() + $"已运动到测试取料位上方 TurnoverY at:{Ops.GetCurPosition(AxisAlias.TurnoverY)}";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
if (retakeNum < 3)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.到测试取料位下方1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.测试治具取料失败报警;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -1243,17 +1277,20 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待到测试取料位下方2:
|
|
|
|
case ETurnoverFlowStep.等待到测试取料位下方2:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName()+$"已运动到测试取料位下方2 TurnoverZ at:{Ops.GetCurPosition("TurnoverZ")}";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverZ))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
//int[] indexes = TestTrayManager.Instance.GetSlots(ETestTraySlotStatus.Have).Select(s=>s.Index).ToArray();
|
|
|
|
logInfo = GetClassName() + $"已运动到测试取料位下方2 TurnoverZ at:{Ops.GetCurPosition("TurnoverZ")}";
|
|
|
|
undealTasks = LoadAndUnloadTask.Instance.GetTestToTurnoverTasks(ETaskDealStatus.Undeal);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
/*打开周转吸头真空吸*/
|
|
|
|
//int[] indexes = TestTrayManager.Instance.GetSlots(ETestTraySlotStatus.Have).Select(s=>s.Index).ToArray();
|
|
|
|
//VacManager.TransitNozzleVacSuction(EVacOperator.Open, true, indexes);
|
|
|
|
undealTasks = LoadAndUnloadTask.Instance.GetTestToTurnoverTasks(ETaskDealStatus.Undeal);
|
|
|
|
/*关闭测试穴位真空吸*/
|
|
|
|
/*打开周转吸头真空吸*/
|
|
|
|
VacManager.TestTrayVacSuction(EVacOperator.Close,false, undealTasks.Select(t => t.FromIndex + 1).ToArray());
|
|
|
|
//VacManager.TransitNozzleVacSuction(EVacOperator.Open, true, indexes);
|
|
|
|
/*打开测试穴位真空破*/
|
|
|
|
/*关闭测试穴位真空吸*/
|
|
|
|
VacManager.TestTrayVacBreak(EVacOperator.Open,true, undealTasks.Select(t => t.FromIndex + 1).ToArray());
|
|
|
|
VacManager.TestTrayVacSuction(EVacOperator.Close, true, undealTasks.Select(t => t.FromIndex + 1).ToArray());
|
|
|
|
Step = ETurnoverFlowStep.到测试破关真空位;
|
|
|
|
/*打开测试穴位真空破*/
|
|
|
|
|
|
|
|
VacManager.TestTrayVacBreak(EVacOperator.Open, true, undealTasks.Select(t => t.FromIndex + 1).ToArray());
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.到测试破关真空位;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.到测试破关真空位:
|
|
|
|
case ETurnoverFlowStep.到测试破关真空位:
|
|
|
@ -1313,9 +1350,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待测试位取料完成抬起:
|
|
|
|
case ETurnoverFlowStep.等待测试位取料完成抬起:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo =GetClassName()+ $"测试位取料完成已抬起";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverZ))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.测试位取料完成后真空检测;
|
|
|
|
logInfo = GetClassName() + $"测试位取料完成已抬起";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.测试位取料完成后真空检测;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.测试位取料完成后真空检测:
|
|
|
|
case ETurnoverFlowStep.测试位取料完成后真空检测:
|
|
|
@ -1330,6 +1370,8 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
TestTraySlot testSlot = TestTrayManager.Instance.Slot(task.FromIndex + 1);
|
|
|
|
TestTraySlot testSlot = TestTrayManager.Instance.Slot(task.FromIndex + 1);
|
|
|
|
if (Ops.IsOn($"周转{task.FromIndex + 1}号吸嘴真空吸检测") || GlobalVar.VirtualAxis || GlobalVar.RunSpace)
|
|
|
|
if (Ops.IsOn($"周转{task.FromIndex + 1}号吸嘴真空吸检测") || GlobalVar.VirtualAxis || GlobalVar.RunSpace)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
logInfo = $"周转{task.FromIndex + 1}号吸嘴真空吸检测OK";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
testSlot.ClearProduct();
|
|
|
|
testSlot.ClearProduct();
|
|
|
|
task.Dealed = true;
|
|
|
|
task.Dealed = true;
|
|
|
|
TransitNozzleManager.Instance.Nozzle(task.FromIndex + 1).AddProduct(task);
|
|
|
|
TransitNozzleManager.Instance.Nozzle(task.FromIndex + 1).AddProduct(task);
|
|
|
@ -1406,11 +1448,14 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.等待到周转盘放料位上方:
|
|
|
|
case ETurnoverFlowStep.等待到周转盘放料位上方:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"已运动到周转盘放料位上方";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.周转盘放料前丢料检测;
|
|
|
|
logInfo = GetClassName() + $"已运动到周转盘放料位上方";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.周转盘放料前丢料检测;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.周转盘放料前丢料检测:
|
|
|
|
case ETurnoverFlowStep.周转盘放料前丢料检测:
|
|
|
@ -1547,14 +1592,18 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待到周转盘放料位下方2:
|
|
|
|
case ETurnoverFlowStep.等待到周转盘放料位下方2:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"已运动到周转盘放料位下方2";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverZ))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
|
|
|
|
logInfo = GetClassName() + $"已运动到周转盘放料位下方2";
|
|
|
|
/*关闭周转吸头真空吸*/
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
VacManager.TransitNozzleVacSuction( EVacOperator.Close,false,hasProductNozzles.Select(n=>n.FromIndex + 1).ToArray());
|
|
|
|
hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
|
|
|
|
/*打开周转吸头真空破*/
|
|
|
|
/*关闭周转吸头真空吸*/
|
|
|
|
VacManager.TransitNozzleVacBreak(EVacOperator.Open, true, hasProductNozzles.Select(n => n.FromIndex + 1).ToArray());
|
|
|
|
VacManager.TransitNozzleVacSuction(EVacOperator.Close, true, hasProductNozzles.Select(n => n.FromIndex + 1).ToArray());
|
|
|
|
Step = ETurnoverFlowStep.周转盘放料完成抬起1;
|
|
|
|
/*打开周转吸头真空破*/
|
|
|
|
|
|
|
|
VacManager.TransitNozzleVacBreak(EVacOperator.Open, true, hasProductNozzles.Select(n => n.FromIndex + 1).ToArray());
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.周转盘放料完成抬起1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
@ -1615,10 +1664,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待周转盘放料完成抬起2:
|
|
|
|
case ETurnoverFlowStep.等待周转盘放料完成抬起2:
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName() + $"周转盘放料完成已抬起2";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverZ))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.周转盘放料完成粘料检测;
|
|
|
|
logInfo = GetClassName() + $"周转盘放料完成已抬起2";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.周转盘放料完成粘料检测;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.周转盘放料完成粘料检测:
|
|
|
|
case ETurnoverFlowStep.周转盘放料完成粘料检测:
|
|
|
@ -1630,10 +1681,14 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
//nozzle.OpenVac();
|
|
|
|
//nozzle.OpenVac();
|
|
|
|
if (nozzle.HasVacSignal() && !GlobalVar.RunSpace)
|
|
|
|
if (nozzle.HasVacSignal() && !GlobalVar.RunSpace)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
logInfo = $"周转{nozzle.NozzleIndex}号吸嘴粘料";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Warn(logInfo);
|
|
|
|
masticSlots.Add(nozzle.NozzleIndex);
|
|
|
|
masticSlots.Add(nozzle.NozzleIndex);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
logInfo = $"周转{nozzle.NozzleIndex}号吸嘴无粘料";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
nozzle.CloseVac();
|
|
|
|
nozzle.CloseVac();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1849,9 +1904,12 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
case ETurnoverFlowStep.等待到安全位:
|
|
|
|
case ETurnoverFlowStep.等待到安全位:
|
|
|
|
if(Ops.IsStop("TurnoverX","TurnoverY") || GlobalVar.VirtualAxis)
|
|
|
|
if(Ops.IsStop("TurnoverX","TurnoverY") || GlobalVar.VirtualAxis)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
logInfo = GetClassName()+$"已运动到安全位,任务结束";
|
|
|
|
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
{
|
|
|
|
Step = ETurnoverFlowStep.上报中控任务完成;
|
|
|
|
logInfo = GetClassName() + $"已运动到安全位,任务结束";
|
|
|
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
|
|
|
Step = ETurnoverFlowStep.上报中控任务完成;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case ETurnoverFlowStep.上报中控任务完成:
|
|
|
|
case ETurnoverFlowStep.上报中控任务完成:
|
|
|
|