From 1ba71b9ee89817b1931e950c966a320c75ef02c3 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 08 九月 2025 15:18:53 +0800 Subject: [PATCH] 侧面输送线出库条码对接 --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 73 ++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 36d5733..f7a97a0 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -566,6 +566,33 @@ } } } + // 渚ч潰鍑哄簱锛岀粰杈撻�佺嚎鍐欐潯鐮� + Short staNo = staProtocol.getStaNo(); + String barcode = staProtocol.getBarcode(); + if (staNo == 203 || staNo == 207 || staNo == 212) { + if (Cools.isEmpty(barcode)) { + log.error("渚ч潰鍑哄簱鍒帮細{}绔欑偣锛屾潯鐮佸�间负绌猴紝浠诲姟鍙凤細{}", staNo, staProtocol.getWorkNo()); + } else { + + String[] split = barcode.split("#"); + int offset = 48 + (staNo - 201) * 24; + byte[] bytes = new byte[(split.length + 1) * 6]; + for (int j = 0, k = 0; j < split.length; j++) { + String s = split[j]; + for (int m = 0; m < s.length(); m++) { + bytes[k++] = (byte) s.charAt(m); + } + } + + OperateResult writeResult4 = siemensS7Net.Write("DB79" + offset, bytes); + if (writeResult4.IsSuccess) { + log.info("渚ч潰鍑哄簱鍒帮細{}绔欑偣锛岀粰杈撻�佺嚎鍐欐潯鐮侊細{}鎴愬姛", staNo, barcode); + } else { + log.error("渚ч潰鍑哄簱鍒帮細{}绔欑偣锛岀粰杈撻�佺嚎鍐欐潯鐮侊細{}澶辫触", staNo, barcode); + } + } + } + OperateResult writeResult1 = siemensS7Net.Write(workNoAddress, staProtocol.getWorkNo()); // 宸ヤ綔鍙� OperateResult writeResult2 = siemensS7Net.Write(staNoAddress, staProtocol.getStaNo()); // 鐩爣绔� if (writeResult1.IsSuccess && writeResult2.IsSuccess) { @@ -816,6 +843,52 @@ public void close() { siemensS7Net.ConnectClose(); } + public static void main(String[] args) throws Exception { + DevpSlave slave = new DevpSlave(); + slave.setIp("10.49.210.41"); +// SiemensDevpThread devpThread = new SiemensDevpThread(slave); +// devpThread.connect(); + SiemensS7Net siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp()); + siemensS7Net.setRack(slave.getRack().byteValue()); + siemensS7Net.setSlot(slave.getSlot().byteValue()); + OperateResult connect = siemensS7Net.ConnectServer(); + // 渚ч潰鍑哄簱锛岀粰杈撻�佺嚎鍐欐潯鐮� + Short staNo = 212; + String barcode = "800001#123456#811112#811113"; + String[] split = barcode.split("#"); + int offset = 48 + (staNo - 201) * 24; + byte[] bytes = new byte[(split.length + 1) * 6]; + for (int j = 0, k = 0; j < split.length; j++) { + String s = split[j]; + for (int m = 0; m < s.length(); m++) { + bytes[k++] = (byte) s.charAt(m); + } + } + + OperateResult writeResult4 = siemensS7Net.Write("DB79" + offset, bytes); + if (writeResult4.IsSuccess) { + log.info("渚ч潰鍑哄簱鍒帮細{}绔欑偣锛岀粰杈撻�佺嚎鍐欐潯鐮侊細{}鎴愬姛", staNo, barcode); + } else { + log.error("渚ч潰鍑哄簱鍒帮細{}绔欑偣锛岀粰杈撻�佺嚎鍐欐潯鐮侊細{}澶辫触", staNo, barcode); + } + +// devpThread.write2(0); +// devpThread.read(); +// // 鍐� +// StaProtocol staProtocol = devpThread.getStation().get(1); +// staProtocol.setWorkNo((short) 232); +// staProtocol.setStaNo((short) 6); +// staProtocol.setAutoing(true); +// staProtocol.setEmptyMk(true); +// staProtocol.setInEnable(true); +// devpThread.write(staProtocol); +// System.out.println("----------------------------------------"); +// // 璇� +// devpThread.read(); +// System.out.println(JSON.toJSONString(devpThread.station)); + + } + } -- Gitblit v1.9.1