From 3d2a161ca245484a3162b439cadf348b2f3a75fa Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期三, 23 四月 2025 15:06:37 +0800
Subject: [PATCH] 初始化

---
 src/main/java/com/zy/core/thread/MelsecCrnThread.java |   39 +++++++++++++++++++++++----------------
 1 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
index 3df19a6..84ed59e 100644
--- a/src/main/java/com/zy/core/thread/MelsecCrnThread.java
+++ b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -24,7 +24,6 @@
 import com.zy.core.model.protocol.CrnProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 
 import java.text.MessageFormat;
 import java.util.Date;
@@ -42,6 +41,11 @@
     private CrnProtocol crnProtocol;
     private short heartBeatVal = 1;
     private boolean resetFlag = false;
+
+    /**
+     * 鍫嗗灈鏈烘槸鍚﹀湪鍥炲師鐐硅繍鍔ㄤ腑鏍囪
+     */
+    private boolean backHpFlag = false;
 
     public MelsecCrnThread(CrnSlave slave) {
         this.slave = slave;
@@ -120,13 +124,13 @@
         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);
+        crnProtocol.setxSpeed((short)0);
+        crnProtocol.setySpeed((short)0);
+        crnProtocol.setzSpeed((short)0);
+        crnProtocol.setxDistance((short)0);
+        crnProtocol.setyDistance((short)0);
+        crnProtocol.setxDuration((short)0);
+        crnProtocol.setyDuration((short)0);
     }
 
     @Override
@@ -177,13 +181,13 @@
                 crnProtocol.setTemp2(melsecMcNet.getByteTransform().TransInt16(result.Content, 22));
                 crnProtocol.setTemp3(melsecMcNet.getByteTransform().TransInt16(result.Content, 24));
                 crnProtocol.setTemp4(melsecMcNet.getByteTransform().TransInt16(result.Content, 26));
-                crnProtocol.setXSpeed(melsecMcNet.getByteTransform().TransSingle(result.Content, 28));
-                crnProtocol.setYSpeed(melsecMcNet.getByteTransform().TransSingle(result.Content, 32));
-                crnProtocol.setZSpeed(melsecMcNet.getByteTransform().TransSingle(result.Content, 36));
-                crnProtocol.setXDistance(melsecMcNet.getByteTransform().TransSingle(result.Content, 40));
-                crnProtocol.setYDistance(melsecMcNet.getByteTransform().TransSingle(result.Content, 44));
-                crnProtocol.setXDuration(melsecMcNet.getByteTransform().TransSingle(result.Content, 48));
-                crnProtocol.setYDuration(melsecMcNet.getByteTransform().TransSingle(result.Content, 52));
+                crnProtocol.setxSpeed(melsecMcNet.getByteTransform().TransInt16(result.Content, 28));
+                crnProtocol.setySpeed(melsecMcNet.getByteTransform().TransInt16(result.Content, 32));
+                crnProtocol.setzSpeed(melsecMcNet.getByteTransform().TransInt16(result.Content, 36));
+                crnProtocol.setxDistance(melsecMcNet.getByteTransform().TransInt16(result.Content, 40));
+                crnProtocol.setyDistance(melsecMcNet.getByteTransform().TransInt16(result.Content, 44));
+                crnProtocol.setxDuration(melsecMcNet.getByteTransform().TransInt16(result.Content, 48));
+                crnProtocol.setyDuration(melsecMcNet.getByteTransform().TransInt16(result.Content, 52));
 
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 
@@ -191,6 +195,9 @@
                 if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
                     log.error("-------------------------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}][宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负90锛岀瓑寰呯‘璁わ紒锛�",slave.getId(),crnProtocol.getTaskNo());
                     if (resetFlag) {
+                        if(crnProtocol.getTaskNo()==9999){
+                            backHpFlag = false;
+                        }
                         CrnCommand crnCommand = new CrnCommand();
                         crnCommand.setAckFinish((short)1);
                         if (write(crnCommand)) {
@@ -348,7 +355,7 @@
         }
         OperateResult write = melsecMcNet.Write("D10", heartBeatVal);
         if (!write.IsSuccess) {
-            log.error("杈撻�佺嚎plc缂栧彿={} 蹇冭烦澶辫触", slave.getId());
+            log.error("鍫嗗灈鏈簆lc蹇冭烦閫氳澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
         }
     }
 

--
Gitblit v1.9.1