From de8a4053fbbd49f92aa39d0c423ec8688c042277 Mon Sep 17 00:00:00 2001 From: lhiven <2366881222@qq.com> Date: Tue, 16 Jan 2024 09:06:33 +0800 Subject: [PATCH] =?UTF-8?q?8=E4=B8=AA=E8=BD=B4=E5=90=8C=E6=97=B6=E5=9B=9E?= =?UTF-8?q?=E5=8E=9F=E6=94=B9=E4=B8=BA=E5=8D=95=E4=B8=AA=E5=9B=9E=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Rs.SkyLine/Flow/SubFlow/ZRHomeFlow.cs | 161 +++++++++++++------------- 1 file changed, 78 insertions(+), 83 deletions(-) diff --git a/Rs.SkyLine/Flow/SubFlow/ZRHomeFlow.cs b/Rs.SkyLine/Flow/SubFlow/ZRHomeFlow.cs index 7c929dd..e14f412 100644 --- a/Rs.SkyLine/Flow/SubFlow/ZRHomeFlow.cs +++ b/Rs.SkyLine/Flow/SubFlow/ZRHomeFlow.cs @@ -32,97 +32,92 @@ namespace Rs.MotionPlat.Flow.SubFlow return instance; } } - private ManualResetEvent homeFinished = new ManualResetEvent(true); private EZRHomeFlowStep step = EZRHomeFlowStep.StartHome; - bool finished = true; + bool finished = false; - public void GoHome() + public void GoHome(int homeIndex) { + finished = false; step = EZRHomeFlowStep.StartHome; - if (finished) + while (!finished) { - homeFinished.Reset(); - finished = false; - } - else - return; - - Task.Run(() => { - while (!finished) + switch (step) { - switch (step) - { - case EZRHomeFlowStep.StartHome: - AxisControl.NozzleZ1.Home(); - AxisControl.NozzleZ2.Home(); - AxisControl.NozzleZ3.Home(); - AxisControl.NozzleZ4.Home(); - AxisControl.NozzleZ5.Home(); - AxisControl.NozzleZ6.Home(); - AxisControl.NozzleZ7.Home(); - AxisControl.NozzleZ8.Home(); + case EZRHomeFlowStep.StartHome: + //获取Z轴 + AxisControl.GetAxis($"NozzleZ{homeIndex}").Home(); + AxisControl.GetAxis($"NozzleR{homeIndex}").Home(); + //AxisControl.NozzleZ1.Home(); + //AxisControl.NozzleZ2.Home(); + //AxisControl.NozzleZ3.Home(); + //AxisControl.NozzleZ4.Home(); + //AxisControl.NozzleZ5.Home(); + //AxisControl.NozzleZ6.Home(); + //AxisControl.NozzleZ7.Home(); + //AxisControl.NozzleZ8.Home(); - AxisControl.NozzleR1.Home(); - AxisControl.NozzleR2.Home(); - AxisControl.NozzleR3.Home(); - AxisControl.NozzleR4.Home(); - AxisControl.NozzleR5.Home(); - AxisControl.NozzleR6.Home(); - AxisControl.NozzleR7.Home(); - AxisControl.NozzleR8.Home(); - step = EZRHomeFlowStep.WaitHomed; - break; - case EZRHomeFlowStep.WaitHomed: - if(AxisControl.NozzleZ1.HomeStatus== EHomeStatus.Finished - && AxisControl.NozzleZ2.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleZ3.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleZ4.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleZ5.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleZ6.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleZ7.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleZ8.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleR1.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleR2.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleR3.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleR4.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleR5.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleR6.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleR7.HomeStatus == EHomeStatus.Finished - && AxisControl.NozzleR8.HomeStatus == EHomeStatus.Finished) - { - step = EZRHomeFlowStep.GoStartPos; - } - break; - case EZRHomeFlowStep.GoStartPos: - for(int i=1;i<9;i++) - { - double targetPos = SysConfigParam.GetValue($"NozzleR{i}StartPos"); - AxisControl.GetAxis($"NozzleR{i}").MovePos(targetPos, GlobalVar.WholeSpeed); - } - step = EZRHomeFlowStep.WaitArrivedStartPos; - break; - case EZRHomeFlowStep.WaitArrivedStartPos: - if(Ops.IsStop("NozzleR1") - && Ops.IsStop("NozzleR2") - && Ops.IsStop("NozzleR3") - && Ops.IsStop("NozzleR4") - && Ops.IsStop("NozzleR5") - && Ops.IsStop("NozzleR6") - && Ops.IsStop("NozzleR7") - && Ops.IsStop("NozzleR8")) - { - finished = true; - homeFinished.Set(); - } - break; - } + //AxisControl.NozzleR1.Home(); + //AxisControl.NozzleR2.Home(); + //AxisControl.NozzleR3.Home(); + //AxisControl.NozzleR4.Home(); + //AxisControl.NozzleR5.Home(); + //AxisControl.NozzleR6.Home(); + //AxisControl.NozzleR7.Home(); + //AxisControl.NozzleR8.Home(); + step = EZRHomeFlowStep.WaitHomed; + Thread.Sleep(1000); + break; + case EZRHomeFlowStep.WaitHomed: + //if(AxisControl.NozzleZ1.HomeStatus== EHomeStatus.Finished + // && AxisControl.NozzleZ2.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleZ3.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleZ4.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleZ5.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleZ6.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleZ7.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleZ8.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleR1.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleR2.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleR3.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleR4.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleR5.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleR6.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleR7.HomeStatus == EHomeStatus.Finished + // && AxisControl.NozzleR8.HomeStatus == EHomeStatus.Finished) + if (AxisControl.GetAxis($"NozzleZ{homeIndex}").HomeStatus == EHomeStatus.Finished + && AxisControl.GetAxis($"NozzleR{homeIndex}").HomeStatus == EHomeStatus.Finished) + { + step = EZRHomeFlowStep.GoStartPos; + } + break; + case EZRHomeFlowStep.GoStartPos: + //for(int i=1;i<9;i++) + //{ + // double targetPos = SysConfigParam.GetValue($"NozzleR{i}StartPos"); + // AxisControl.GetAxis($"NozzleR{i}").MovePos(targetPos, GlobalVar.WholeSpeed); + //} + double targetPos = SysConfigParam.GetValue($"NozzleR{homeIndex}StartPos"); + AxisControl.GetAxis($"NozzleR{homeIndex}").MovePos(targetPos, GlobalVar.WholeSpeed); + step = EZRHomeFlowStep.WaitArrivedStartPos; + Thread.Sleep(100); + break; + case EZRHomeFlowStep.WaitArrivedStartPos: + //if(Ops.IsStop("NozzleR1") + // && Ops.IsStop("NozzleR2") + // && Ops.IsStop("NozzleR3") + // && Ops.IsStop("NozzleR4") + // && Ops.IsStop("NozzleR5") + // && Ops.IsStop("NozzleR6") + // && Ops.IsStop("NozzleR7") + // && Ops.IsStop("NozzleR8")) + if (Ops.IsStop($"NozzleR{homeIndex}")) + { + finished = true; + } + break; } - }); - } - - public bool Wait() - { - return homeFinished.WaitOne(); + Thread.Sleep(10); + } } } }