Browse Source

feat:完善业务指令

master
白凤吉 5 months ago
parent
commit
c9f5abac71
  1. 47
      src/main/java/com/qyft/ms/app/handler/impl/MatrixSprayStart.java

47
src/main/java/com/qyft/ms/app/handler/impl/MatrixSprayStart.java

@ -131,7 +131,7 @@ public class MatrixSprayStart implements CommandHandler {
deviceMessageHandler.setLatch(latch); deviceMessageHandler.setLatch(latch);
// z轴回原点 // z轴回原点
if (originZ(emitter, frontCmdId, frontCmdName)) return; if (originZ(emitter, frontCmdId, frontCmdName)) return;
boolean finished = latch.await(10, TimeUnit.SECONDS);
boolean finished = latch.await(5 * 60 , TimeUnit.SECONDS);
if (!finished) { if (!finished) {
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();
@ -141,10 +141,9 @@ public class MatrixSprayStart implements CommandHandler {
deviceMessageHandler.setLatch(latch); deviceMessageHandler.setLatch(latch);
// x轴回原点 // x轴回原点
if (originX(emitter, frontCmdId, frontCmdName)) return; if (originX(emitter, frontCmdId, frontCmdName)) return;
// y轴回原点 // y轴回原点
if (originY(emitter, frontCmdId, frontCmdName)) return; if (originY(emitter, frontCmdId, frontCmdName)) return;
finished = latch.await(10, TimeUnit.SECONDS);
finished = latch.await(5 * 60 , TimeUnit.SECONDS);
if (!finished) { if (!finished) {
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();
@ -168,7 +167,7 @@ public class MatrixSprayStart implements CommandHandler {
latch = new CountDownLatch(1); latch = new CountDownLatch(1);
deviceMessageHandler.setLatch(latch); deviceMessageHandler.setLatch(latch);
if (moveZ(emitter, height, frontCmdId, frontCmdName)) return; if (moveZ(emitter, height, frontCmdId, frontCmdName)) return;
finished = latch.await(10, TimeUnit.SECONDS);
finished = latch.await(5 * 60 , TimeUnit.SECONDS);
if (!finished) { if (!finished) {
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();
@ -207,14 +206,16 @@ public class MatrixSprayStart implements CommandHandler {
//移动xy到slide玻片的位置 //移动xy到slide玻片的位置
latch = new CountDownLatch(2); latch = new CountDownLatch(2);
deviceMessageHandler.setLatch(latch); 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 (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return;
if (moveY(emitter, slide[1], 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) { if (!finished) {
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();
return; 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 if ("horizontal".equals(matrixPathType)) { //生成路径左上角往下的水平之字形 String matrixPathType = (String) param.get("matrix_path_type");//喷涂路径类型 horizontal | vertical | grid
for (int i = 0; i < times; i++) { for (int i = 0; i < times; i++) {
double topReal = top; double topReal = top;
@ -236,7 +237,7 @@ public class MatrixSprayStart implements CommandHandler {
deviceMessageHandler.setLatch(latch); deviceMessageHandler.setLatch(latch);
if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return;
if (moveY(emitter, slide[1], 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) { if (!finished) {
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();
@ -265,7 +266,7 @@ public class MatrixSprayStart implements CommandHandler {
deviceMessageHandler.setLatch(latch); deviceMessageHandler.setLatch(latch);
if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return;
if (moveY(emitter, slide[1], 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) { if (!finished) {
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();
@ -297,31 +298,31 @@ public class MatrixSprayStart implements CommandHandler {
spacing, spacing,
PathGenerator.MoveMode.HORIZONTAL_ZIGZAG_TOP_DOWN 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) { //如果不是最后一次执行完毕后回到玻片原点 if (i + 1 != times) { //如果不是最后一次执行完毕后回到玻片原点
log.info("123"); 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; if (highVoltageClose(emitter, frontCmdId, frontCmdName)) return;
//11.回到原点 motorMoveToHome z //11.回到原点 motorMoveToHome z
latch = new CountDownLatch(1); latch = new CountDownLatch(1);
deviceMessageHandler.setLatch(latch); deviceMessageHandler.setLatch(latch);
// z轴回原点 // z轴回原点
if (originZ(emitter, frontCmdId, frontCmdName)) return; if (originZ(emitter, frontCmdId, frontCmdName)) return;
finished = latch.await(10, TimeUnit.SECONDS);
finished = latch.await(5 * 60 , TimeUnit.SECONDS);
if (!finished) { if (!finished) {
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();
@ -334,14 +335,14 @@ public class MatrixSprayStart implements CommandHandler {
// y轴回原点 // y轴回原点
if (originY(emitter, frontCmdId, frontCmdName)) return; if (originY(emitter, frontCmdId, frontCmdName)) return;
finished = latch.await(10, TimeUnit.SECONDS);
finished = latch.await(5 * 60 , TimeUnit.SECONDS);
if (!finished) { if (!finished) {
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();
return; return;
} }
//12.结束日志 //12.结束日志
//TODO写日志*/
//TODO写日志
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "指令执行完毕"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "指令执行完毕"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();
} }
@ -491,7 +492,7 @@ public class MatrixSprayStart implements CommandHandler {
//移动x与y到点位 //移动x与y到点位
if (moveX(emitter, p.getX(), frontCmdId, frontCmdName)) return true; if (moveX(emitter, p.getX(), frontCmdId, frontCmdName)) return true;
if (moveY(emitter, 75.5 - p.getY(), 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) { if (!finished) {
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON);
emitter.complete(); emitter.complete();

Loading…
Cancel
Save