From 1dacf2305187f5c2fb44f03b6b754c46cb73ba25 Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期四, 19 三月 2026 08:53:59 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/thread/RgvThread.java | 23 ++++++++++++++++++-----
1 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index ce27b3f..313db76 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -55,7 +55,7 @@
* 宸ヤ綅2澶嶄綅淇″彿
*/
private boolean resetFlag2 = false;
- private boolean connectRgv = false;
+ private volatile boolean connectRgv = false;
private boolean alarmChangeSign = false;
public RgvThread(RgvSlave slave) {
@@ -65,7 +65,8 @@
@Override
@SuppressWarnings("InfiniteLoopStatement")
public void run() {
- connectRgv = this.connect();
+ // 绾跨▼鍚姩鍗崇粰鍗忚浣撳畬鏁撮粯璁ゅ��
+ initRgv();
// 鍚姩绾跨▼鑷姩閲嶈繛
new Thread(this::rgvConnect).start();
@@ -157,6 +158,9 @@
// 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
BasCircularShuttleService basCircularShuttleService = SpringUtils.getBean(BasCircularShuttleService.class);
BasCircularShuttle basCircularShuttle = basCircularShuttleService.selectOne(new EntityWrapper<BasCircularShuttle>().eq("rgv_no", slave.getId()));
+ if (basCircularShuttle == null) {
+ continue;
+ }
if (basCircularShuttle.getStatus() != 0){
continue;
}
@@ -225,6 +229,9 @@
rgvProtocol.setStatus2((short)-1);
rgvProtocol.setLoaded2((short)0);
rgvProtocol.setAlarm((short)0);
+ rgvProtocol.setAlarmList(new ArrayList<>());
+ rgvProtocol.setInstantaneousSpeed(0D);
+ rgvProtocol.setEndStaM((short)0);
rgvProtocol.setxSpeed((short) 0);
rgvProtocol.setxDistance((short) 0);
rgvProtocol.setxDuration((short) 0);
@@ -352,8 +359,11 @@
private void rgvOpt(RgvCommand command) {
try{
BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
- BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosInt(), command);
- log.info(rgvProtocol.getRgvNo()+"鍙峰皬杞﹀啓鍏ュ懡浠ゅ畾浣嶅�硷細"+rgvProtocol.getRgvPosInt());
+ int taskNo = (rgvProtocol == null || rgvProtocol.getTaskNo1() == null) ? 0 : rgvProtocol.getTaskNo1().intValue();
+ int rgvNo = (rgvProtocol == null || rgvProtocol.getRgvNo() == null) ? slave.getId() : rgvProtocol.getRgvNo();
+ int rgvPos = (rgvProtocol == null) ? 0 : rgvProtocol.getRgvPosInt();
+ BasRgvOpt basRgvOpt = new BasRgvOpt(taskNo, rgvNo, rgvPos, command);
+ log.info(rgvNo+"鍙峰皬杞﹀啓鍏ュ懡浠ゅ畾浣嶅�硷細"+rgvPos);
basRgvOptService.insert(basRgvOpt);
}catch (Exception e){
log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
@@ -362,7 +372,10 @@
private void rgvOpt(Long command) {
try{
BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
- BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosI(), command);
+ int taskNo = (rgvProtocol == null || rgvProtocol.getTaskNo1() == null) ? 0 : rgvProtocol.getTaskNo1().intValue();
+ int rgvNo = (rgvProtocol == null || rgvProtocol.getRgvNo() == null) ? slave.getId() : rgvProtocol.getRgvNo();
+ int rgvPos = (rgvProtocol == null) ? 0 : rgvProtocol.getRgvPosI();
+ BasRgvOpt basRgvOpt = new BasRgvOpt(taskNo, rgvNo, rgvPos, command);
basRgvOptService.insert(basRgvOpt);
}catch (Exception e){
log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
--
Gitblit v1.9.1