优化一次上下料流程结束后,ZR回原问题

master
lhiven 1 year ago
parent e561e40654
commit 03c02cbe09

@ -139,6 +139,7 @@ namespace Rs.MotionPlat.Flow
|| LoadAndUnloadTask.Instance.GetTaskNum(ETaskType.Unload) > 0 || LoadAndUnloadTask.Instance.GetTaskNum(ETaskType.Unload) > 0
|| LoadAndUnloadTask.Instance.GetTaskNum(ETaskType.Change) > 0) || LoadAndUnloadTask.Instance.GetTaskNum(ETaskType.Change) > 0)
{ {
ZRHomeFlow.Instance.Wait();
StockTrayToTurnoverTray = true; StockTrayToTurnoverTray = true;
logInfo = GetClassName()+$"接收到排料任务"; logInfo = GetClassName()+$"接收到排料任务";
MessageQueue.Instance.Insert(logInfo); MessageQueue.Instance.Insert(logInfo);
@ -1660,26 +1661,27 @@ namespace Rs.MotionPlat.Flow
errCode = AxisControl.LoadX.MovePos(SysConfigParam.GetValue<double>("LoadXStartPos"), GlobalVar.WholeSpeed); errCode = AxisControl.LoadX.MovePos(SysConfigParam.GetValue<double>("LoadXStartPos"), GlobalVar.WholeSpeed);
if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis) if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis)
{ {
AxisControl.NozzleZ1.Home(); //AxisControl.NozzleZ1.Home();
AxisControl.NozzleZ2.Home(); //AxisControl.NozzleZ2.Home();
AxisControl.NozzleZ3.Home(); //AxisControl.NozzleZ3.Home();
AxisControl.NozzleZ4.Home(); //AxisControl.NozzleZ4.Home();
AxisControl.NozzleZ5.Home(); //AxisControl.NozzleZ5.Home();
AxisControl.NozzleZ6.Home(); //AxisControl.NozzleZ6.Home();
AxisControl.NozzleZ7.Home(); //AxisControl.NozzleZ7.Home();
AxisControl.NozzleZ8.Home(); //AxisControl.NozzleZ8.Home();
AxisControl.NozzleR1.Home(); //AxisControl.NozzleR1.Home();
AxisControl.NozzleR2.Home(); //AxisControl.NozzleR2.Home();
AxisControl.NozzleR3.Home(); //AxisControl.NozzleR3.Home();
AxisControl.NozzleR4.Home(); //AxisControl.NozzleR4.Home();
AxisControl.NozzleR5.Home(); //AxisControl.NozzleR5.Home();
AxisControl.NozzleR6.Home(); //AxisControl.NozzleR6.Home();
AxisControl.NozzleR7.Home(); //AxisControl.NozzleR7.Home();
AxisControl.NozzleR8.Home(); //AxisControl.NozzleR8.Home();
errCode = AxisControl.LoadY.MovePos(SysConfigParam.GetValue<double>("LoadYStartPos"), GlobalVar.WholeSpeed); errCode = AxisControl.LoadY.MovePos(SysConfigParam.GetValue<double>("LoadYStartPos"), GlobalVar.WholeSpeed);
if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis) if(errCode== ErrorCode.Ok || GlobalVar.VirtualAxis)
{ {
ZRHomeFlow.Instance.GoHome();
if (GlobalVar.VirtualAxis) if (GlobalVar.VirtualAxis)
{ {
Thread.Sleep(GlobalVar.VirtualAxisMoveTime); Thread.Sleep(GlobalVar.VirtualAxisMoveTime);

@ -32,14 +32,16 @@ namespace Rs.MotionPlat.Flow.SubFlow
return instance; return instance;
} }
} }
private ManualResetEvent homeFinished = new ManualResetEvent(false); private ManualResetEvent homeFinished = new ManualResetEvent(true);
private EZRHomeFlowStep step = EZRHomeFlowStep.StartHome; private EZRHomeFlowStep step = EZRHomeFlowStep.StartHome;
bool finished = false; bool finished = true;
public void GoHome() public void GoHome()
{ {
step = EZRHomeFlowStep.StartHome;
if (finished) if (finished)
{ {
homeFinished.Reset();
finished = false; finished = false;
} }
else else
@ -117,5 +119,10 @@ namespace Rs.MotionPlat.Flow.SubFlow
} }
}); });
} }
public bool Wait()
{
return homeFinished.WaitOne();
}
} }
} }

Loading…
Cancel
Save