From e61e2780013d4650a277245965b80a32e8e5cc6d Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期二, 01 四月 2025 16:24:51 +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..a173107 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