From e26ec12fc616abfb24c1ce5bd48ede15b21fc327 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期日, 29 一月 2023 13:21:58 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/SiemensDevpThread.java |   93 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 68 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 1c0c6f7..c650393 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -132,7 +132,7 @@
                 }
                 // 蹇冭烦
 //                heartbeat();
-                Thread.sleep(400);
+                Thread.sleep(300);
             } catch (Exception e) {
                 e.printStackTrace();
             }
@@ -228,6 +228,31 @@
 //                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result0.Content, i*2));   // 鐩爣绔�
 //            }
 //        }
+        //鏉$爜鎵弿鍣�
+        Thread.sleep(200);
+        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.200",(short)(barcodeSize/2*8));
+        if (result2.IsSuccess) {
+            if (slave.getId()==1){
+                for (int i = 0; i < barcodeSize/2; i++) {
+                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
+                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)){
+//                            && !Cools.isEmpty(barcode) && Cools.isEmpty(barcodeThread.getBarcode())) {
+                        barcodeThread.setBarcode(barcode);
+                    }
+                }
+            }else if (slave.getId()==2){
+                for (int i = barcodeSize/2; i < barcodeSize; i++) {
+                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,(i-barcodeSize/2)*8,8, "UTF-8");
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
+                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)){
+//                            && !Cools.isEmpty(barcode) && Cools.isEmpty(barcodeThread.getBarcode())) {
+                        barcodeThread.setBarcode(barcode);
+                    }
+                }
+            }
+        }
+
         Thread.sleep(200);
         OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.100", (short) (staNoSize * 2));
         if (result1.IsSuccess) {
@@ -247,33 +272,51 @@
                 if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
                     staProtocol.setPakMk(true);
                 }
+
+                if (staProtocol.getStamp()>=2 && !staProtocol.isLoading()){
+                    staProtocol.setStamp(0);
+                }else if (staProtocol.getStamp()<2 && staProtocol.isLoading()){
+                    //lfd鍏ュ簱鍗拌  褰搒tamp>=2鏃舵墠鍏ュ簱
+                    staProtocol.setStamp(staProtocol.getStamp()+1);
+                }
+
+//                //20230110锛屾棩蹇楁墦鍗帮紝纭鏀跺埌鍏ュ簱绔欏彲鍏ヤ俊鍙锋椂锛屽搴旀潯鐮佹暟鎹槸鍚﹀凡鏈�
+//                if ((siteId==101 || siteId==109 || siteId==117 || siteId==201 || siteId==207 || siteId==213)
+//                        && staProtocol.isInEnable()){
+//                    Integer barcodeId = 0;
+//                    switch (siteId){
+//                        case 101:
+//                            barcodeId=1;
+//                            break;
+//                        case 109:
+//                            barcodeId=2;
+//                            break;
+//                        case 117:
+//                            barcodeId=3;
+//                            break;
+//                        case 201:
+//                            barcodeId=4;
+//                            break;
+//                        case 207:
+//                            barcodeId=5;
+//                            break;
+//                        case 213:
+//                            barcodeId=6;
+//                            break;
+//                    }
+//                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+//                    if(barcodeThread!=null){
+//                        //lfd鍏ュ簱鍗拌  褰搒tamp>=2鏃舵墠鍏ュ簱
+//                        staProtocol.setStamp(staProtocol.getStamp()+1);
+//                        log.info("{}绔欐湁鍙叆淇″彿鏃讹紝鏉$爜鍊间负{}", siteId, barcodeThread.getBarcode());
+//                        if(Cools.isEmpty(barcodeThread.getBarcode())){
+//                            staProtocol.setInEnable(false);//鏉$爜鏁版嵁涓虹┖鏃讹紝鍏堟竻涓�娆″唴瀛樼殑绔欑偣鍙叆淇″彿锛岀瓑寰呬笅涓�娆¤幏鍙栧彲鍏ヤ俊鍙�
+//                        }
+//                    }
+//                }
             }
         }
 
-        //鏉$爜鎵弿鍣�
-        Thread.sleep(200);
-        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.200",(short)(barcodeSize/2*8));
-        if (result2.IsSuccess) {
-            if (slave.getId()==1){
-                for (int i = 0; i < barcodeSize/2; i++) {
-                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
-                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
-                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
-                        barcodeThread.setBarcode(barcode);
-                    }
-                }
-            }else if (slave.getId()==2){
-                for (int i = barcodeSize/2; i < barcodeSize; i++) {
-                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,(i-barcodeSize/2)*8,8, "UTF-8");
-                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
-                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
-                        barcodeThread.setBarcode(barcode);
-                    }
-                }
-            }
-
-
-        }
 //        //RGV灏忚溅
 //        Thread.sleep(200);
 //        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.160",(short)2);

--
Gitblit v1.9.1