From ec1f480801fdc89e862f4e9bcad2aed47ae1d37b Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 15 三月 2022 15:37:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/SteThread.java           |   58 ++++++++++++++--------------
 src/main/java/com/zy/core/enums/SteLocaType.java          |   41 ++++++++++++++++++++
 src/main/java/com/zy/core/model/protocol/SteProtocol.java |   13 ++++++
 3 files changed, 83 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/zy/core/enums/SteLocaType.java b/src/main/java/com/zy/core/enums/SteLocaType.java
new file mode 100644
index 0000000..570b759
--- /dev/null
+++ b/src/main/java/com/zy/core/enums/SteLocaType.java
@@ -0,0 +1,41 @@
+package com.zy.core.enums;
+
+public enum SteLocaType {
+
+    A(1, "A鐐�"),
+    B(2, "B鐐�"),
+    A_WAITING(3, "A寰呮満鐐�"),
+    B_WAITING(4, "B寰呮満鐐�"),
+    ;
+
+    public Integer id;
+    public String desc;
+    SteLocaType(Integer id, String desc) {
+        this.id = id;
+        this.desc = desc;
+    }
+
+    public static SteLocaType get(Short id) {
+        if (null == id) {
+            return null;
+        }
+        for (SteLocaType type : SteLocaType.values()) {
+            if (type.id.equals(id.intValue())) {
+                return type;
+            }
+        }
+        return null;
+    }
+
+    public static SteLocaType get(SteLocaType type) {
+        if (null == type) {
+            return null;
+        }
+        for (SteLocaType crnStatusType : SteLocaType.values()) {
+            if (crnStatusType == type) {
+                return crnStatusType;
+            }
+        }
+        return null;
+    }
+}
diff --git a/src/main/java/com/zy/core/model/protocol/SteProtocol.java b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
index 1890496..81a7f81 100644
--- a/src/main/java/com/zy/core/model/protocol/SteProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -2,6 +2,7 @@
 
 import com.zy.asrs.entity.BasSte;
 import com.zy.core.enums.SteHisTaskStatusType;
+import com.zy.core.enums.SteLocaType;
 import com.zy.core.enums.SteStatusType;
 import lombok.Data;
 
@@ -79,6 +80,8 @@
      * 褰撳墠浣嶇疆     1锛岃繎鐐癸紝2杩滅偣锛�3A鐐癸紝4B鐐�
      */
     public Short loca;
+
+    public SteLocaType locaType;
 
     /**
      * 杩戠偣璺濈
@@ -188,6 +191,16 @@
         this.status = SteStatusType.get(type).id.shortValue();
     }
 
+    public void setLoca(Short loca){
+        this.loca = loca;
+        this.locaType = SteLocaType.get(loca);
+    }
+
+    public void setLoca(SteLocaType type){
+        this.locaType = type;
+        this.loca = SteLocaType.get(type).id.shortValue();
+    }
+
     public void setHisTaskStatus(Short hisTaskStatus){
         this.hisTaskStatus = hisTaskStatus;
         this.hisTaskStatusType = SteHisTaskStatusType.get(hisTaskStatus);
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index 2d45b85..c7af558 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -72,7 +72,7 @@
                         break;
                 }
                 // 蹇冭烦
-                heartbeat();
+//                heartbeat();
                 Thread.sleep(500);
             } catch (Exception e) {
                 e.printStackTrace();
@@ -133,44 +133,44 @@
      */
     private void readStatus(){
         try {
-            OperateResultExOne<byte[]> result = siemensS7Net.Read("V20", (short) 70);
+            OperateResultExOne<byte[]> result = siemensS7Net.Read("DB4", (short) 70);
             if (result.IsSuccess) {
                 if (null == steProtocol) {
                     steProtocol = new SteProtocol();
                 }
-//                steProtocol.setSteNo();
-//                steProtocol.setMode();
-//                steProtocol.setStatus();
+                steProtocol.setSteNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 0));
+                steProtocol.setMode(siemensS7Net.getByteTransform().TransInt16(result.Content, 2));
+                steProtocol.setStatus(siemensS7Net.getByteTransform().TransInt16(result.Content, 4));
 //                steProtocol.setExecute();
 //                steProtocol.setWaiting();
-//                steProtocol.setAlarm();
-//                steProtocol.setAlarm0();
-//                steProtocol.setCharge();
+                steProtocol.setAlarm(siemensS7Net.getByteTransform().TransInt32(result.Content, 6));
+                steProtocol.setAlarm0(siemensS7Net.getByteTransform().TransInt32(result.Content, 10));
+                steProtocol.setCharge(siemensS7Net.getByteTransform().TransInt16(result.Content, 14));
 //                steProtocol.setFullCharge();
 //                steProtocol.setLowCharge();
-//                steProtocol.setFeed();
-//                steProtocol.setLoca();
+                steProtocol.setFeed(siemensS7Net.getByteTransform().TransInt16(result.Content, 16));
+                steProtocol.setLoca(siemensS7Net.getByteTransform().TransInt16(result.Content, 18));
 //                steProtocol.setCloser();
 //                steProtocol.setSpeed();
-//                steProtocol.setPos();
-//                steProtocol.setLoad();
-//                steProtocol.setTrack();
-//                steProtocol.setTaskNo();
-//                steProtocol.setTaskType();
-//                steProtocol.setRow();
-//                steProtocol.setBay();
-//                steProtocol.setLev();
-//
-//                steProtocol.setHisTaskNo();
-//                steProtocol.setHisTaskStatus();
-//                steProtocol.setCheckQty();
-//                steProtocol.setReady();
-//                steProtocol.setChargeNo();
-//
-//                steProtocol.setHeart();
-//                steProtocol.setCrnStopRun();
-//                steProtocol.setCrnStopFork();
-//                steProtocol.setCrnAllowRun();
+                steProtocol.setPos(siemensS7Net.getByteTransform().TransInt16(result.Content, 28));
+                steProtocol.setLoad(siemensS7Net.getByteTransform().TransInt16(result.Content, 30));
+                steProtocol.setTrack(siemensS7Net.getByteTransform().TransInt16(result.Content, 32));
+                steProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt32(result.Content, 38));
+                steProtocol.setTaskType(siemensS7Net.getByteTransform().TransInt16(result.Content, 42));
+                steProtocol.setRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 44));
+                steProtocol.setBay(siemensS7Net.getByteTransform().TransInt16(result.Content, 46));
+                steProtocol.setLev(siemensS7Net.getByteTransform().TransInt16(result.Content, 48));
+
+                steProtocol.setHisTaskNo(siemensS7Net.getByteTransform().TransInt32(result.Content, 58));
+                steProtocol.setHisTaskStatus(siemensS7Net.getByteTransform().TransInt16(result.Content, 62));
+                steProtocol.setCheckQty(siemensS7Net.getByteTransform().TransInt16(result.Content, 64));
+                steProtocol.setReady(siemensS7Net.getByteTransform().TransInt16(result.Content, 66));
+                steProtocol.setChargeNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 68));
+
+                steProtocol.setHeart(siemensS7Net.getByteTransform().TransInt16(result.Content, 72));
+                steProtocol.setCrnStopRun(siemensS7Net.getByteTransform().TransInt16(result.Content, 74));
+                steProtocol.setCrnStopFork(siemensS7Net.getByteTransform().TransInt16(result.Content, 76));
+                steProtocol.setCrnAllowRun(siemensS7Net.getByteTransform().TransInt16(result.Content, 78));
 
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 

--
Gitblit v1.9.1