From 843adafd2eb2934e26a935e2de2b57a9e577d29a Mon Sep 17 00:00:00 2001 From: lsh <lsh123456> Date: 星期四, 27 六月 2024 13:16:43 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 201 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 128 insertions(+), 73 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 3850d4e..e0961e1 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -200,6 +200,12 @@ case 9: write9((StaProtocol)task.getData()); break; + case 10: + write10((StaProtocol)task.getData()); + break; + case 11: + write11((StaProtocol)task.getData()); + break; default: break; } @@ -292,11 +298,13 @@ staProtocol.setBarcodeErr(status[6]);// 鎵爜澶辫触 } } + if (slave.getId()==2){ Thread.sleep(200); int[] staNosRgv = {623,624,625,626}; for (int i = 0; i < staNosRgv.length; i++) { OperateResultExOne<byte[]> resultRgv = siemensS7Net.Read("DB100."+(1800+i*6), (short) 5); + OperateResultExOne<byte[]> resultRgv2 = siemensS7Net.Read("DB100."+(1824+i*4), (short) 4); if (resultRgv.IsSuccess) { Integer siteId = staNosRgv[i]; // 绔欑偣缂栧彿 StaProtocol staProtocol = station.get(siteId); @@ -305,20 +313,26 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 0)); // 灏忚溅鐩爣浣� + try{ + staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 0)); // 灏忚溅鐩爣浣� - staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 2)); // 鐩爣绔� + staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2)); // 褰撳墠浣嶇疆 - boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, 4, 1); - staProtocol.setRGV1(status[0]); // 鑷姩 - staProtocol.setRGV2(status[1]); // 鏈夌墿 - staProtocol.setRGV3(status[2]); // 鍙叆 - staProtocol.setRGV4(status[3]);// - staProtocol.setRGV5(status[4]); // - staProtocol.setRGV6(status[5]); // 婊℃墭鐩� + boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRgv.Content, 4, 1); + boolean[] status2 = siemensS7Net.getByteTransform().TransBool(resultRgv2.Content, 2, 1); + staProtocol.setRGV1(status[0]); // 鑷姩 + staProtocol.setRGV2(status[1]); // 鏈夌墿 + staProtocol.setRGV3(status[2]); // 鍙叆 + staProtocol.setRGV4(status2[0]);// + staProtocol.setRGV5(status2[1]); // + staProtocol.setRGV6(status2[2]); // 婊℃墭鐩� + }catch (Exception e){ + System.out.println(e.getMessage()); + } } } } + //鏉$爜鎵弿鍣� Thread.sleep(200); @@ -541,37 +555,31 @@ /** * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� */ - private void write10(StaProtocol staProtocol) throws InterruptedException { + private void write11(StaProtocol staProtocol) throws InterruptedException { if (null == staProtocol) { return; } - boolean rgv4 = staProtocol.isRGV4(); - boolean rgv5 = staProtocol.isRGV5(); + boolean rgv6 = staProtocol.isRGV6(); OperateResult result1 = null; - OperateResult result2 = null; String resultV1 = ""; - String resultV2 = ""; switch (staProtocol.getSiteId()){ case 623: - resultV1 = "1804"; - resultV2 = "1804"; + resultV1 = "DB100.1826.2"; break; case 624: - resultV1 = "1810"; - resultV2 = "1810"; + resultV1 = "DB100.1830.2"; break; case 625: - resultV1 = "1816"; - resultV2 = "1816"; + resultV1 = "DB100.1834.2"; break; case 626: - resultV1 = "1822"; - resultV2 = "1822"; + resultV1 = "DB100.1838.2"; break; default: return; } - result1 = siemensS7Net.Write(rgv4?resultV1+".4":resultV1+".3", rgv4?rgv5:rgv4); + result1 = siemensS7Net.Write(resultV1, rgv6); + //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔� try { Thread.sleep(200); @@ -584,7 +592,7 @@ try{ if(!result1.IsSuccess){ log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); - result1 = siemensS7Net.Write(rgv4?resultV1+".4":resultV1+".3", rgv4?rgv5:rgv4); + result1 = siemensS7Net.Write(resultV1, rgv6); Thread.sleep(100); writeCount++; continue; @@ -592,56 +600,18 @@ OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2); if (resultRead1.IsSuccess) { boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1); - boolean status1 = status[rgv4? 4:3]; - if (status1 == rgv4?rgv5:rgv4){ + if (status[2]){ break; } else { log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); - result1 = siemensS7Net.Write(rgv4?resultV1+".4":resultV1+".3", rgv4?rgv5:rgv4); + result1 = siemensS7Net.Write(resultV1, rgv6); Thread.sleep(100); writeCount++; continue; } } else { log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); - result1 = siemensS7Net.Write(rgv4?resultV1+".4":resultV1+".3", rgv4?rgv5:rgv4); - Thread.sleep(100); - writeCount++; - continue; - } - }catch (Exception e){ - log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e); - } - writeCount++; - } while (writeCount<6); - - result2 = siemensS7Net.Write(rgv4?resultV2+".3":resultV2+".4", rgv4?rgv4:rgv5); - writeCount = 1; - do { - try{ - if(!result2.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); - result2 = siemensS7Net.Write(rgv4?resultV2+".3":resultV2+".4", rgv4?rgv4:rgv5); - Thread.sleep(100); - writeCount++; - continue; - } - OperateResultExOne<byte[]> resultRead2 = siemensS7Net.Read(resultV2, (short) 1); - if (resultRead2.IsSuccess) { - boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead2.Content, 0, 1); - boolean status1 = status[rgv4? 3:4]; - if (status1 == rgv4?rgv4:rgv5){ - break; - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); - result2 = siemensS7Net.Write(rgv4?resultV2+".3":resultV2+".4", rgv4?rgv4:rgv5); - Thread.sleep(100); - writeCount++; - continue; - } - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); - result2 = siemensS7Net.Write(rgv4?resultV2+".3":resultV2+".4", rgv4?rgv4:rgv5); + result1 = siemensS7Net.Write(resultV1, rgv6); Thread.sleep(100); writeCount++; continue; @@ -652,6 +622,91 @@ writeCount++; } while (writeCount<6); } + + private void write10(StaProtocol staProtocol) throws InterruptedException { + if (null == staProtocol) { + return; + } + boolean rgv4 = staProtocol.isRGV4(); + boolean rgv5 = staProtocol.isRGV5(); + OperateResult result1 = null; + String resultV1 = ""; + switch (staProtocol.getSiteId()){ + case 623: + resultV1 = "DB100.1826"; + break; + case 624: + resultV1 = "DB100.1830"; + break; + case 625: + resultV1 = "DB100.1834"; + break; + case 626: + resultV1 = "DB100.1838"; + break; + default: + return; + } + if (rgv4){ + result1 = siemensS7Net.Write(resultV1+".0", rgv4); + } else { + result1 = siemensS7Net.Write(resultV1+".1", rgv5); + } + //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔� + try { + Thread.sleep(200); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + int writeCount = 1; + do { + try{ + if(!result1.IsSuccess){ + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); + if (rgv4){ + result1 = siemensS7Net.Write(resultV1+".0", rgv4); + } else { + result1 = siemensS7Net.Write(resultV1+".1", rgv5); + } + Thread.sleep(100); + writeCount++; + continue; + } + OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2); + if (resultRead1.IsSuccess) { + boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1); + if (status[rgv4? 0:1]){ + break; + } else { + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); + if (rgv4){ + result1 = siemensS7Net.Write(resultV1+".0", rgv4); + } else { + result1 = siemensS7Net.Write(resultV1+".1", rgv5); + } + Thread.sleep(100); + writeCount++; + continue; + } + } else { + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(staProtocol),writeCount); + if (rgv4){ + result1 = siemensS7Net.Write(resultV1+".0", rgv4); + } else { + result1 = siemensS7Net.Write(resultV1+".1", rgv5); + } + Thread.sleep(100); + writeCount++; + continue; + } + }catch (Exception e){ + log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e); + } + writeCount++; + } while (writeCount<6); + } + private void write9(StaProtocol staProtocol) throws InterruptedException { if (null == staProtocol) { return; @@ -663,20 +718,20 @@ String resultV2 = ""; switch (staProtocol.getSiteId()){ case 623: - resultV1 = "1800"; - resultV2 = "1812"; + resultV1 = "DB100.1824"; + resultV2 = "DB100.1828"; break; case 624: - resultV1 = "1806"; - resultV2 = "1818"; + resultV1 = "DB100.1828"; + resultV2 = "DB100.1824"; break; case 625: - resultV1 = "1812"; - resultV2 = "1800"; + resultV1 = "DB100.1832"; + resultV2 = "DB100.1836"; break; case 626: - resultV1 = "1818"; - resultV2 = "1806"; + resultV1 = "DB100.1836"; + resultV2 = "DB100.1832"; break; default: return; -- Gitblit v1.9.1