From d8060afba15f67e443bb2f89410313905bdc7ebe Mon Sep 17 00:00:00 2001 From: pjb <pjb123456> Date: 星期一, 23 六月 2025 08:58:13 +0800 Subject: [PATCH] 米多泉泉州wcs功能完善 --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 41 ++++++++++++++++++++++++++++++++--------- 1 files changed, 32 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 6707f1f..891c701 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -63,7 +63,7 @@ }}; public static final ArrayList<Integer> rgvSiteBackWrkNo2= new ArrayList<Integer>() {{ - add(1044); + add(1044);add(1090); }}; public static final ArrayList<Integer> rgvSiteBackWrkNo3= new ArrayList<Integer>() {{ @@ -88,6 +88,8 @@ public static final ArrayList<Integer> gzxResultSite = new ArrayList<Integer>() {{ add(1081); add(1084);add(1087); }}; + + private static long lastLogTime = 0; public SiemensDevpThread(DevpSlave slave) { this.slave = slave; @@ -222,25 +224,36 @@ // 璇荤綈瑁呯嚎鍙嶉淇℃伅 if (slave.getId() > 3) { // log.info("璇诲彇{}鍙风綈瑁呯嚎plc淇℃伅鎴愬姛",slave.getId()); - OperateResultExOne<byte[]> read = siemensS7Net.Read("DB101.0", (short) 58); + OperateResultExOne<byte[]> read = siemensS7Net.Read("DB101.0", (short) 64); if (read.IsSuccess) { + // 15绉掓墦鍗颁竴涓嬫棩蹇� + if (System.currentTimeMillis() - lastLogTime >= 15000) { + OperateResultExOne<byte[]> readKc = siemensS7Net.Read("DB100.6", (short) 2); + if(readKc.IsSuccess){ + short i = siemensS7Net.getByteTransform().TransInt16(readKc.Content, 0); + log.info("璇粄}鍙风綈瑁呯嚎鍙嚭淇″彿鎴愬姛锛屽�硷細{}", slave.getId() -3, i); + } + lastLogTime = System.currentTimeMillis(); + } // 鎴愬搧淇℃伅鍙嶉鍒扮綈瑁呯嚎鍑哄彛绔欑偣 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); StaProtocol staProtocol = devpThread.getStation().get(gzxResultSite.get(slave.getId()-4)); if (staProtocol != null) { staProtocol.setWantBucketFlag(siemensS7Net.getByteTransform().TransInt16(read.Content, 0));// 缃愯绾胯妗跺瀷淇″彿 staProtocol.setWrkNo(siemensS7Net.getByteTransform().TransInt16(read.Content, 2)); - double weight208l1 = siemensS7Net.getByteTransform().TransInt32(read.Content, 4); // 200L妗�1鍑�閲� - double weight208l2 = siemensS7Net.getByteTransform().TransInt32(read.Content, 8); // 200L妗�2鍑�閲� - double weight208l3 = siemensS7Net.getByteTransform().TransInt32(read.Content, 12); // 200L妗�3鍑�閲� - double weight208l4 = siemensS7Net.getByteTransform().TransInt32(read.Content, 16); // 200L妗�4鍑�閲� - double weight1T = siemensS7Net.getByteTransform().TransInt32(read.Content, 20); // 1T妗跺噣閲� + double weight208l1 = siemensS7Net.getByteTransform().TransSingle(read.Content, 4); // 200L妗�1鍑�閲� + double weight208l2 = siemensS7Net.getByteTransform().TransSingle(read.Content, 8); // 200L妗�2鍑�閲� + double weight208l3 = siemensS7Net.getByteTransform().TransSingle(read.Content, 12); // 200L妗�3鍑�閲� + double weight208l4 = siemensS7Net.getByteTransform().TransSingle(read.Content, 16); // 200L妗�4鍑�閲� + double weight1T = siemensS7Net.getByteTransform().TransSingle(read.Content, 20); // 1T妗跺噣閲� // log.info("璇诲彇宸ョ綈瑁呯嚎鍑�閲� 200l妗�1:{},200l妗�2:{},200l妗�3:{},200l妗�4:{},1t妗�:{}",weight208l1,weight208l2,weight208l3,weight208l4,weight1T); staProtocol.setWeight(weight208l1 + weight208l2 + weight208l3 + weight208l4 + weight1T); - staProtocol.setGrossWeight(siemensS7Net.getByteTransform().TransInt32(read.Content, 24)); + staProtocol.setGrossWeight(siemensS7Net.getByteTransform().TransSingle(read.Content, 24)); staProtocol.setMatnr(siemensS7Net.getByteTransform().TransString(read.Content, 28,12,"UTF-8")); staProtocol.setBatch(siemensS7Net.getByteTransform().TransString(read.Content, 40,10,"UTF-8")); staProtocol.setManuDate(siemensS7Net.getByteTransform().TransString(read.Content, 50,8,"UTF-8")); + staProtocol.setReinspection(siemensS7Net.getByteTransform().TransInt16(read.Content, 58) == 1); + staProtocol.setCannedVolume(siemensS7Net.getByteTransform().TransSingle(read.Content, 60)); } return; } @@ -492,7 +505,17 @@ do { write = siemensS7Net.Write("DB100.0", common); Thread.sleep(200); - if(write.IsSuccess){ + OperateResultExOne<byte[]> read = siemensS7Net.Read("DB100.0", (short) 6); + if(write.IsSuccess && read.IsSuccess){ + short bucketType = siemensS7Net.getByteTransform().TransInt16(read.Content, 0); + short bucketCount = siemensS7Net.getByteTransform().TransInt16(read.Content, 2); + short workNo = siemensS7Net.getByteTransform().TransInt16(read.Content, 4); + if ( workNo != common[2] || bucketCount != common[1] || bucketType != common[0]) { + writeCount++; + log.error("缁欑綈瑁呯嚎鍐欏叆妗跺瀷淇℃伅鎴愬姛锛屼絾鍥炶澶辫触锛氬啓鍏ヤ换鍔″彿锛歿},鍥炶浠诲姟鍙凤細{}锛岃緭閫佺嚎plc缂栧彿={}锛屽啓鍏ユ鏁�={}", Arrays.toString(common), bucketType +"-" + bucketCount + "-" + workNo, slave.getId(), writeCount); + continue; + } + log.info("缁欑綈瑁呯嚎鍐欏叆妗跺瀷淇℃伅鎴愬姛锛屽洖璇绘垚鍔燂細浠诲姟鍙凤細{},鍥炶浠诲姟鍙凤細{}锛岃緭閫佺嚎plc缂栧彿={}锛屽啓鍏ユ鏁�={}",staProtocol.getWorkNo().shortValue(), Arrays.toString(common), slave.getId(), writeCount); break; } else { -- Gitblit v1.9.1