From d969b83a261774879e11fbdfabc9ba679df4192d Mon Sep 17 00:00:00 2001 From: QuShuailong Date: Tue, 27 Jun 2023 16:23:03 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=B7=BB=E5=8A=A0=E5=8F=91=E4=BA=86?= =?UTF-8?q?=E7=9B=98=E7=82=B9=E6=8C=87=E4=BB=A4=E4=B9=8B=E5=90=8E=E5=A4=9A?= =?UTF-8?q?=E4=B9=85=E6=8B=8D=E7=85=A7=E7=9A=84=E6=97=B6=E9=97=B4=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=8F=82=E6=95=B02=E3=80=81=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E6=97=B6=E7=94=A8=E7=90=83=E6=9C=BA=E6=8B=8D=E6=9D=A1=E7=A0=81?= =?UTF-8?q?3=E3=80=81=E7=9B=98=E7=82=B9=E5=8E=86=E5=8F=B2=E6=8C=89?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/config/ConfigProperties.java | 1 + .../web/service/CheckLogService.java | 2 +- .../com/zhehekeji/web/service/PlcService.java | 34 +++++++++++++------ .../web/service/ksec/KsecDecoder.java | 1 + .../web/service/ksec/KsecNettyClient.java | 18 +++++----- web/src/main/resources/application-prod.yml | 6 ++++ 6 files changed, 40 insertions(+), 22 deletions(-) diff --git a/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java b/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java index f667d62..6f08603 100644 --- a/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java +++ b/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java @@ -59,6 +59,7 @@ public class ConfigProperties { private Long C3DelayCaptureTime; private Long C4DelayCaptureTime; private Long C4OutDelayCaptureTime; + private Long EDelayCaptureTime; private Long B2DelayTime; private Long B2OutDelayTime; diff --git a/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java b/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java index 66a5a01..5201b44 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java @@ -50,7 +50,7 @@ public class CheckLogService { if(search.getColumn() != null && search.getColumn() != 0){ wrapper.eq("`column`",search.getColumn()); } - wrapper.orderByDesc("shelve_id","`row`","`column`","id"); + wrapper.orderByDesc("create_time"); ListstockChecks = checkLogMapper.selectList(wrapper); return new PageInfo<>(stockChecks); diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index 2193f05..4dab152 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -593,35 +593,47 @@ public class PlcService { HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),1); }); Integer cameraId = getCameraByPlcCmd(plcCmdInfo,plcCmdInfo.getLeftRight1()); + log.info("taskId:{}", plcCmdInfo.getTaskId()); + //重庆亚士创能盘点时用球机拍条码 + log.info("0 camera ptz:"+cmdCode); + gyrateCameraByCode(cameraId, cmdCode); + try { + Thread.sleep(configProperties.getCameraConfig().getDelayCaptureTime()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + String path = PathUtil.createFileNameByRowColumn("jpg",cameraId,plcCmdInfo.getRow1(),plcCmdInfo.getColumn1()); + cameraCapture(cameraId,false,null,path); + log.info("camera:{} capture: {}", cameraId, path); - //重庆亚士创能盘点时先用同侧相机拍摄货物顶部 + //重庆亚士创能盘点时用同侧相机拍摄货物顶部 Integer leftRightTop = plcCmdInfo.getLeftRight1() == 1 ? 2 : 1; Integer cameraIdTop = getCameraByPlcCmd(plcCmdInfo, leftRightTop); - String cameraCmdCode = cmdCode; + String cameraCmdCode1 = cmdCode; if(plcCmdInfo.getSeparation1() == 1 && configProperties.getScanCodeMode().getTray() == 2){ //内测 - cameraCmdCode = cmdCode + "-" + plcCmdInfo.getLeftRightStr(1) + "-IN"; + cameraCmdCode1 = cmdCode + "-" + plcCmdInfo.getLeftRightStr(1) + "-IN"; } - log.info("1 camera ptz:"+cameraCmdCode); - gyrateCameraByCode(cameraIdTop, cameraCmdCode); + log.info("1 camera ptz:"+cameraCmdCode1); + gyrateCameraByCode(cameraIdTop, cameraCmdCode1); try { - Thread.sleep(configProperties.getCameraConfig().getDelayCaptureTime()); + Thread.sleep(configProperties.getCameraConfig().getEDelayCaptureTime()); } catch (InterruptedException e) { e.printStackTrace(); } - String path = PathUtil.createFileNameByRowColumn("jpg",cameraId,plcCmdInfo.getRow1(),plcCmdInfo.getColumn1()); - cameraCapture(cameraIdTop,false,null,path); + cameraCapture(cameraIdTop,false,null,path+".jpg"); - //重庆亚士创能盘点时再用对侧球机拍侧面层数 + //重庆亚士创能盘点时用对侧球机拍侧面层数 String cameraCmdCode2 = "E2-" + plcCmdInfo.getLeftRightStr(1) + "-IN"; + gyrateCameraByCode(cameraId, cameraCmdCode2); log.info("2 camera ptz:"+cameraCmdCode2); try { - Thread.sleep(1500l); + Thread.sleep(configProperties.getCameraConfig().getEDelayCaptureTime()); } catch (InterruptedException e) { e.printStackTrace(); } - cameraCapture(cameraId,false,null,path+".jpg"); + cameraCapture(cameraId,false,null,path+".jpg.jpg"); //托盘码 String trayCode = null; diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java index 7fec871..e7f2dc1 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java @@ -179,6 +179,7 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { plcService.truncateStock(); lastLotnum = lotnum; } + log.info("orderInfo:{}", plcCmdInfo.toString()); plcCmdInfo.setTimes(1); Boolean ok = plcService.check(plcCmdInfo,ksecInfo.getData().getCmdName(), dataInfo.getCode(), dataInfo.getTrayCode()); if(ok){ diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java index 09819b2..1253c05 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java @@ -25,11 +25,6 @@ public class KsecNettyClient { @Resource private ConfigProperties configProperties; - /** - * 重连最大次数 - */ - private static int RECONNECT_NUM = 10; - private static Channel channel; public void createClient(ConfigProperties.KSEC ksec) throws InterruptedException { @@ -67,16 +62,19 @@ public class KsecNettyClient { } catch (InterruptedException e) { e.printStackTrace(); } - while ((ksec.getReconnectNum() == -1 || num < ksec.getReconnectNum() ) && !isConnected) { + while ((ksec.getReconnectNum() == -1 || num < ksec.getReconnectNum()) && !isConnected) { try { createClient(ksec); - } catch (Exception e) { - //没连上 继续 + } + //没连上 继续 + catch (Exception e) { + //关闭当前连接 + channel.close(); log.error("reconnect error num:{}", num); num++; try { - Thread.sleep(ksec.getReconnectInterval()*1000); - } catch (InterruptedException ex) { + Thread.sleep(ksec.getReconnectInterval()); + }catch (Exception ex){ throw new RuntimeException(ex); } continue; diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index 2387d7d..4b087a7 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -45,6 +45,8 @@ cameraConfig: C3DelayCaptureTime: 1500 C4DelayCaptureTime: 1500 C4OutDelayCaptureTime: 1500 + #发了盘点指令之后多久拍照 + EDelayCaptureTime: 2500 # 发了B2之后多久转原点位 B2DelayTime: 2000 # 外侧货架发了B2多久转原点位 @@ -63,6 +65,10 @@ serverMode: 1 ksec: ip: 127.0.0.1 port: 3000 + #断点重连的次数:-1->不断重连 + reconnectNum: -1 + #断点重连时间间隔(单位:ms) + reconnectInterval: 10000 # ------------ 实时视频流 全部页面的格式 行列数量 videoStyleConfig: videoStyleRow: 4