From 09fcc4ec56a1ce6c0fcb308348d8dd5e2c08d336 Mon Sep 17 00:00:00 2001 From: fyxc <fyxc@qq.com> Date: 星期四, 22 五月 2025 14:33:06 +0800 Subject: [PATCH] server commit files --- src/main/java/com/zy/core/thread/impl/FyDevpThread.java | 78 +++++++++++++++++++++++++++++++++++---- 1 files changed, 70 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/core/thread/impl/FyDevpThread.java b/src/main/java/com/zy/core/thread/impl/FyDevpThread.java index d1ddd93..c13f926 100644 --- a/src/main/java/com/zy/core/thread/impl/FyDevpThread.java +++ b/src/main/java/com/zy/core/thread/impl/FyDevpThread.java @@ -41,7 +41,7 @@ private SiemensS7Net siemensS7Net; private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); - public IoModeType ioModeOf2_5 = IoModeType.PAKIN_MODE; + public IoModeType ioModeOf2_5 = IoModeType.PAKOUT_MODE; private short heartBeatVal = 1; private int barcodeSize = 10; @@ -98,6 +98,10 @@ case 2: write((StaProtocol) task.getData()); read(); + break; + // 鎶ヨ + case 3: + writeError((Integer) task.getData()); break; default: break; @@ -162,15 +166,21 @@ staProtocol.setInEnable(status[3]); // 鍙叆 staProtocol.setOutEnable(status[4]);// 鍙嚭 + staProtocol.setBackErr(status[5]); staProtocol.setLeftErr(status[6]); staProtocol.setRightErr(status[7]); +// staProtocol.setHighErr(status[8]); +// staProtocol.setWeightErr(status[9]); +// staProtocol.setLow(status[10]); +// staProtocol.setHigh(status[11]); boolean[] status2 = siemensS7Net.getByteTransform().TransBool(result.Content, i * 26 + 1, 2); staProtocol.setHighErr(status2[0]); staProtocol.setWeightErr(status2[1]); staProtocol.setLow(status2[2]); staProtocol.setHigh(status2[3]); + staProtocol.setBarcodeErr(status2[4]); // staProtocol.setInEnable(status[13]); // 鍙叆 // staProtocol.setOutEnable(status[14]);// 鍙嚭 @@ -200,11 +210,7 @@ BasDevp sqlModel = staProtocol.toSqlModel(); stations.add(sqlModel); - //鏆傛椂鍐欏叆鏁版嵁搴� - BasDevp basDevp = basConveyorStaService.selectById(sta); - if (basDevp == null) { - basConveyorStaService.insert(sqlModel); - } + } if (!stations.isEmpty()) { if (null != basConveyorStaService && !basConveyorStaService.updateBatchById(stations)) { @@ -247,6 +253,60 @@ } OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁鎴愬姛銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(array))); log.info("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(array)); + } + + /** + * 鎶ヨ + */ + private void writeError(Integer staNo) throws InterruptedException { + if (null == staNo) { + return; + } + + ArrayList<Integer> lift1 = new ArrayList<Integer>() {{ + add(1011); + add(1012); + }}; + + ArrayList<Integer> lift2 = new ArrayList<Integer>() {{ + add(1021); + add(1022); + add(1023); + }}; + + ArrayList<Integer> devp1 = new ArrayList<Integer>() {{ + add(1013); + add(1014); + add(1015); + }}; + + ArrayList<Integer> devp2 = new ArrayList<Integer>() {{ + add(1024); + add(1025); + add(1026); + }}; + + String dbAddress = "DB82.48"; + if (lift1.contains(staNo)) { + dbAddress = "DB82.48"; + } else if (lift2.contains(staNo)) { + dbAddress = "DB82.178"; + } else if (devp1.contains(staNo)) { + dbAddress = "DB82.100"; + } else if (devp2.contains(staNo)) { + dbAddress = "DB82.256"; + }else { + return; + } + + OperateResult write1 = siemensS7Net.Write(dbAddress, (short) 1); + if (!write1.IsSuccess) { + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鎶ヨ鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(true))); + log.error("鍐欏叆杈撻�佺嚎绔欑偣鎶ヨ鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(true)); + return; + } + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鎶ヨ鏁版嵁鎴愬姛銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(true))); + log.info("鍐欏叆杈撻�佺嚎绔欑偣鎶ヨ鏁版嵁鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(true)); } /** @@ -300,9 +360,11 @@ // 鏇存柊鍏ュ嚭搴撴ā寮� - private void updateIoMode() throws InterruptedException { + private void updateIoMode() { if (this.ioModeOf2_5 != null && (this.ioModeOf2_5.id == 0 || this.ioModeOf2_5.id == 1)) { - if (!siemensS7Net.Write("DB83.80", this.ioModeOf2_5.id).IsSuccess) { + short[] array = new short[1]; + array[0] = this.ioModeOf2_5.id; + if (!siemensS7Net.Write("DB83.80", this.ioModeOf2_5.id == 1).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2.5F鍏ュ嚭搴撴ā寮忓け璐�", this.ioModeOf2_5)); log.error("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2.5F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", this.ioModeOf2_5); } else { -- Gitblit v1.9.1