From 4c4c8fb50c3e9a86ebe6948bfa81961579ea86c3 Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期一, 16 六月 2025 14:59:31 +0800
Subject: [PATCH] wcs功能完善

---
 src/main/java/com/zy/core/thread/SiemensDevpThread.java |   36 ++++++++++++++++++++++++++++--------
 1 files changed, 28 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 6707f1f..a6d3c39 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -89,6 +89,8 @@
         add(1081); add(1084);add(1087);
     }};
 
+    private static long lastLogTime = 0;
+
     public SiemensDevpThread(DevpSlave slave) {
         this.slave = slave;
     }
@@ -222,25 +224,35 @@
         // 璇荤綈瑁呯嚎鍙嶉淇℃伅
         if (slave.getId() > 3) {
 //            log.info("璇诲彇{}鍙风綈瑁呯嚎plc淇℃伅鎴愬姛",slave.getId());
-            OperateResultExOne<byte[]> read = siemensS7Net.Read("DB101.0", (short) 58);
+            OperateResultExOne<byte[]> read = siemensS7Net.Read("DB101.0", (short) 60);
             if (read.IsSuccess) {
+                // 15绉掓墦鍗颁竴涓嬫棩蹇�
+                if (System.currentTimeMillis() - lastLogTime >= 15000) {
+                    OperateResultExOne<byte[]> readKc = siemensS7Net.Read("DB100.6", (short) 2);
+                    if(readKc.IsSuccess){
+                        short i = siemensS7Net.getByteTransform().TransInt16(readKc.Content, 0);
+                        log.info("璇粄}鍙风綈瑁呯嚎鍙嚭淇″彿鎴愬姛锛屽�硷細{}", slave.getId() -3, i);
+                    }
+                    lastLogTime = System.currentTimeMillis();
+                }
                 // 鎴愬搧淇℃伅鍙嶉鍒扮綈瑁呯嚎鍑哄彛绔欑偣
                 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
                 StaProtocol staProtocol = devpThread.getStation().get(gzxResultSite.get(slave.getId()-4));
                 if (staProtocol != null) {
                     staProtocol.setWantBucketFlag(siemensS7Net.getByteTransform().TransInt16(read.Content, 0));// 缃愯绾胯妗跺瀷淇″彿
                     staProtocol.setWrkNo(siemensS7Net.getByteTransform().TransInt16(read.Content, 2));
-                    double weight208l1 = siemensS7Net.getByteTransform().TransInt32(read.Content, 4); // 200L妗�1鍑�閲�
-                    double weight208l2 = siemensS7Net.getByteTransform().TransInt32(read.Content, 8); // 200L妗�2鍑�閲�
-                    double weight208l3 = siemensS7Net.getByteTransform().TransInt32(read.Content, 12); // 200L妗�3鍑�閲�
-                    double weight208l4 = siemensS7Net.getByteTransform().TransInt32(read.Content, 16); // 200L妗�4鍑�閲�
-                    double weight1T = siemensS7Net.getByteTransform().TransInt32(read.Content, 20); // 1T妗跺噣閲�
+                    double weight208l1 = siemensS7Net.getByteTransform().TransSingle(read.Content, 4); // 200L妗�1鍑�閲�
+                    double weight208l2 = siemensS7Net.getByteTransform().TransSingle(read.Content, 8); // 200L妗�2鍑�閲�
+                    double weight208l3 = siemensS7Net.getByteTransform().TransSingle(read.Content, 12); // 200L妗�3鍑�閲�
+                    double weight208l4 = siemensS7Net.getByteTransform().TransSingle(read.Content, 16); // 200L妗�4鍑�閲�
+                    double weight1T = siemensS7Net.getByteTransform().TransSingle(read.Content, 20); // 1T妗跺噣閲�
 //                    log.info("璇诲彇宸ョ綈瑁呯嚎鍑�閲� 200l妗�1:{},200l妗�2:{},200l妗�3:{},200l妗�4:{},1t妗�:{}",weight208l1,weight208l2,weight208l3,weight208l4,weight1T);
                     staProtocol.setWeight(weight208l1 + weight208l2 + weight208l3 + weight208l4 + weight1T);
-                    staProtocol.setGrossWeight(siemensS7Net.getByteTransform().TransInt32(read.Content, 24));
+                    staProtocol.setGrossWeight(siemensS7Net.getByteTransform().TransSingle(read.Content, 24));
                     staProtocol.setMatnr(siemensS7Net.getByteTransform().TransString(read.Content, 28,12,"UTF-8"));
                     staProtocol.setBatch(siemensS7Net.getByteTransform().TransString(read.Content, 40,10,"UTF-8"));
                     staProtocol.setManuDate(siemensS7Net.getByteTransform().TransString(read.Content, 50,8,"UTF-8"));
+                    staProtocol.setReinspection(siemensS7Net.getByteTransform().TransInt16(read.Content, 58) == 1);
                 }
                 return;
             }
@@ -492,7 +504,15 @@
         do {
             write = siemensS7Net.Write("DB100.0", common);
             Thread.sleep(200);
-            if(write.IsSuccess){
+            OperateResultExOne<byte[]> read = siemensS7Net.Read("DB100.4", (short) 2);
+            if(write.IsSuccess && read.IsSuccess){
+                short i = siemensS7Net.getByteTransform().TransInt16(read.Content, 0);
+                if ( i != staProtocol.getWorkNo().shortValue()) {
+                    writeCount++;
+                    log.error("缁欑綈瑁呯嚎鍐欏叆妗跺瀷淇℃伅鎴愬姛锛屼絾鍥炶澶辫触锛氬啓鍏ヤ换鍔″彿锛歿},鍥炶浠诲姟鍙凤細{}锛岃緭閫佺嚎plc缂栧彿={}锛屽啓鍏ユ鏁�={}",staProtocol.getWorkNo().shortValue(), i, slave.getId(), writeCount);
+                    continue;
+                }
+                log.info("缁欑綈瑁呯嚎鍐欏叆妗跺瀷淇℃伅鎴愬姛锛屽洖璇绘垚鍔燂細浠诲姟鍙凤細{},鍥炶浠诲姟鍙凤細{}锛岃緭閫佺嚎plc缂栧彿={}锛屽啓鍏ユ鏁�={}",staProtocol.getWorkNo().shortValue(), i, slave.getId(), writeCount);
                 break;
             }
             else {

--
Gitblit v1.9.1