From 435f01237b240dbb3316317b33f1c266004afeac Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 21 七月 2025 14:47:11 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/core/thread/SiemensDevpThread.java |   30 ++++++++++++++++++++++--------
 1 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 2b020ed..a9be2e8 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -56,12 +56,20 @@
         add(300);add(301);add(302);add(303);add(304);
     }};
 
+    public static final ArrayList<Integer> staNos3 = new ArrayList<Integer>() {{
+        add(311);add(312);add(313);add(314);add(315);
+    }};
+
     public static final ArrayList<Integer> barcode1 = new ArrayList<Integer>() {{
         add(1); add(2);
     }};
 
     public static final ArrayList<Integer> barcode2 = new ArrayList<Integer>() {{
        add(3);
+    }};
+
+    public static final ArrayList<Integer> barcode3 = new ArrayList<Integer>() {{
+        add(4);
     }};
 
     private Integer count=0;
@@ -89,6 +97,8 @@
                 return staNos1;
             case 2:
                 return staNos2;
+            case 3:
+                return staNos3;
             default:
                 throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
         }
@@ -163,6 +173,8 @@
                 return barcode1;
             case 2:
                 return barcode2;
+            case 3:
+                return barcode3;
             default:
                 throw new CoolException("鑾峰彇鏉$爜鎵弿鍣ㄥけ璐ワ紒");
         }
@@ -224,7 +236,7 @@
                 }
             } else {
                 OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
+//                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
             }
 
             //鏉$爜鎵弿鍣�
@@ -271,14 +283,14 @@
                 }
             } else {
                 OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
+//                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
             }
 
             //澶栧舰妫�娴�
             OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.42", (short) 8);
             if (resultErr.IsSuccess) {
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, 0, 1);
-                StaProtocol staProtocol = station.get(303);
+                StaProtocol staProtocol = station.get(304);
                 staProtocol.setFrontErr(status[0]);
                 staProtocol.setBackErr(status[1]);
                 staProtocol.setHighErr(status[2]);
@@ -306,6 +318,7 @@
         }
         // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
         try {
+            if (!station.isEmpty()) {
             List<BasDevp> basDevps = new ArrayList<>();
             for (Integer siteId : staNos) {
                 StaProtocol staProtocol = station.get(siteId);
@@ -315,6 +328,7 @@
             BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
             if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
                 throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+            }
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -431,12 +445,12 @@
                     Thread.sleep(200);
                     OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*6, (short)4);
                     Thread.sleep(200);
-                    OperateResultExOne<byte[]> readResult1 = siemensS7Net.Read("DB100." + index*6+4, (short)2);
+                    OperateResultExOne<byte[]> readResult1 = siemensS7Net.Read("DB100." + (index*6+4), (short)2);
                     //OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB1000." + index*4, (short)4);
                     if(readResult.IsSuccess && readResult1.IsSuccess){
-                        short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
-                        short staNo = siemensS7Net.getByteTransform().TransInt16(readResult1.Content, 2);
-                        if(staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)){
+                        int workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
+                        short staNo = siemensS7Net.getByteTransform().TransInt16(readResult1.Content, 0);
+                        if(staProtocol.getWorkNo().equals((short)workNo) && staProtocol.getStaNo().equals(staNo)){
                             //浠诲姟鍛戒护鍐欏叆鎴愬姛
                             writeFlag = true;
                             log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
@@ -472,7 +486,7 @@
                 log.error("鍐欏叆杈撻�佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
 
                 //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒�
-                boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(2, staProtocol));
+//                boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(2, staProtocol));
                 read();//璇诲彇1娆¤澶囩姸鎬�
                 return;
             } else {

--
Gitblit v1.9.1