From 3e1aa4864da243ade9f8ee6e3a6fc43e1cf5d8b2 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 07 七月 2025 16:59:03 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 82 +++++++++++++++++++++++++++++++---------
1 files changed, 63 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ce0da89..6d4d560 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -138,7 +138,11 @@
crnProtocol.setyDistance((short) 0);
crnProtocol.setxDuration((short) 0);
crnProtocol.setyDuration((short) 0);
- CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "绂荤嚎");
+ try{
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "绂荤嚎");
+ } catch (Exception e1){
+
+ }
}
@@ -207,10 +211,12 @@
backHpFlag = false;
}
- if (!Cools.isEmpty(crnProtocol.getLoaded()) && crnProtocol.getLoaded()!=0){
+ if (!Cools.isEmpty(crnProtocol.getLaneNo()) && crnProtocol.getLaneNo()!=0){
CrnCommand crnCommand = new CrnCommand();
crnCommand.setAckFinish((short)1);
+// crnCommand.setTaskNo(crnProtocol.getTaskNo());
crnCommand.setLaneNo(crnProtocol.getLaneNo());
+ crnCommand.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
if (write(crnCommand)) {
resetFlag = false;
}
@@ -277,19 +283,14 @@
return false;
}
CrnErrCache.updateCrnErr(slave.getId(), "-");
- try{
- DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("crnWrite", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍫嗗灈鏈烘寚浠や笅鍙�:"+JSON.toJSONString(command.getNowTask()));
- } catch (Exception e2){
- }
- 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){
- }
+// 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);
command.setCrnNo(slave.getId());
short[] array = new short[10];
@@ -302,8 +303,14 @@
array[6] = command.getDestinationPosX();
array[7] = command.getDestinationPosY();
array[8] = command.getDestinationPosZ();
- array[9] = command.getCommand();
+// array[9] = command.getCommand();
+ array[9] = (short)0;
OperateResult result18 = siemensNet.Write("DB100.18", (short)0);
+
+ if (command.getAckFinish() == 0) {
+ OperateResult result100 = siemensNet.Write("DB100.0", (short)0);
+ }
+
try{
Thread.sleep(50L);
} catch (Exception e){}
@@ -316,11 +323,25 @@
try{
Thread.sleep(100L);
} catch (Exception e){}
- OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB101.0", (short) 4);
+ 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 (!command.getTaskNo().equals(one.getTaskNo())
+ || !command.getTaskMode().equals(one.getTaskMode())
+ || !command.getSourcePosX().equals(one.getSourcePosX())
+ || !command.getSourcePosY().equals(one.getSourcePosY())
+ || !command.getSourcePosZ().equals(one.getSourcePosZ())
+ || !command.getDestinationPosX().equals(one.getDestinationPosX())
+ || !command.getDestinationPosY().equals(one.getDestinationPosY())
+ || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
){
i++;
CrnErrCache.updateCrnErr(slave.getId(), "鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�");
@@ -329,7 +350,7 @@
try{
DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("crnErr", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍐欏叆娆℃暟"+i+";鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�:"+JSON.toJSONString(command.getNowTask()));
+ deviceErrorService.addDeviceError("CrnErr", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍐欏叆娆℃暟"+i+";鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�:"+JSON.toJSONString(command.getNowTask()));
} catch (Exception e2){
}
try{
@@ -342,6 +363,11 @@
}
result = siemensNet.Write("DB100.0", array);
}else{
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("crnWrite", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍫嗗灈鏈烘寚浠や笅鍙�:"+JSON.toJSONString(command.getNowTask()));
+ } catch (Exception e2){
+ }
break;
}
}
@@ -363,7 +389,7 @@
CrnErrCache.updateCrnErr(slave.getId(), "涓嬪彂DB100.18 鍥炶澶辫触");
try{
DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
- deviceErrorService.addDeviceError("crnErr", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍐欏叆娆℃暟"+signFinish+";涓嬪彂DB100.18 鍥炶澶辫触:"+JSON.toJSONString(command.getNowTask()));
+ deviceErrorService.addDeviceError("CrnErr", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍐欏叆娆℃暟"+signFinish+";涓嬪彂DB100.18 鍥炶澶辫触:"+JSON.toJSONString(command.getNowTask()));
} catch (Exception e2){
}
try{
@@ -556,4 +582,22 @@
public void setWrkSign() {
}
+
+ /**
+ * 娓呴櫎浣滀笟鍚姩涓�
+ */
+ @Override
+ public void setResetFlag(boolean flag) {
+ this.resetFlag = flag;
+ }
+
+
+ /**
+ * 娓呴櫎浣滀笟鍚姩涓�
+ */
+ @Override
+ public boolean getResetFlag() {
+ return resetFlag;
+ }
+
}
--
Gitblit v1.9.1