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