From 5aa831dffdfb0ca524362e8d649c28babc681ece Mon Sep 17 00:00:00 2001 From: cpT <1@123> Date: 星期一, 30 六月 2025 16:43:18 +0800 Subject: [PATCH] #改造 --- src/main/java/com/zy/core/thread/RgvThread.java | 91 ++++++++++++++++++++++++++++----------------- 1 files changed, 57 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index 602cae6..49b1123 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -65,6 +65,8 @@ private boolean resetFlag2 = false; private boolean connectRgv = false; + public Long currentTimeMilliConnectRgv= 0L; + private boolean delRgvTask = false; private short wrkSign = 0; @@ -75,6 +77,12 @@ @Override @SuppressWarnings("InfiniteLoopStatement") public void run() { + initRgv(); + try{ + Thread.sleep(2000); + } catch (Exception e){ + + } connectRgv = this.connect(); while(!connectRgv){ try { @@ -118,7 +126,7 @@ log.error("rgv杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "rgv杩炴帴澶辫触"+e.getMessage()); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "rgv杩炴帴澶辫触"+e.getMessage()); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -149,7 +157,7 @@ log.error("RGV鏁版嵁璇诲彇绾跨▼寮傚父锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV鏁版嵁璇诲彇绾跨▼寮傚父"+e.getMessage()); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV鏁版嵁璇诲彇绾跨▼寮傚父"+e.getMessage()); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -192,7 +200,7 @@ log.error("RGV鏁版嵁浠诲姟涓嬪彂澶嶄綅绾跨▼寮傚父锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV鏁版嵁浠诲姟涓嬪彂澶嶄綅绾跨▼寮傚父"+e.getMessage()); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV鏁版嵁浠诲姟涓嬪彂澶嶄綅绾跨▼寮傚父"+e.getMessage()); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -258,7 +266,7 @@ // log.error("RGV浠诲姟涓嬪彂绾跨▼寮傚父锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); // try{ // DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); -// deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV浠诲姟涓嬪彂绾跨▼寮傚父"+e.getMessage()); +// deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV浠诲姟涓嬪彂绾跨▼寮傚父"+e.getMessage()); // } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); // } @@ -331,18 +339,18 @@ continue; } try { - Thread.sleep(50); + Thread.sleep(100); rgvRun = RgvRunCache.getRgvRun(); // System.out.println(JSON.toJSON(rgvRun)); // 浼戠湢 1 绉� - if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 100) { - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; + if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 500L) { + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; } else { continue; } if (!deviceDetection()) { - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); if (!errorRgv.equals("鏃�")){ @@ -359,20 +367,20 @@ rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId()); } if (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) || (Math.abs(rgvProtocol.getRgvPos() - rgvProtocol.getRgvPosDestination())>100)){ - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); continue; } if (rgvProtocol.getLoaded() == -1){ - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); RgvErrCache.updateRgvErr(slave.getId(),"灏忚溅鎺㈢墿鐗╃姸鎬佸紓甯�"); continue; } if (rgvTaskProtocol.getAvoid() != 0) { - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); continue; @@ -460,19 +468,19 @@ } } } - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); } catch (Exception e) { log.error("RGV浠诲姟涓嬪彂绾跨▼寮傚父锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV浠诲姟涓嬪彂绾跨▼寮傚父"+e.getMessage()); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV浠诲姟涓嬪彂绾跨▼寮傚父"+e.getMessage()); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } rgvRun = RgvRunCache.getRgvRun(); - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); continue; @@ -600,7 +608,7 @@ errorRgv = "RGV琛岃蛋鐩爣瓒呭嚭鑼冨洿"; try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -692,7 +700,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -720,7 +728,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -749,7 +757,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -806,7 +814,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -899,7 +907,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -927,7 +935,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -957,7 +965,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -1019,7 +1027,7 @@ log.error("RGV寮傚父锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV寮傚父"+e.getMessage()); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV寮傚父"+e.getMessage()); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -1055,11 +1063,18 @@ // OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慠GV plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); log.error("RGV plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); - try{ - DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGVplc杩炴帴澶辫触"); - } catch (Exception e2){ + if (System.currentTimeMillis()-currentTimeMilliConnectRgv>1000*60*10){ + try{ + DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGVplc杩炴帴澶辫触"); + } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); + } + if (currentTimeMilliConnectRgv == 0){ + currentTimeMilliConnectRgv = System.currentTimeMillis()-1000*60*10-1; + } else { + currentTimeMilliConnectRgv = System.currentTimeMillis(); + } } } initRgv(); @@ -1118,8 +1133,8 @@ rgvProtocol.setErr4(status[11]); rgvProtocol.setErr5(status[12]); rgvProtocol.setErr6(status[13]); - rgvProtocol.setErr7(status[13]); - rgvProtocol.setErr8(status[13]); + rgvProtocol.setErr7(status[14]); + rgvProtocol.setErr8(status[15]); // System.out.println("璇荤嚎绋�"+ slave.getId()+"---"+JSON.toJSONString(rgvProtocol)); // System.out.println("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()+"灏忚溅鏁版嵁锛�"+JSON.toJSONString(rgvProtocol)); OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId())); @@ -1155,7 +1170,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV plc鏁版嵁搴撴洿鏂板け璐�"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV plc鏁版嵁搴撴洿鏂板け璐�"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -1176,7 +1191,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "璇诲彇RGV plc鐘舵�佷俊鎭け璐�"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "璇诲彇RGV plc鐘舵�佷俊鎭け璐�"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -1188,7 +1203,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "璇诲彇RGV plc鐘舵�佷俊鎭け璐�"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "璇诲彇RGV plc鐘舵�佷俊鎭け璐�"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -1205,7 +1220,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV鍐欏叆鍛戒护涓虹┖"); + deviceErrorService.addDeviceError("rgvErr", slave.getId(), "RGV鍐欏叆鍛戒护涓虹┖"); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -1269,7 +1284,7 @@ try{ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); - deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV 鍛戒护涓嬪彂"+JSON.toJSON(taskProtocol)); + deviceErrorService.addDeviceError("rgvWrite", slave.getId(), "RGV 鍛戒护涓嬪彂"+JSON.toJSON(taskProtocol)); } catch (Exception e2){ // log.error("e2:"+e2.getMessage()); } @@ -1326,6 +1341,14 @@ } + /** + * 娓呴櫎浣滀笟鍚姩涓� + */ + @Override + public void setWrkSign() { + this.wrkSign = 0; + } + public void setDelRgvTask() { delRgvTask = true; } -- Gitblit v1.9.1