From c9f5abac717283472b851702da4001c8067ac41e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Fri, 14 Mar 2025 06:04:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=8C=E5=96=84=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qyft/ms/app/handler/impl/MatrixSprayStart.java | 47 +++++++++++----------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/qyft/ms/app/handler/impl/MatrixSprayStart.java b/src/main/java/com/qyft/ms/app/handler/impl/MatrixSprayStart.java index 2222585..dc6729f 100644 --- a/src/main/java/com/qyft/ms/app/handler/impl/MatrixSprayStart.java +++ b/src/main/java/com/qyft/ms/app/handler/impl/MatrixSprayStart.java @@ -131,7 +131,7 @@ public class MatrixSprayStart implements CommandHandler { deviceMessageHandler.setLatch(latch); // z轴回原点 if (originZ(emitter, frontCmdId, frontCmdName)) return; - boolean finished = latch.await(10, TimeUnit.SECONDS); + boolean finished = latch.await(5 * 60 , TimeUnit.SECONDS); if (!finished) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.complete(); @@ -141,10 +141,9 @@ public class MatrixSprayStart implements CommandHandler { deviceMessageHandler.setLatch(latch); // x轴回原点 if (originX(emitter, frontCmdId, frontCmdName)) return; - // y轴回原点 if (originY(emitter, frontCmdId, frontCmdName)) return; - finished = latch.await(10, TimeUnit.SECONDS); + finished = latch.await(5 * 60 , TimeUnit.SECONDS); if (!finished) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.complete(); @@ -168,7 +167,7 @@ public class MatrixSprayStart implements CommandHandler { latch = new CountDownLatch(1); deviceMessageHandler.setLatch(latch); if (moveZ(emitter, height, frontCmdId, frontCmdName)) return; - finished = latch.await(10, TimeUnit.SECONDS); + finished = latch.await(5 * 60 , TimeUnit.SECONDS); if (!finished) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.complete(); @@ -207,14 +206,16 @@ public class MatrixSprayStart implements CommandHandler { //移动xy到slide(玻片)的位置 latch = new CountDownLatch(2); deviceMessageHandler.setLatch(latch); + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "xy移动到玻片位置",slide), MediaType.APPLICATION_JSON); if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; - finished = latch.await(10, TimeUnit.SECONDS); + finished = latch.await(5 * 60 , TimeUnit.SECONDS); if (!finished) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.complete(); return; } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "开始按照路径喷涂",slide), MediaType.APPLICATION_JSON); if ("horizontal".equals(matrixPathType)) { //生成路径(从“左上角”往下的水平之字形) String matrixPathType = (String) param.get("matrix_path_type");//喷涂路径类型 horizontal | vertical | grid for (int i = 0; i < times; i++) { double topReal = top; @@ -236,7 +237,7 @@ public class MatrixSprayStart implements CommandHandler { deviceMessageHandler.setLatch(latch); if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; - finished = latch.await(10, TimeUnit.SECONDS); + finished = latch.await(5 * 60 , TimeUnit.SECONDS); if (!finished) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.complete(); @@ -265,7 +266,7 @@ public class MatrixSprayStart implements CommandHandler { deviceMessageHandler.setLatch(latch); if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; - finished = latch.await(10, TimeUnit.SECONDS); + finished = latch.await(5 * 60 , TimeUnit.SECONDS); if (!finished) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.complete(); @@ -297,31 +298,31 @@ public class MatrixSprayStart implements CommandHandler { spacing, PathGenerator.MoveMode.HORIZONTAL_ZIGZAG_TOP_DOWN ); -// if (pathSpray(emitter, frontCmdId, frontCmdName, volume, pathList, movingSpeed)) return;//路径喷涂 + if (pathSpray(emitter, frontCmdId, frontCmdName, volume, pathList, movingSpeed)) return;//路径喷涂 if (i + 1 != times) { //如果不是最后一次,执行完毕后回到玻片原点 log.info("123"); -// latch = new CountDownLatch(2); -// deviceMessageHandler.setLatch(latch); -// if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; -// if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; -// finished = latch.await(10, TimeUnit.SECONDS); -// if (!finished) { -// emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); -// emitter.complete(); -// return; -// } + latch = new CountDownLatch(2); + deviceMessageHandler.setLatch(latch); + if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; + if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; + finished = latch.await(5 * 60 , TimeUnit.SECONDS); + if (!finished) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } } } } - /* //10.关高压电 + //10.关高压电 if (highVoltageClose(emitter, frontCmdId, frontCmdName)) return; //11.回到原点 motorMoveToHome 先 z latch = new CountDownLatch(1); deviceMessageHandler.setLatch(latch); // z轴回原点 if (originZ(emitter, frontCmdId, frontCmdName)) return; - finished = latch.await(10, TimeUnit.SECONDS); + finished = latch.await(5 * 60 , TimeUnit.SECONDS); if (!finished) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.complete(); @@ -334,14 +335,14 @@ public class MatrixSprayStart implements CommandHandler { // y轴回原点 if (originY(emitter, frontCmdId, frontCmdName)) return; - finished = latch.await(10, TimeUnit.SECONDS); + finished = latch.await(5 * 60 , TimeUnit.SECONDS); if (!finished) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.complete(); return; } //12.结束日志 - //TODO写日志*/ + //TODO写日志 emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "指令执行完毕"), MediaType.APPLICATION_JSON); emitter.complete(); } @@ -491,7 +492,7 @@ public class MatrixSprayStart implements CommandHandler { //移动x与y到点位 if (moveX(emitter, p.getX(), frontCmdId, frontCmdName)) return true; if (moveY(emitter, 75.5 - p.getY(), frontCmdId, frontCmdName)) return true; - boolean finished = latch.await(10, TimeUnit.SECONDS); + boolean finished = latch.await(5 * 60 , TimeUnit.SECONDS); if (!finished) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.complete();