From 5b5bf0d3fb08926b700b9d9ef127eb86d3241725 Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期三, 16 四月 2025 15:09:12 +0800
Subject: [PATCH] 添加小车定位失败日志打印
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 75 ++++++++++++++++++++++++++++++++++++-
1 files changed, 73 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index a5d6264..8308ec7 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -152,6 +152,7 @@
crnProtocol = new CrnProtocol();
crnProtocol.setCrnNo(this.getSlave().getId());
}
+ crnProtocol.setCrnNo(this.getSlave().getId());
crnProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0));
crnProtocol.setTaskNo(siemensNet.getByteTransform().TransInt16(result.Content, 2));
crnProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 4));
@@ -173,11 +174,38 @@
crnProtocol.setYDistance(siemensNet.getByteTransform().TransSingle(result.Content, 44));
crnProtocol.setXDuration(siemensNet.getByteTransform().TransSingle(result.Content, 48));
crnProtocol.setYDuration(siemensNet.getByteTransform().TransSingle(result.Content, 52));
+ crnProtocol.setStatusEnd(false);
+
+ try{
+ OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 20);
+ if (resultRead.IsSuccess) {
+ CrnCommand one = new CrnCommand();
+ one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
+ one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
+ one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
+ one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
+ one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
+ one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
+ one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
+ one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
+ if (this.slave.getId() == 1){
+ if (one.getDestinationPosX() == 3 && one.getDestinationPosY() == 2 && one.getDestinationPosZ() == 1){
+ crnProtocol.setStatusEnd(true);
+ }
+ } else if (this.slave.getId() == 3){
+ if (one.getDestinationPosX() == 19 && one.getDestinationPosY() == 6 && one.getDestinationPosZ() == 1){
+ crnProtocol.setStatusEnd(true);
+ }
+ }
+ }
+ } catch (Exception e){ }
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
// 澶嶄綅淇″彿
if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+ News.error("---绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙颁俊鍙�:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
+ slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "鏈夌墿" : "鏃犵墿");
if (resetFlag) {
CrnCommand crnCommand = new CrnCommand();
crnCommand.setAckFinish((short)1);
@@ -228,6 +256,22 @@
return false;
}
+ //涓嬪彂鍓嶅厠闅嗕竴浠�
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(command.getCrnNo());
+ crnCommand.setAckFinish(command.getAckFinish());
+ crnCommand.setTaskNo(command.getTaskNo());
+ crnCommand.setTaskMode(command.getTaskMode());
+ crnCommand.setSourcePosX(command.getSourcePosX());
+ crnCommand.setSourcePosY(command.getSourcePosY());
+ crnCommand.setSourcePosZ(command.getSourcePosZ());
+ crnCommand.setDestinationPosX(command.getDestinationPosX());
+ crnCommand.setDestinationPosY(command.getDestinationPosY());
+ crnCommand.setDestinationPosZ(command.getDestinationPosZ());
+ crnCommand.setSourceStaNo(command.getSourceStaNo());
+ crnCommand.setDestinationStaNo(command.getDestinationStaNo());
+ crnCommand.setCommand(command.getCommand());
+
// convertRow(command);
command.setCrnNo(slave.getId());
short[] array = new short[10];
@@ -243,6 +287,14 @@
array[9] = command.getCommand();
OperateResult result = siemensNet.Write("DB100.0", array);
+ if(!result.IsSuccess){
+ log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(crnCommand));
+// MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand));
+ Thread.sleep(100);
+ readStatus();
+ return false;
+ }
+
//鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
Thread.sleep(200);
OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 20);
@@ -256,12 +308,19 @@
one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
- if (command.getTaskNo()!=one.getTaskNo() || command.getTaskMode()!=one.getTaskMode()
+ if (!command.getTaskNo().equals(one.getTaskNo()) || command.getTaskMode()!=one.getTaskMode()
|| command.getSourcePosX()!=one.getSourcePosX() || command.getSourcePosY()!=one.getSourcePosY()
|| command.getSourcePosZ()!=one.getSourcePosZ() || command.getDestinationPosX()!=one.getDestinationPosX()
|| command.getDestinationPosY()!=one.getDestinationPosY() || command.getDestinationPosZ()!=one.getDestinationPosZ()
){
News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
+ News.error("鍫嗗灈鏈哄懡浠ゅ洖璇诲け璐ュ悗锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(crnCommand));
+// MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand));
+ Thread.sleep(100);
+ readStatus();
+ return false;
+ }else{
+ News.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
}
}
@@ -270,7 +329,19 @@
short commandFinish = 1;
Thread.sleep(300);
News.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鎴愬姛锛屽紑濮嬪啓纭浣峓id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
- result = siemensNet.Write("DB100.18", commandFinish);
+ Integer counts = 0;
+ while(true) {
+ result = siemensNet.Write("DB100.18", commandFinish);
+ if(result.IsSuccess){
+ break;
+ } else {
+ counts++;
+ if(counts>5){
+ break;
+ }
+ }
+ Thread.sleep(300);
+ }
}
}
--
Gitblit v1.9.1