优化空跑逻辑

优化分BIN功能
master
lhiven 11 months ago
parent bcca9f21e8
commit 971f70a8ed

@ -117,7 +117,7 @@ namespace Rs.MotionPlat.Entitys
public ProductLocationResult GetResultBySlotIndex(int slotIndex) public ProductLocationResult GetResultBySlotIndex(int slotIndex)
{ {
return _Items.Where(i => i.SlotIndex == slotIndex).First(); return _Items.Where(i => i.SlotIndex == slotIndex).FirstOrDefault();
} }

@ -162,22 +162,22 @@ namespace Rs.MotionPlat.Flow
//{ //{
// StockManager.OpenTray(i); // StockManager.OpenTray(i);
//} //}
while (true) //while (true)
{ //{
if (Ops.IsOn($"满料{i}对射光电")) // if (Ops.IsOn($"满料{i}对射光电"))
{ // {
Msgbox.ShowDialog(AlarmCollection.Get(AlarmConstID.).Transform(i), EButtonType.Ok); // Msgbox.ShowDialog(AlarmCollection.Get(AlarmConstID.料仓有料报警).Transform(i), EButtonType.Ok);
//打开料仓jia'ci // //打开料仓jia'ci
Ops.Off($"料仓夹磁气缸{i}夹"); // Ops.Off($"料仓夹磁气缸{i}夹");
Ops.On($"料仓夹磁气缸{i}开"); // Ops.On($"料仓夹磁气缸{i}开");
Thread.Sleep(200); // Thread.Sleep(200);
Msgbox.ShowDialog(AlarmCollection.Get(AlarmConstID.).Transform(i), EButtonType.Ok); // Msgbox.ShowDialog(AlarmCollection.Get(AlarmConstID.取走顶层料盘报警).Transform(i), EButtonType.Ok);
} // }
else // else
{ // {
break; // break;
} // }
} //}
while (true) while (true)
{ {

@ -283,9 +283,16 @@ namespace Rs.MotionPlat.Flow
} }
break; break;
case EDischargeFlowStep.: case EDischargeFlowStep.:
ProductLocationFlow.Instance.Grab( ETrayType.Input, takeSlotIndex); if(GlobalVar.RunSpace)
{
flowStep = EDischargeFlowStep.;
productLocationResult = OneGrabSixteenManager.Instance.GetResults();
}
else
{
ProductLocationFlow.Instance.Grab(ETrayType.Input, takeSlotIndex);
productLocationResult = OneGrabSixteenManager.Instance.GetResults(); productLocationResult = OneGrabSixteenManager.Instance.GetResults();
if(productLocationResult != null) if (productLocationResult != null)
{ {
//foreach (ProductLocationResult item in results) //foreach (ProductLocationResult item in results)
//{ //{
@ -341,12 +348,14 @@ namespace Rs.MotionPlat.Flow
//对结果进行处理 //对结果进行处理
flowStep = EDischargeFlowStep.; flowStep = EDischargeFlowStep.;
} }
}
break; break;
case EDischargeFlowStep.: case EDischargeFlowStep.:
ProductLocationResult ret = productLocationResult.Where(r => r.SlotIndex == takeSlotIndex).First(); ProductLocationResult ret = productLocationResult.Where(r => r.SlotIndex == takeSlotIndex).FirstOrDefault();
if(ret != null || GlobalVar.RunSpace) if(ret != null || GlobalVar.RunSpace)
{ {
if(ret.Result== EOneGrabSixteenResult.Ok || GlobalVar.RunSpace) if((ret!= null && ret.Result== EOneGrabSixteenResult.Ok) || GlobalVar.RunSpace)
{ {
StockTakeFlow.Instance.Take( ETrayType.Input, takeSlotIndex, NozzleManager.GetIdelNozzle().NozzleIndex); StockTakeFlow.Instance.Take( ETrayType.Input, takeSlotIndex, NozzleManager.GetIdelNozzle().NozzleIndex);
takeSlotIndex++; takeSlotIndex++;

@ -139,9 +139,12 @@ namespace Rs.MotionPlat.Flow.SubFlow
if (curNozzle != null) if (curNozzle != null)
{ {
targetPosition = NozzleManager.GetNozzleToFixturePos(curFixture.Index, curNozzle.NozzleIndex); targetPosition = NozzleManager.GetNozzleToFixturePos(curFixture.Index, curNozzle.NozzleIndex);
if(!GlobalVar.RunSpace)
{
targetPosition.X += vr.OffsetX; targetPosition.X += vr.OffsetX;
targetPosition.Y2 += vr.OffsetY; targetPosition.Y2 += vr.OffsetY;
MessageQueue.Instance.Insert($"相机偏移X:{vr.OffsetX},相机偏移y:{vr.OffsetY}"); MessageQueue.Instance.Insert($"相机偏移X:{vr.OffsetX},相机偏移y:{vr.OffsetY}");
}
if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed))
{ {
AxisPosPrint.PrintXY1Y2TargetPos($"到治具{curFixture.Index}放料位上方", targetPosition, GetClassName()); AxisPosPrint.PrintXY1Y2TargetPos($"到治具{curFixture.Index}放料位上方", targetPosition, GetClassName());

@ -95,12 +95,15 @@ namespace Rs.MotionPlat.Flow.SubFlow
} }
targetPosition = NozzleManager.GetToTraySlot(trayType, waitTakeProductSlot.Index, curNozzle.NozzleIndex); targetPosition = NozzleManager.GetToTraySlot(trayType, waitTakeProductSlot.Index, curNozzle.NozzleIndex);
ProductLocationResult result = OneGrabSixteenManager.Instance.GetResultBySlotIndex(waitTakeProductSlot.Index); ProductLocationResult result = OneGrabSixteenManager.Instance.GetResultBySlotIndex(waitTakeProductSlot.Index);
if (result!=null) if (result!=null || GlobalVar.RunSpace)
{
if(!GlobalVar.RunSpace)
{ {
MessageQueue.Instance.Insert($"拍照偏移量 x:{result.OffsetX},y:{result.OffsetY}"); MessageQueue.Instance.Insert($"拍照偏移量 x:{result.OffsetX},y:{result.OffsetY}");
targetPosition.X += result.OffsetX; targetPosition.X += result.OffsetX;
targetPosition.Y2 += result.OffsetY; targetPosition.Y2 += result.OffsetY;
} }
}
if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed))
{ {
AxisPosPrint.PrintXY1Y2TargetPos($"到料仓{waitTakeProductSlot.Index}号穴位取料位上方,", targetPosition, GetClassName()); AxisPosPrint.PrintXY1Y2TargetPos($"到料仓{waitTakeProductSlot.Index}号穴位取料位上方,", targetPosition, GetClassName());

Loading…
Cancel
Save