From 8e7bafc2ef250baf2989d0584a0d3812d4113ff3 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期六, 29 三月 2025 16:57:11 +0800 Subject: [PATCH] #输送线循环覆写由plc执行 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 35 ++++------------- src/main/java/com/zy/core/MainProcess.java | 18 ++++---- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 30 ++------------- src/main/resources/application.yml | 2 4 files changed, 22 insertions(+), 63 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 7c53b3c..40067e5 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -164,10 +164,12 @@ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol5)); } } else { - short workNo = staProtocol.getWorkNo(); - staProtocol.setWorkNo(workNo); - staProtocol.setStaNo((short) 112); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol)); + if(staProtocol.isLoading() && (staProtocol.getStaNo() == 105 || staProtocol.getStaNo() == 110 || staProtocol.getStaNo() == 111)){ + short workNo = staProtocol.getWorkNo(); + staProtocol.setWorkNo(workNo); + staProtocol.setStaNo((short) 112); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol)); + } } } } @@ -195,21 +197,7 @@ } StaProtocol staProtocol = devpThread.getStation().get(112); - StaProtocol staProtocol2 = devpThread.getStation().get(116); -// StaProtocol staProtocol3 = devpThread.getStation().get(117); -// if(Objects.equals(staProtocol3.getWorkNo(), staProtocol.getWorkNo()) && staProtocol.getWorkNo() != 0){ -// staProtocol.setWorkNo((short) 0); -// staProtocol.setStaNo((short) 0); -// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// Thread.sleep(100); // 璁� PLC 璇嗗埆鍙樺寲 -// } - if (staProtocol == null || staProtocol.getWorkNo() == 0 || !staProtocol.isLoading() ) { - continue; - } - if(staProtocol.getStaNo() != 112){ - continue; - } - if(staProtocol.getWorkNo() == staProtocol2.getWorkNo()) { + if (staProtocol.getStaNo() != 112 || staProtocol.getWorkNo() == 0 || !staProtocol.isLoading() || staProtocol.getWorkNo() > 9000 || staProtocol.getWorkNo() < 6000) { continue; } // 鏌ヨ浠诲姟淇℃伅 @@ -218,14 +206,7 @@ continue; } -// 鍏堟竻闆� short workNo = staProtocol.getWorkNo(); - short oldStaNo = staProtocol.getStaNo(); -// staProtocol.setWorkNo((short) 0); -// staProtocol.setStaNo((short) 0); -// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// Thread.sleep(100); // 璁� PLC 璇嗗埆鍙樺寲 - // 鍐嶅啓鍏ョ洰鏍囩珯鐐� staProtocol.setWorkNo(workNo); staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint())); @@ -984,7 +965,7 @@ } int storeCount = basDevpService.getStoreCount(); if(storeCount >= maxCount){ - log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄�"); + log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}",storeCount); break; } diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index ed2bffa..3d90ddb 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -66,15 +66,15 @@ // 鍏朵粬 ===>> // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� //鐜舰寰幆鍑芥暟 - mainService.shiftTargetToCyclePoint(); - mainService.shiftCyclePointToTarget(); -// i++; -// if (i > maxCount) { -// //鐜舰寰幆鍑芥暟 -// mainService.shiftTargetToCyclePoint(); -// mainService.shiftCyclePointToTarget(); -// i = 0; -// } +// mainService.shiftTargetToCyclePoint(); +// mainService.shiftCyclePointToTarget(); + i++; + if (i > maxCount) { + //鐜舰寰幆鍑芥暟 + mainService.shiftTargetToCyclePoint(); + mainService.shiftCyclePointToTarget(); + i = 0; + } //鑷姩娲惧彂浠诲姟 // mainService.autoDistribute(); diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 783e791..a194dda 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -584,33 +584,11 @@ plcAddressStaNo = "DB73." + (4 * 6 + 4); break; } -// String plcAddressWorkNo = "DB100." + index * 6; -// String plcAddressStaNo = "DB100." + (index * 6 + 4); - - while (writeCount < 5) { - // **璇诲彇褰撳墠PLC鐘舵�侊紝閬垮厤涓嶅繀瑕佺殑鍐欏叆** - OperateResultExOne<byte[]> readResult = siemensS7Net.Read(plcAddressWorkNo, (short) 6); - if (readResult.IsSuccess) { - int currentWorkNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0); - short currentStaNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4); - - if (currentWorkNo == staProtocol.getWorkNo().intValue() && currentStaNo == staProtocol.getStaNo()) { - log.info("绔欑偣 {} 褰撳墠鐘舵�佸凡鍖归厤锛屾棤闇�閲嶅鍐欏叆", staProtocol.getSiteId()); - return; - } - } - - // **鍐欏叆鏂颁换鍔�** - if (writeTaskToPLC(plcAddressWorkNo, plcAddressStaNo, staProtocol)) { - writeFlag = true; - log.info("杈撻�佺嚎鍛戒护鍐欏叆鎴愬姛锛孭LC缂栧彿={}锛岀珯鐐规暟鎹�={}锛屽皾璇曟鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - break; - } - - log.warn("杈撻�佺嚎鍛戒护鍐欏叆澶辫触锛孭LC缂栧彿={}锛岀珯鐐规暟鎹�={}锛屽皾璇曟鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - writeCount++; + // **鍐欏叆鏂颁换鍔�** + if (writeTaskToPLC(plcAddressWorkNo, plcAddressStaNo, staProtocol)) { + writeFlag = true; + log.info("杈撻�佺嚎鍛戒护鍐欏叆鎴愬姛锛孭LC缂栧彿={}锛岀珯鐐规暟鎹�={}锛屽皾璇曟鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); } - // **鍐欏叆澶辫触澶勭悊** handleWriteFailure(staProtocol, writeFlag); } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 212973e..c149282 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -46,7 +46,7 @@ wms: #杈撻�佺嚎鏆傚瓨鏁� count: 8 - maxCirle: 5 + maxCirle: 3 # 鏄惁寮�鍚笂鎶� start: true # WMS绯荤粺ip -- Gitblit v1.9.1