From a861a66802880bf562b3d85994025c660f964832 Mon Sep 17 00:00:00 2001
From: lfdfwqwcs <lfdfwqwcs>
Date: 星期四, 06 三月 2025 10:27:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/MelsecCrnThread.java |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
index fb24a86..59ae02d 100644
--- a/src/main/java/com/zy/core/thread/MelsecCrnThread.java
+++ b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -48,6 +48,10 @@
      */
     private boolean backHpFlag = false;
 
+    public Long sign = System.currentTimeMillis();
+
+    public boolean isRunning = true;
+
     public MelsecCrnThread(CrnSlave slave) {
         this.slave = slave;
     }
@@ -55,13 +59,15 @@
     @Override
     @SuppressWarnings("InfiniteLoopStatement")
     public void run() {
+        System.out.println("绾跨▼鍚姩");
+        System.out.println("crnProtocol:"+crnProtocol);
         this.connect();
 //        try {
 //            Thread.sleep(2000);
 //        } catch (InterruptedException e) {
 //            e.printStackTrace();
 //        }
-        while (true) {
+        while (isRunning) {
             try {
                 int step = 1;
                 Task task = MessageQueue.poll(SlaveType.Crn, slave.getId());
@@ -104,7 +110,8 @@
             } catch (Exception e) {
                 e.printStackTrace();
             }
-
+            System.out.println("绗�"+slave.getId()+"涓爢鍨涙満绾跨▼杩愯涓�杞細"+(System.currentTimeMillis()-sign));
+            sign = System.currentTimeMillis();
         }
     }
 
@@ -226,6 +233,8 @@
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
             News.error("MelsecCrn"+" - 5"+" - 璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
             initCrn();
+        } finally {
+            sign = System.currentTimeMillis();
         }
 
     }
@@ -473,4 +482,17 @@
 
     }
 
+    // 鎻愪緵涓�涓柟娉曟潵鍋滄绾跨▼
+    public void requestStop() {
+        isRunning = false;
+    }
+
+    // 鎻愪緵涓�涓柟娉曟潵閲嶅惎绾跨▼
+    public Thread restartThread() {
+        isRunning = true;
+        Thread newThread = new Thread(this);
+        newThread.start();
+        return newThread;
+    }
+
 }

--
Gitblit v1.9.1