From a77530a0e917f8d2dca1bae55a3730471c8e10a2 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期三, 02 七月 2025 09:22:32 +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