diff --git a/Rs.SkyLine/Flow/TurnoverFlow.cs b/Rs.SkyLine/Flow/TurnoverFlow.cs index 5a02a3e..128ab0d 100644 --- a/Rs.SkyLine/Flow/TurnoverFlow.cs +++ b/Rs.SkyLine/Flow/TurnoverFlow.cs @@ -32,8 +32,10 @@ namespace Rs.MotionPlat.Flow 周转盘取料完成真空检测, 到测试放料位上方, 等待运动到测试放料位上方, - 到测试放料位下方, - 等待运动到到测试放料位下方, + 到测试放料位下方1, + 等待运动到到测试放料位下方1, + 到测试放料位下方2, + 等待运动到到测试放料位下方2, 测试位放料完成抬起, 等待测试位放料完成抬起, 测试位放料完成真空检测, @@ -61,8 +63,10 @@ namespace Rs.MotionPlat.Flow 测试位取料完成后真空检测, 到周转盘放料位上方, 等待到周转盘放料位上方, - 到周转盘放料位下方, - 等待到周转盘放料位下方, + 到周转盘放料位下方1, + 等待到周转盘放料位下方1, + 到周转盘放料位下方2, + 等待到周转盘放料位下方2, 周转盘放料完成后真空检测, 周转盘放料完成抬起, 等待周转盘放料完成抬起, @@ -323,25 +327,49 @@ namespace Rs.MotionPlat.Flow logInfo = $"已运动到测试放料位上方"; MessageQueue.Instance.Insert(logInfo); LogHelper.Debug(logInfo); - Step = ETurnoverFlowStep.到测试放料位下方; + Step = ETurnoverFlowStep.到测试放料位下方1; } break; - case ETurnoverFlowStep.到测试放料位下方: - targetPos = SysConfigParam.GetValue("PressDumpZ"); + case ETurnoverFlowStep.到测试放料位下方1: + targetPos = SysConfigParam.GetValue("PressDumpZ")+GlobalVar.PressLowSpeedOffset; errCode = AxisControl.TurnoverZ.MovePos(targetPos, GlobalVar.WholeSpeed); if(errCode== Motion.ErrorCode.Ok) { logInfo = $"到测试放料位下方"; MessageQueue.Instance.Insert(logInfo); LogHelper.Debug(logInfo); - Step = ETurnoverFlowStep.等待运动到到测试放料位下方; + Step = ETurnoverFlowStep.等待运动到到测试放料位下方1; + } + else + { + Msg.ShowError($"轴TurnoverZ运动异常 ret:{errCode}"); + } + break; + case ETurnoverFlowStep.等待运动到到测试放料位下方1: + if (Ops.IsStop(AxisControl.TurnoverZ)) + { + logInfo = $"已运动到到测试放料位下方 at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}"; + MessageQueue.Instance.Insert(logInfo); + LogHelper.Debug(logInfo); + Step = ETurnoverFlowStep.到测试放料位下方2; + } + break; + case ETurnoverFlowStep.到测试放料位下方2: + targetPos = SysConfigParam.GetValue("PressDumpZ"); + errCode = AxisControl.TurnoverZ.MovePos(targetPos, GlobalVar.PressLowSpeed); + if (errCode == Motion.ErrorCode.Ok) + { + logInfo = $"到测试放料位下方"; + MessageQueue.Instance.Insert(logInfo); + LogHelper.Debug(logInfo); + Step = ETurnoverFlowStep.等待运动到到测试放料位下方2; } else { Msg.ShowError($"轴TurnoverZ运动异常 ret:{errCode}"); } break; - case ETurnoverFlowStep.等待运动到到测试放料位下方: + case ETurnoverFlowStep.等待运动到到测试放料位下方2: if (Ops.IsStop(AxisControl.TurnoverZ)) { logInfo = $"已运动到到测试放料位下方 at:{Ops.GetCurPosition(AxisAlias.TurnoverZ)}"; @@ -697,27 +725,49 @@ namespace Rs.MotionPlat.Flow logInfo = $"已运动到周转盘放料位上方"; MessageQueue.Instance.Insert(logInfo); LogHelper.Debug(logInfo); - Step = ETurnoverFlowStep.到周转盘放料位下方; + Step = ETurnoverFlowStep.到周转盘放料位下方1; } break; - case ETurnoverFlowStep.到周转盘放料位下方: + case ETurnoverFlowStep.到周转盘放料位下方1: //targetPos = SysConfigParam.GetValue("TurnoverDumpZ"); - targetPos = SysConfigParam.GetValue("TurnoverTakeZ"); + targetPos = SysConfigParam.GetValue("TurnoverTakeZ") + GlobalVar.PressLowSpeedOffset; errCode = AxisControl.TurnoverZ.MovePos(targetPos+1, GlobalVar.WholeSpeed); if(errCode== Motion.ErrorCode.Ok) { - logInfo = $"到周转盘放料位下方"; + logInfo = $"到周转盘放料位下方1"; MessageQueue.Instance.Insert(logInfo); LogHelper.Debug(logInfo); - Step = ETurnoverFlowStep.等待到周转盘放料位下方; + Step = ETurnoverFlowStep.等待到周转盘放料位下方1; } break; - case ETurnoverFlowStep.等待到周转盘放料位下方: + case ETurnoverFlowStep.等待到周转盘放料位下方1: if (Ops.IsStop(AxisControl.TurnoverZ)) { - logInfo = $"已运动到周转盘放料位下方"; + logInfo = $"已运动到周转盘放料位下方1"; MessageQueue.Instance.Insert(logInfo); LogHelper.Debug(logInfo); + Step = ETurnoverFlowStep.到周转盘放料位下方2; + } + break; + + case ETurnoverFlowStep.到周转盘放料位下方2: + //targetPos = SysConfigParam.GetValue("TurnoverDumpZ"); + targetPos = SysConfigParam.GetValue("TurnoverTakeZ"); + errCode = AxisControl.TurnoverZ.MovePos(targetPos + 1, GlobalVar.PressLowSpeed); + if (errCode == Motion.ErrorCode.Ok) + { + logInfo = $"到周转盘放料位下方2"; + MessageQueue.Instance.Insert(logInfo); + LogHelper.Debug(logInfo); + Step = ETurnoverFlowStep.等待到周转盘放料位下方2; + } + break; + case ETurnoverFlowStep.等待到周转盘放料位下方2: + if (Ops.IsStop(AxisControl.TurnoverZ)) + { + logInfo = $"已运动到周转盘放料位下方2"; + MessageQueue.Instance.Insert(logInfo); + LogHelper.Debug(logInfo); //打开周转盘真空吸 foreach (var slot in slots) { @@ -744,7 +794,7 @@ namespace Rs.MotionPlat.Flow Step = ETurnoverFlowStep.周转盘放料完成抬起; } break; - + case ETurnoverFlowStep.周转盘放料完成抬起: targetPos = SysConfigParam.GetValue("TurnoverSafeZ"); errCode = AxisControl.TurnoverZ.MovePos(targetPos, GlobalVar.WholeSpeed);