From 872c89925ee840594d06bc65fcc7b98f5e1072bd Mon Sep 17 00:00:00 2001 From: zjj <zjj123456> Date: 星期三, 13 十一月 2024 08:20:47 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 65 +++++++++++++++++++++++++++++++- 1 files changed, 62 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 5781dd1..48702f7 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -254,6 +254,14 @@ } break; + // 鍐欐暟鎹� ID+鐩爣绔� 2106鐗逛緵 + case 3: + switch (slave.getId()){ + case 2: + write2106((StaProtocol)task.getData());break; + } + + break; default: break; } @@ -302,6 +310,7 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } + staProtocol.setSiteId(siteId); staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 8)); // 宸ヤ綔鍙� staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*8 + 4 )); // 鐩爣绔� } @@ -385,7 +394,9 @@ //鎶ヨ淇℃伅 Thread.sleep(200); OperateResultExOne<byte[]> result3 = null; + OperateResultExOne<byte[]> result37new = null; result3 = siemensS7Net.Read("DB101.96.0", (short) (getErrorStaNo().size() * 4)); + result37new = siemensS7Net.Read("DB101.120", (short) 8); if (result3.IsSuccess) { for (int i = 0; i < getErrorStaNo().size(); i++) { Integer siteId = getErrorStaNo().get(i); // 绔欑偣缂栧彿 @@ -401,6 +412,18 @@ staProtocol.setBarcodeErr(status[6]); } + } + if (result37new.IsSuccess) { + StaProtocol staProtocol11 = station.get(3011); + StaProtocol staProtocol06 = station.get(3006); + short a11171 = siemensS7Net.getByteTransform().TransInt16(result37new.Content, 0); + short a11172 = siemensS7Net.getByteTransform().TransInt16(result37new.Content, 2); + staProtocol11.setStaNoEnd(a11171); + staProtocol11.setBan(a11172==1); + short a11173 = siemensS7Net.getByteTransform().TransInt16(result37new.Content, 4); + short a11174 = siemensS7Net.getByteTransform().TransInt16(result37new.Content, 6); + staProtocol06.setStaNoEnd(a11173); + staProtocol06.setBan(a11174==1); } } @@ -565,6 +588,7 @@ staProtocol.setOutEnable(status[3]);// 鍙嚭 staProtocol.setForce(status[4]); staProtocol.setAmount(count); + staProtocol.setLow(true); if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { @@ -606,7 +630,7 @@ int staNoSize = staNos.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 8)); - result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size()*30)); + result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size()*38)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 @@ -615,12 +639,18 @@ Integer matnr = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 4); short amount = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 8); String batch = siemensS7Net.getByteTransform().TransString(result.Content, i * 4+10, 20, "UTF-8"); + short staEnd = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 30); + short ban = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 32); + Integer w1 = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 34); + + StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { staProtocol = new StaProtocol(); staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } + staProtocol.setSiteId(siteId); staProtocol.setAutoing(status[0]); // 鑷姩 staProtocol.setLoading(status[1]); // 鏈夌墿 staProtocol.setInEnable(status[2]); // 鍙叆 @@ -629,6 +659,13 @@ staProtocol.setTongType(tongType); staProtocol.setBatch(batch); staProtocol.setAmount(amount); + int i1 = w1 / 100; + staProtocol.setWeight1((double) i1); +// staProtocol.setWeight2(w2); +// staProtocol.setWeight3(w3); +// staProtocol.setWeight4(w4); + staProtocol.setStaNoEnd(staEnd); + staProtocol.setBan(ban == 1); staProtocol.setLow(true); @@ -672,7 +709,7 @@ int staNoSize = staNos.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 8)); - result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size()*28)); + result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size()*34)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 @@ -681,12 +718,17 @@ Integer matnr = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 2); short amount = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 6); String batch = siemensS7Net.getByteTransform().TransString(result.Content, i * 4+8, 20, "UTF-8"); + short ban = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 28); + Integer w1 = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 30); + + StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { staProtocol = new StaProtocol(); staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } + staProtocol.setSiteId(siteId); staProtocol.setAutoing(status[0]); // 鑷姩 staProtocol.setLoading(status[1]); // 鏈夌墿 staProtocol.setInEnable(status[2]); // 鍙叆 @@ -695,7 +737,9 @@ staProtocol.setAmount(amount); staProtocol.setBatch(batch); staProtocol.setLow(true); - + int i1 = w1 / 100; + staProtocol.setWeight1((double) i1); + staProtocol.setBan(ban == 1); if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { @@ -783,6 +827,21 @@ log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(staProtocol)); } } + /** + * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� + */ + private void write2106(StaProtocol staProtocol) throws InterruptedException { + + OperateResult write = siemensS7Net.Write("DB100.210", (short) 2); // 鏉$爜閲嶅鍥為�� + + if (!write.IsSuccess) { + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol))); + log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol)); + } else { + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol))); + log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(staProtocol)); + } + } /** * 蹇冭烦 -- Gitblit v1.9.1