From 2b2c8b2d3f508575976d642ff691c61dacbd2ee1 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 06 一月 2022 10:21:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/enums/CrnStatusType.java    |    1 +
 src/main/java/com/zy/core/thread/MelsecCrnThread.java |   28 ++++++++++++++++++++++++++++
 src/main/java/com/zy/core/enums/CrnModeType.java      |    1 +
 3 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/enums/CrnModeType.java b/src/main/java/com/zy/core/enums/CrnModeType.java
index 4b9601e..7f2d84a 100644
--- a/src/main/java/com/zy/core/enums/CrnModeType.java
+++ b/src/main/java/com/zy/core/enums/CrnModeType.java
@@ -2,6 +2,7 @@
 
 public enum CrnModeType {
 
+    NONE(-1, "绂荤嚎"),
     STOP(0, "缁翠慨"),
     HAND(1, "鎵嬪姩"),
     HALF_AUTO(2, "鍗婅嚜鍔�"),
diff --git a/src/main/java/com/zy/core/enums/CrnStatusType.java b/src/main/java/com/zy/core/enums/CrnStatusType.java
index af3b713..93215aa 100644
--- a/src/main/java/com/zy/core/enums/CrnStatusType.java
+++ b/src/main/java/com/zy/core/enums/CrnStatusType.java
@@ -2,6 +2,7 @@
 
 public enum CrnStatusType {
 
+    NONE(-1, "绂荤嚎"),
     IDLE(0, "绌洪棽"),
     FETCH_MOVING(1, "鍙栬揣琛岃蛋"),
     FETCH_WAITING(2, "鍙栬揣绛夊緟"),
diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
index 57d10ea..0f4c004 100644
--- a/src/main/java/com/zy/core/thread/MelsecCrnThread.java
+++ b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -94,6 +94,32 @@
         }
     }
 
+    /**
+     * 鍒濆鍖栧爢鍨涙満鐘舵��
+     */
+    private void initCrn() {
+        if (null == crnProtocol) {
+            crnProtocol = new CrnProtocol();
+        }
+        crnProtocol.setMode((short) -1);
+//        crnProtocol.setTaskNo((short)0);
+        crnProtocol.setStatus((short)-1);
+        crnProtocol.setBay((short)0);
+        crnProtocol.setLevel((short)0);
+        crnProtocol.setForkPos((short) -1);
+        crnProtocol.setLiftPos((short) -1);
+        crnProtocol.setWalkPos((short)0);
+        crnProtocol.setLoaded((short)0);
+        crnProtocol.setAlarm((short)0);
+        crnProtocol.setXSpeed(0F);
+        crnProtocol.setYSpeed(0F);
+        crnProtocol.setZSpeed(0F);
+        crnProtocol.setXDistance(0F);
+        crnProtocol.setYDistance(0F);
+        crnProtocol.setXDuration(0F);
+        crnProtocol.setYDuration(0F);
+    }
+
     @Override
     public boolean connect() {
         boolean result = false;
@@ -106,6 +132,7 @@
         } else {
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝爢鍨涙満plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}] ", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
             log.error("鍫嗗灈鏈簆lc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            initCrn();
         }
         melsecMcNet.ConnectClose();
         return result;
@@ -174,6 +201,7 @@
             e.printStackTrace();
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
             log.error("璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            initCrn();
         }
 
     }

--
Gitblit v1.9.1