优化不能空跑的问题

master
lhiven 1 year ago
parent 08326b2f1d
commit 6ddbaaf621

@ -185,7 +185,7 @@ namespace Rs.MotionPlat.Flow
}
}
curNozzle = NozzleManager.GetIdelNozzle();
if (curTask!=null && curNozzle != null && AxisControl.GetAxis($"NozzleR{curNozzle.NozzleIndex}").HomeStatus == EHomeStatus.Finished)
if (curTask!=null && curNozzle != null)
{
if (XYCanGoLocalArea() || GlobalVar.VirtualAxis)
{
@ -807,7 +807,7 @@ namespace Rs.MotionPlat.Flow
{
imgs = imgs.Reverse().ToArray();
}
if (GlobalVar.RunSpace && GlobalVar.EnableScanBarCodeByDownCamera)
if (GlobalVar.RunSpace)
{
if(GlobalVar.EnableScanBarCodeByDownCamera)
{
@ -1809,7 +1809,17 @@ namespace Rs.MotionPlat.Flow
private void ScanBarCode()
{
SchedulingMessageBox box = new SchedulingMessageBox();
if (LoadAndUnloadTask.Instance.GetUndealedLoadToTurnoverTask().Count == 0 && !GlobalVar.VirtualAxis)
if(GlobalVar.RunSpace)
{
List<TurnoverTraySlot> slots = TurnoverTrayManager.Instance.GetSlots(ETurnoverTraySlotType.WaitTest, ETurnoverTraySlotStatus.Have);
foreach (var slot in slots)
{
LoadAndUnloadTask.Instance.CopyBarcodeToTask(slot.Index - 1, VirtualBarCode.Code);
}
}
else
{
if (LoadAndUnloadTask.Instance.GetUndealedLoadToTurnoverTask().Count == 0)
{
if (GlobalVar.GRR)
{
@ -2013,6 +2023,8 @@ namespace Rs.MotionPlat.Flow
}
}
}
/// <summary>
/// 取料完成后更新吸嘴状态
/// </summary>

@ -200,7 +200,7 @@ namespace Rs.AutoDischarge.V3.Flow
return false;
}
IAxis StockZ = AxisControl.GetAxis($"StockZ{(int)m_stockType}");
if(StockZ.HomeStatus!= EHomeStatus.Finished)
if(StockZ.HomeStatus!= EHomeStatus.Finished && !GlobalVar.VirtualAxis)
{
MsgBox.ShowAxisAlarmDialog(StockZ, ErrorCode.AxisNotHome);
return false;
@ -453,7 +453,7 @@ namespace Rs.AutoDischarge.V3.Flow
return false;
}
IAxis StockZ = AxisControl.GetAxis($"StockZ{(int)m_stockType}");
if (StockZ.HomeStatus != EHomeStatus.Finished)
if (StockZ.HomeStatus != EHomeStatus.Finished && !GlobalVar.VirtualAxis)
{
MsgBox.ShowAxisAlarmDialog(StockZ, ErrorCode.AxisNotHome);
return false;

@ -142,7 +142,7 @@ namespace Rs.MotionPlat.Flow
case ETakeTrayFlowStep.:
if (Ops.IsStop("LoadX", "LoadY") || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.LoadX,AxisControl.LoadY))
if(Ops.IsArrived(AxisControl.LoadX,AxisControl.LoadY) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"已运动到{m_fromTray}料仓取料盘位上方";
MessageQueue.Instance.Insert(logInfo);
@ -312,7 +312,7 @@ namespace Rs.MotionPlat.Flow
case ETakeTrayFlowStep.:
if (Ops.IsStop("LoadX", "LoadY") || GlobalVar.VirtualAxis)
{
if (Ops.IsArrived(AxisControl.LoadX, AxisControl.LoadY))
if (Ops.IsArrived(AxisControl.LoadX, AxisControl.LoadY) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"已运动到{toTray}料仓放料盘上方";
MessageQueue.Instance.Insert(logInfo);
@ -381,7 +381,7 @@ namespace Rs.MotionPlat.Flow
case ETakeTrayFlowStep.:
if(stopwatch.ElapsedMilliseconds<5000)
{
if(Ops.IsOn("夹爪气缸原位"))
if(Ops.IsOn("夹爪气缸原位") || GlobalVar.RunSpace)
{
step = ETakeTrayFlowStep.;
}

@ -238,7 +238,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.:
if (Ops.IsStop(AxisControl.TurnoverX,AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY))
if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"已运动到周转盘取料位上方";
MessageQueue.Instance.Insert(logInfo);
@ -384,7 +384,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.2:
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverZ))
if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"已运动到周转盘下方取料位2 TurnoverZ at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}";
MessageQueue.Instance.Insert(logInfo);
@ -456,7 +456,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.:
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverZ))
if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"周转盘取料完成已抬起";
MessageQueue.Instance.Insert(logInfo);
@ -532,7 +532,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.:
if (Ops.IsStop(AxisControl.TurnoverX,AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
if (turnoverTakeFinishe == false && TurnoverTrayManager.Instance.GetSlots(ETurnoverTraySlotType.WaitTest, ETurnoverTraySlotStatus.Have).Count() == 0)
{
@ -724,7 +724,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.2:
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverZ))
if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
//获取需要放料的吸嘴
hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
@ -771,7 +771,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.1:
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverZ))
if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
//获取需要放料的吸嘴
//hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
@ -805,7 +805,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.2:
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
if (Ops.IsArrived(AxisControl.TurnoverZ))
if (Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
//获取需要放料的吸嘴
//hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
@ -1018,7 +1018,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.:
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
if (TestTrayManager.Instance.GetSlots(ETestTraySlotStatus.Have).Count > 0)
{
@ -1087,7 +1087,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.2:
if (Ops.IsStop(AxisControl.PressZ) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.PressZ))
if(Ops.IsArrived(AxisControl.PressZ) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"已到测试保压位下方2 PressZ at:{Ops.GetCurPosition(AxisAlias.PressZ)}";
MessageQueue.Instance.Insert(logInfo);
@ -1193,7 +1193,7 @@ namespace Rs.MotionPlat.Flow
//AxisControl.PressZ.Get_Target_Position(out double pos);
//double tpos = Ops.GetCurPosition(AxisControl.PressZ);
//AxisControl.PressZ.IsArrived(out bool isArrived);
if (Ops.IsArrived(AxisAlias.PressZ))
if (Ops.IsArrived(AxisAlias.PressZ) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"测试完成已抬起到安全位 PressZ at:{Ops.GetCurPosition(AxisAlias.PressZ)}";
MessageQueue.Instance.Insert(logInfo);
@ -1271,7 +1271,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.:
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"已运动到测试取料位上方 TurnoverY at:{Ops.GetCurPosition(AxisAlias.TurnoverY)}";
MessageQueue.Instance.Insert(logInfo);
@ -1411,7 +1411,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.2:
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverZ))
if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"已运动到测试取料位下方2 TurnoverZ at:{Ops.GetCurPosition("TurnoverZ")}";
MessageQueue.Instance.Insert(logInfo);
@ -1486,7 +1486,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.:
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverZ))
if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"测试位取料完成已抬起";
MessageQueue.Instance.Insert(logInfo);
@ -1599,7 +1599,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.:
if (Ops.IsStop(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverX,AxisControl.TurnoverY))
if(Ops.IsArrived(AxisControl.TurnoverX, AxisControl.TurnoverY) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"已运动到周转盘放料位上方";
MessageQueue.Instance.Insert(logInfo);
@ -1742,7 +1742,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.2:
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverZ))
if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"已运动到周转盘放料位下方2";
MessageQueue.Instance.Insert(logInfo);
@ -1818,7 +1818,7 @@ namespace Rs.MotionPlat.Flow
case ETurnoverFlowStep.2:
if (Ops.IsStop(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
if(Ops.IsArrived(AxisControl.TurnoverZ))
if(Ops.IsArrived(AxisControl.TurnoverZ) || GlobalVar.VirtualAxis)
{
logInfo = GetClassName() + $"周转盘放料完成已抬起2";
MessageQueue.Instance.Insert(logInfo);

Loading…
Cancel
Save