From d8d90a246ce19dc9249ea7f0ffe1b8caf0462cc2 Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期六, 31 八月 2024 12:47:22 +0800
Subject: [PATCH] 对照协议调整

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java |   86 +++++++++++++++++++++++++++++-------------
 1 files changed, 59 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 626656a..5139256 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -187,19 +187,53 @@
 
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
 
-                // 澶嶄綅淇″彿
-                if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
-                    if (resetFlag) {
-                        if (crnProtocol.getTaskNo() == 9999) {
-                            backHpFlag = false;
+                if (crnProtocol.getMode() == 1) {
+                    // 澶嶄綅淇″彿
+                    if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+                        System.out.println(crnProtocol);
+                        if (resetFlag) {
+                            if (crnProtocol.getTaskNo() == 9999) {
+                                backHpFlag = false;
+                            }
+                            CrnCommand crnCommand = new CrnCommand();
+                            crnCommand.setAckFinish((short) 1);
+                            if (write(crnCommand)) {
+                                resetFlag = false;
+                            }
                         }
-                        CrnCommand crnCommand = new CrnCommand();
-                        crnCommand.setAckFinish((short) 1);
-                        if (write(crnCommand)) {
-                            resetFlag = false;
+                    }
+                } else if (crnProtocol.getMode() == 2) {
+                    // 澶嶄綅淇″彿
+                    if (!Cools.isEmpty(crnProtocol.getStatusTypeTwo()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) {
+
+                        if (resetFlag) {
+                            if (crnProtocol.getTaskNo() == 9999) {
+                                backHpFlag = false;
+                            }
+                            CrnCommand crnCommand = new CrnCommand();
+                            crnCommand.setAckFinish((short) 1);
+                            if (write(crnCommand)) {
+                                resetFlag = false;
+                            }
+                        }
+                    }
+                } else if (crnProtocol.getMode() == 3) {
+                    // 澶嶄綅淇″彿
+                    if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING) && !Cools.isEmpty(crnProtocol.getStatusTypeTwo()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) {
+                        System.out.println(crnProtocol);
+                        if (resetFlag) {
+                            if (crnProtocol.getTaskNo() == 9999) {
+                                backHpFlag = false;
+                            }
+                            CrnCommand crnCommand = new CrnCommand();
+                            crnCommand.setAckFinish((short) 1);
+                            if (write(crnCommand)) {
+                                resetFlag = false;
+                            }
                         }
                     }
                 }
+
 
                 try {
                     // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
@@ -243,9 +277,6 @@
             News.error("SiemensCrn" + " - 6" + " - 鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
             return false;
         }
-        command.setCommand((short) 1);
-        System.out.println("------------------");
-        System.out.println(command);
 //        convertRow(command);
         command.setCrnNo(slave.getId());
         short[] array = new short[16];
@@ -289,21 +320,20 @@
                 OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 32);
                 if (resultRead.IsSuccess) {
                     CrnCommand one = new CrnCommand();
-                    one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
-                    one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
-                    one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
-                    one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
-                    one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
-                    one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
-                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
-                    one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
-                    one.setSourcePosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 18));
-                    one.setSourcePosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 20));
-                    one.setSourcePosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 22));
-                    one.setDestinationPosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24));
-                    one.setDestinationPosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 26));
-                    one.setDestinationPosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 28));
-                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 30));
+                    one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 0));
+                    one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
+                    one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
+                    one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
+                    one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
+                    one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
+                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
+                    one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
+                    one.setSourcePosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
+                    one.setSourcePosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 18));
+                    one.setSourcePosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 20));
+                    one.setDestinationPosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 22));
+                    one.setDestinationPosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24));
+                    one.setDestinationPosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 26));
                     if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
                             || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
                             || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
@@ -312,6 +342,8 @@
                             || !command.getSourcePosZTwo().equals(one.getSourcePosZTwo()) || !command.getDestinationPosXTwo().equals(one.getDestinationPosXTwo())
                             || !command.getDestinationPosYTwo().equals(one.getDestinationPosYTwo()) || !command.getDestinationPosZTwo().equals(one.getDestinationPosZTwo())
                     ) {
+                        System.out.println(command.getTaskNo().equals(one.getTaskNo()));
+                        System.out.println(one);
                         try {
                             log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command), JSON.toJSONString(one));
                         } catch (Exception e) {

--
Gitblit v1.9.1