From 2c99685a60ecc2da91364642b45a636d1af13b1f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 07 八月 2020 16:53:31 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/CrnThread.java           |   26 ++++++++
 src/main/java/com/zy/core/model/protocol/CrnProtocol.java |  114 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 139 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
new file mode 100644
index 0000000..63a2a49
--- /dev/null
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -0,0 +1,114 @@
+package com.zy.core.model.protocol;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020/8/7
+ */
+@Data
+public class CrnProtocol {
+
+    /**
+     * 1 = 鎵嬪姩妯″紡
+     * 2 = 鑷姩妯″紡
+     * 3 = 鐢佃剳妯″紡
+     * 4 = 鎵嬪姩妯″紡鍚姩涓�
+     * 5 = 鑷姩妯″紡鍚姩涓�
+     * 6 = 鐢佃剳妯″紡鍚姩涓�
+     */
+    public short mode;
+
+    /**
+     * 1 = 鎬ュ仠
+     */
+    public short eStop;
+
+    /**
+     * 寮傚父鐮�
+     */
+    public short alarm;
+
+    /**
+     * 浠诲姟鍙�
+     */
+    public short taskNo;
+
+    /**
+     * 鍫嗗灈鏈哄綋鍓嶇姸鎬�
+     * 0 = 鏈煡
+     * 1 = 绌洪棽
+     * 2 = 妫�鏌ヤ换鍔℃暟鎹�
+     * 3 = 瀹氫綅鍒板彇璐т綅
+     * 7 = 鍙栬揣瀹屾垚
+     * 8 = 绛夊緟璋冨害鏌滃厑璁�
+     * 9 = 绉诲姩鍒版斁璐т綅缃�
+     * 10 = 鏀捐揣涓�
+     * 13 = 鎼繍瀹屾垚
+     * 14 = 绌鸿浇閬胯
+     * 15 = 妫�鏌ヤ换鍔℃暟鎹�
+     * 20 = 妫�鏌ユ簮浣嶇疆
+     * 21 = 妫�鏌ョ洰鏍囦綅缃�
+     * 50 = 绉诲姩浠诲姟
+     * 98 = 浠诲姟瀹屾垚锛寃cs鏈‘璁�
+     * 99 = 鎶ヨ
+     */
+    public short status;
+
+    /**
+     * 鍫嗗灈鏈哄綋鍓嶅垪鍙�
+     */
+    public short bay;
+
+    /**
+     * 鍫嗗灈鏈哄綋鍓嶅眰鍙�
+     */
+    public short level;
+
+    /**
+     * 褰撳墠璐у弶浣嶇疆
+     * 0 = 璐у弶鍘熶綅
+     * 1 = 璐у弶鍦ㄥ乏渚�
+     * 2 = 璐у弶鍦ㄥ彸渚�
+     */
+    public short forkPos;
+
+    /**
+     * 褰撳墠杞借揣鍙颁綅缃�
+     * 0 = 涓嬪畾浣�
+     * 1 = 涓婂畾浣�
+     */
+    public short liftPos;
+
+    /**
+     * 璧拌鍦ㄥ畾浣�
+     * 0 = 鍦ㄥ畾浣�
+     * 1 = 涓嶅湪瀹氫綅
+     */
+    public short walkPos;
+
+    /**
+     * 鍫嗗灈鏈轰换鍔″畬鎴�
+     */
+    public short taskFinish;
+
+    /**
+     * 杞借揣鍙版湁鐗�
+     */
+    public short loaded;
+
+    /**
+     * 鍫嗗灈鏈虹疮璁¤蛋琛岃窛绂�
+     */
+    public int xDistance;
+
+    /**
+     * 鍫嗗灈鏈虹疮璁″崌闄嶈窛绂�
+     */
+    public int yDistance;
+
+    /**
+     * 鍫嗗灈鏈虹疮璁¤繍琛屾椂闀�
+     */
+    public int duration;
+
+}
diff --git a/src/main/java/com/zy/core/thread/CrnThread.java b/src/main/java/com/zy/core/thread/CrnThread.java
index 81fe5c7..1b5c240 100644
--- a/src/main/java/com/zy/core/thread/CrnThread.java
+++ b/src/main/java/com/zy/core/thread/CrnThread.java
@@ -8,6 +8,7 @@
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.Task;
+import com.zy.core.model.protocol.CrnProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 
@@ -21,6 +22,7 @@
 
     SiemensS7Net siemensNet;
     private Slave slave;
+    private CrnProtocol crnProtocol;
 
     public CrnThread(Slave slave) {
         this.slave = slave;
@@ -75,11 +77,33 @@
         return result;
     }
 
+    /**
+     * 璇诲彇鐘舵��
+     */
     private void readStatus(){
-
+        CrnProtocol protocol = new CrnProtocol();
+        protocol.mode = siemensNet.ReadInt16("D2231").Content;
+        protocol.eStop = siemensNet.ReadInt16("D2232").Content;
+        protocol.taskNo = siemensNet.ReadInt16("D2233").Content;
+        protocol.status = siemensNet.ReadInt16("D2234").Content;
+        protocol.bay = siemensNet.ReadInt16("D2235").Content;
+        protocol.level = siemensNet.ReadInt16("D2236").Content;
+        protocol.forkPos = siemensNet.ReadInt16("D2237").Content;
+        protocol.liftPos = siemensNet.ReadInt16("D2238").Content;
+        protocol.walkPos = siemensNet.ReadInt16("D2239").Content;
+        protocol.taskFinish = siemensNet.ReadInt16("D2240").Content;
+        protocol.loaded = siemensNet.ReadInt16("D2241").Content;
+        protocol.alarm = siemensNet.ReadInt16("D2242").Content;
+        protocol.xDistance = siemensNet.ReadInt32("D2251").Content;
+        protocol.yDistance = siemensNet.ReadInt32("D2253").Content;
+        protocol.duration = siemensNet.ReadInt16("D2255").Content;
+        this.crnProtocol = protocol;
     }
 
     @Override
     public void close() {
+
+
+
     }
 }

--
Gitblit v1.9.1