From 16c2b2af2ac3c9c4bc2496a171d041a48514906e Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期四, 23 四月 2026 09:18:20 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/thread/RgvThread.java | 64 +++++++++++++++++++++----------
1 files changed, 43 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index bc3d44d..a300ca6 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -5,11 +5,14 @@
import HslCommunication.Profinet.Siemens.SiemensPLCS;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasCircularShuttle;
import com.zy.asrs.entity.BasRgv;
import com.zy.asrs.entity.BasRgvErrLog;
import com.zy.asrs.entity.BasRgvOpt;
+import com.zy.asrs.service.BasCircularShuttleService;
import com.zy.asrs.service.BasRgvErrLogService;
import com.zy.asrs.service.BasRgvOptService;
import com.zy.asrs.service.BasRgvService;
@@ -63,14 +66,6 @@
@SuppressWarnings("InfiniteLoopStatement")
public void run() {
connectRgv = this.connect();
- while(!connectRgv){
- try {
- connectRgv = this.connect();
- Thread.sleep(100);
- } catch (Exception e){
-
- }
- }
// 鍚姩绾跨▼鑷姩閲嶈繛
new Thread(this::rgvConnect).start();
@@ -159,6 +154,16 @@
Thread.sleep(1000);
if(!connectRgv){
try {
+ // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+ BasCircularShuttleService basCircularShuttleService = SpringUtils.getBean(BasCircularShuttleService.class);
+ BasCircularShuttle basCircularShuttle = basCircularShuttleService.getOne(new QueryWrapper<BasCircularShuttle>().eq("rgv_no", slave.getId()));
+ if (basCircularShuttle.getStatus() != 0){
+ continue;
+ }
+ } catch (Exception ignore) {
+
+ }
+ try {
connectRgv = this.connect();
Thread.sleep(100);
} catch (Exception e){
@@ -187,8 +192,8 @@
continue;
}
Thread.sleep(40);
- readStatus();
-
+// readStatus();
+ initRgv();
} catch (Exception e) {
log.error("RGV璇荤嚎绋嬪紓甯�"+e.getMessage());
@@ -209,13 +214,30 @@
rgvProtocol = new RgvProtocol();
}
rgvProtocol.setRgvNo(slave.getId());
- rgvProtocol.setMode((short) -1);
- rgvProtocol.setStatus((short)-1);
+// rgvProtocol.setMode((short) -1);
+// rgvProtocol.setStatus((short)-1);
+// rgvProtocol.setTaskNo1((short)0);
+// rgvProtocol.setStatus1((short)-1);
+// rgvProtocol.setLoaded1((short)0);
+// rgvProtocol.setWalkPos((short)0);
+// rgvProtocol.setRgvPos(0L);
+// rgvProtocol.setTaskNo2((short)0);
+// rgvProtocol.setStatus2((short)-1);
+// rgvProtocol.setLoaded2((short)0);
+// rgvProtocol.setAlarm((short)0);
+// rgvProtocol.setxSpeed((short) 0);
+// rgvProtocol.setxDistance((short) 0);
+// rgvProtocol.setxDuration((short) 0);
+ rgvProtocol.setMode((short) 3);
+ rgvProtocol.setStatus((short)0);
rgvProtocol.setTaskNo1((short)0);
- rgvProtocol.setStatus1((short)-1);
+ rgvProtocol.setStatus1((short)0);
rgvProtocol.setLoaded1((short)0);
rgvProtocol.setWalkPos((short)0);
- rgvProtocol.setRgvPos(0L);
+ if (rgvProtocol.getRgvPos()==null || rgvProtocol.getRgvPos()==0){
+ rgvProtocol.setRgvPos(1L+rgvProtocol.getRgvNo()*10000);
+ }
+ rgvProtocol.setRgvPos(rgvProtocol.getRgvPos()+1000);
rgvProtocol.setTaskNo2((short)0);
rgvProtocol.setStatus2((short)-1);
rgvProtocol.setLoaded2((short)0);
@@ -223,7 +245,7 @@
rgvProtocol.setxSpeed((short) 0);
rgvProtocol.setxDistance((short) 0);
rgvProtocol.setxDuration((short) 0);
- log.error("杩炴帴涓柇锛歊GV鍙凤細"+slave.getId());
+// log.error("杩炴帴涓柇锛歊GV鍙凤細"+slave.getId());
try {
// 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
BasRgvService basRgvService = SpringUtils.getBean(BasRgvService.class);
@@ -318,7 +340,7 @@
if (!alarmChangeSign && !alarmList.isEmpty()){
BasRgvErrLogService basRgvErrLogService = SpringUtils.getBean(BasRgvErrLogService.class);
BasRgvErrLog basRgvErrLog = new BasRgvErrLog(rgvProtocol.getAlarmList(), rgvProtocol.getTaskNo1(), rgvProtocol.getRgvNo());
- basRgvErrLogService.insert(basRgvErrLog);
+ basRgvErrLogService.save(basRgvErrLog);
}
} catch (Exception e){
log.error("RGV寮傚父淇℃伅淇濆瓨澶辫触锛侊紒");
@@ -349,7 +371,7 @@
BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosInt(), command);
log.info(rgvProtocol.getRgvNo()+"鍙峰皬杞﹀啓鍏ュ懡浠ゅ畾浣嶅�硷細"+rgvProtocol.getRgvPosInt());
- basRgvOptService.insert(basRgvOpt);
+ basRgvOptService.save(basRgvOpt);
}catch (Exception e){
log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
}
@@ -358,7 +380,7 @@
try{
BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosI(), command);
- basRgvOptService.insert(basRgvOpt);
+ basRgvOptService.save(basRgvOpt);
}catch (Exception e){
log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
}
@@ -410,7 +432,7 @@
new Date(),
null
);
- bean.insert(basRgvOpt);
+ bean.save(basRgvOpt);
} catch (Exception ignore) {}
if (result != null && result.IsSuccess) {
@@ -472,7 +494,7 @@
new Date(),
null
);
- bean.insert(basRgvOpt);
+ bean.save(basRgvOpt);
} catch (Exception ignore) {}
if (result != null && result.IsSuccess) {
@@ -557,7 +579,7 @@
new Date(),
null
);
- bean.insert(basRgvOpt);
+ bean.save(basRgvOpt);
} catch (Exception ignore) {}
if (result != null && result.IsSuccess) {
--
Gitblit v1.9.1