From 4420bfb992da73896ae21107ae45b981df4c726e Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期四, 29 十二月 2022 11:38:36 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/MelsecCrnThread.java |   65 ++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
index 4999239..9beeb30 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;
@@ -87,12 +86,12 @@
                         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
                         command.setAckFinish((short) 1);  // 浠诲姟瀹屾垚纭浣�
                         command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
-                        command.setSourcePosX((short)0);     // 婧愬簱浣嶆帓
-                        command.setSourcePosY((short)0);     // 婧愬簱浣嶅垪
-                        command.setSourcePosZ((short)0);     // 婧愬簱浣嶅眰
-                        command.setDestinationPosX((short)0);     // 鐩爣搴撲綅鎺�
-                        command.setDestinationPosY((short)0);     // 鐩爣搴撲綅鍒�
-                        command.setDestinationPosZ((short)0);     // 鐩爣搴撲綅灞�
+//                        command.setSourcePosX((short)0);     // 婧愬簱浣嶆帓
+//                        command.setSourcePosY((short)0);     // 婧愬簱浣嶅垪
+//                        command.setSourcePosZ((short)0);     // 婧愬簱浣嶅眰
+//                        command.setDestinationPosX((short)0);     // 鐩爣搴撲綅鎺�
+//                        command.setDestinationPosY((short)0);     // 鐩爣搴撲綅鍒�
+//                        command.setDestinationPosZ((short)0);     // 鐩爣搴撲綅灞�
                         write(command);
                         break;
                     default:
@@ -125,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
@@ -162,7 +161,7 @@
 //                flag1=1;
 //                System.out.println("===");
 //            }
-            OperateResultExOne<byte[]> result = melsecMcNet.Read("D20", (short) 70);
+            OperateResultExOne<byte[]> result = melsecMcNet.Read("D1035", (short) 56);
             if (result.IsSuccess) {
                 if (null == crnProtocol) {
                     crnProtocol = new CrnProtocol();
@@ -182,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()));
 
@@ -299,11 +298,11 @@
         array[7] = command.getDestinationPosY();
         array[8] = command.getDestinationPosZ();
         array[9] = command.getCommand();
-        OperateResult result = melsecMcNet.Write("D0", array);
+        OperateResult result = melsecMcNet.Write("D1001", array);
 
         if (command.getAckFinish() == 0) {
             short commandFinish = 1;
-            result = melsecMcNet.Write("D9", commandFinish);
+            result = melsecMcNet.Write("D1010", commandFinish);
         }
 
         try {
@@ -349,12 +348,22 @@
      * 蹇冭烦
      */
     private void heartbeat(){
-        if (heartBeatVal == 1) {
-            heartBeatVal = 2;
+        if (heartBeatVal >= 30000) {
+            heartBeatVal = -30000;
         } else {
-            heartBeatVal = 1;
+            heartBeatVal =(short) (heartBeatVal+1);
         }
-        OperateResult write = melsecMcNet.Write("D10", heartBeatVal);
+        OperateResult write = melsecMcNet.Write("D1011", heartBeatVal);
+//        OperateResult write1 = melsecMcNet.Write("D1001", (short) 0);
+//        OperateResult write2 = melsecMcNet.Write("D1002", (short) 0);
+//        OperateResult write3 = melsecMcNet.Write("D1003", (short) 0);
+//        OperateResult write4 = melsecMcNet.Write("D1004", (short) 0);
+//        OperateResult write5 = melsecMcNet.Write("D1005", (short) 0);
+//        OperateResult write6 = melsecMcNet.Write("D1006", (short) 0);
+//        OperateResult write7 = melsecMcNet.Write("D1007", (short) 0);
+//        OperateResult write8 = melsecMcNet.Write("D1008", (short) 0);
+//        OperateResult write9 = melsecMcNet.Write("D1009", (short) 0);
+//        OperateResult write10 = melsecMcNet.Write("D1010", (short) 0);
         if (!write.IsSuccess) {
             log.error("鍫嗗灈鏈簆lc蹇冭烦閫氳澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
         }

--
Gitblit v1.9.1