From b89f1b9ab0efaea721d7d05b9dc7555e18d12b13 Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期五, 30 八月 2024 00:13:15 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/core/thread/SiemensDevpThread.java |   48 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index aaf7964..d3b8e45 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -194,7 +194,7 @@
 //        updateIoMode();
         ArrayList<Integer> staNos = getStaNo();
         int staNoSize = staNos.size();
-        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize * 4));
+        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 4));
 //        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB100.2", (short) (staNoSize*2));
         if (result.IsSuccess) {
             for (int i = 0; i < staNoSize; i++) {
@@ -212,21 +212,12 @@
         }
 
         Thread.sleep(200);
-        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.2", (short) (staNoSize * 4));
+        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.6", (short) (staNoSize * 4));
         if (result1.IsSuccess) {
             for (int i = 0; i < staNoSize; i++) {
                 Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
-                //boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*4, 1);
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i * 4, 1);
                 StaProtocol staProtocol = station.get(siteId);
-
-
-                staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 8));     // 宸ヤ綔鍙�
-
-                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 8 + 4));   // 鐩爣绔�
-
-
-                boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 8 + 6, 2);
-
                 staProtocol.setAutoing(status[0]);  // 鑷姩
                 staProtocol.setLoading(status[1]);  // 鏈夌墿
                 staProtocol.setInEnable(status[2]); // 鍙叆
@@ -265,8 +256,8 @@
 //        }
         //鏉$爜鎵弿鍣�
         Thread.sleep(200);
-        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.0", (short) (barcodeSize * 8));
-        if (result2.IsSuccess && 1 != 1) {
+        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.2", (short) (barcodeSize * 8));
+        if (result2.IsSuccess ) {
             if (slave.getId() == 1) {
                 for (int i = 0; i < barcodeSize / 3; i++) {
                     String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
@@ -296,6 +287,35 @@
                 }
             }
         }
+        
+
+        Thread.sleep(200);
+        OperateResultExOne<byte[]> resultError = siemensS7Net.Read("DB101.102", (short) (8));
+        if (resultError.IsSuccess) {
+            ArrayList<Integer> staNoError = new ArrayList<Integer>() {{
+                add(102);
+                add(201);
+                add(211);
+            }};
+            for (int i = 0; i < staNoError.size(); i++) {
+                Integer siteId = staNoError.get(i); // 绔欑偣缂栧彿
+                StaProtocol staProtocol = station.get(siteId);
+                if (null == staProtocol) {
+                    staProtocol = new StaProtocol();
+                    staProtocol.setSiteId(siteId);
+                    station.put(siteId, staProtocol);
+                }
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultError.Content, i * 4 + 2, 1);
+                staProtocol.setFrontErr(status[0]);// 鍓嶈秴闄�
+                staProtocol.setBackErr(status[1]);// 鍚庤秴闄�
+                staProtocol.setHighErr(status[2]);// 楂樿秴闄�
+                staProtocol.setLeftErr(status[3]);// 宸﹁秴闄�
+                staProtocol.setRightErr(status[4]);// 鍙宠秴闄�
+                staProtocol.setWeightErr(status[5]); // 瓒呴噸
+                staProtocol.setBarcodeErr(status[6]);// 鎵爜澶辫触
+            }
+        }
+
 
         if (result.IsSuccess && result1.IsSuccess) {
 

--
Gitblit v1.9.1