From 5b8e5607187a0823079710d673f2b580f921093d Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 12 十二月 2023 09:32:25 +0800
Subject: [PATCH] #扫描设备PakMk标记是否超时
---
src/main/java/com/zy/core/thread/LiftThread.java | 1
src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java | 5 ++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 81 +++++++++++++---------------------------
src/main/java/com/zy/core/thread/NyShuttleThread.java | 3 +
src/main/java/com/zy/core/MainProcess.java | 3 +
src/main/java/com/zy/core/model/protocol/LiftProtocol.java | 5 ++
6 files changed, 44 insertions(+), 54 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 4cdda60..e7e7fba 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3959,63 +3959,36 @@
return true;
}
- /**
- * 鍑哄叆搴撴ā寮忓垏鎹�
- */
- public synchronized void outAndIn() {
- try {
- // 鏍规嵁杈撻�佺嚎plc閬嶅巻
- for (DevpSlave devp : slaveProperties.getDevp()) {
- for (DevpSlave.Sta inSta : devp.getInSta()) {
- Thread.sleep(500);
- boolean a=true,b=true;
- List<WrkMast> wrkMasts = wrkMastMapper.selectAll(inSta.getStaNo());
- if (Cools.isEmpty(wrkMasts)){
- b=false;
- }else {
- for (WrkMast wrkMast:wrkMasts){
- if (wrkMast.getSourceStaNo() > wrkMast.getStaNo()){
- a=false;
- break;
- }
- }
- }
- switch (inSta.getStaNo()) {
- case 102://1F
- if (a && b){
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, 11));
- }else if (b){
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, 12));
- }else {
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, 10));
- }
- break;
- case 202://2F
- if (a && b){
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, 21));
- }else if (b){
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, 22));
- }else {
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, 20));
- }
- break;
- case 302://3F
- if (a && b){
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, 31));
- }else if (b){
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, 32));
- }else {
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, 30));
- }
- break;
- }
- }
+ //鎵弿璁惧PakMk鏍囪鏄惁瓒呮椂
+ public synchronized void scanDevicePakMk() {
+ //鎵弿灏忚溅
+ for (ShuttleSlave slave : slaveProperties.getShuttle()) {
+ NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
+ NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
+ if (shuttleProtocol == null) {
+ continue;
}
- } catch (Exception e) {
- e.printStackTrace();
+ if ((System.currentTimeMillis() - shuttleProtocol.getSendTime() > (1000*60*5)) && shuttleProtocol.getPakMk()) {
+ //璁惧瓒呰繃5鍒嗛挓杩樻病澶嶄綅鏍囪
+ shuttleProtocol.setPakMk(false);//澶嶄綅鏍囪
+ }
}
- }
+ //鎵弿鎻愬崌鏈�
+ for (LiftSlave slave : slaveProperties.getLift()) {
+ LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, slave.getId());
+ LiftProtocol liftProtocol = liftThread.getLiftProtocol();
+ if (liftProtocol == null) {
+ continue;
+ }
+
+ if ((System.currentTimeMillis() - liftProtocol.getSendTime() > (1000*60*5)) && liftProtocol.getPakMk()) {
+ //璁惧瓒呰繃5鍒嗛挓杩樻病澶嶄綅鏍囪
+ liftProtocol.setPakMk(false);//澶嶄綅鏍囪
+ }
+ }
+
+ }
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 2afd5de..489211f 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -92,6 +92,9 @@
mainService.loopShuttleCharge();
mainService.executeShuttleCharge();
+ //鎵弿璁惧PakMk鏍囪鏄惁瓒呮椂
+ mainService.scanDevicePakMk();
+
// 闂撮殧
Thread.sleep(200);
} catch (Exception e) {
diff --git a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
index dcee8b0..ed9bd30 100644
--- a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
@@ -130,6 +130,11 @@
private LiftAssignCommand assignCommand;
/**
+ * 鎸囦护涓嬪彂鏃堕棿
+ */
+ private Long sendTime = 0L;
+
+ /**
* 璁剧疆鎻愬崌鏈虹姸鎬�
*/
public void setProtocolStatus(Integer status) {
diff --git a/src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java b/src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java
index a181ee3..ae9bea8 100644
--- a/src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java
@@ -244,6 +244,11 @@
*/
private Integer yCurrent = 0;
+ /**
+ * 鎸囦护涓嬪彂鏃堕棿
+ */
+ private Long sendTime = 0L;
+
//鎬婚噷绋嬫暟
@Data
public static class StatusSumClass {
diff --git a/src/main/java/com/zy/core/thread/LiftThread.java b/src/main/java/com/zy/core/thread/LiftThread.java
index d14f4a4..d58a02d 100644
--- a/src/main/java/com/zy/core/thread/LiftThread.java
+++ b/src/main/java/com/zy/core/thread/LiftThread.java
@@ -288,6 +288,7 @@
OperateResult result = siemensS7Net.Write("DB83.0", array);
if (result != null && result.IsSuccess) {
+ liftProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿
News.info("鎻愬崌鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
return true;
diff --git a/src/main/java/com/zy/core/thread/NyShuttleThread.java b/src/main/java/com/zy/core/thread/NyShuttleThread.java
index 2d2b4ad..20e48e7 100644
--- a/src/main/java/com/zy/core/thread/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/NyShuttleThread.java
@@ -342,6 +342,9 @@
if (result == null) {
return false;//璇锋眰澶辫触
}
+
+ shuttleProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿
+
return true;
}
--
Gitblit v1.9.1