From b44b85a4d7512615b8c19c95dc21e537a15a0d5b Mon Sep 17 00:00:00 2001
From: zjj <zjj123456>
Date: 星期四, 08 五月 2025 09:37:01 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 54 ++++++++++++++++++--------
src/main/java/com/zy/core/MainProcess.java | 2 +
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 20 ++++++---
src/main/resources/application.yml | 8 ++--
4 files changed, 56 insertions(+), 28 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 94f52df..880f67e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -49,6 +49,7 @@
import java.io.IOException;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.zy.common.utils.RandomValidateCodeUtil.code;
@@ -239,6 +240,7 @@
param.setSourceStaNo(inSta.getStaNo());
param.setLocType1(locTypeDto.getLocType1());
String response = new HttpHandler.Builder()
+ .setTimeout(30, TimeUnit.SECONDS)
.setUri(wmsUrl)
.setPath("/rpc/pakin/loc/v1")
.setJson(JSON.toJSONString(param))
@@ -277,6 +279,11 @@
}
} else {
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+ ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ String errorMsg = barcode + jsonObject.get("msg");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+ }
}
} catch (Exception e) {
@@ -483,6 +490,7 @@
param.setSourceStaNo(inSta.getStaNo());
param.setLocType1(locTypeDto.getLocType1());
String response = new HttpHandler.Builder()
+ .setTimeout(30,TimeUnit.SECONDS)
.setUri(wmsUrl)
.setPath("/rpc/pakin/loc/v1")
.setJson(JSON.toJSONString(param))
@@ -520,6 +528,11 @@
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
}
} else {
+ ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ String errorMsg = jsonObject.getString("msg");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+ }
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -1620,6 +1633,11 @@
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
+ ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, emptyInSta.getLed());
+ if (ledThread != null) {
+ String errorMsg = jsonObject.getString("msg");
+ MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(3, errorMsg));
+ }
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
} catch (Exception e) {
@@ -3089,26 +3107,10 @@
command.setWeight2(weight2);
if (workNo1 == 0 && workNo2 !=0){
- if("0".equals(matnr2) || "".equals(batch2) ){
- log.error("婧愮珯"+souSta2+"宸ヤ綅涓�浠诲姟缂哄皯淇℃伅锛岀墿鏂欎唬鐮�:"+matnr+",batch:"+batch);
- continue;
- }
command.setTaskMode(RgvTaskModeType.FETCH_PUT2); // 浠诲姟妯″紡: 2鍙栨斁璐�
} else if (workNo1 != 0 && workNo2 ==0) {
- if("0".equals(matnr) || "".equals(batch) ){
- log.error("婧愮珯"+souSta1+"宸ヤ綅浜屼换鍔$己灏戜俊鎭紝鐗╂枡浠g爜:"+matnr+",batch:"+batch);
- continue;
- }
command.setTaskMode(RgvTaskModeType.FETCH_PUT1); // 浠诲姟妯″紡: 1鍙栨斁璐�
}else {
- if("0".equals(matnr) || "".equals(batch) ){
- log.error("婧愮珯"+souSta1+"宸ヤ綅涓�浠诲姟缂哄皯淇℃伅锛岀墿鏂欎唬鐮�:"+matnr+",batch:"+batch);
- continue;
- }
- if("0".equals(matnr2) || "".equals(batch2) ){
- log.error("婧愮珯"+souSta2+"宸ヤ綅浜屼换鍔$己灏戜俊鎭紝鐗╂枡浠g爜:"+matnr+",batch:"+batch);
- continue;
- }
command.setTaskMode(RgvTaskModeType.FETCH_PUT_ALL); // 浠诲姟妯″紡: all鍙栨斁璐�
}
command.setCommand(false);
@@ -3657,6 +3659,7 @@
param.setSourceStaNo(inSta.getStaNo());
param.setLocType1(locTypeDto.getLocType1());
String response = new HttpHandler.Builder()
+ .setTimeout(30,TimeUnit.SECONDS)
.setUri(wmsUrl)
.setPath("/rpc/process/in/loc/v1")
.setJson(JSON.toJSONString(param))
@@ -3685,6 +3688,11 @@
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
}
} else {
+ ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ String errorMsg = jsonObject.getString("msg");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+ }
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/process/in/loc/v1", JSON.toJSONString(param), response);
}
@@ -3724,7 +3732,7 @@
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+ log.error(barcode + "鐢熸垚浠诲姟鎴愬姛锛�"+dto);
barcodeThread.setBarcode("");
staProtocol.setWorkNo(dto.getWorkNo().shortValue());
staProtocol.setStaNo(dto.getStaNo().shortValue());
@@ -3743,6 +3751,11 @@
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
}
} else {
+ ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ String errorMsg = jsonObject.getString("msg");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+ }
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -3841,6 +3854,13 @@
// MatnrCode matnrCode = matnrCodeService.selectByCode(code);
Mat mat = matService.selectByCode(code);
if (Cools.isEmpty(mat)){
+ //zc 娣诲姞鏄剧ず灞忎俊鎭紝杈撳嚭鐗╂枡鏃犳硶鎴栧埆绛夋儏鍐�
+ // led 寮傚父鏄剧ず
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ String errorMsg = code + "鏈壘鍒板搴旂殑鐗╂枡淇℃伅锛�";
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+ }
throw new CoolException("鏈壘鍒板搴旂殑鐗╂枡淇℃伅");
}
CombParam combParam = new CombParam();
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 6cd6912..c735dbe 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -90,6 +90,8 @@
} catch (Exception e) {
+
+
e.printStackTrace();
}
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 70a9fef..dab59c9 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -768,11 +768,11 @@
boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*4, 1);
// short tongType = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 2);
short amount = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 6);
- String batch = siemensS7Net.getByteTransform().TransString(result.Content,i * 4+ 8, 20, "UTF-8");
+ String batch = siemensS7Net.getByteTransform().TransString(result.Content,i * 4+ 8, 20, "UTF-8").trim();
short ban = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 28);
Integer w1 = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 30);
String orderNo = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 34,22, "UTF-8");
- String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 56,22, "UTF-8");
+ String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 56,22, "UTF-8").trim();
StaProtocol staProtocol = station.get(siteId);
@@ -843,7 +843,7 @@
//浠诲姟涓嬪彂娆℃暟
int writeCount = 0;
do {
- write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
Thread.sleep(200);
write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔�
if(write.IsSuccess && write1.IsSuccess){
@@ -885,12 +885,18 @@
//浠诲姟涓嬪彂娆℃暟
int writeCount = 0;
do {
- write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ write = siemensS7Net.Write("DB100." + index*10, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
Thread.sleep(100);
- write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔�
+ write1 = siemensS7Net.Write("DB100." + (index*10+4), staProtocol.getStaNo()); // 鐩爣绔�
Thread.sleep(100);
- write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr()); // 鐩爣绔�
- if(write.IsSuccess && write1.IsSuccess){
+ write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr()); // 鐩爣绔�
+
+// write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+
+// write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔�
+
+// write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr()); // 鐩爣绔�
+ if(write.IsSuccess && write1.IsSuccess && write2.IsSuccess){
log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
break;
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 085d569..1985a5a 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -230,11 +230,11 @@
staNo: 2106
barcode: ${wcs-slave.barcode[2].id}
backSta: 2105
- led: ${wcs-slave.led[0].id}
+ led: ${wcs-slave.led[4].id}
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[0]:
staNo: 2106
- led: ${wcs-slave.led[0].id}
+ led: ${wcs-slave.led[4].id}
# 杈撻�佺嚎3
devp[2]:
id: 3
@@ -433,8 +433,8 @@
id: 5
ip: 10.10.10.206
port: 5005
- devpPlcId: ${wcs-slave.devp[6].id}
- staArr: 3007
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staArr: 2106
# LED6
led[5]:
id: 6
--
Gitblit v1.9.1