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 +++++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/controller/ConsoleController.java |    2 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    4 +-
 src/main/java/com/zy/core/enums/CrnLiftPosType.java         |    1 
 src/main/java/com/zy/asrs/controller/CrnController.java     |    6 --
 src/main/java/com/zy/core/model/protocol/CrnProtocol.java   |   10 ++--
 src/main/resources/application.yml                          |   12 +++---
 7 files changed, 90 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index 4349ee5..b4d1309 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -129,7 +129,7 @@
             /**
              * 鍫嗗灈鏈虹姸鎬佸垽鏂�
              */
-            if ((crn.getId() == 1 && crnProtocol.getAlarm1() > 0) || (crn.getId() == 2 && crnProtocol.getAlarm1() > 1000)) {
+            if (crn.getId() == 1 && crnProtocol.getAlarm1() > 0) {
                 vo.setCrnStatus(CrnStatusType.MACHINE_ERROR);
             } else {
                 if (crnProtocol.getTaskNo()>0) {
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 29f65a1..03eb364 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -129,11 +129,7 @@
             vo.setXLocation(crnProtocol.getWalkPos() == 1?"鏄�":"鍚�");      // 璧拌瀹氫綅
             vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"鍚�":"鏄�");      // 鍗囬檷瀹氫綅
 //            vo.setStop(crnProtocol.getCrnError1().controlStop||crnProtocol.getCrnError1().mainStop||crnProtocol.getCrnError1().remoteStop?"鏄�":"鍚�");       //  鎬ュ仠
-            if (vo.getCrnNo() == 2) {
-                vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()-1000));  //  寮傚父鐮�
-            } else {
-                vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));  //  寮傚父鐮�
-            }
+            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));  //  寮傚父鐮�
 
         }
         return R.ok().add(list);
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index e491427..2f6c7bd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -755,7 +755,7 @@
                             if (wrkMast == null) {
                                 continue;
                             }
-                            BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
+                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
                             String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
                             BasErrLog basErrLog = new BasErrLog(
                                     null,    // 缂栧彿
@@ -802,7 +802,7 @@
                     if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) {
                         // 璁板綍鏂板紓甯�
                         if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm1().intValue())) {
-                            BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
+                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
                             String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
                             BasErrLog basErrLog = new BasErrLog(
                                     null,    // 缂栧彿
diff --git a/src/main/java/com/zy/core/enums/CrnLiftPosType.java b/src/main/java/com/zy/core/enums/CrnLiftPosType.java
index ad16280..62bbf5e 100644
--- a/src/main/java/com/zy/core/enums/CrnLiftPosType.java
+++ b/src/main/java/com/zy/core/enums/CrnLiftPosType.java
@@ -7,6 +7,7 @@
     DOWN(2, "鍗曚几浣嶄綆浣�"),  // 涓嬪畾浣�
     UP(1, "鍗曚几浣嶉珮浣�"),   // 涓婂畾浣�
     NONE(0, "涓嶅湪瀹氫綅"),   // 涓嶅湪瀹氫綅
+    ERROR(-1, "鏈煡"),   // 涓嶅湪瀹氫綅
     ;
 
     public Integer id;
diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
index 761a91a..2110fc1 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -185,25 +185,25 @@
      * 1 = 璐у弶鍦ㄥ乏渚�
      * 2 = 璐у弶鍦ㄥ彸渚�
      */
-    public Short forkPos;
+    public Short forkPos = -1;
 
-    public CrnForkPosType forkPosType;
+    public CrnForkPosType forkPosType = CrnForkPosType.NONE;
 
     /**
      * 褰撳墠杞借揣鍙颁綅缃�
      * 0 = 涓嬪畾浣�
      * 1 = 涓婂畾浣�
      */
-    public Short liftPos;
+    public Short liftPos = -1;
 
-    public CrnLiftPosType liftPosType;
+    public CrnLiftPosType liftPosType = CrnLiftPosType.ERROR;
 
     /**
      * 璧拌鍦ㄥ畾浣�
      * 0 = 鍦ㄥ畾浣�
      * 1 = 涓嶅湪瀹氫綅
      */
-    public Short walkPos;
+    public Short walkPos = 0;
 
     /**
      * 鎷ㄦ寚浣嶇疆
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)) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5318701..d287af3 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -44,10 +44,10 @@
   # 鍫嗗灈鏈�1
   crn[0]:
     id: 1
-    ip: 192.168.6.9
-    port: 102
+    ip: 192.168.0.20
+    port: 2000
     rack: 0
-    slot: 0
+    slot: 1
     # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
     offset: 2
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
@@ -67,10 +67,10 @@
   # 鍫嗗灈鏈�2
   crn[1]:
     id: 2
-    ip: 192.168.6.20
-    port: 6000
+    ip: 192.168.0.10
+    port: 2000
     rack: 0
-    slot: 0
+    slot: 1
     # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
     offset: 2
     # 鍫嗗灈鏈哄叆搴撶珯鐐�

--
Gitblit v1.9.1