|
|
|
@ -8,6 +8,7 @@ using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
|
|
|
|
namespace Rs.MotionPlat.Flow
|
|
|
|
|
{
|
|
|
|
@ -20,8 +21,10 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
等待命令,
|
|
|
|
|
到周转盘取料位上方,
|
|
|
|
|
等待运动到周转盘取料位上方,
|
|
|
|
|
到周转盘下方取料位,
|
|
|
|
|
等待运动到周转盘下方取料位,
|
|
|
|
|
到周转盘下方取料位1,
|
|
|
|
|
等待运动到周转盘下方取料位1,
|
|
|
|
|
到周转盘下方取料位2,
|
|
|
|
|
等待运动到周转盘下方取料位2,
|
|
|
|
|
到周转盘取料破真空位,
|
|
|
|
|
等待到周转盘取料破真空位,
|
|
|
|
|
周转盘取料完成抬起,
|
|
|
|
@ -41,13 +44,16 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
到测试保压位下方2,
|
|
|
|
|
等待到测试保压位下方2,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
测试完成抬起,
|
|
|
|
|
等待测试完成抬起,
|
|
|
|
|
测试完成抬起到高速位,
|
|
|
|
|
等待测试完成抬起到高速位,
|
|
|
|
|
测试完成抬起安全位,
|
|
|
|
|
等待测试完成抬起安全位,
|
|
|
|
|
到测试取料位上方,
|
|
|
|
|
等待到测试取料位上方,
|
|
|
|
|
到测试取料位下方,
|
|
|
|
|
等待到测试取料位下方,
|
|
|
|
|
到测试取料位下方1,
|
|
|
|
|
等待到测试取料位下方1,
|
|
|
|
|
到测试取料位下方2,
|
|
|
|
|
等待到测试取料位下方2,
|
|
|
|
|
到测试破真空位,
|
|
|
|
|
等待到测试破真空位,
|
|
|
|
|
测试位取料完成抬起,
|
|
|
|
@ -131,7 +137,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
if(pressUnload)//测试位下料
|
|
|
|
|
{
|
|
|
|
|
pressUnload = false;
|
|
|
|
|
Step = ETurnoverFlowStep.测试完成抬起;
|
|
|
|
|
Step = ETurnoverFlowStep.测试完成抬起到高速位;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETurnoverFlowStep.到周转盘取料位上方:
|
|
|
|
@ -155,25 +161,47 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
logInfo = $"已运动到周转盘取料位上方 TurnoverY at:{Ops.GetCurPosition( AxisAlias.TurnoverY)}";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
Step = ETurnoverFlowStep.到周转盘下方取料位;
|
|
|
|
|
Step = ETurnoverFlowStep.到周转盘下方取料位1;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETurnoverFlowStep.到周转盘下方取料位:
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("TurnoverTakeZ");
|
|
|
|
|
case ETurnoverFlowStep.到周转盘下方取料位1:
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("TurnoverTakeZ") + 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)}";
|
|
|
|
|
Step = ETurnoverFlowStep.到周转盘下方取料位2;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETurnoverFlowStep.到周转盘下方取料位2:
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("TurnoverTakeZ");
|
|
|
|
|
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)}";
|
|
|
|
@ -470,7 +498,28 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------测试位下料
|
|
|
|
|
case ETurnoverFlowStep.测试完成抬起:
|
|
|
|
|
case ETurnoverFlowStep.测试完成抬起到高速位:
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("PressZ")+GlobalVar.PressLowSpeedOffset;
|
|
|
|
|
|
|
|
|
|
errCode = AxisControl.PressZ.MovePos(targetPos, GlobalVar.PressLowSpeed);
|
|
|
|
|
if (errCode == Motion.ErrorCode.Ok)
|
|
|
|
|
{
|
|
|
|
|
logInfo = "测试完成准备抬起";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
Step = ETurnoverFlowStep.等待测试完成抬起到高速位;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETurnoverFlowStep.等待测试完成抬起到高速位:
|
|
|
|
|
if (Ops.IsStop(AxisControl.PressZ))
|
|
|
|
|
{
|
|
|
|
|
logInfo = $"测试完成已抬起 PressZ at:{Ops.GetCurPosition(AxisAlias.PressZ)}";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
Step = ETurnoverFlowStep.测试完成抬起安全位;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETurnoverFlowStep.测试完成抬起安全位:
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("PressSafeZ");
|
|
|
|
|
|
|
|
|
|
errCode = AxisControl.PressZ.MovePos(targetPos, GlobalVar.WholeSpeed);
|
|
|
|
@ -479,10 +528,10 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
logInfo = "测试完成准备抬起";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
Step = ETurnoverFlowStep.等待测试完成抬起;
|
|
|
|
|
Step = ETurnoverFlowStep.等待测试完成抬起安全位;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETurnoverFlowStep.等待测试完成抬起:
|
|
|
|
|
case ETurnoverFlowStep.等待测试完成抬起安全位:
|
|
|
|
|
if (Ops.IsStop(AxisControl.PressZ))
|
|
|
|
|
{
|
|
|
|
|
logInfo = $"测试完成已抬起 PressZ at:{Ops.GetCurPosition(AxisAlias.PressZ)}";
|
|
|
|
@ -509,22 +558,40 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
logInfo = $"已运动到测试取料位上方 TurnoverY at:{Ops.GetCurPosition(AxisAlias.TurnoverY)}";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
Step = ETurnoverFlowStep.到测试取料位下方;
|
|
|
|
|
Step = ETurnoverFlowStep.到测试取料位下方1;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETurnoverFlowStep.到测试取料位下方:
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("PressTakeZ");
|
|
|
|
|
case ETurnoverFlowStep.到测试取料位下方1:
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("PressTakeZ") + GlobalVar.PressLowSpeedOffset;
|
|
|
|
|
errCode = AxisControl.TurnoverZ.MovePos(targetPos, GlobalVar.WholeSpeed);
|
|
|
|
|
if (errCode == Motion.ErrorCode.Ok)
|
|
|
|
|
{
|
|
|
|
|
logInfo = $"到测试取料位下方";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
Step = ETurnoverFlowStep.等待到测试取料位下方1;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case ETurnoverFlowStep.等待到测试取料位下方1:
|
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ))
|
|
|
|
|
{
|
|
|
|
|
Step = ETurnoverFlowStep.到测试取料位下方2;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETurnoverFlowStep.到测试取料位下方2:
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("PressTakeZ");
|
|
|
|
|
errCode = AxisControl.TurnoverZ.MovePos(targetPos, GlobalVar.PressLowSpeed);
|
|
|
|
|
if(errCode== Motion.ErrorCode.Ok)
|
|
|
|
|
{
|
|
|
|
|
logInfo = $"到测试取料位下方";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
Step = ETurnoverFlowStep.等待到测试取料位下方;
|
|
|
|
|
Step = ETurnoverFlowStep.等待到测试取料位下方2;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case ETurnoverFlowStep.等待到测试取料位下方:
|
|
|
|
|
case ETurnoverFlowStep.等待到测试取料位下方2:
|
|
|
|
|
if (Ops.IsStop(AxisControl.TurnoverZ))
|
|
|
|
|
{
|
|
|
|
|
logInfo = $"已运动到测试取料位下方 TurnoverZ at:{Ops.GetCurPosition("TurnoverZ")}";
|
|
|
|
@ -550,8 +617,8 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
LogHelper.Debug(logInfo);
|
|
|
|
|
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("PressTakeZ")+1;
|
|
|
|
|
errCode = AxisControl.TurnoverZ.MovePos(targetPos, GlobalVar.WholeSpeed);
|
|
|
|
|
targetPos = SysConfigParam.GetValue<double>("PressTakeZ")+GlobalVar.PressLowSpeedOffset;
|
|
|
|
|
errCode = AxisControl.TurnoverZ.MovePos(targetPos, GlobalVar.PressLowSpeed);
|
|
|
|
|
if (errCode == Motion.ErrorCode.Ok)
|
|
|
|
|
{
|
|
|
|
|
Step = ETurnoverFlowStep.等待到测试破真空位;
|
|
|
|
@ -600,8 +667,16 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
string msg = string.Join(",", ngList.ToArray());
|
|
|
|
|
Msg.ShowError($"吸嘴{msg}真空值未达到,请处理后点击确定");
|
|
|
|
|
Step = ETurnoverFlowStep.到周转盘放料位上方;
|
|
|
|
|
DialogResult dr = Msg.ShowError($"吸嘴{msg}真空值未达到,请处理", MessageBoxButtons.RetryCancel);
|
|
|
|
|
if(dr== DialogResult.Retry)
|
|
|
|
|
{
|
|
|
|
|
Step = ETurnoverFlowStep.到测试取料位上方;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Step = ETurnoverFlowStep.到周转盘放料位上方;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETurnoverFlowStep.到周转盘放料位上方:
|
|
|
|
|