From deeea3d8de2d09fbeef300fcb6a790d72cfee42e Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期五, 26 八月 2022 15:30:03 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SteThread.java | 65 ++++++++++++++++++-------------- 1 files changed, 36 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java index 1ba98de..a2ad916 100644 --- a/src/main/java/com/zy/core/thread/SteThread.java +++ b/src/main/java/com/zy/core/thread/SteThread.java @@ -42,10 +42,6 @@ private short heartBeatVal = 1; private boolean resetFlag = false; - private Integer lastRow; - private Integer lastBay; - private Integer lastLev; - public SteThread(SteSlave slave) { this.slave = slave; } @@ -186,6 +182,12 @@ // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴� BasSteService service = SpringUtils.getBean(BasSteService.class); if (null != service) { + // 鍚屾pakMk + BasSte one = service.selectById(slave.getId()); + if (one != null) { + steProtocol.setPakMk(one.getPakMk()); + } + BasSte basSte = new BasSte(); basSte.setSteNo(slave.getId()); if (!service.updateById(steProtocol.toSqlModel(basSte))){ @@ -306,40 +308,45 @@ } public void modifyPos(Integer row, Integer bay, Integer lev) { - this.lastRow = row; - this.lastBay = bay; - this.lastLev = lev; + BasSteService service = SpringUtils.getBean(BasSteService.class); + if (!service.updatePos(this.slave.getId(), row, bay, lev)) { + log.error("鏇存柊{}鍙风┛姊溅瀹氫綅澶辫触 ===>> 鎺掞細銆恵}銆�, 鍒楋細銆恵}銆戯紝灞傦細銆恵}銆�", this.slave.getId(), row, bay, lev); + } } public boolean confirmPos() { - if (this.lastRow != null && this.lastRow != 0) { - if (this.lastBay != null && this.lastBay != 0) { - if (this.lastLev != null && this.lastLev != 0) { - BasSteService service = SpringUtils.getBean(BasSteService.class); - BasSte basSte = service.selectById(slave.getId()); - if (basSte != null) { - // 鏇存柊plc鏁版嵁鍧� - short[] arr = new short[] {this.lastRow.shortValue(), this.lastBay.shortValue(), this.lastLev.shortValue()}; - OperateResult result = siemensS7Net.Write("V1002", arr); - if (result.IsSuccess) { - // 鏇存柊鏁版嵁搴� - if (service.updatePos(this.lastRow, this.lastBay, this.lastLev) > 0) { - this.lastRow = null; - this.lastBay = null; - this.lastLev = null; - return true; - } else { - log.error("{}鍙风┛姊溅淇敼鏁版嵁搴撳畾浣嶅け璐ワ紒锛侊紒", slave.getId()); - } - } - } - + BasSteService service = SpringUtils.getBean(BasSteService.class); + BasSte basSte = service.selectById(slave.getId()); + if (basSte != null) { + // 鏇存柊plc鏁版嵁鍧� + short[] arr = new short[] {basSte.getRow().shortValue(), basSte.getBay().shortValue(), basSte.getLev().shortValue()}; + OperateResult result = siemensS7Net.Write("V1002", arr); + if (result.IsSuccess) { + // 鏇存柊鏁版嵁搴� + if (service.updatePakMk(this.slave.getId(), "N")) { + return true; + } else { + log.error("{}鍙风┛姊溅淇敼鏁版嵁搴撳畾浣嶅け璐ワ紒锛侊紒", slave.getId()); } } } return false; } + public boolean modifyPosHandle(Integer row, Integer bay, Integer lev) { + short[] arr = new short[] {row.shortValue(), bay.shortValue(), lev.shortValue()}; + OperateResult result = siemensS7Net.Write("V1002", arr); + if (!result.IsSuccess) { + return false; + } + BasSteService service = SpringUtils.getBean(BasSteService.class); + if (!service.updatePos(this.slave.getId(), row, bay, lev)) { + log.error("鏇存柊{}鍙风┛姊溅瀹氫綅澶辫触 ===>> 鎺掞細銆恵}銆�, 鍒楋細銆恵}銆戯紝灞傦細銆恵}銆�", this.slave.getId(), row, bay, lev); + return false; + } + return true; + } + @Override public void close() { siemensS7Net.ConnectClose(); -- Gitblit v1.9.1