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