From 8aed3bbc70b7183d3c4085962e7942ee54365a7a Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 17 四月 2023 14:51:26 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 61 +++++++++++++++--------------- 1 files changed, 31 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index a31efdc..cba849c 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -88,7 +88,7 @@ break; // 鍐欐暟鎹� ID+鐩爣绔� case 2: - write((StaProtocol)task.getData()); + write((StaProtocol)task.getData(), 0); Thread.sleep(300); read(); break; @@ -232,22 +232,25 @@ /** * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� */ - private void write(StaProtocol staProtocol) throws InterruptedException { - if (null == staProtocol) { + private void write(StaProtocol staProtocol, int times) throws InterruptedException { + if (null == staProtocol || times > 2) { return; } int index = staNos.indexOf(staProtocol.getSiteId()); OperateResult write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo()); // 宸ヤ綔鍙� - Thread.sleep(500); + Thread.sleep(200); OperateResult write1 = siemensS7Net.Write("DB101." + index*2, staProtocol.getStaNo()); // 鐩爣绔� if (!write.IsSuccess || !write1.IsSuccess) { - staProtocol = station.get(staProtocol.getSiteId()); - if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) { - staProtocol.setPakMk(true); - } + MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(2, staProtocol)); OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol))); - News.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol)); + News.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol)); + times++; + write(staProtocol, times); +// staProtocol = station.get(staProtocol.getSiteId()); +// if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) { +// staProtocol.setPakMk(true); +// } } else { OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol))); News.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(staProtocol)); @@ -317,26 +320,24 @@ siemensS7Net.ConnectClose(); } - public static void main(String[] args) { -// System.out.println(staNos.indexOf(129)); - System.out.println(staNos.size()); - for (int i = 0; i<staNos.size(); i++) { -// System.out.println(i*2); -// System.out.println(i*2 + 200); -// System.out.println(i); + public static void main(String[] args) throws Exception { + DevpSlave slave = new DevpSlave(); + slave.setIp("10.10.10.61"); + slave.setPort(102); + slave.setRack(0); + slave.setSlot(0); + SiemensDevpThread devpThread = new SiemensDevpThread(slave); + SiemensS7Net siemensS7Net = devpThread.getSiemensS7Net(); + siemensS7Net.setRack(slave.getRack().byteValue()); + siemensS7Net.setSlot(slave.getSlot().byteValue()); + OperateResult connect = siemensS7Net.ConnectServer(); + if(connect.IsSuccess){ + News.info("杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); + } else { + News.error("杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); } -// int index = staNos.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(); -// // 鍐� + siemensS7Net.ConnectClose(); + // 鍐� // StaProtocol staProtocol = devpThread.getStation().get(1); // staProtocol.setWorkNo((short) 232); // staProtocol.setStaNo((short) 6); @@ -348,7 +349,7 @@ // // 璇� // devpThread.read(); // System.out.println(JSON.toJSONString(devpThread.station)); -// -// } + + } } -- Gitblit v1.9.1