From 830f5f93c11b16a1014e2bf815c43af9c16eb52b Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 24 七月 2025 15:13:16 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 54 +++--------------
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 97 +++++---------------------------
src/main/java/com/zy/core/cache/CrnErrCache.java | 4 +
src/main/java/com/zy/core/MainProcess.java | 4
4 files changed, 31 insertions(+), 128 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 e9205b7..0462563 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -941,41 +941,6 @@
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) {
- TaskWrk taskWrkNow3 = taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo());
- if (taskWrkNow3.getWrkSts() == 3){
- try{
- // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
- crnCommand.setTaskNo(taskWrkNow3.getWrkNo().shortValue()); // 宸ヤ綔鍙�
- crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getRowShort(taskWrkNow3.getTargetPoint())); // 鐩爣搴撲綅鍒�
- int bay1 = Utils.getBayShort(taskWrkNow3.getTargetPoint()) + 1;
- crnCommand.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
- crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrkNow3.getTargetPoint())); // 鐩爣搴撲綅鎺�
-// crnCommand.setCommand((short) 1);
- try{
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("CrnErr", slave.getId(), "宸烽亾鍙�"+crnCommand.getLaneNo()+";鍫嗗灈鏈哄懡浠ゅ湴鍧�琛ヤ竵閲嶆柊鍐欏叆:"+JSON.toJSONString(crnCommand.getNowTask()));
- } catch (Exception e2){
- }
- if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
- devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
- CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杩愯鍛戒护涓嬪彂澶辫触");
-
- throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
- }
- } catch (Exception eNow3){
-
- }
- }
-
devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄瓨鍦ㄥ悐杞︿换鍔�");
CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟");
continue;
@@ -1024,22 +989,22 @@
// }
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
- crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
- crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
+ CrnCommand crnCommand1 = new CrnCommand();
+ crnCommand1.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand1.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
+ crnCommand1.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand1.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand1.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand1.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand1.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand1.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand1.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
int bay1 = Utils.getBayShort(taskWrk.getTargetPoint()) + 1;
- crnCommand.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
- crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
+ crnCommand1.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
+ crnCommand1.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
// crnCommand.setCommand((short) 1);
- if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
+ if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand1))) {
+ log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand1));
devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杩愯鍛戒护涓嬪彂澶辫触");
@@ -1153,39 +1118,6 @@
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) {
-
- TaskWrk taskWrkNow3 = taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo());
- if (taskWrkNow3.getWrkSts() == 12){
- try{
- CrnCommand command = new CrnCommand();
- command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- command.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo(taskWrkNow3.getWrkNo().shortValue()); // 宸ヤ綔鍙�
- command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡
- command.setSourcePosX(Utils.getRowShort(taskWrkNow3.getStartPoint())); // 婧愬簱浣嶆帓
- int bayS = Utils.getBayShort(taskWrkNow3.getStartPoint()) + 1;
- command.setSourcePosY((short)bayS); // 婧愬簱浣嶅垪
- command.setSourcePosZ(Utils.getLevShort(taskWrkNow3.getStartPoint())); // 婧愬簱浣嶅眰
- command.setDestinationPosX(crnStn.getRow().shortValue()); // 鐩爣搴撲綅鎺�
- command.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
- command.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
-// command.setCommand((short) 1);
- try{
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("CrnErr", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍫嗗灈鏈哄懡浠ゅ湴鍧�琛ヤ竵閲嶆柊鍐欏叆:"+JSON.toJSONString(command.getNowTask()));
- } catch (Exception e2){
- }
- if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command))) {
- log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屽贩閬�={}锛屼换鍔℃暟鎹�={}", slave.getId(), taskWrk.getCrnNo(), JSON.toJSON(command));
- devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
- CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杩愯鍛戒护涓嬪彂澶辫触");
- throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
- }
- } catch (Exception eNow3){
-
- }
- }
devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄瓨鍦ㄥ悐杞︿换鍔�");
CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟");
break;
@@ -1312,6 +1244,7 @@
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) {
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟");
continue;
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index dfa182a..2ca1f41 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -32,7 +32,7 @@
while (!Thread.currentThread().isInterrupted()) {
try {
// 闂撮殧
- Thread.sleep(400);
+ Thread.sleep(500);
// 绯荤粺杩愯鐘舵�佸垽鏂�
if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
continue;
@@ -58,7 +58,7 @@
while (!Thread.currentThread().isInterrupted()) {
try {
// 闂撮殧
- Thread.sleep(200);
+ Thread.sleep(400);
// 绯荤粺杩愯鐘舵�佸垽鏂�
if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
continue;
diff --git a/src/main/java/com/zy/core/cache/CrnErrCache.java b/src/main/java/com/zy/core/cache/CrnErrCache.java
index f1af02f..6156da1 100644
--- a/src/main/java/com/zy/core/cache/CrnErrCache.java
+++ b/src/main/java/com/zy/core/cache/CrnErrCache.java
@@ -2,12 +2,14 @@
import com.zy.core.model.protocol.CrnErrProtocol;
import com.zy.core.model.protocol.RgvErrProtocol;
+import lombok.extern.slf4j.Slf4j;
import java.util.concurrent.ConcurrentHashMap;
/**
* Created by IX on 2025/02/21
*/
+@Slf4j
public class CrnErrCache {
// 鏈湴缂撳瓨锛岄敭涓� currentPosition锛屽�间负 DeviceStatus
private static final ConcurrentHashMap<Integer, CrnErrProtocol> cache = new ConcurrentHashMap<>();
@@ -37,6 +39,8 @@
crnErrProtocol.setError(error);
cache.put(crnErrProtocol.getCrnNo(), crnErrProtocol);
}
+ } catch (Exception e){
+ log.error("鏇存柊鍫嗗灈鏈鸿澶囩姸鎬侊細"+e.getMessage());
} finally {
}
}
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 527d5e1..686cdbd 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -282,52 +282,18 @@
log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
return false;
}
- CrnErrCache.updateCrnErr(slave.getId(), "-");
-// try{
-// BasErrLogService basErrLogService = SpringUtils.getBean(BasErrLogService.class);
-// BasErrLog basErrLog = new BasErrLog(command,"","浠诲姟涓嬪彂璁板綍");
-// if (!basErrLogService.insert(basErrLog)) {
-// log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", slave.getId(), "浠诲姟涓嬪彂璁板綍澶辫触");
-// }
-// } catch (Exception e3){
-// }
-// convertRow(command);
- if (command.getAckFinish() == 0){
- try{
- Thread.sleep(100L);
- OperateResultExOne<byte[]> resultReadNOW = siemensNet.Read("DB100.0", (short) 20);
- if (resultReadNOW.IsSuccess) {
- CrnCommand one = new CrnCommand();
- one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 2));
- one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 4));
- one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 6));
- one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 8));
- one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 10));
- one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 12));
- one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 14));
- one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 16));
- if (one.getTaskNo()>0
- || one.getTaskMode()>0
- || one.getSourcePosX()!=0
- || one.getSourcePosY()!=0
- || one.getSourcePosZ()!=0
- || one.getDestinationPosX()!=0
- || one.getDestinationPosY()!=0
- || one.getDestinationPosZ()!=0
- ){
- try{
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("CrnErr", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍫嗗灈鏈哄懡浠ゅ湴鍧�琛ヤ竵閲嶆柊鍐欏叆鍙栨秷锛寃cs涓嬪彂鍦板潃瀛樺湪鏁版嵁:"+JSON.toJSONString(command.getNowTask()));
- } catch (Exception e2){
- }
- return true;
- }
- }
- } catch (Exception eNow){
-
- }
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("crnWriteIng", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍫嗗灈鏈哄緟涓嬪彂鎸囦护:"+JSON.toJSONString(command.getNowTask()));
+ } catch (Exception e){
}
+ try{
+ CrnErrCache.updateCrnErr(slave.getId(), "-");
+ } catch (Exception e){
+ log.error(JSON.toJSONString(e));
+ log.error("鍫嗗灈鏈轰换鍔″啓寮傚父锛氬紓甯稿畾浣嶅�硷細crnWrite-294琛�");
+ }
command.setCrnNo(slave.getId());
short[] array = new short[10];
--
Gitblit v1.9.1