From 75d0daa4f8dc2010ec92f35cac08a19d240ca45d Mon Sep 17 00:00:00 2001
From: ynhfasrs <ynhfasrs@qq.com>
Date: 星期五, 27 六月 2025 14:23:37 +0800
Subject: [PATCH] #

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

diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 3e7c969..5c7b264 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -55,8 +55,8 @@
     }};
 
     public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{
-        add(1);add(2);add(3);add(4);
-        add(5);add(6);add(7);add(8);
+        add(0);add(1);add(2);add(3);
+        add(4);add(5);add(6);add(7);
     }};
 
     public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{
@@ -219,18 +219,19 @@
                     staProtocol.setSiteId(siteId);
                     station.put(siteId, staProtocol);
                 }
-                staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result1.Content, i*4));     // 宸ヤ綔鍙�
+                staProtocol.setWorkNo((int) siemensS7Net.getByteTransform().TransInt16(result1.Content, i*4));     // 宸ヤ綔鍙�
                 staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result1.Content, i*4 + 2));   // 鐩爣绔�
             }
         }
 
         //鏉$爜鎵弿鍣�
         ArrayList<Integer> barcodeList = BarcodeList;
-        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.100", (short) (barcodeList.size() * 8));
+        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.100", (short) (barcodeList.size() * 10));
         if (result2.IsSuccess) {
             for (int i = 0; i < barcodeList.size(); i++) {
                 Integer barcodeId = barcodeList.get(i);
-                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
+                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*10+2,8, "UTF-8");
+                barcode = barcode.trim();
                 BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId + 1);
                 if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                     barcodeThread.setBarcode(barcode);
@@ -314,14 +315,15 @@
         ArrayList<Integer> staNos = getStaNo();
         int index = staNos.indexOf(staProtocol.getSiteId());
         OperateResult write = null;
-        OperateResult write1 = null;
         //浠诲姟涓嬪彂娆℃暟
         int writeCount = 0;
         do {
-            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
-            Thread.sleep(200);
-            write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 鐩爣绔�
-            if(write.IsSuccess && write1.IsSuccess){
+            short[] data = new short[2];
+            data[0] = staProtocol.getWorkNo().shortValue();
+            data[1] = staProtocol.getStaNo();
+
+            write = siemensS7Net.Write("DB100." + index*4, data);
+            if(write.IsSuccess){
                 log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                 break;
             }

--
Gitblit v1.9.1