From 9958443ee72527733d443da7b05d8d3fd3deebca Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 05 六月 2024 16:02:47 +0800
Subject: [PATCH] #

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

diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ca18898..692146e 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -302,6 +302,72 @@
         array[9] = command.getCommand();
         OperateResult result18 = siemensNet.Write("DB100.18", (short)0);
         OperateResult result = siemensNet.Write("DB100.0", array);
+        log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
+
+
+
+        //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
+        Thread.sleep(200);
+        int writeCount1 = 1;
+        do {
+            try{
+                if(!result.IsSuccess){
+                    log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command),writeCount1);
+//                    MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command));
+                    result = siemensNet.Write("DB100.0", array);
+                    Thread.sleep(100);
+                    writeCount1++;
+                    continue;
+                }
+                OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 24);
+                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));
+                    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())
+                            || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
+                    ){
+                        try{
+                            log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
+                        }catch (Exception e){
+                            try{
+                                log.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSON(command),JSON.toJSON(resultRead));
+                            }catch (Exception e1){
+                                log.error("鏃ュ織鎵撳嵃澶辫触锛�===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
+                            }
+                        }
+
+                        try{
+                            Thread.sleep(100);
+                        }catch (Exception e){
+
+                        }
+
+//                        News.error("鍫嗗灈鏈哄懡浠ゅ洖璇诲け璐ュ悗锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{},resetFlag={}", slave.getId(), JSON.toJSON(command),resetFlag);
+//                            MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command));
+                        log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command),writeCount1);
+                        result = siemensNet.Write("DB100.0", array);
+                        writeCount1++;
+                        continue;
+
+                    } else {
+                        log.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
+                        break;
+                    }
+                }
+            }catch (Exception e){
+                log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
+            }
+            writeCount1++;
+        } while (writeCount1<6);
 
         if (command.getAckFinish() == 0) {
             short commandFinish = 1;

--
Gitblit v1.9.1