From b86abab05ca255309bc1defe3a4969032c983891 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期三, 16 十月 2024 16:48:27 +0800 Subject: [PATCH] * --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 698 --------------------------------------------------------- 1 files changed, 11 insertions(+), 687 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 80fce32..6acaa03 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -46,6 +46,7 @@ public boolean charge0; //璇锋眰鍏呯數 public boolean charge1; //璇锋眰鍏呯數 private short heartBeatVal = 1; + private boolean result = false; public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ add(100);add(101);add(102);add(103);add(104);add(105);add(106);add(107); add(108);add(109);add(110);add(111);add(112);add(113);add(114);add(115); @@ -133,7 +134,7 @@ /** * 鏉$爜鏁伴噺 */ - private int barcodeSize = 9; + private int barcodeSize = 5; /** * 鍏ュ嚭搴撴ā寮� @@ -183,32 +184,6 @@ case 2: write((StaProtocol)task.getData()); break; - // 鍐欐暟鎹� ID+鐩爣绔� 鐮佸灈瀹屾垚 缁欒緭閫佺嚎鍐欎换鍔″畬鎴� - case 3: - write3((StaProtocol)task.getData()); - break; - // 鍐欐暟鎹� ID+鐩爣绔� 鐮佸灈瀹屾垚 缁欒緭閫佺嚎鍐欎换鍔″畬鎴愬浣� - case 4: - write4((StaProtocol)task.getData()); - break; - case 5: - write3((StaProtocol)task.getData()); - Thread.sleep(400); - write4((StaProtocol)task.getData()); - Thread.sleep(400); - write((StaProtocol)task.getData()); - break; - case 9: - write9((StaProtocol)task.getData()); - break; - case 10: - write10((StaProtocol)task.getData()); - break; - case 11: - write11((StaProtocol)task.getData()); - break; - case 99: - write99((Integer) task.getData()); default: break; } @@ -224,7 +199,7 @@ @Override public boolean connect() { - boolean result = false; + result = false; siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp()); siemensS7Net.setRack(slave.getRack().byteValue()); siemensS7Net.setSlot(slave.getSlot().byteValue()); @@ -245,8 +220,6 @@ * 璇诲彇鐘舵�� ====> 鏁村潡plc */ private void read() throws InterruptedException { -// // 鏇存柊鍏ュ嚭搴撴ā寮� -// updateIoMode(); ArrayList<Integer> staNos = getStaNo(); int staNoSize = staNos.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8)); @@ -302,88 +275,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*12), (short) 8); - if (resultRgv.IsSuccess) { - Integer siteId = staNosRgv[i]; // 绔欑偣缂栧彿 - StaProtocol staProtocol = station.get(siteId); - if (null == staProtocol) { - continue; - } - try{ - staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 0)); // 灏忚溅鐩爣浣� - - staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2)); // 褰撳墠浣嶇疆 -// staProtocol.setNowRow((short)2); // 褰撳墠浣嶇疆 - - boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRgv.Content, 4, 1); - staProtocol.setRGV1(status[0]); // 灏忚溅鏃犺揣绌洪棽 - staProtocol.setRGV2(status[1]); // 灏忚溅杈撻�佺嚎鍙栬揣鍒颁綅 - staProtocol.setRGV3(status[2]); // 灏忚溅杩愯涓� - -// staProtocol.setRGV1(false); // 灏忚溅鏃犺揣绌洪棽 -// staProtocol.setRGV2(true); // 灏忚溅杈撻�佺嚎鍙栬揣鍒颁綅 -// staProtocol.setRGV3(false); // 灏忚溅杩愯涓� - - staProtocol.setRGV44(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 2));//灏忚溅鏀瑰乏渚ц揣鐗╃洰鏍囩珯 - staProtocol.setRGV55(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 4)); //灏忚溅鏀瑰彸渚ц揣鐗╃洰鏍囩珯 - staProtocol.setRGV66(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 6)); // 涓婁綅鏈烘竻闄ゅ钩绉昏溅璧勬枡 -// -// staProtocol.setRGV44((short) 0);//灏忚溅鏀瑰乏渚ц揣鐗╃洰鏍囩珯 -// staProtocol.setRGV55((short) 0); //灏忚溅鏀瑰彸渚ц揣鐗╃洰鏍囩珯 -// staProtocol.setRGV66((short) 0); // 涓婁綅鏈烘竻闄ゅ钩绉昏溅璧勬枡 - - staProtocol.setRGV4(staProtocol.getRGV44() != 0 && staProtocol.getRGV44() != 2);//灏忚溅鏀瑰乏渚ц揣鐗╃洰鏍囩珯 - staProtocol.setRGV5(staProtocol.getRGV55() != 0 && staProtocol.getRGV55() != 2); //灏忚溅鏀瑰彸渚ц揣鐗╃洰鏍囩珯 - staProtocol.setRGV6(staProtocol.getRGV66() != 0 && staProtocol.getRGV66() != 2); // 涓婁綅鏈烘竻闄ゅ钩绉昏溅璧勬枡 - - - }catch (Exception e){ - log.error("璇诲彇RGV淇℃伅澶辫触"+e.getMessage()); - } - } - } - } - - - //鏉$爜鎵弿鍣� - Thread.sleep(200); - OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.2440",(short)(barcodeSize*8)); - if (result2.IsSuccess) { - int[] staNosRgv = {281,292,173,214,120,100,101,102,103}; - - for (int i = 0; i < barcodeSize; i++) { //1:281 2:292 3:174(173) 4:214 5:120 - String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8"); - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); - if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { - Integer siteId = staNosRgv[i]; // 绔欑偣缂栧彿 - StaProtocol staProtocol = station.get(siteId); - if (null == staProtocol) { - continue; - } - staProtocol.setBarcode(barcode); - barcodeThread.setBarcode(barcode); - } - } - } - - //RGV灏忚溅 - Thread.sleep(200); - OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.160",(short)2); - if (result3.IsSuccess) { - Integer siteId = 2000; - StaProtocol staProtocol = station.get(siteId); - if (null == staProtocol) { - staProtocol = new StaProtocol(); - staProtocol.setSiteId(siteId); - station.put(siteId, staProtocol); - } - staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0))); - } if (result.IsSuccess) { @@ -397,9 +288,13 @@ basDevps.add(staProtocol.toSqlModel()); } - BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class); - if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) { - throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�"); + try{ + BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class); + if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) { + throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�"); + } + } catch (Exception e){ + log.error("鏇存柊鏁版嵁搴撴暟鎹け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); } } catch (Exception e) { e.printStackTrace(); @@ -456,548 +351,6 @@ } } - - /** - * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� 鐮佸灈瀹屾垚 缁欒緭閫佺嚎鍐欎换鍔″畬鎴� - */ - private void write3(StaProtocol staProtocol) throws InterruptedException { - if (null == staProtocol) { - return; - } - Integer siteId = staProtocol.getSiteId(); - Integer index =0; - switch (siteId){ - case 607: - index=0; - break; - default: - return; - } - - OperateResult write = null; - //浠诲姟涓嬪彂娆℃暟 - int writeCount = 0; - do { - write = siemensS7Net.Write("DB100.1872", (short) 1); // 浠诲姟瀹屾垚 - if(write.IsSuccess){ - writeCount=6; - }else { - writeCount++; - log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - } - }while (writeCount<5); - - if (!write.IsSuccess) { - staProtocol = station.get(staProtocol.getSiteId()); - if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) { - staProtocol.setPakMk(true); - } - 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)); - } - } - - private void write4(StaProtocol staProtocol) throws InterruptedException { - if (null == staProtocol) { - return; - } - Integer siteId = staProtocol.getSiteId(); - Integer index =0; - switch (siteId){ - case 607: - index=0; - break; - default: - return; - } - - OperateResult write = null; - //浠诲姟涓嬪彂娆℃暟 - int writeCount = 0; - do { - write = siemensS7Net.Write("DB100.1872", (short) 0); // 浠诲姟瀹屾垚澶嶄綅 - if(write.IsSuccess){ - writeCount=6; - } else { - writeCount++; - log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - } - }while (writeCount<5); - - if (!write.IsSuccess) { - staProtocol = station.get(staProtocol.getSiteId()); - if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) { - staProtocol.setPakMk(true); - } - 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.toJSONString(staProtocol)); - } - } - - /** - * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� - */ - private void write11(StaProtocol staProtocol) throws InterruptedException { - if (null == staProtocol) { - return; - } - News.error("RGV鍐欏叆鍛戒护"+JSON.toJSONString(staProtocol)); - - boolean rgv6 = staProtocol.isRGV6(); - OperateResult result1 = null; - OperateResult result2 = null; - String resultV1 = ""; - String resultV2 = ""; - String resultV3 = ""; - short resultS1 = 1; - short resultS2 = 2; - switch (staProtocol.getSiteId()){ - case 623: - resultV1 = "DB100.1830"; - resultV2 = "DB100.1826"; - resultV3 = "DB100.1828"; - break; - case 624: - resultV1 = "DB100.1842"; - resultV2 = "DB100.1838"; - resultV3 = "DB100.1840"; - break; - case 625: - resultV1 = "DB100.1854"; - resultV2 = "DB100.1850"; - resultV3 = "DB100.1852"; - break; - case 626: - resultV1 = "DB100.1866"; - resultV2 = "DB100.1862"; - resultV3 = "DB100.1864"; - break; - default: - return; - } - siemensS7Net.Write(resultV2, (short) 0); - siemensS7Net.Write(resultV3, (short) 0); - result1 = siemensS7Net.Write(resultV1, resultS1); - - //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔� - try { - Thread.sleep(200); - } catch (InterruptedException e) { - e.printStackTrace(); - } - - int writeCount = 1; - do { - try{ - if(!result1.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result1 = siemensS7Net.Write(resultV1, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2); - if (resultRead1.IsSuccess) { - short status = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0); - if (status == 1){ - break; - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result1 = siemensS7Net.Write(resultV1, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result1 = siemensS7Net.Write(resultV1, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - }catch (Exception e){ - log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e); - } - writeCount++; - } while (writeCount<6); - - result2 = siemensS7Net.Write(resultV1, resultS2); - - //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔� - try { - Thread.sleep(200); - } catch (InterruptedException e) { - e.printStackTrace(); - } - - writeCount = 1; - do { - try{ - if(!result2.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result2 = siemensS7Net.Write(resultV1, resultS2); - - Thread.sleep(100); - writeCount++; - continue; - } - OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2); - if (resultRead1.IsSuccess) { - short status = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0); - if (status == resultS2){ - break; - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result2 = siemensS7Net.Write(resultV1, resultS2); - Thread.sleep(100); - writeCount++; - continue; - } - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result2 = siemensS7Net.Write(resultV1, resultS2); - Thread.sleep(100); - writeCount++; - continue; - } - }catch (Exception e){ - log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e); - } - writeCount++; - } while (writeCount<6); - } - - private void write10(StaProtocol staProtocol) throws InterruptedException { - if (null == staProtocol) { - return; - } - News.error("RGV鍐欏叆鍛戒护"+JSON.toJSONString(staProtocol)); - - boolean rgv4 = staProtocol.isRGV4(); - boolean rgv5 = staProtocol.isRGV5(); - OperateResult result1 = null; - OperateResult result2 = null; - String resultV1 = ""; - String resultV2 = ""; - short resultS1 = 1; - short resultS2 = 2; - if (rgv4){ - switch (staProtocol.getSiteId()){ - case 623: - resultV1 = "DB100.1826"; - resultV2 = "DB100.1830"; - break; - case 624: - resultV1 = "DB100.1838"; - resultV2 = "DB100.1842"; - break; - case 625: - resultV1 = "DB100.1850"; - resultV2 = "DB100.1854"; - break; - case 626: - resultV1 = "DB100.1862"; - resultV2 = "DB100.1866"; - break; - default: - return; - } - } else if (rgv5){ - switch (staProtocol.getSiteId()){ - case 623: - resultV1 = "DB100.1828"; - resultV2 = "DB100.1830"; - break; - case 624: - resultV1 = "DB100.1840"; - resultV2 = "DB100.1842"; - break; - case 625: - resultV1 = "DB100.1852"; - resultV2 = "DB100.1854"; - break; - case 626: - resultV1 = "DB100.1864"; - resultV2 = "DB100.1866"; - break; - default: - return; - } - } - siemensS7Net.Write(resultV2, (short) 0); - result1 = siemensS7Net.Write(resultV1, resultS1); - //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔� - try { - Thread.sleep(200); - } catch (InterruptedException e) { - e.printStackTrace(); - } - int writeCount = 1; - do { - try{ - if(!result1.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result1 = siemensS7Net.Write(resultV1, resultS1); - 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); - short statusR1 = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0); - if (statusR1 == resultS1){ - break; - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result1 = siemensS7Net.Write(resultV1, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result1 = siemensS7Net.Write(resultV1, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - }catch (Exception e){ - log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e); - } - writeCount++; - } while (writeCount<6); - - - result2 = siemensS7Net.Write(resultV1, resultS2); - - writeCount = 1; - do { - try{ - if(!result2.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result2 = siemensS7Net.Write(resultV1, resultS2); - 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); - short statusR1 = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0); - if (statusR1 == resultS2){ - break; - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result2 = siemensS7Net.Write(resultV1, resultS2); - - Thread.sleep(100); - writeCount++; - continue; - } - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result2 = siemensS7Net.Write(resultV1, resultS2); - 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; - } - short resultS1 = staProtocol.getEndRow(); - OperateResult result1 = null; - OperateResult result2 = null; - String resultV1 = ""; - String resultV2 = ""; - News.error("RGV鍐欏叆鍛戒护"+JSON.toJSONString(staProtocol)); - - switch (staProtocol.getSiteId()){ - case 623: - resultV1 = "DB100.1824"; - resultV2 = "DB100.1848"; - break; - case 624: - resultV1 = "DB100.1836"; - resultV2 = "DB100.1860"; - break; - case 625: - resultV1 = "DB100.1848"; - resultV2 = "DB100.1824"; - break; - case 626: - resultV1 = "DB100.1860"; - resultV2 = "DB100.1836"; - break; - default: - return; - } - result1 = siemensS7Net.Write(resultV1, resultS1); - result2 = siemensS7Net.Write(resultV2, resultS1); - //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔� - try { - Thread.sleep(200); - } catch (InterruptedException e) { - e.printStackTrace(); - } - - int writeCount = 1; - do { - try{ - if(!result1.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result1 = siemensS7Net.Write(resultV1, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2); - if (resultRead1.IsSuccess) { - short transInt16 = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0); - if (transInt16 == resultS1){ - break; - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result1 = siemensS7Net.Write(resultV1, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result1 = siemensS7Net.Write(resultV1, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - }catch (Exception e){ - log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e); - } - writeCount++; - } while (writeCount<6); - - writeCount = 1; - do { - try{ - if(!result2.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result2 = siemensS7Net.Write(resultV2, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - OperateResultExOne<byte[]> resultRead2 = siemensS7Net.Read(resultV2, (short) 2); - if (resultRead2.IsSuccess) { - short transInt16 = siemensS7Net.getByteTransform().TransInt16(resultRead2.Content, 0); - if (transInt16 == resultS1){ - break; - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result2 = siemensS7Net.Write(resultV2, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); - result2 = siemensS7Net.Write(resultV2, resultS1); - Thread.sleep(100); - writeCount++; - continue; - } - }catch (Exception e){ - log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e); - } - writeCount++; - } while (writeCount<6); - - if (!result1.IsSuccess) { - staProtocol = station.get(staProtocol.getSiteId()); - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSONString(staProtocol))); - log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSONString(staProtocol)); - } else { - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSONString(staProtocol))); - log.info("杈撻�佺嚎鍛戒护涓嬪彂瀹屾垚 缁欒緭閫佸浣� [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSONString(staProtocol)); - } - } - - private void write99(Integer devNo) throws InterruptedException { - String resultV1 = ""; - switch (devNo){ - case 1: - resultV1 = "DB500.0.0"; - break; - case 2: - resultV1 = "DB500.0.1"; - break; - case 3: - resultV1 = "DB500.0.2"; - break; - default: - return; - } - OperateResult result = siemensS7Net.Write(resultV1, true); - Integer writeCount = 0; - do { - try{ - if(!result.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount); - result = siemensS7Net.Write(resultV1, true); - Thread.sleep(100); - writeCount++; - continue; - } - OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read("resultV1", (short) 1); - if (resultRead1.IsSuccess) { - boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1); - if (status[devNo-1]){ - break; - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount); - result = siemensS7Net.Write(resultV1, true); - Thread.sleep(100); - writeCount++; - continue; - } - } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount); - result = siemensS7Net.Write(resultV1, true); - Thread.sleep(100); - writeCount++; - continue; - } - }catch (Exception e){ - log.error("鍐欏叆鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e); - } - writeCount++; - } while (writeCount<6); - } - - - // 鏇存柊鍏ュ嚭搴撴ā寮� - private void updateIoMode() throws InterruptedException { - if (this.ioModeOf2F != IoModeType.NONE) { - if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) { - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={1}", slave.getId())); - log.error("鍐欏叆杈撻�佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId()); - } - } - } - /** * 蹇冭烦 */ @@ -1030,37 +383,8 @@ } public static void main(String[] args) { - System.out.println(staNos1.indexOf(129)); - System.out.println(staNos1.size()); - for (int i = 0; i<staNos1.size(); i++) { -// System.out.println(i*2); -// System.out.println(i*2 + 200); -// System.out.println(i); - } - int index = staNos1.indexOf(128); - System.out.println(index*2); - System.out.println(index*2 + 200); + } -// public static void main(String[] args) throws Exception { -// DevpSlave slave = new DevpSlave(); -// slave.setIp("192.168.2.125"); -// SiemensDevpThread devpThread = new SiemensDevpThread(slave); -// devpThread.connect(); -// devpThread.read(); -// // 鍐� -// StaProtocol staProtocol = devpThread.getStation().get(1); -// staProtocol.setWorkNo((short) 232); -// staProtocol.setStaNo((short) 6); -// staProtocol.setAutoing(true); -// staProtocol.setEmptyMk(true); -// staProtocol.setInEnable(true); -// devpThread.write(staProtocol); -// System.out.println("----------------------------------------"); -// // 璇� -// devpThread.read(); -// System.out.println(JSON.toJSONString(devpThread.station)); -// -// } } -- Gitblit v1.9.1