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