From 06e1ebee3ec23ceed20477eba43b2925ef6bb0c3 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 08 四月 2025 15:33:46 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 157 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 135 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 6e394fd..1e2cff0 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -355,10 +355,65 @@
array[7] = command.getDestinationPosY();
array[8] = command.getDestinationPosZ();
array[9] = command.getCommand();
-
+ OperateResult result18 = siemensNet.Write("DB100.18", (short)0);
+ try{
+ Thread.sleep(100L);
+ } catch (Exception e){}
// 浣滀笟淇℃伅
OperateResult result = siemensNet.Write("DB100.0", array);
+// int i=0;
+// do{
+// //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
+// try{
+// Thread.sleep(100L);
+// } catch (Exception e){}
+// 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++;
+// log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐id:{}]>>>>閲嶅啓[{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), i,JSON.toJSON(command),JSON.toJSON(one));
+// result = siemensNet.Write("DB100.0", array);
+// }else{
+// break;
+// }
+// }
+// }while(i<5);
+ if (command.getAckFinish() == 0) {
+ short commandFinish = 1;
+ try{
+ Thread.sleep(100L);
+ } catch (Exception e){}
+ result = siemensNet.Write("DB100.18", commandFinish);
+ int signFinish = 1;
+ while (signFinish<5){
+ OperateResultExOne<byte[]> result10018 = siemensNet.Read("DB100.18", (short) 2);
+ short transInt16 = siemensNet.getByteTransform().TransInt16(result10018.Content, 0);
+ if (transInt16 != commandFinish){
+ log.info("涓嬪彂DB100.18 鍥炶澶辫触" + "commandFinish:"+commandFinish);
+ log.info("涓嬪彂DB100.18 鍥炶澶辫触" + "array:"+ JSON.toJSONString(array));
+ result = siemensNet.Write("DB100.18", commandFinish);
+ signFinish++;
+ }else {
+ log.info("涓嬪彂DB100.18" + "commandFinish:"+commandFinish);
+ log.info("涓嬪彂DB100.18" + "array:"+ JSON.toJSONString(array));
+ break;
+ }
+ }
+ }
if (command.getAckFinish() != 1) {
BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
BasCrnOpt basCrnOpt = new BasCrnOpt(
@@ -477,30 +532,88 @@
array[7] = command.getDestinationPosY();
array[8] = command.getDestinationPosZ();
array[9] = command.getCommand();
+ OperateResult result18 = siemensNet.Write("DB100.18", (short)0);
+ try{
+ Thread.sleep(100L);
+ } catch (Exception e){}
// 浣滀笟淇℃伅
OperateResult result = siemensNet.Write("DB100.0", array);
- // 鏃ュ織璁板綍
- if (command.getAckFinish() != 1) {
- BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
- BasCrnOpt basCrnOpt = new BasCrnOpt(
- command.getTaskNo().intValue(), // 浠诲姟鍙�
- command.getCrnNo(), // 鍫嗗灈鏈篬闈炵┖]
- new Date(), // 涓嬪彂鏃堕棿
- command.getTaskModeType() == null ? null : command.getTaskModeType().toString(), // 妯″紡
- command.getSourcePosX().intValue(), // 婧愭帓
- command.getSourcePosY().intValue(), // 婧愬垪
- command.getSourcePosZ().intValue(), // 婧愬眰
- null, // 婧愮珯
- command.getDestinationPosX().intValue(), // 鐩爣鎺�
- command.getDestinationPosY().intValue(), // 鐩爣鍒�
- command.getDestinationPosZ().intValue(), // 鐩爣灞�
- null, // 鐩爣绔�
- null, // 鍝嶅簲缁撴灉
- null, // 淇敼鏃堕棿
- null // 淇敼浜哄憳
- );
- bean.insert(basCrnOpt);
+
+ int i=0;
+ do{
+ //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
+ try{
+ Thread.sleep(100L);
+ } catch (Exception e){}
+ 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++;
+ log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐id:{}]>>>>閲嶅啓[{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), i,JSON.toJSON(command),JSON.toJSON(one));
+ result = siemensNet.Write("DB100.0", array);
+ }else{
+ break;
+ }
}
+ }while(i<5);
+
+ if (command.getAckFinish() == 0) {
+ short commandFinish = 1;
+ try{
+ Thread.sleep(100L);
+ } catch (Exception e){}
+ result = siemensNet.Write("DB100.18", commandFinish);
+ int signFinish = 1;
+ while (signFinish<5){
+ OperateResultExOne<byte[]> result10018 = siemensNet.Read("DB100.18", (short) 2);
+ short transInt16 = siemensNet.getByteTransform().TransInt16(result10018.Content, 0);
+ if (transInt16 != commandFinish){
+ log.info("涓嬪彂DB100.18 鍥炶澶辫触" + "commandFinish:"+commandFinish);
+ log.info("涓嬪彂DB100.18 鍥炶澶辫触" + "array:"+ JSON.toJSONString(array));
+ result = siemensNet.Write("DB100.18", commandFinish);
+ signFinish++;
+ }else {
+ log.info("涓嬪彂DB100.18" + "commandFinish:"+commandFinish);
+ log.info("涓嬪彂DB100.18" + "array:"+ JSON.toJSONString(array));
+ break;
+ }
+ }
+ }
+ // 鏃ュ織璁板綍
+ if (command.getAckFinish() != 1) {
+ BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
+ BasCrnOpt basCrnOpt = new BasCrnOpt(
+ command.getTaskNo().intValue(), // 浠诲姟鍙�
+ command.getCrnNo(), // 鍫嗗灈鏈篬闈炵┖]
+ new Date(), // 涓嬪彂鏃堕棿
+ command.getTaskModeType() == null ? null : command.getTaskModeType().toString(), // 妯″紡
+ command.getSourcePosX().intValue(), // 婧愭帓
+ command.getSourcePosY().intValue(), // 婧愬垪
+ command.getSourcePosZ().intValue(), // 婧愬眰
+ null, // 婧愮珯
+ command.getDestinationPosX().intValue(), // 鐩爣鎺�
+ command.getDestinationPosY().intValue(), // 鐩爣鍒�
+ command.getDestinationPosZ().intValue(), // 鐩爣灞�
+ null, // 鐩爣绔�
+ null, // 鍝嶅簲缁撴灉
+ null, // 淇敼鏃堕棿
+ null // 淇敼浜哄憳
+ );
+ bean.insert(basCrnOpt);
+ }
// } catch (Exception ignore) {}
//鏇存柊鍛戒护鏃ュ織
--
Gitblit v1.9.1