优化不能空跑的问题

master
lhiven 1 year ago
parent 08326b2f1d
commit 6ddbaaf621

@ -185,7 +185,7 @@ namespace Rs.MotionPlat.Flow
} }
} }
curNozzle = NozzleManager.GetIdelNozzle(); 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) if (XYCanGoLocalArea() || GlobalVar.VirtualAxis)
{ {
@ -807,7 +807,7 @@ namespace Rs.MotionPlat.Flow
{ {
imgs = imgs.Reverse().ToArray(); imgs = imgs.Reverse().ToArray();
} }
if (GlobalVar.RunSpace && GlobalVar.EnableScanBarCodeByDownCamera) if (GlobalVar.RunSpace)
{ {
if(GlobalVar.EnableScanBarCodeByDownCamera) if(GlobalVar.EnableScanBarCodeByDownCamera)
{ {
@ -1809,7 +1809,17 @@ namespace Rs.MotionPlat.Flow
private void ScanBarCode() private void ScanBarCode()
{ {
SchedulingMessageBox box = new SchedulingMessageBox(); 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) if (GlobalVar.GRR)
{ {
@ -2013,6 +2023,8 @@ namespace Rs.MotionPlat.Flow
} }
} }
}
/// <summary> /// <summary>
/// 取料完成后更新吸嘴状态 /// 取料完成后更新吸嘴状态
/// </summary> /// </summary>

@ -200,7 +200,7 @@ namespace Rs.AutoDischarge.V3.Flow
return false; return false;
} }
IAxis StockZ = AxisControl.GetAxis($"StockZ{(int)m_stockType}"); 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); MsgBox.ShowAxisAlarmDialog(StockZ, ErrorCode.AxisNotHome);
return false; return false;
@ -453,7 +453,7 @@ namespace Rs.AutoDischarge.V3.Flow
return false; return false;
} }
IAxis StockZ = AxisControl.GetAxis($"StockZ{(int)m_stockType}"); 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); MsgBox.ShowAxisAlarmDialog(StockZ, ErrorCode.AxisNotHome);
return false; return false;

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

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

Loading…
Cancel
Save