From 8e665b01e41676e31fd57e662d4aa2680137be60 Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期一, 20 二月 2023 13:21:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/domain/vo/SteSensorDataVo.java  |  253 +++++++++++++++++++++++++
 src/main/java/com/zy/core/thread/SteThread.java           |   60 +++++
 src/main/java/com/zy/core/model/protocol/SteProtocol.java |  175 ++++++++++++++--
 src/main/java/com/zy/asrs/controller/SteController.java   |   57 +++++
 4 files changed, 514 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java
index ae3b776..caf6d76 100644
--- a/src/main/java/com/zy/asrs/controller/SteController.java
+++ b/src/main/java/com/zy/asrs/controller/SteController.java
@@ -201,6 +201,63 @@
                 if (steProtocol == null) {
                     return R.error("璁惧涓嶅湪绾�");
                 }
+
+                // 绌挎杞﹀紓甯� -----------
+                vo.setLiftErr(steProtocol.isLiftErr());
+                vo.setInFetchErr(steProtocol.isInFetchErr());
+                vo.setOutFetchErr(steProtocol.isOutFetchErr());
+                vo.setAntiErr(steProtocol.isAntiErr());
+                vo.setLiftSwitchErr(steProtocol.isLiftSwitchErr());
+                vo.setTrackErr(steProtocol.isTrackErr());
+                vo.setTimeoutErr(steProtocol.isTimeoutErr());
+                vo.setConnectErr(steProtocol.isConnectErr());
+                vo.setEmergencyErr(steProtocol.isEmergencyErr());
+                vo.setTaskTypeErr(steProtocol.isTaskTypeErr());
+                vo.setTaskNoErr(steProtocol.isTaskNoErr());
+                vo.setNewTaskErr(steProtocol.isNewTaskErr());
+                vo.setErrTaskErr(steProtocol.isErrTaskErr());
+                vo.setStopErr(steProtocol.isStopErr());
+                vo.setOfflineTaskErr(steProtocol.isOfflineTaskErr());
+                vo.setStartTaskErr(steProtocol.isStartTaskErr());
+                vo.setVoltageTaskErr(steProtocol.isVoltageTaskErr());
+                vo.setDevpErr(steProtocol.isDevpErr());
+
+                // 绌挎杞︽彁绀轰俊鎭� ----------------------
+                vo.setOnline(steProtocol.isOnline());
+                vo.setNotOnTrack(steProtocol.isNotOnTrack());
+                vo.setLowVoltage(steProtocol.isLowVoltage());
+                vo.setElectricityLoss(steProtocol.isElectricityLoss());
+                vo.setForcedTravel(steProtocol.isForcedTravel());
+                vo.setDemoMode(steProtocol.isDemoMode());
+                vo.setBrushConnect(steProtocol.isBrushConnect());
+                vo.setTaskManualForbid(steProtocol.isTaskManualForbid());
+                vo.setOnlineManualForbid(steProtocol.isOnlineManualForbid());
+                vo.setDevpEmergency(steProtocol.isDevpEmergency());
+                vo.setTaskInterrupt(steProtocol.isTaskInterrupt());
+                vo.setTaskClear(steProtocol.isTaskClear());
+                vo.setTaskConfirmTimeout(steProtocol.isTaskConfirmTimeout());
+                vo.setTaskWithCharge(steProtocol.isTaskWithCharge());
+
+                // 浠诲姟淇℃伅 ----------------
+                vo.setPakInTask(steProtocol.isPakInTask());
+                vo.setPakOutTask(steProtocol.isPakOutTask());
+                vo.setPakMoveTask(steProtocol.isPakMoveTask());
+                vo.setGoHpTask(steProtocol.isGoHpTask());
+                vo.setGoOHpTask(steProtocol.isGoOHpTask());
+                vo.setGoHpAvoid(steProtocol.isGoHpAvoid());
+                vo.setGoOHpAvoid(steProtocol.isGoOHpAvoid());
+                vo.setPakInEmpty(steProtocol.isPakInEmpty());
+                vo.setPakInFinish(steProtocol.isPakInFinish());
+                vo.setPakOutEmpty(steProtocol.isPakOutEmpty());
+                vo.setPakOutFinish(steProtocol.isPakOutFinish());
+                vo.setGoHpAvoidFinish(steProtocol.isGoHpAvoidFinish());
+                vo.setGoOHpAvoidFinish(steProtocol.isGoOHpAvoidFinish());
+                vo.setGoHpAvoidErr(steProtocol.isGoHpAvoidErr());
+                vo.setGoOHpAvoidErr(steProtocol.isGoOHpAvoidErr());
+
+                // 鐘舵�佷俊鎭� -------------
+                vo.setAutoMode(steProtocol.isAutoMode());
+                vo.setVoltageLow(steProtocol.isVoltageLow());
                 break;
             }
         }
diff --git a/src/main/java/com/zy/asrs/domain/vo/SteSensorDataVo.java b/src/main/java/com/zy/asrs/domain/vo/SteSensorDataVo.java
index 23d51bb..de04a0c 100644
--- a/src/main/java/com/zy/asrs/domain/vo/SteSensorDataVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/SteSensorDataVo.java
@@ -8,8 +8,259 @@
 @Data
 public class SteSensorDataVo {
 
-    // 绌挎杞﹀彿
+    /**
+     * 绌挎杞﹀彿
+     */
     private Integer steNo;
 
+    // 绌挎杞﹀紓甯� ------------------------------------------------------------------------
 
+    /**
+     * 0.鍗囬檷瓒呮椂鎶ヨ
+     */
+    private boolean liftErr;
+
+    /**
+     * 2.鍏ュ簱鍙栫┖鎶ヨ
+     */
+    private boolean inFetchErr;
+
+    /**
+     * 3.鍑哄簱鍙栫┖鎶ヨ
+     */
+    private boolean outFetchErr;
+
+    /**
+     * 4.闃叉挒淇濇姢
+     */
+    private boolean antiErr;
+
+    /**
+     * 5.鍗囬檷鎺ヨ繎寮�鍏虫晠闅�
+     */
+    private boolean liftSwitchErr;
+
+    /**
+     * 6.杞ㄩ亾妫�娴嬫姤璀�
+     */
+    private boolean trackErr;
+
+    /**
+     * 7.璁惧杩愯瓒呮椂鎶ヨ
+     */
+    private boolean timeoutErr;
+
+    /**
+     * 8.閫氫俊閿欒鎶ヨ
+     */
+    private boolean connectErr;
+
+    /**
+     * 9.璁惧鎬ュ仠
+     */
+    private boolean emergencyErr;
+
+    /**
+     * 10.浠诲姟绫诲瀷缂哄け
+     */
+    private boolean taskTypeErr;
+
+    /**
+     * 11.浠诲姟鍙风己澶�
+     */
+    private boolean taskNoErr;
+
+    /**
+     * 12.杩愯涓湁鏂颁换鍔�
+     */
+    private boolean newTaskErr;
+
+    /**
+     * 13.鏁呴殰涓湁浠诲姟
+     */
+    private boolean errTaskErr;
+
+    /**
+     * 14.杩愯涓仠姝�
+     */
+    private boolean stopErr;
+
+    /**
+     * 15.鑴辨満妯″紡涓嬫湁浠诲姟
+     */
+    private boolean offlineTaskErr;
+
+    /**
+     * 16.鏉′欢鏈弧瓒冲惎鍔ㄤ换鍔�
+     */
+    private boolean startTaskErr;
+
+    /**
+     * 17.浣庣數鍘嬫椂鏈変换鍔�
+     */
+    private boolean voltageTaskErr;
+
+    /**
+     * 63.璁惧鏁呴殰鏍囧織浣�
+     */
+    private boolean devpErr;
+    // 绌挎杞﹀紓甯� ------------------------------------------------------------------------
+
+    // 绌挎杞︽彁绀轰俊鎭� ------------------------------------------------------------------------
+    /**
+     * 64.鑱旀満鐘舵��
+     */
+    private boolean online;
+
+    /**
+     * 65.涓嶅湪杞ㄩ亾涓�
+     */
+    private boolean notOnTrack;
+
+    /**
+     * 66.浣庣數閲忔彁閱�
+     */
+    private boolean lowVoltage;
+
+    /**
+     * 67.浜忕數涓�
+     */
+    private boolean electricityLoss;
+
+    /**
+     * 68.寮哄埗琛岃蛋鍚姩
+     */
+    private boolean forcedTravel;
+
+    /**
+     * 69.婕旂ず妯″紡寮�鍚�
+     */
+    private boolean demoMode;
+
+    /**
+     * 70.鍏呯數鍒峰凡鎺ラ��
+     */
+    private boolean brushConnect;
+
+    /**
+     * 71.浠诲姟涓姝㈡墜鍔�
+     */
+    private boolean taskManualForbid;
+
+    /**
+     * 72.鑱旀満涓姝㈡墜鍔�
+     */
+    private boolean onlineManualForbid;
+
+    /**
+     * 73.璁惧鎬ュ仠涓�
+     */
+    private boolean devpEmergency;
+
+    /**
+     * 74.浠诲姟涓柇涓�
+     */
+    private boolean taskInterrupt;
+
+    /**
+     * 75.浠诲姟宸叉竻闄�
+     */
+    private boolean taskClear;
+
+    /**
+     * 76.浠诲姟纭宸茶秴鏃�
+     */
+    private boolean taskConfirmTimeout;
+
+    /**
+     * 77.鍏呯數涓湁浠诲姟
+     */
+    private boolean taskWithCharge;
+
+    // 浠诲姟淇℃伅 ---------------------------------------------------------
+    /**
+     * 96.鍏ュ簱浠诲姟涓�
+     */
+    private boolean pakInTask;
+
+    /**
+     * 97. 鍑哄簱浠诲姟涓�
+     */
+    private boolean pakOutTask;
+
+    /**
+     * 98. 绉诲簱浠诲姟涓�
+     */
+    private boolean pakMoveTask;
+
+    /**
+     * 99. 鍥炲師鐐逛换鍔′腑
+     */
+    private boolean goHpTask;
+
+    /**
+     * 100. 鍘诲弽鍘熺偣浠诲姟涓�
+     */
+    private boolean goOHpTask;
+
+    /**
+     * 101. 鍘诲師鐐归伩璁╀綅
+     */
+    private boolean goHpAvoid;
+
+    /**
+     * 102. 鍘诲弽鍘熺偣閬胯浣�
+     */
+    private boolean goOHpAvoid;
+
+    /**
+     * 104. 鍏ュ簱鍙栫┖缁撴潫
+     */
+    private boolean pakInEmpty;
+
+    /**
+     * 105. 鍏ュ簱姝e父缁撴潫
+     */
+    private boolean pakInFinish;
+
+    /**
+     * 106. 鍑哄簱鍙栫┖缁撴潫
+     */
+    private boolean pakOutEmpty;
+
+    /**
+     * 107. 鍑哄簱姝e父缁撴潫
+     */
+    private boolean pakOutFinish;
+
+    /**
+     * 108. 鍘诲師鐐归伩璁╁畬鎴�
+     */
+    private boolean goHpAvoidFinish;
+
+    /**
+     * 109. 鍘诲弽鍘熺偣閬胯瀹屾垚
+     */
+    private boolean goOHpAvoidFinish;
+
+    /**
+     * 110. 鍘诲師鐐归伩璁╁畬鎴�
+     */
+    private boolean goHpAvoidErr;
+
+    /**
+     * 111. 鍘诲弽鍘熺偣閬胯瀹屾垚
+     */
+    private boolean goOHpAvoidErr;
+
+    // 鐘舵�佷俊鎭� ---------------------------------------------------------
+    /**
+     * 112. 鑱旀満妯″紡
+     */
+    private boolean autoMode;
+
+    /**
+     * 113. 鐢靛帇杩囦綆
+     */
+    private boolean voltageLow;
 }
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 10e9009..a7e6571 100644
--- a/src/main/java/com/zy/core/model/protocol/SteProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -206,136 +206,253 @@
     // 绌挎杞﹀紓甯� ------------------------------------------------------------------------
 
     /**
-     * 1.鍗囬檷瓒呮椂鎶ヨ
+     * 0.鍗囬檷瓒呮椂鎶ヨ
      */
     private boolean liftErr;
 
     /**
-     * 3.鍏ュ簱鍙栫┖鎶ヨ
+     * 2.鍏ュ簱鍙栫┖鎶ヨ
      */
     private boolean inFetchErr;
 
     /**
-     * 4.鍑哄簱鍙栫┖鎶ヨ
+     * 3.鍑哄簱鍙栫┖鎶ヨ
      */
     private boolean outFetchErr;
 
     /**
-     * 5.闃叉挒淇濇姢
+     * 4.闃叉挒淇濇姢
      */
     private boolean antiErr;
 
     /**
-     * 6.鍗囬檷鎺ヨ繎寮�鍏虫晠闅�
+     * 5.鍗囬檷鎺ヨ繎寮�鍏虫晠闅�
      */
     private boolean liftSwitchErr;
 
     /**
-     * 7.杞ㄩ亾妫�娴嬫姤璀�
+     * 6.杞ㄩ亾妫�娴嬫姤璀�
      */
     private boolean trackErr;
 
     /**
-     * 8.璁惧杩愯瓒呮椂鎶ヨ
+     * 7.璁惧杩愯瓒呮椂鎶ヨ
      */
     private boolean timeoutErr;
 
     /**
-     * 9.閫氫俊閿欒鎶ヨ
+     * 8.閫氫俊閿欒鎶ヨ
      */
     private boolean connectErr;
 
     /**
-     * 10.璁惧鎬ュ仠
+     * 9.璁惧鎬ュ仠
      */
     private boolean emergencyErr;
 
     /**
-     * 11.浠诲姟绫诲瀷缂哄け
+     * 10.浠诲姟绫诲瀷缂哄け
      */
     private boolean taskTypeErr;
 
     /**
-     * 12.浠诲姟鍙风己澶�
+     * 11.浠诲姟鍙风己澶�
      */
     private boolean taskNoErr;
 
     /**
-     * 13.杩愯涓湁鏂颁换鍔�
+     * 12.杩愯涓湁鏂颁换鍔�
      */
     private boolean newTaskErr;
 
     /**
-     * 14.鏁呴殰涓湁浠诲姟
+     * 13.鏁呴殰涓湁浠诲姟
      */
     private boolean errTaskErr;
 
     /**
-     * 15.杩愯涓仠姝�
+     * 14.杩愯涓仠姝�
      */
     private boolean stopErr;
 
     /**
-     * 16.鑴辨満妯″紡涓嬫湁浠诲姟
+     * 15.鑴辨満妯″紡涓嬫湁浠诲姟
      */
     private boolean offlineTaskErr;
 
     /**
-     * 17.鏉′欢鏈弧瓒冲惎鍔ㄤ换鍔�
+     * 16.鏉′欢鏈弧瓒冲惎鍔ㄤ换鍔�
      */
     private boolean startTaskErr;
 
     /**
-     * 18.浣庣數鍘嬫椂鏈変换鍔�
+     * 17.浣庣數鍘嬫椂鏈変换鍔�
      */
     private boolean voltageTaskErr;
 
     /**
-     * 64.璁惧鏁呴殰鏍囧織浣�
+     * 63.璁惧鏁呴殰鏍囧織浣�
      */
     private boolean devpErr;
     // 绌挎杞﹀紓甯� ------------------------------------------------------------------------
 
     // 绌挎杞︽彁绀轰俊鎭� ------------------------------------------------------------------------
     /**
-     * 65.鑱旀満鐘舵��
+     * 64.鑱旀満鐘舵��
      */
     private boolean online;
 
     /**
-     * 66.涓嶅湪杞ㄩ亾涓�
+     * 65.涓嶅湪杞ㄩ亾涓�
      */
     private boolean notOnTrack;
 
     /**
-     * 67.浣庣數閲忔彁閱�
+     * 66.浣庣數閲忔彁閱�
      */
     private boolean lowVoltage;
 
     /**
-     * 68.浜忕數涓�
+     * 67.浜忕數涓�
      */
     private boolean electricityLoss;
 
     /**
-     * 69.寮哄埗琛岃蛋鍚姩
+     * 68.寮哄埗琛岃蛋鍚姩
      */
     private boolean forcedTravel;
 
     /**
-     * 70.婕旂ず妯″紡寮�鍚�
+     * 69.婕旂ず妯″紡寮�鍚�
      */
     private boolean demoMode;
 
     /**
-     * 71.鍏呯數鍒峰凡鎺ラ��
+     * 70.鍏呯數鍒峰凡鎺ラ��
      */
     private boolean brushConnect;
 
-//    /**
-//     * 71.鍏呯數鍒峰凡鎺ラ��
-//     */
-//    private boolean brushConnect;
+    /**
+     * 71.浠诲姟涓姝㈡墜鍔�
+     */
+    private boolean taskManualForbid;
+
+    /**
+     * 72.鑱旀満涓姝㈡墜鍔�
+     */
+    private boolean onlineManualForbid;
+
+    /**
+     * 73.璁惧鎬ュ仠涓�
+     */
+    private boolean devpEmergency;
+
+    /**
+     * 74.浠诲姟涓柇涓�
+     */
+    private boolean taskInterrupt;
+
+    /**
+     * 75.浠诲姟宸叉竻闄�
+     */
+    private boolean taskClear;
+
+    /**
+     * 76.浠诲姟纭宸茶秴鏃�
+     */
+    private boolean taskConfirmTimeout;
+
+    /**
+     * 77.鍏呯數涓湁浠诲姟
+     */
+    private boolean taskWithCharge;
+
+    // 浠诲姟淇℃伅 ---------------------------------------------------------
+    /**
+     * 96.鍏ュ簱浠诲姟涓�
+     */
+    private boolean pakInTask;
+
+    /**
+     * 97. 鍑哄簱浠诲姟涓�
+     */
+    private boolean pakOutTask;
+
+    /**
+     * 98. 绉诲簱浠诲姟涓�
+     */
+    private boolean pakMoveTask;
+
+    /**
+     * 99. 鍥炲師鐐逛换鍔′腑
+     */
+    private boolean goHpTask;
+
+    /**
+     * 100. 鍘诲弽鍘熺偣浠诲姟涓�
+     */
+    private boolean goOHpTask;
+
+    /**
+     * 101. 鍘诲師鐐归伩璁╀綅
+     */
+    private boolean goHpAvoid;
+
+    /**
+     * 102. 鍘诲弽鍘熺偣閬胯浣�
+     */
+    private boolean goOHpAvoid;
+
+    /**
+     * 104. 鍏ュ簱鍙栫┖缁撴潫
+     */
+    private boolean pakInEmpty;
+
+    /**
+     * 105. 鍏ュ簱姝e父缁撴潫
+     */
+    private boolean pakInFinish;
+
+    /**
+     * 106. 鍑哄簱鍙栫┖缁撴潫
+     */
+    private boolean pakOutEmpty;
+
+    /**
+     * 107. 鍑哄簱姝e父缁撴潫
+     */
+    private boolean pakOutFinish;
+
+    /**
+     * 108. 鍘诲師鐐归伩璁╁畬鎴�
+     */
+    private boolean goHpAvoidFinish;
+
+    /**
+     * 109. 鍘诲弽鍘熺偣閬胯瀹屾垚
+     */
+    private boolean goOHpAvoidFinish;
+
+    /**
+     * 110. 鍘诲師鐐归伩璁╁畬鎴�
+     */
+    private boolean goHpAvoidErr;
+
+    /**
+     * 111. 鍘诲弽鍘熺偣閬胯瀹屾垚
+     */
+    private boolean goOHpAvoidErr;
+
+    // 鐘舵�佷俊鎭� ---------------------------------------------------------
+    /**
+     * 112. 鑱旀満妯″紡
+     */
+    private boolean autoMode;
+
+    /**
+     * 113. 鐢靛帇杩囦綆
+     */
+    private boolean voltageLow;
 
 
     public void setStatus(Short status){
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index 073e990..f04cc86 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -179,6 +179,65 @@
 
                 OutputQueue.STE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 
+                //璇诲彇绌挎杞﹁澶囦俊鎭紝鎻愪緵鏌ヨ
+                OperateResultExOne<byte[]> result1 = siemensS7Net.Read("V732", (short) 16);
+                if (result1.IsSuccess) {
+                    boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, 0, 128);
+                    steProtocol.setLiftErr(status[0]);
+                    steProtocol.setInFetchErr(status[2]);
+                    steProtocol.setOutFetchErr(status[3]);
+                    steProtocol.setAntiErr(status[4]);
+                    steProtocol.setLiftSwitchErr(status[5]);
+                    steProtocol.setTrackErr(status[6]);
+                    steProtocol.setTimeoutErr(status[7]);
+                    steProtocol.setConnectErr(status[8]);
+                    steProtocol.setEmergencyErr(status[9]);
+                    steProtocol.setTaskTypeErr(status[10]);
+                    steProtocol.setTaskNoErr(status[11]);
+                    steProtocol.setNewTaskErr(status[12]);
+                    steProtocol.setErrTaskErr(status[13]);
+                    steProtocol.setStopErr(status[14]);
+                    steProtocol.setOfflineTaskErr(status[15]);
+                    steProtocol.setStartTaskErr(status[16]);
+                    steProtocol.setVoltageTaskErr(status[17]);
+
+                    steProtocol.setDevpErr(status[63]);
+
+                    steProtocol.setOnline(status[64]);
+                    steProtocol.setNotOnTrack(status[65]);
+                    steProtocol.setLowVoltage(status[66]);
+                    steProtocol.setElectricityLoss(status[67]);
+                    steProtocol.setForcedTravel(status[68]);
+                    steProtocol.setDemoMode(status[69]);
+                    steProtocol.setBrushConnect(status[70]);
+                    steProtocol.setTaskManualForbid(status[71]);
+                    steProtocol.setOnlineManualForbid(status[72]);
+                    steProtocol.setDevpEmergency(status[73]);
+                    steProtocol.setTaskInterrupt(status[74]);
+                    steProtocol.setTaskClear(status[75]);
+                    steProtocol.setTaskConfirmTimeout(status[76]);
+                    steProtocol.setTaskWithCharge(status[77]);
+
+                    steProtocol.setPakInTask(status[96]);
+                    steProtocol.setPakOutTask(status[97]);
+                    steProtocol.setPakMoveTask(status[98]);
+                    steProtocol.setGoHpTask(status[99]);
+                    steProtocol.setGoOHpTask(status[100]);
+                    steProtocol.setGoHpAvoid(status[101]);
+                    steProtocol.setGoOHpAvoid(status[102]);
+                    steProtocol.setPakInEmpty(status[104]);
+                    steProtocol.setPakInFinish(status[105]);
+                    steProtocol.setPakOutEmpty(status[106]);
+                    steProtocol.setPakOutFinish(status[107]);
+                    steProtocol.setGoHpAvoidFinish(status[108]);
+                    steProtocol.setGoOHpAvoidFinish(status[109]);
+                    steProtocol.setGoHpAvoidErr(status[110]);
+                    steProtocol.setGoOHpAvoidErr(status[111]);
+
+                    steProtocol.setAutoMode(status[112]);
+                    steProtocol.setVoltageLow(status[113]);
+                }
+
                 // 澶嶄綅淇″彿
                 if (steProtocol.getWaiting()) {
                     if (resetFlag) {
@@ -189,7 +248,6 @@
                         }
                     }
                 }
-
 
                 // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
                 BasSteService service = SpringUtils.getBean(BasSteService.class);

--
Gitblit v1.9.1