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