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