From 780012a4b70c87c81c5c9222db82196303eeebdb Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期四, 26 六月 2025 17:19:19 +0800
Subject: [PATCH] #改造
---
src/main/java/com/zy/core/thread/RgvThread.java | 45 ++++++++++++++++++++++++++++++---------------
1 files changed, 30 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 602cae6..70700dc 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -65,6 +65,8 @@
private boolean resetFlag2 = false;
private boolean connectRgv = false;
+ public Long currentTimeMilliConnectRgv= 0L;
+
private boolean delRgvTask = false;
private short wrkSign = 0;
@@ -75,6 +77,12 @@
@Override
@SuppressWarnings("InfiniteLoopStatement")
public void run() {
+ initRgv();
+ try{
+ Thread.sleep(2000);
+ } catch (Exception e){
+
+ }
connectRgv = this.connect();
while(!connectRgv){
try {
@@ -331,18 +339,18 @@
continue;
}
try {
- Thread.sleep(50);
+ Thread.sleep(100);
rgvRun = RgvRunCache.getRgvRun();
// System.out.println(JSON.toJSON(rgvRun));
// 浼戠湢 1 绉�
- if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 100) {
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
+ if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 500) {
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
} else {
continue;
}
if (!deviceDetection()) {
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
rgvRun.setRgvNo(slave.getOtherId());
RgvRunCache.updateRgvStatus(rgvRun);
if (!errorRgv.equals("鏃�")){
@@ -359,20 +367,20 @@
rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId());
}
if (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) || (Math.abs(rgvProtocol.getRgvPos() - rgvProtocol.getRgvPosDestination())>100)){
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
rgvRun.setRgvNo(slave.getOtherId());
RgvRunCache.updateRgvStatus(rgvRun);
continue;
}
if (rgvProtocol.getLoaded() == -1){
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
rgvRun.setRgvNo(slave.getOtherId());
RgvRunCache.updateRgvStatus(rgvRun);
RgvErrCache.updateRgvErr(slave.getId(),"灏忚溅鎺㈢墿鐗╃姸鎬佸紓甯�");
continue;
}
if (rgvTaskProtocol.getAvoid() != 0) {
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
rgvRun.setRgvNo(slave.getOtherId());
RgvRunCache.updateRgvStatus(rgvRun);
continue;
@@ -460,7 +468,7 @@
}
}
}
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
rgvRun.setRgvNo(slave.getOtherId());
RgvRunCache.updateRgvStatus(rgvRun);
} catch (Exception e) {
@@ -472,7 +480,7 @@
// log.error("e2:"+e2.getMessage());
}
rgvRun = RgvRunCache.getRgvRun();
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
rgvRun.setRgvNo(slave.getOtherId());
RgvRunCache.updateRgvStatus(rgvRun);
continue;
@@ -1055,11 +1063,18 @@
// OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慠GV plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
log.error("RGV plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
- try{
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("rgv", slave.getId(), "RGVplc杩炴帴澶辫触");
- } catch (Exception e2){
+ if (System.currentTimeMillis()-currentTimeMilliConnectRgv>1000*60*10){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("rgv", slave.getId(), "RGVplc杩炴帴澶辫触");
+ } catch (Exception e2){
// log.error("e2:"+e2.getMessage());
+ }
+ if (currentTimeMilliConnectRgv == 0){
+ currentTimeMilliConnectRgv = System.currentTimeMillis()-1000*60*10-1;
+ } else {
+ currentTimeMilliConnectRgv = System.currentTimeMillis();
+ }
}
}
initRgv();
@@ -1118,8 +1133,8 @@
rgvProtocol.setErr4(status[11]);
rgvProtocol.setErr5(status[12]);
rgvProtocol.setErr6(status[13]);
- rgvProtocol.setErr7(status[13]);
- rgvProtocol.setErr8(status[13]);
+ rgvProtocol.setErr7(status[14]);
+ rgvProtocol.setErr8(status[15]);
// System.out.println("璇荤嚎绋�"+ slave.getId()+"---"+JSON.toJSONString(rgvProtocol));
// System.out.println("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()+"灏忚溅鏁版嵁锛�"+JSON.toJSONString(rgvProtocol));
OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
--
Gitblit v1.9.1