From 67afd8ee4f22e1cf8f3ed8128e651d8d89cbf5c1 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期四, 15 五月 2025 15:12:01 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 68 ++++++++++++++++++++-------------- 1 files changed, 40 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index e4132da..c0898f8 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -60,7 +60,8 @@ }}; public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{ - add(106); add(107); add(159); + add(102);add(104);add(106);add(108); + add(203);add(206);add(209);add(212); }}; /** @@ -182,7 +183,7 @@ // updateIoMode(); ArrayList<Integer> staNos = getStaNo(); int staNoSize = staNos.size(); - OperateResultExOne<byte[]> result = siemensS7Net.Read("DB107.0", (short) (staNoSize*8)); + OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*2)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 @@ -192,11 +193,7 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(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); + boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*2, 2); staProtocol.setAutoing(status[0]); // 鑷姩 staProtocol.setLoading(status[1]); // 鏈夌墿 staProtocol.setInEnable(status[2]); // 鍙叆 @@ -212,9 +209,24 @@ } } + OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.0", (short) (staNoSize*4)); + if (result1.IsSuccess) { + for (int i = 0; i < staNoSize; i++) { + Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 + StaProtocol staProtocol = station.get(siteId); + if (null == staProtocol) { + staProtocol = new StaProtocol(); + staProtocol.setSiteId(siteId); + station.put(siteId, staProtocol); + } + 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("DB107.840", (short) (barcodeList.size() * 8)); + OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.100", (short) (barcodeList.size() * 8)); if (result2.IsSuccess) { for (int i = 0; i < barcodeList.size(); i++) { Integer barcodeId = barcodeList.get(i); @@ -228,7 +240,7 @@ //澶栧舰妫�娴� ArrayList<Integer> staNoErrs = staNosErrList; int staNoErrsSize = staNoErrs.size(); - OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB107.800", (short) (staNoErrsSize*8)); + OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.180", (short) (staNoErrsSize*8)); if (resultErr.IsSuccess){ for (int i = 0;i<3;i++){ Integer siteId = staNoErrs.get(i); // 绔欑偣缂栧彿 @@ -244,23 +256,23 @@ } } - OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB13.2", (short) (staNoSize*4)); - if (resultErr2.IsSuccess) { - for (int i = 0; i < staNoSize; i++) { - Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 - boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr2.Content, i*4, 1); - StaProtocol staProtocol = station.get(siteId); - staProtocol.setBreakerErr(status[0]); - staProtocol.setInfraredErr(status[1]); - staProtocol.setOutTimeErr(status[2]); - staProtocol.setSeizeSeatErr(status[3]); - staProtocol.setWrkYgoodsN(status[4]); - staProtocol.setInverterErr(status[5]); - staProtocol.setContactErr(status[6]); - staProtocol.setUpcontactErr(status[7]); - - } - } +// OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB13.2", (short) (staNoSize*4)); +// if (resultErr2.IsSuccess) { +// for (int i = 0; i < staNoSize; i++) { +// Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 +// boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr2.Content, i*4, 1); +// StaProtocol staProtocol = station.get(siteId); +// staProtocol.setBreakerErr(status[0]); +// staProtocol.setInfraredErr(status[1]); +// staProtocol.setOutTimeErr(status[2]); +// staProtocol.setSeizeSeatErr(status[3]); +// staProtocol.setWrkYgoodsN(status[4]); +// staProtocol.setInverterErr(status[5]); +// staProtocol.setContactErr(status[6]); +// staProtocol.setUpcontactErr(status[7]); +// +// } +// } if (result.IsSuccess) { @@ -306,9 +318,9 @@ //浠诲姟涓嬪彂娆℃暟 int writeCount = 0; do { - write = siemensS7Net.Write("DB108." + index*6, staProtocol.getWorkNo()); // 宸ヤ綔鍙� + write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo()); // 宸ヤ綔鍙� Thread.sleep(200); - write1 = siemensS7Net.Write("DB108." + (index*6+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔� + write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔� if(write.IsSuccess && write1.IsSuccess){ log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); break; -- Gitblit v1.9.1