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