From 16787b096c6aec16195a85f0a1c4666679e8f32f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 11 一月 2021 13:34:38 +0800
Subject: [PATCH] #

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

diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 7c603e2..fb5bced 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -114,7 +114,7 @@
      * 璇诲彇鐘舵��
      */
     private void readStatus(){
-        OperateResultExOne<byte[]> result = siemensNet.Read("DB11.2", (short) 90);
+        OperateResultExOne<byte[]> result = siemensNet.Read("DB11.2", (short) 104);
         if (result.IsSuccess) {
             if (null == crnProtocol) {
                 crnProtocol = new CrnProtocol();
@@ -160,6 +160,19 @@
             crnProtocol.setDoubleLow(bool3[5]);
             crnProtocol.setPlatformHigh(bool3[6]);
             crnProtocol.setPlatformLow(bool3[7]);
+            boolean[] bool4 = siemensNet.getByteTransform().TransBool(result.Content, 64, 1);    // 66
+            crnProtocol.setLoaded((short) (bool4[4]?1:0));  // 鏈夌墿
+
+            // 閫熷害
+            crnProtocol.setXSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 22));    // 24
+            crnProtocol.setYSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 24));    // 26
+            crnProtocol.setZSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 26));    // 28
+            // 绱閲岀▼銆佹椂闀�
+            crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 88));    // 90
+            crnProtocol.setYDistance((float) siemensNet.getByteTransform().TransInt32(result.Content, 92));    // 94
+            crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 96));    // 98
+            crnProtocol.setYDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 100));    // 102
+
             // 澧炲己
             if (crnProtocol.getForkHome()) {
                 crnProtocol.setForkPos(CrnForkPosType.HOME);
@@ -230,6 +243,66 @@
             log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
             return false;
         }
+        if (command.getTaskNo() == 0) {
+            command.setTaskNo((short) 9999);
+        }
+        // 浠g悊
+        switch (command.getSourcePosX()) {
+            case 1:
+                command.setSourcePosX((short) 4);
+                break;
+            case 2:
+                command.setSourcePosX((short) 3);
+                break;
+            case 3:
+                command.setSourcePosX((short) 2);
+                break;
+            case 4:
+                command.setSourcePosX((short) 1);
+                break;
+            case 5:
+                command.setSourcePosX((short) 4);
+                break;
+            case 6:
+                command.setSourcePosX((short) 3);
+                break;
+            case 7:
+                command.setSourcePosX((short) 2);
+                break;
+            case 8:
+                command.setSourcePosX((short) 1);
+                break;
+            default:
+                log.info("{}鍙峰爢鍨涙満涓嬫柟鍛戒护閿欒锛屾簮鎺掞細{}", command.getCrnNo(), command.getSourcePosX());
+        }
+        switch (command.getDestinationPosX()) {
+            case 1:
+                command.setDestinationPosX((short) 4);
+                break;
+            case 2:
+                command.setDestinationPosX((short) 3);
+                break;
+            case 3:
+                command.setDestinationPosX((short) 2);
+                break;
+            case 4:
+                command.setDestinationPosX((short) 1);
+                break;
+            case 5:
+                command.setDestinationPosX((short) 4);
+                break;
+            case 6:
+                command.setDestinationPosX((short) 3);
+                break;
+            case 7:
+                command.setDestinationPosX((short) 2);
+                break;
+            case 8:
+                command.setDestinationPosX((short) 1);
+                break;
+            default:
+                log.info("{}鍙峰爢鍨涙満涓嬫柟鍛戒护閿欒锛岀洰鏍囨帓锛歿}", command.getCrnNo(), command.getSourcePosX());
+        }
         command.setCrnNo(slave.getId());
         short[] array = new short[9];
         if (!command.getTaskModeType().equals(CrnTaskModeType.CLEAR)) {

--
Gitblit v1.9.1