From ffc3b1151655f258fb1db0b24c3434bd294b0598 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期日, 05 十月 2025 10:35:32 +0800
Subject: [PATCH] 联调

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java |   78 +++++++++++++++++++++------------------
 1 files changed, 42 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index b1995c0..8f4ef1f 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -147,13 +147,13 @@
         crnProtocol.setWalkPos((short) 0);
         crnProtocol.setLoaded((short) 0);
         crnProtocol.setAlarm((short) 0);
-        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);
+        crnProtocol.setxSpeed((float) 0);
+        crnProtocol.setySpeed((float) 0);
+        crnProtocol.setzSpeed((float) 0);
+        crnProtocol.setxDistance((float) 0);
+        crnProtocol.setyDistance((float) 0);
+        crnProtocol.setxDuration((float) 0);
+        crnProtocol.setyDuration((float) 0);
     }
 
     @Override
@@ -181,7 +181,7 @@
      */
     private void readStatus() {
         try {
-            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 56);
+            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 66);
             if (result.IsSuccess) {
                 if (null == crnProtocol) {
                     crnProtocol = new CrnProtocol();
@@ -193,34 +193,40 @@
                 crnProtocol.setBay(siemensNet.getByteTransform().TransInt16(result.Content, 6));
                 crnProtocol.setLevel(siemensNet.getByteTransform().TransInt16(result.Content, 8));
                 crnProtocol.setForkPos(siemensNet.getByteTransform().TransInt16(result.Content, 10));
-                crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
-                crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14));
-                crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 16));
-                crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18));
-                crnProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 20));
-                crnProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 22));
-                crnProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 24));
-                crnProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 26));
-                crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
-                crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 32));
-                crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 36));
-                crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
-                crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 44));
-                crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
-                crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52));
+                crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 26));
+                crnProtocol.setWalkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 28));
+                crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 30));
+
+                crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 12));
+                crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 32));
+
+
+                //crnProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 20));
+                //crnProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 22));
+                //crnProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 24));
+                //crnProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 26));
+                crnProtocol.setxSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 34));
+                crnProtocol.setySpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 38));
+                crnProtocol.setzSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 42));
+                crnProtocol.setxDistance((float) siemensNet.getByteTransform().TransInt16(result.Content, 50) / 10000);
+                crnProtocol.setyDistance((float) siemensNet.getByteTransform().TransInt16(result.Content, 54) / 10000);
+                crnProtocol.setxDuration((float) siemensNet.getByteTransform().TransInt16(result.Content, 58) / 10000);
+                crnProtocol.setyDuration((float) siemensNet.getByteTransform().TransInt16(result.Content, 62) / 10000);
 
                 //2宸ヤ綅
-                crnProtocol.setTaskNoTwo(siemensNet.getByteTransform().TransInt16(result.Content, 56));
-                crnProtocol.setForkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 58));
-                crnProtocol.setLiftPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 60));
-                crnProtocol.setLoadedTwo(siemensNet.getByteTransform().TransInt16(result.Content, 64));
+                crnProtocol.setTaskNoTwo(siemensNet.getByteTransform().TransInt16(result.Content, 14));
+                crnProtocol.setStatusTwo(siemensNet.getByteTransform().TransInt16(result.Content, 16));
+                crnProtocol.setBayTwo(siemensNet.getByteTransform().TransInt16(result.Content, 18));
+                crnProtocol.setLevelTwo(siemensNet.getByteTransform().TransInt16(result.Content, 20));
+                crnProtocol.setForkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 22));
+                crnProtocol.setLoadedTwo(siemensNet.getByteTransform().TransInt16(result.Content, 24));
 
 
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
 
                 // 澶嶄綅淇″彿
                 if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
-                    News.error("---绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙颁俊鍙�:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
+                    News.error("---绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�1淇″彿:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
                             slave.getId(), crnProtocol.getTaskNo(), crnProtocol.getLoaded() == 1 ? "鏈夌墿" : "鏃犵墿");
                     if (resetFlag) {
                         if (crnProtocol.getTaskNo() == 9999) {
@@ -231,7 +237,7 @@
                         crnCommand.setAckFinish((short) 1);
                         if (write(crnCommand)) {
                             resetFlag = false;
-                            News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 澶嶄綅resetFlag鏍囪鎴愬姛{}锛侊紒",
+                            News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 宸ヤ綅1澶嶄綅resetFlag鏍囪鎴愬姛{}锛侊紒",
                                     slave.getId(), wrkNo, resetFlag);
                         }
                     }
@@ -239,7 +245,7 @@
 
                 // 澶嶄綅淇″彿
                 if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) {
-                    News.error("---绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙颁俊鍙�:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
+                    News.error("---绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�2淇″彿:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
                             slave.getId(), crnProtocol.getTaskNo(), crnProtocol.getLoaded() == 1 ? "鏈夌墿" : "鏃犵墿");
                     if (resetFlagTwo) {
                         if (crnProtocol.getTaskNo() == 9999) {
@@ -250,7 +256,7 @@
                         crnCommand.setAckFinish((short) 1);
                         if (write2(crnCommand)) {
                             resetFlagTwo = false;
-                            News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 澶嶄綅resetFlag鏍囪鎴愬姛{}锛侊紒",
+                            News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 宸ヤ綅2澶嶄綅resetFlag鏍囪鎴愬姛{}锛侊紒",
                                     slave.getId(), wrkNo, resetFlag);
                         }
                     }
@@ -327,7 +333,7 @@
 //        convertRow(command);
         command.setCrnNo(slave.getId());
 //        short[] array = new short[10];
-        short[] array = new short[10];
+        short[] array = new short[9];
         array[0] = command.getAckFinish(); // 浠诲姟瀹屾垚纭浣�
         array[1] = command.getTaskNo();  // 浠诲姟鍙�
         array[2] = command.getTaskMode();  // 妯″紡
@@ -337,7 +343,6 @@
         array[6] = command.getDestinationPosX();  // 鐩爣浣嶇疆鎺掑彿
         array[7] = command.getDestinationPosY(); // 鐩爣浣嶇疆鍒楀彿
         array[8] = command.getDestinationPosZ(); // 鐩爣浣嶇疆灞傚彿
-        array[9] = command.getCommand();
 //        array[10] = 0;   //澶囩敤1
 
 
@@ -354,6 +359,7 @@
 //                    if (!resetFlag){
                     News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
                     result = siemensNet.Write("DB100.0", array);
+
 //                    }
                     Thread.sleep(100);
                     writeCount1++;
@@ -491,7 +497,7 @@
         }
         // 鍚戝爢鍨涙満鍙戜换鍔″墠鐨勫爢鍨涙満鐘舵��
         try {
-            OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 18);
+            OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.20", (short) 20);
             if (resultRead.IsSuccess) {
                 CrnCommand one = new CrnCommand();
                 one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
@@ -549,7 +555,7 @@
                     writeCount1++;
                     continue;
                 }
-                OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 18);
+                OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 36);
                 if (resultRead.IsSuccess) {
                     CrnCommand one = new CrnCommand();
                     one.setAckFinish(siemensNet.getByteTransform().TransInt16(resultRead.Content, 0));
@@ -594,7 +600,7 @@
                     }
                 }
             } catch (Exception e) {
-                News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�" + e);
+                News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�2,寮傚父锛�" + e);
             }
             writeCount1++;
         } while (writeCount1 < 6);

--
Gitblit v1.9.1