From d63adcb214c6bc2a72c5b5bb7bd30abc391138dd Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 03 十月 2025 15:31:37 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java |   96 ++++++++++++++++++++++++++---------------------
 1 files changed, 53 insertions(+), 43 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index f2b7e8d..4a93d3b 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -74,7 +74,12 @@
                         break;
                     // 鍐欏叆鏁版嵁 1鍙峰伐浣�
                     case 2:
-                        write((CrnCommand) task.getData());
+                        CrnCommand data = (CrnCommand) task.getData();
+                        if (data.getPltType() == null || data.getPltType() == 1) {
+                            write(data);
+                        } else if (data.getPltType() == 2) {
+                            write2(data);
+                        }
                         break;
                     // 澶嶄綅 1鍙峰伐浣�
                     case 3:
@@ -93,10 +98,6 @@
                         command.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
                         command.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
                         write(command);
-                        break;
-                    // 鍐欏叆鏁版嵁 2鍙峰伐浣�
-                    case 4:
-                        write2((CrnCommand) task.getData());
                         break;
                     // 澶嶄綅 2鍙峰伐浣�
                     case 6:
@@ -192,27 +193,34 @@
                 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(siemensNet.getByteTransform().TransInt16(result.Content, 34));
+                crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 38));
+                crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 42));
+                crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 46));
+                crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 50));
+                crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 54));
+                crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 58));
 
                 //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()));
@@ -326,7 +334,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();  // 妯″紡
@@ -336,7 +344,6 @@
         array[6] = command.getDestinationPosX();  // 鐩爣浣嶇疆鎺掑彿
         array[7] = command.getDestinationPosY(); // 鐩爣浣嶇疆鍒楀彿
         array[8] = command.getDestinationPosZ(); // 鐩爣浣嶇疆灞傚彿
-        array[9] = command.getCommand();
 //        array[10] = 0;   //澶囩敤1
 
 
@@ -353,6 +360,7 @@
 //                    if (!resetFlag){
                     News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
                     result = siemensNet.Write("DB100.0", array);
+
 //                    }
                     Thread.sleep(100);
                     writeCount1++;
@@ -489,8 +497,8 @@
             return false;
         }
         // 鍚戝爢鍨涙満鍙戜换鍔″墠鐨勫爢鍨涙満鐘舵��
-        try{
-            OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 18);
+        try {
+            OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.20", (short) 18);
             if (resultRead.IsSuccess) {
                 CrnCommand one = new CrnCommand();
                 one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
@@ -505,13 +513,13 @@
                         || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
                         || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
                         || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
-                ){
+                ) {
 //                    News.error("涓嬪彂鍓嶏細[id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
                 } else {
 //                    News.info("涓嬪彂鍓嶏細[id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
                 }
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�");
         }
 //        convertRow(command);
@@ -531,7 +539,7 @@
 //        array[10] = 0;   //澶囩敤1
 
         short[] array2 = new short[1];
-        array2[0] =  command.getAckFinish();
+        array2[0] = command.getAckFinish();
         OperateResult result = siemensNet.Write("DB100.20", array);
         OperateResult result2 = siemensNet.Write("DB100.0", array2);
         News.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
@@ -539,7 +547,7 @@
         int writeCount1 = 1;
         do {
             try {
-                if (!result.IsSuccess||!result2.IsSuccess) {
+                if (!result.IsSuccess || !result2.IsSuccess) {
 //                    if (!resetFlag){
                     News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
                     result = siemensNet.Write("DB100.0", array);
@@ -548,7 +556,7 @@
                     writeCount1++;
                     continue;
                 }
-                OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 18);
+                OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.20", (short) 18);
                 if (resultRead.IsSuccess) {
                     CrnCommand one = new CrnCommand();
                     one.setAckFinish(siemensNet.getByteTransform().TransInt16(resultRead.Content, 0));
@@ -609,26 +617,26 @@
                     writeCount2++;
                     short commandFinish = (short) 1;
                     result = siemensNet.Write("DB100.38", commandFinish);
-                    if(result.IsSuccess){
+                    if (result.IsSuccess) {
                         //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
                         Thread.sleep(200);
                         OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.38", (short) 2);
                         if (resultRead.IsSuccess) {
-                            commandFinish=siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
-                            if (commandFinish != 1){
-                                News.error("鍫嗗灈鏈轰换鍔$‘璁や綅"+commandFinish+"鍐欏叆鏁版嵁涓庡洖璇绘暟鎹笉涓�鑷达紒"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
-                            }else{
+                            commandFinish = siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
+                            if (commandFinish != 1) {
+                                News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍐欏叆鏁版嵁涓庡洖璇绘暟鎹笉涓�鑷达紒" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
+                            } else {
                                 //浠诲姟鍛戒护鍐欏叆鎴愬姛
 //                                News.info("鍫嗗灈鏈轰换鍔$‘璁や綅"+commandFinish+"鍥炶鎴愬姛锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
                                 break;
                             }
-                        }else {
-                            News.error("鍫嗗灈鏈轰换鍔$‘璁や綅"+commandFinish+"鍥炶澶辫触锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
+                        } else {
+                            News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍥炶澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
                         }
                     } else {
-                        News.error("鍫嗗灈鏈轰换鍔$‘璁や綅"+commandFinish+"鍐欏叆澶辫触锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
+                        News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍐欏叆澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
                     }
-                }while (writeCount2<5);
+                } while (writeCount2 < 5);
             }
         }
 
@@ -654,7 +662,8 @@
                     null    // 淇敼浜哄憳
             );
             bean.insert(basCrnOpt);
-        } catch (Exception ignore) {}
+        } catch (Exception ignore) {
+        }
 
         if (result != null && result.IsSuccess) {
             Thread.sleep(200);
@@ -668,6 +677,7 @@
             return false;
         }
     }
+
     public void requestStop() {
         isRunning = false;
     }

--
Gitblit v1.9.1