diff --git a/Rs.DeweyTester/Commom/GroupAxisMove.cs b/Rs.DeweyTester/Commom/GroupAxisMove.cs index b7d7318..c6f2ecd 100644 --- a/Rs.DeweyTester/Commom/GroupAxisMove.cs +++ b/Rs.DeweyTester/Commom/GroupAxisMove.cs @@ -2,6 +2,7 @@ using Rs.Motion; using Rs.MotionPlat.Entitys; using Rs.MotionPlat.Flow; +using Rs.MotionPlat.Flow.SafePosFlow; using System; using System.Collections.Generic; using System.Linq; @@ -11,9 +12,34 @@ using System.Threading.Tasks; namespace Rs.MotionPlat.Commom { + public enum EGoWhichSide + { + /// + /// 料仓 + /// + StockSide, + /// + /// 治具 + /// + FixtureSide + } + public class GroupAxisMove { - public static bool XY1Y2MovePos(TargetPosition pos,int speed) + public static bool XY1Y2MovePos(TargetPosition pos,int speed, EGoWhichSide side) + { + if(side== EGoWhichSide.StockSide) + { + DischargeModuleGoSafePosFlow.Instance.MoveXToSafe(); + } + else if(side== EGoWhichSide.FixtureSide) + { + DischargeModuleGoSafePosFlow.Instance.MoveY1ToFixtureSide(pos.X); + } + return XY1Y2MovePos(pos,speed); + } + + public static bool XY1Y2MovePos(TargetPosition pos, int speed) { AlarmEntity alarmEntity = new AlarmEntity(); ErrorCode errCode = AxisControl.LoadX.MovePos(pos.X, speed); diff --git a/Rs.DeweyTester/Flow/NormalFlow/CalibrationFlow.cs b/Rs.DeweyTester/Flow/NormalFlow/CalibrationFlow.cs index a593c11..3fea813 100644 --- a/Rs.DeweyTester/Flow/NormalFlow/CalibrationFlow.cs +++ b/Rs.DeweyTester/Flow/NormalFlow/CalibrationFlow.cs @@ -161,7 +161,7 @@ namespace Rs.MotionPlat.Flow.NormalFlow targetPos.X = GlobalVar.TakeInkpadX; targetPos.Y1 = GlobalVar.StockSideY1; targetPos.Y2 = GlobalVar.TakeInkpadY2; - if(GroupAxisMove.XY1Y2MovePos(targetPos,GlobalVar.WholeSpeed)) + if(GroupAxisMove.XY1Y2MovePos(targetPos,GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { nozzleIndex = 1; AxisPosPrint.PrintXY1Y2TargetPos("到取印尼位上方,", targetPos, GetClassName()); @@ -251,7 +251,7 @@ namespace Rs.MotionPlat.Flow.NormalFlow targetPos.X = GlobalVar.PressInkpadX + (calibNum - 1) * 10; targetPos.Y1 = GlobalVar.StockSideY1; targetPos.Y2 = GlobalVar.PressInkpadY2; - if(GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed)) + if(GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到压印尼位上方,", targetPos, GetClassName()); step = ECalibrationFlowStep.等待到压印尼位上方; @@ -328,7 +328,7 @@ namespace Rs.MotionPlat.Flow.NormalFlow targetPos.X = GlobalVar.PressInkpadX + ((calibNum - 1) * xspace) + (-1 * (GlobalVar.Nozzle1ToCameraCenterOffsetX+ NozzleManager.GetNozzleOffsetX(nozzleIndex))); targetPos.Y1 = GlobalVar.StockSideY1; targetPos.Y2 = GlobalVar.PressInkpadY2 + (-1 * (GlobalVar.Nozzle1ToCameraCenterOffsetY2 + NozzleManager.GetNozzleOffsetY2(nozzleIndex))); - if(GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed)) + if(GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到拍照位,", targetPos, GetClassName()); step = ECalibrationFlowStep.等待到拍照位; @@ -492,7 +492,7 @@ namespace Rs.MotionPlat.Flow.NormalFlow targetPos.X = GlobalVar.PressInkpadX + ((calibNum - 1) * xspace) + (-1 * (GlobalVar.Nozzle1ToCameraCenterOffsetX + NozzleManager.GetNozzleOffsetX(nozzleIndex))); targetPos.Y1 = GlobalVar.StockSideY1; targetPos.Y2 = GlobalVar.PressInkpadY2 + (-1 * (GlobalVar.Nozzle1ToCameraCenterOffsetY2 + NozzleManager.GetNozzleOffsetY2(nozzleIndex))); - if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed)) + if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到拍照位,", targetPos, GetClassName()); checkStep = ECalibrationCheckFlowStep.等待到拍照位; diff --git a/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs b/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs index 57717bc..8ff8676 100644 --- a/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs +++ b/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs @@ -160,9 +160,21 @@ namespace Rs.MotionPlat.Flow { //lastFixtureIndex = TestFixtureManager.Instance.GetEnableFixtureList().Select(f => f.Index).Min() - 1; CreateCheckFixtureQueue(6); + if(checkFixtureList!=null && checkFixtureList.Count>0) { - TestFixtureManager.Instance.GetTestFixture(checkFixtureList[0]).IsFirstFixture = true; + for(int i=0;i50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); - } - if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //if (targetPosition.X-GlobalVar.FixtureSafePosX>50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); + //} + if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到治具放料缓冲位,", targetPosition, GetClassName()); flowStep = EDischargeFlowStep.等待到治具取料等待位; @@ -696,11 +708,11 @@ namespace Rs.MotionPlat.Flow else { //料盘放满了,更换料盘 - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if (curLoadX - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if (curLoadX - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} DischargeModuleGoSafePosFlow.Instance.GoSafePostion(); TakeTrayFlow.Instance.Take(ETrayType.Empty, ETrayType.Ok, true, true); GlobalTray.OkTary.ChangeStatus(ESlotStatus.NotHave); @@ -764,12 +776,12 @@ namespace Rs.MotionPlat.Flow { if(TestFixtureManager.Instance.GetHaveProductFixtureList().Count()==0) { - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if (curLoadX - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.Stock); + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if (curLoadX - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} + DischargeModuleGoSafePosFlow.Instance.GoSafePostion(); flowStep = EDischargeFlowStep.工作完成收料; } else diff --git a/Rs.DeweyTester/Flow/NormalFlow/GrrFlow.cs b/Rs.DeweyTester/Flow/NormalFlow/GrrFlow.cs index 5f29ef0..21f0cdc 100644 --- a/Rs.DeweyTester/Flow/NormalFlow/GrrFlow.cs +++ b/Rs.DeweyTester/Flow/NormalFlow/GrrFlow.cs @@ -213,12 +213,12 @@ namespace Rs.MotionPlat.Flow targetPosition.X = curTakeSlotPoint.X; targetPosition.Y1 = GlobalVar.StockSideY1; targetPosition.Y2 = curTakeSlotPoint.Y; - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if(curLoadX-GlobalVar.FixtureSafePosX>50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } - if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if(curLoadX-GlobalVar.FixtureSafePosX>50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} + if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("轴loadx,loady1,loady2已停止运动,", targetPosition, GetClassName()); flowStep = EGrrFlowStep.等待到料仓拍照位上方; @@ -283,7 +283,7 @@ namespace Rs.MotionPlat.Flow { targetPosition.X += vProductResult.OffsetX; targetPosition.Y2+= vProductResult.OffsetY; - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到料仓取料位上方,", targetPosition, GetClassName()); flowStep = EGrrFlowStep.等待到料仓取料位上方; @@ -412,11 +412,11 @@ namespace Rs.MotionPlat.Flow targetPosition = NozzleManager.GetNozzleToFixturePos(curFixture.Index, curTakeNozzle.NozzleIndex); targetPosition.X += curFixture.PlaceProductOffsetX; targetPosition.Y2+= curFixture.PlaceProductOffsetY; - if(targetPosition.X-GlobalVar.FixtureSafePosX>50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); - } - if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //if(targetPosition.X-GlobalVar.FixtureSafePosX>50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); + //} + if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到治具取料位上方,", targetPosition, GetClassName()); flowStep = EGrrFlowStep.等待到治具取料位上方; @@ -573,11 +573,11 @@ namespace Rs.MotionPlat.Flow if(curFixture!=null) { targetPosition = curFixture.GetGrabPos(); - if(targetPosition.X-GlobalVar.FixtureSafePosX>50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); - } - if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //if(targetPosition.X-GlobalVar.FixtureSafePosX>50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); + //} + if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到治具拍照位,",targetPosition, GetClassName()); flowStep = EGrrFlowStep.等待到治具拍照位; @@ -633,7 +633,7 @@ namespace Rs.MotionPlat.Flow targetPosition.X += vResult.OffsetX; targetPosition.Y2 += vResult.OffsetY; MessageQueue.Instance.Insert($"相机偏移X:{vResult.OffsetX},相机偏移y:{vResult.OffsetY}"); - if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到治具放料位上方,", targetPosition, GetClassName()); flowStep = EGrrFlowStep.等待到治具放料位上方; @@ -765,13 +765,13 @@ namespace Rs.MotionPlat.Flow curDumpSlot = GlobalTray.GrrTray.GetSlot(curDumpNozzle.Product.FromSlotIndex); if (curDumpSlot != null) { - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if(curLoadX-GlobalVar.FixtureSafePosX>50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if(curLoadX-GlobalVar.FixtureSafePosX>50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} targetPosition = NozzleManager.GetToTraySlot(ETrayType.Grr, curDumpSlot.Index, curDumpNozzle.NozzleIndex); - if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + if(GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到料仓放料位上方,", targetPosition, GetClassName()); flowStep = EGrrFlowStep.等待到料仓放料位上方; diff --git a/Rs.DeweyTester/Flow/NormalFlow/ThreePointLocationFlow.cs b/Rs.DeweyTester/Flow/NormalFlow/ThreePointLocationFlow.cs index 577de54..64b91e6 100644 --- a/Rs.DeweyTester/Flow/NormalFlow/ThreePointLocationFlow.cs +++ b/Rs.DeweyTester/Flow/NormalFlow/ThreePointLocationFlow.cs @@ -81,7 +81,7 @@ namespace Rs.MotionPlat.Flow.NormalFlow targetPos.X = sp.X; targetPos.Y1 = GlobalVar.StockSideY1; targetPos.Y2 = sp.Y; - if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed)) + if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到拍照位,", targetPos, GetClassName()); step = EThreePointLocationFlowStep.等待到拍照位; diff --git a/Rs.DeweyTester/Flow/SafePosFlow/DischargeModuleGoSafePosFlow.cs b/Rs.DeweyTester/Flow/SafePosFlow/DischargeModuleGoSafePosFlow.cs index 615fc5f..02f1e4c 100644 --- a/Rs.DeweyTester/Flow/SafePosFlow/DischargeModuleGoSafePosFlow.cs +++ b/Rs.DeweyTester/Flow/SafePosFlow/DischargeModuleGoSafePosFlow.cs @@ -12,21 +12,21 @@ using System.Threading.Tasks; namespace Rs.MotionPlat.Flow.SafePosFlow { - public enum ESafePosSide - { - /// - /// 料仓侧安全位 - /// - Stock, - /// - /// 放料到料仓时,X先移动到安全位 - /// - PlaceToStock, - /// - /// 放疗到治具时,Y1先移动到料仓侧 - /// - PlaceToFixture, - } + //public enum ESafePosSide + //{ + // /// + // /// 料仓侧安全位 + // /// + // Stock, + // /// + // /// 放料到料仓时,X先移动到安全位 + // /// + // PlaceToStock, + // /// + // /// 放疗到治具时,Y1先移动到料仓侧 + // /// + // PlaceToFixture, + //} public enum EDischargeModuleGoSafePosFlowStep { 到安全位, @@ -60,7 +60,7 @@ namespace Rs.MotionPlat.Flow.SafePosFlow /// /// 排料头回安全位 /// - public void GoSafePostion(ESafePosSide side = ESafePosSide.Stock) + public void GoSafePostion() { if (finished) { @@ -82,25 +82,28 @@ namespace Rs.MotionPlat.Flow.SafePosFlow switch (step) { case EDischargeModuleGoSafePosFlowStep.到安全位: - if(side== ESafePosSide.Stock) - { - targetPos.X = GlobalVar.DischargeSafePostionX; - targetPos.Y1 = GlobalVar.StockSideY1; - targetPos.Y2 = GlobalVar.DischargeSafePostionY2; - } - else if(side== ESafePosSide.PlaceToStock) - { - targetPos.X = GlobalVar.FixtureSafePosX; - targetPos.Y1 = Ops.GetCurPosition(AxisControl.LoadY1); - targetPos.Y2 = Ops.GetCurPosition(AxisControl.LoadY2); - } - else if(side== ESafePosSide.PlaceToFixture) - { - targetPos.X = Ops.GetCurPosition(AxisControl.LoadX); - targetPos.Y1 = GlobalVar.FixtureSideY1; - targetPos.Y2 = Ops.GetCurPosition(AxisControl.LoadY2); - } - if(GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed)) + //if(side== ESafePosSide.Stock) + //{ + // targetPos.X = GlobalVar.DischargeSafePostionX; + // targetPos.Y1 = GlobalVar.StockSideY1; + // targetPos.Y2 = GlobalVar.DischargeSafePostionY2; + //} + //else if(side== ESafePosSide.PlaceToStock) + //{ + // targetPos.X = GlobalVar.FixtureSafePosX; + // targetPos.Y1 = Ops.GetCurPosition(AxisControl.LoadY1); + // targetPos.Y2 = Ops.GetCurPosition(AxisControl.LoadY2); + //} + //else if(side== ESafePosSide.PlaceToFixture) + //{ + // targetPos.X = Ops.GetCurPosition(AxisControl.LoadX); + // targetPos.Y1 = GlobalVar.FixtureSideY1; + // targetPos.Y2 = Ops.GetCurPosition(AxisControl.LoadY2); + //} + targetPos.X = GlobalVar.DischargeSafePostionX; + targetPos.Y1 = GlobalVar.StockSideY1; + targetPos.Y2 = GlobalVar.DischargeSafePostionY2; + if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到安全位,", targetPos, GetClassName()); //logInfo = GetClassName() + $"到安全位,tx:{targetPos.X},ty1:{targetPos.Y1},ty2:{targetPos.Y2}"; @@ -140,8 +143,9 @@ namespace Rs.MotionPlat.Flow.SafePosFlow //判断Y1当前在治具还是在料仓,只有在治具侧才需要把X先移动到安全位 double curLoadY1 = Ops.GetCurPosition(AxisControl.LoadY1); double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if(Math.Abs(curLoadY1-GlobalVar.FixtureSideY1)>1 && (curLoadX-GlobalVar.FixtureSafePosX>50)) + if(NearByFixture() && (curLoadX-GlobalVar.FixtureSafePosX>50)) { + MessageQueue.Instance.Insert(GetClassName()+$"当前X:{curLoadX}大于治具侧安全位:{GlobalVar.FixtureSafePosX},并且Y1在治具侧Y1:{curLoadY1},准备先把X移动到安全位"); while (true && !arrivedSafePos) { switch (moveXStep) @@ -152,7 +156,7 @@ namespace Rs.MotionPlat.Flow.SafePosFlow targetPos.Y2 = Ops.GetCurPosition(AxisControl.LoadY2); if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed)) { - AxisPosPrint.PrintXY1Y2TargetPos("到安全位,", targetPos, GetClassName()); + AxisPosPrint.PrintXY1Y2TargetPos("移动X到治具安全位,", targetPos, GetClassName()); if (GlobalVar.VirtualAxis) { Thread.Sleep(GlobalVar.VirtualAxisMoveTime); @@ -163,7 +167,7 @@ namespace Rs.MotionPlat.Flow.SafePosFlow case EDischargeModuleGoSafePosFlowStep.等待运动到安全位: if (Ops.IsStop("LoadX", "LoadY1", "LoadY2") || GlobalVar.VirtualAxis) { - AxisPosPrint.PrintXY1Y2CurrentPos("已运动到安全位,", GetClassName()); + AxisPosPrint.PrintXY1Y2CurrentPos("X已运动到治具安全位,", GetClassName()); arrivedSafePos = true; } break; @@ -184,9 +188,9 @@ namespace Rs.MotionPlat.Flow.SafePosFlow EDischargeModuleGoSafePosFlowStep moveY1Step = EDischargeModuleGoSafePosFlowStep.到安全位; //判断Y1当前在治具还是在料仓,只有在料仓侧才需要把Y1先移动治具那边 double curLoadY1 = Ops.GetCurPosition(AxisControl.LoadY1); - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if (Math.Abs(curLoadY1 - GlobalVar.StockSideY1) > 1 && (targetLoadX - GlobalVar.FixtureSafePosX > 50)) + if (NearByStock() && (targetLoadX - GlobalVar.FixtureSafePosX > 50)) { + MessageQueue.Instance.Insert(GetClassName()+$"当前Y1在料仓侧Y1:{curLoadY1},准备运动到治具侧"); while (true && !arrivedSafePos) { switch (moveY1Step) @@ -197,7 +201,7 @@ namespace Rs.MotionPlat.Flow.SafePosFlow targetPos.Y2 = Ops.GetCurPosition(AxisControl.LoadY2); if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed)) { - AxisPosPrint.PrintXY1Y2TargetPos("到安全位,", targetPos, GetClassName()); + AxisPosPrint.PrintXY1Y2TargetPos("移动Y1到治具侧,", targetPos, GetClassName()); if (GlobalVar.VirtualAxis) { Thread.Sleep(GlobalVar.VirtualAxisMoveTime); @@ -208,7 +212,7 @@ namespace Rs.MotionPlat.Flow.SafePosFlow case EDischargeModuleGoSafePosFlowStep.等待运动到安全位: if (Ops.IsStop("LoadX", "LoadY1", "LoadY2") || GlobalVar.VirtualAxis) { - AxisPosPrint.PrintXY1Y2CurrentPos("已运动到安全位,", GetClassName()); + AxisPosPrint.PrintXY1Y2CurrentPos("Y1已运动治具侧,", GetClassName()); arrivedSafePos = true; } break; @@ -220,6 +224,26 @@ namespace Rs.MotionPlat.Flow.SafePosFlow } } + /// + /// Y1是否在料仓侧 + /// + /// + private bool NearByStock() + { + double curLoadY1 = Ops.GetCurPosition(AxisControl.LoadY1); + return Math.Abs(curLoadY1 - GlobalVar.StockSideY1) < 10; + } + + /// + /// Y1是否在治具侧 + /// + /// + private bool NearByFixture() + { + double curLoadY1 = Ops.GetCurPosition(AxisControl.LoadY1); + return Math.Abs(curLoadY1 - GlobalVar.FixtureSideY1) < 10; + } + /// /// 判断是否在安全位 /// diff --git a/Rs.DeweyTester/Flow/SubFlow/FiveProductTestFlow.cs b/Rs.DeweyTester/Flow/SubFlow/FiveProductTestFlow.cs index 387c799..e3d856e 100644 --- a/Rs.DeweyTester/Flow/SubFlow/FiveProductTestFlow.cs +++ b/Rs.DeweyTester/Flow/SubFlow/FiveProductTestFlow.cs @@ -163,12 +163,12 @@ namespace Rs.MotionPlat.Flow.SubFlow targetPosition.X = curTakeSlotPoint.X; targetPosition.Y1 = GlobalVar.StockSideY1; targetPosition.Y2 = curTakeSlotPoint.Y; - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if (curLoadX - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if (curLoadX - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("轴loadx,loady1,loady2已停止运动,", targetPosition, GetClassName()); flowStep = EFiveProductTestFlowStep.等待到料仓拍照位上方; @@ -234,7 +234,7 @@ namespace Rs.MotionPlat.Flow.SubFlow { targetPosition.X += vProductResult.OffsetX + offsetX; targetPosition.Y2 += vProductResult.OffsetY + offsetY; - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到料仓取料位上方,", targetPosition, GetClassName()); flowStep = EFiveProductTestFlowStep.等待到料仓取料位上方; @@ -337,13 +337,13 @@ namespace Rs.MotionPlat.Flow.SubFlow curDumpSlot = GlobalTray.OkTary.GetSlot(ESlotStatus.NotHave); if (curDumpSlot != null) { - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if (curLoadX - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if (curLoadX - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} targetPosition = NozzleManager.GetToTraySlot(ETrayType.Ok, curDumpSlot.Index, curDumpNozzle.NozzleIndex); - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到料仓放料位上方,", targetPosition, GetClassName()); flowStep = EFiveProductTestFlowStep.等待到料仓放料位上方; @@ -420,7 +420,7 @@ namespace Rs.MotionPlat.Flow.SubFlow } else { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.Stock); + DischargeModuleGoSafePosFlow.Instance.GoSafePostion(); stop = true; } } diff --git a/Rs.DeweyTester/Flow/SubFlow/FixedGrabProductFlow.cs b/Rs.DeweyTester/Flow/SubFlow/FixedGrabProductFlow.cs index 7ad4ebd..4c91a77 100644 --- a/Rs.DeweyTester/Flow/SubFlow/FixedGrabProductFlow.cs +++ b/Rs.DeweyTester/Flow/SubFlow/FixedGrabProductFlow.cs @@ -3,6 +3,7 @@ using Rs.Framework; using Rs.MotionPlat.Commom; using Rs.MotionPlat.Entitys; using Rs.MotionPlat.Flow.Common; +using Rs.MotionPlat.Flow.SafePosFlow; using Rs.MotionPlat.Vision; using System; using System.Collections.Generic; @@ -93,7 +94,8 @@ namespace Rs.MotionPlat.Flow.SubFlow targetPosition.X = grabPoint.X; targetPosition.Y1 = GlobalVar.StockSideY1; targetPosition.Y2 = grabPoint.Y; - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + DischargeModuleGoSafePosFlow.Instance.MoveXToSafe(); + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到拍照位上方,", targetPosition, GetClassName()); step = EFixedGrabProductFlowStep.等待运动到拍照位上方; diff --git a/Rs.DeweyTester/Flow/SubFlow/FixturePlaceFlow.cs b/Rs.DeweyTester/Flow/SubFlow/FixturePlaceFlow.cs index 1e44410..5659cda 100644 --- a/Rs.DeweyTester/Flow/SubFlow/FixturePlaceFlow.cs +++ b/Rs.DeweyTester/Flow/SubFlow/FixturePlaceFlow.cs @@ -83,11 +83,12 @@ namespace Rs.MotionPlat.Flow.SubFlow break; case EFixturePlaceFlowStep.到治具拍照位: targetPosition = curFixture.GetGrabPos(); - if(targetPosition.X-GlobalVar.FixtureSafePosX>50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); - } - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //if(targetPosition.X-GlobalVar.FixtureSafePosX>50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); + //} + //DischargeModuleGoSafePosFlow.Instance.MoveY1ToFixtureSide(targetPosition.X); + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide)) { AxisPosPrint.PrintXY1Y2TargetPos($"到治具{curFixture.Index}拍照位,", targetPosition, GetClassName()); flowStep = EFixturePlaceFlowStep.等待到治具拍照位; @@ -145,17 +146,17 @@ namespace Rs.MotionPlat.Flow.SubFlow if (curNozzle != null) { targetPosition = NozzleManager.GetNozzleToFixturePos(curFixture.Index, curNozzle.NozzleIndex); - if (targetPosition.X - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); - } + //if (targetPosition.X - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); + //} if (!GlobalVar.RunSpace) { targetPosition.X += vr.OffsetX; targetPosition.Y2 += vr.OffsetY; MessageQueue.Instance.Insert($"相机偏移X:{vr.OffsetX},相机偏移y:{vr.OffsetY}"); } - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide)) { AxisPosPrint.PrintXY1Y2TargetPos($"到治具{curFixture.Index}放料位上方", targetPosition, GetClassName()); flowStep = EFixturePlaceFlowStep.等待到治具放料位上方; diff --git a/Rs.DeweyTester/Flow/SubFlow/FixtureTakeFlow.cs b/Rs.DeweyTester/Flow/SubFlow/FixtureTakeFlow.cs index cfd588c..a4cdd8f 100644 --- a/Rs.DeweyTester/Flow/SubFlow/FixtureTakeFlow.cs +++ b/Rs.DeweyTester/Flow/SubFlow/FixtureTakeFlow.cs @@ -95,11 +95,11 @@ namespace Rs.MotionPlat.Flow.SubFlow targetPosition = NozzleManager.GetNozzleToFixturePos(curFixture.Index, curNozzle.NozzleIndex); targetPosition.X += curFixture.PlaceProductOffsetX; targetPosition.Y2 += curFixture.PlaceProductOffsetY; - if (targetPosition.X - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); - } - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //if (targetPosition.X - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); + //} + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide)) { AxisPosPrint.PrintXY1Y2TargetPos($"到治具{curFixture.Index}取料位上方", targetPosition, GetClassName()); flowStep = EFixtureTakeFlowStep.等待到治具取料位上方; diff --git a/Rs.DeweyTester/Flow/SubFlow/ProductLocationFlow.cs b/Rs.DeweyTester/Flow/SubFlow/ProductLocationFlow.cs index 9e212af..9815ee2 100644 --- a/Rs.DeweyTester/Flow/SubFlow/ProductLocationFlow.cs +++ b/Rs.DeweyTester/Flow/SubFlow/ProductLocationFlow.cs @@ -83,12 +83,12 @@ namespace Rs.MotionPlat.Flow.SubFlow targetPosition.X = sp.X; targetPosition.Y1 = GlobalVar.StockSideY1; targetPosition.Y2 = sp.Y - 30; - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if(curLoadX-GlobalVar.FixtureSafePosX>50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } - if (GroupAxisMove.XY1Y2MovePos(targetPosition,GlobalVar.WholeSpeed)) + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if(curLoadX-GlobalVar.FixtureSafePosX>50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} + if (GroupAxisMove.XY1Y2MovePos(targetPosition,GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到料仓拍照位上方", targetPosition, GetClassName()); flowStep = EProductLocationFlowStep.等待到料仓拍照起始位; @@ -132,7 +132,7 @@ namespace Rs.MotionPlat.Flow.SubFlow targetPosition.X = sp.X; targetPosition.Y1 = GlobalVar.StockSideY1; targetPosition.Y2 = sp.Y + 2; - if (GroupAxisMove.XY1Y2MovePos(targetPosition,GlobalVar.FlyCameraSpeed)) + if (GroupAxisMove.XY1Y2MovePos(targetPosition,GlobalVar.FlyCameraSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到料仓拍照结束位,", targetPosition, GetClassName()); flowStep = EProductLocationFlowStep.等待到料仓拍照结束位; diff --git a/Rs.DeweyTester/Flow/SubFlow/StockPlaceFlow.cs b/Rs.DeweyTester/Flow/SubFlow/StockPlaceFlow.cs index 7cdf90b..b012386 100644 --- a/Rs.DeweyTester/Flow/SubFlow/StockPlaceFlow.cs +++ b/Rs.DeweyTester/Flow/SubFlow/StockPlaceFlow.cs @@ -128,12 +128,12 @@ namespace Rs.MotionPlat.Flow.SubFlow targetPosition.X = sp.X; targetPosition.Y1 = GlobalVar.StockSideY1; targetPosition.Y2 = sp.Y; - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if (curLoadX - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if (curLoadX - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到料仓拍照位上方,", targetPosition, GetClassName()); flowStep = EStockPlaceFlowStep.等待到料仓拍照位上方; @@ -180,12 +180,12 @@ namespace Rs.MotionPlat.Flow.SubFlow targetPosition = NozzleManager.GetToTraySlot(trayType, curPlaceSlot.Index, curNozzle.NozzleIndex); targetPosition.X += slotOffsetX; targetPosition.Y2+= slotOffsetY; - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if (curLoadX - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if (curLoadX - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos("到料仓放料位上方,", targetPosition, GetClassName()); flowStep = EStockPlaceFlowStep.等待到料仓放料位上方; diff --git a/Rs.DeweyTester/Flow/SubFlow/StockTakeFlow.cs b/Rs.DeweyTester/Flow/SubFlow/StockTakeFlow.cs index 4095d53..ae62971 100644 --- a/Rs.DeweyTester/Flow/SubFlow/StockTakeFlow.cs +++ b/Rs.DeweyTester/Flow/SubFlow/StockTakeFlow.cs @@ -111,12 +111,12 @@ namespace Rs.MotionPlat.Flow.SubFlow targetPosition.X += locaResult.OffsetX; targetPosition.Y2 += locaResult.OffsetY; } - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if (curLoadX - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } - if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed)) + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if (curLoadX - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} + if (GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.StockSide)) { AxisPosPrint.PrintXY1Y2TargetPos($"{WhatNozzleIndex()}到料仓{WhatTraySlot()}取料位上方,", targetPosition, GetClassName()); flowStep = EStockTakeFlowStep.等待到料仓取料位上方; diff --git a/Rs.DeweyTester/Recipe/StockTrayLocationRecipe.cs b/Rs.DeweyTester/Recipe/StockTrayLocationRecipe.cs index a219761..27580e7 100644 --- a/Rs.DeweyTester/Recipe/StockTrayLocationRecipe.cs +++ b/Rs.DeweyTester/Recipe/StockTrayLocationRecipe.cs @@ -205,29 +205,35 @@ namespace Rs.MotionPlat.Recipe DialogResult dr = Msg.ShowQuestion($"Are you sure to move loadx to {targetX},loady to {targetY}?"); if(dr== DialogResult.OK) { - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if(curLoadX-GlobalVar.FixtureSafePosX>50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } - Motion.ErrorCode errCode = AxisControl.GetAxis("LoadX").MovePos(targetX,4); - if (errCode > Motion.ErrorCode.Ok) - { - Msg.ShowError($"axis loadx move fail,ret={errCode}"); - return; - } - errCode = AxisControl.GetAxis("LoadY1").MovePos(GlobalVar.StockSideY1, 4); - if (errCode > Motion.ErrorCode.Ok) - { - Msg.ShowError($"axis loady1 move fail,ret={errCode}"); - return; - } - errCode = AxisControl.GetAxis("LoadY2").MovePos(targetY,4); - if (errCode > Motion.ErrorCode.Ok) - { - Msg.ShowError($"axis loady2 move fail,ret={errCode}"); - return; - } + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if(curLoadX-GlobalVar.FixtureSafePosX>50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} + + TargetPosition targetPos = new TargetPosition(); + targetPos.X = targetX; + targetPos.Y1 = GlobalVar.StockSideY1; + targetPos.Y2 = targetY; + GroupAxisMove.XY1Y2MovePos(targetPos, 4); + //Motion.ErrorCode errCode = AxisControl.GetAxis("LoadX").MovePos(targetX,4); + //if (errCode > Motion.ErrorCode.Ok) + //{ + // Msg.ShowError($"axis loadx move fail,ret={errCode}"); + // return; + //} + //errCode = AxisControl.GetAxis("LoadY1").MovePos(GlobalVar.StockSideY1, 4); + //if (errCode > Motion.ErrorCode.Ok) + //{ + // Msg.ShowError($"axis loady1 move fail,ret={errCode}"); + // return; + //} + //errCode = AxisControl.GetAxis("LoadY2").MovePos(targetY,4); + //if (errCode > Motion.ErrorCode.Ok) + //{ + // Msg.ShowError($"axis loady2 move fail,ret={errCode}"); + // return; + //} if (subMenu.Text.IndexOf("TakeProduct") >= 0) { TakeProduct(selectedSlot.Index, nozzleIndex); diff --git a/Rs.DeweyTester/SysConfig/FixtureConfig.cs b/Rs.DeweyTester/SysConfig/FixtureConfig.cs index 4f9a842..35e94ba 100644 --- a/Rs.DeweyTester/SysConfig/FixtureConfig.cs +++ b/Rs.DeweyTester/SysConfig/FixtureConfig.cs @@ -34,11 +34,11 @@ namespace Rs.MotionPlat.SysConfig { targetPosition = NozzleManager.GetNozzleToFixturePos(fixtureIndex, nozzleIndex); EButtonType btnType = Msgbox.ShowTipDialog(EButtonType.Ok | EButtonType.Cancel, $"Are you sure to move loadx:{targetPosition.X},loady1:{targetPosition.Y1},loady2:{targetPosition.Y2}"); - if (targetPosition.X - GlobalVar.FixtureSafePosX > 20) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); - } - GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed); + //if (targetPosition.X - GlobalVar.FixtureSafePosX > 20) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToFixture); + //} + GroupAxisMove.XY1Y2MovePos(targetPosition, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide); } } @@ -145,11 +145,11 @@ namespace Rs.MotionPlat.SysConfig nozzleIndex = 4; Task.Run(() => { FixtureTakeFlow.Instance.Take(int.Parse(((Button)sender).Tag.ToString()), nozzleIndex,true); - double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if (curLoadX - GlobalVar.FixtureSafePosX > 50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } + //double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); + //if (curLoadX - GlobalVar.FixtureSafePosX > 50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} DischargeModuleGoSafePosFlow.Instance.GoSafePostion(); }); } @@ -168,10 +168,10 @@ namespace Rs.MotionPlat.SysConfig Task.Run(() => { FixturePlaceFlow.Instance.Place(int.Parse(((Button)sender).Tag.ToString()), nozzleIndex,true); double curLoadX = Ops.GetCurPosition(AxisControl.LoadX); - if(curLoadX-GlobalVar.FixtureSafePosX>50) - { - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); - } + //if(curLoadX-GlobalVar.FixtureSafePosX>50) + //{ + // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock); + //} DischargeModuleGoSafePosFlow.Instance.GoSafePostion(); }); } diff --git a/Rs.DeweyTester/TestFrm.cs b/Rs.DeweyTester/TestFrm.cs index 5e1043e..6d0b531 100644 --- a/Rs.DeweyTester/TestFrm.cs +++ b/Rs.DeweyTester/TestFrm.cs @@ -127,7 +127,7 @@ namespace Rs.MotionPlat targetPos.Y1 = GlobalVar.FixtureSideY1; targetPos.Y2 = -329.256; } - if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed)) + if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide)) { step++; } @@ -142,7 +142,7 @@ namespace Rs.MotionPlat targetPos.X = GlobalVar.Fixture5GrabImageX; targetPos.Y1 = GlobalVar.FixtureSideY1; targetPos.Y2 = GlobalVar.Fixture5GrabImageY2; - if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed)) + if (GroupAxisMove.XY1Y2MovePos(targetPos, GlobalVar.WholeSpeed, EGoWhichSide.FixtureSide)) { step++; } @@ -301,7 +301,7 @@ namespace Rs.MotionPlat for (int i = 1; i < 6; i++) { StockTakeFlow.Instance.Take(ETrayType.Input, i, 1); - DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.Stock); + DischargeModuleGoSafePosFlow.Instance.GoSafePostion(); StockPlaceFlow.Instance.Place(ETrayType.Input, i, 1); } }