From 6dea42fd8f806807982866c1821a66da725eabca Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期日, 20 四月 2025 14:48:59 +0800 Subject: [PATCH] 999 --- src/main/java/com/zy/core/thread/impl/FyDevpThread.java | 35 +++++++++++++++++++++++++++-------- 1 files changed, 27 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 6db683c..d1ddd93 100644 --- a/src/main/java/com/zy/core/thread/impl/FyDevpThread.java +++ b/src/main/java/com/zy/core/thread/impl/FyDevpThread.java @@ -13,6 +13,7 @@ import com.zy.core.News; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; +import com.zy.core.enums.IoModeType; import com.zy.core.enums.SlaveType; import com.zy.core.model.DevpSlave; import com.zy.core.model.Task; @@ -40,7 +41,7 @@ private SiemensS7Net siemensS7Net; private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); - public Integer ioModeOf1F1. + public IoModeType ioModeOf2_5 = IoModeType.PAKIN_MODE; private short heartBeatVal = 1; private int barcodeSize = 10; @@ -135,6 +136,8 @@ * 璇诲彇鐘舵�� ====> 鏁村潡plc */ private void read() throws InterruptedException { + // 鏇存柊鍏ュ嚭搴撴ā寮� + updateIoMode(); int staNoSize = staNos2.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB82.14", (short) (staNoSize * 26)); if (result.IsSuccess) { @@ -144,13 +147,11 @@ if (null == staProtocol) { staProtocol = new StaProtocol(); staProtocol.setSiteId(siteId); - if (siteId == 1015) { staProtocol.setLocNo("1200301"); } else if (siteId == 1026) { staProtocol.setLocNo("1200305"); } - station.put(siteId, staProtocol); } Thread.sleep(300); @@ -164,16 +165,18 @@ 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.setInEnable(status[13]); // 鍙叆 // staProtocol.setOutEnable(status[14]);// 鍙嚭 staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 26 + 2)); // 宸ヤ綔鍙� - staProtocol.setStaNo((short) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 26 + 4)); // 鐩爣绔� + staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 26 + 4)); // 鐩爣绔� staProtocol.setFinishWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 26 + 6)); //宸插畬鎴愬伐浣滃彿 staProtocol.setBarcode(siemensS7Net.getByteTransform().TransString(result.Content, i * 26 + 10, 12, "UTF-8").trim()); //鏉$爜 staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(result.Content, i * 26 + 22)); //閲嶉噺 @@ -296,4 +299,20 @@ } + // 鏇存柊鍏ュ嚭搴撴ā寮� + private void updateIoMode() throws InterruptedException { + 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) { + OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2.5F鍏ュ嚭搴撴ā寮忓け璐�", this.ioModeOf2_5)); + log.error("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2.5F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", this.ioModeOf2_5); + } else { + if (station.get(1031) != null) { + station.get(1031).setOutInModel(this.ioModeOf2_5.id); + station.get(1032).setOutInModel(this.ioModeOf2_5.id); + } + } + } + + } + } -- Gitblit v1.9.1