From 9129e80e9f729012c2d74dfba7e366539924b069 Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期六, 26 七月 2025 15:21:12 +0800
Subject: [PATCH] 修复:给一块plc输送线连续下发任务,造成该plc线程没时间读,主线程又循环到rgv放货完成方法,造成线程一直无法读,重复写
---
src/main/java/com/zy/service/impl/MainServiceImpl.java | 63 ++++++++++++++++---------------
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 1
2 files changed, 33 insertions(+), 31 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 4072c4a..3e6a6fb 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -465,6 +465,7 @@
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
News.info("SiemensDevp"+" - 5"+" - 杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(staProtocol));
}
+ read();
}
/**
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 5b6df08..8f1ca6b 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -180,34 +180,34 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
String errMsg = "";
-// if (staProtocol.isFrontErr()) {
-// errMsg = "鍓嶈秴闄�";
-// back = true;
-// }
-// if (!back && staProtocol.isBackErr()) {
-// errMsg = "鍚庤秴闄�";
-// back = true;
-// }
-// if (!back && staProtocol.isHighErr()) {
-// errMsg = "楂樿秴闄�";
-// back = true;
-// }
-// if (!back && staProtocol.isLeftErr()) {
-// errMsg = "宸﹁秴闄�";
-// back = true;
-// }
-// if (!back && staProtocol.isRightErr()) {
-// errMsg = "鍙宠秴闄�";
-// back = true;
-// }
-// if (!back && staProtocol.isWeightErr()) {
-// errMsg = "瓒呴噸";
-// back = true;
-// }
-// if (!back && staProtocol.isBarcodeErr()) {
-// errMsg = "鎵爜澶辫触";
-// back = true;
-// }
+ if (staProtocol.isFrontErr()) {
+ errMsg = "鍓嶈秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isBackErr()) {
+ errMsg = "鍚庤秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isHighErr()) {
+ errMsg = "楂樿秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isLeftErr()) {
+ errMsg = "宸﹁秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isRightErr()) {
+ errMsg = "鍙宠秴闄�";
+ back = true;
+ }
+ if (!back && staProtocol.isWeightErr()) {
+ errMsg = "瓒呴噸";
+ back = true;
+ }
+ if (!back && staProtocol.isBarcodeErr()) {
+ errMsg = "鎵爜澶辫触";
+ back = true;
+ }
// 閫�鍥�
if (back && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) {
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg));
@@ -1825,7 +1825,7 @@
/**
* rgv鏀捐揣瀹屾垚锛岀粰杈撻�佺嚎涓嬪彂浠诲姟
*/
- public synchronized void rgvToDev() {
+ public synchronized void rgvToDev() throws InterruptedException {
for (Integer site : rgvConnectionSiteList) {
// 杈撻�佺嚎plc缂栧彿
Integer devpPlcId = site < 1044 ? 1 : site <= 1090 ? 2 : 3;
@@ -1877,10 +1877,11 @@
staProtocol.setWorkNo(staProtocol.getHideWorkNo());
staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
if (!MessageQueue.offer(SlaveType.Devp, devpPlcId, new Task(2, staProtocol))) {
- log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护澶辫触!,plc id:{},绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getStaNo(), staProtocol.getWorkNo(), staProtocol.getStaNo());
+ log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护澶辫触!,plc id:{},绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getSiteId(), staProtocol.getWorkNo(), staProtocol.getStaNo());
} else {
- log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护鎴愬姛plc id:{}!,绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getStaNo(), staProtocol.getWorkNo(), staProtocol.getStaNo());
+ log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护鎴愬姛plc id:{}!,绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getSiteId(), staProtocol.getWorkNo(), staProtocol.getStaNo());
}
+ Thread.sleep(300);
}
}
}
--
Gitblit v1.9.1