From 8bbf5dc0aec1319f1619bec6b0eb0ea7d1f6ff5c Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期日, 21 五月 2023 12:02:27 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 14 ++-- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 129 ++++++++++++++++++------------------------ src/main/java/com/zy/core/model/protocol/CrnProtocol.java | 28 ++++---- src/main/resources/application.yml | 4 4 files changed, 78 insertions(+), 97 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 c9afd08..4e17ef2 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -147,23 +147,30 @@ } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 - if (staProtocol.isAutoing() && staProtocol.isLoading() + if (staProtocol.isAutoing() + && staProtocol.isLoading() && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990) - && staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) { + && !staProtocol.isEmptyMk() + && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990) + && staProtocol.isPakMk()) { -// if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) { -// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); -// //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌172绔欑偣 -// staProtocol.setWorkNo((short)9999); -// staProtocol.setStaNo((short)172); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// if (!result) { -// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); -// } -// continue; -// } + if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) { + log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); + //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌 + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); + if (ledThread != null) { + String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯"; + MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); + } + staProtocol.setWorkNo((short)9999); + staProtocol.setStaNo((short)(staProtocol.getStaNo()-1)); + devpThread.setPakMk(staProtocol.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + if (!result) { + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); + } + continue; + } // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); @@ -175,17 +182,8 @@ } } -// // 鑾峰彇鍏ュ簱閫氱煡妗� -// List<WaitPakin> waitPakins = waitPakinMapper.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N")); -// if (waitPakins.isEmpty()) { -// log.error("鏃犳鍏ュ簱鏉$爜鏁版嵁銆傛潯鐮佸彿={}", barcode); -// continue; -// } - try { - LocTypeDto locTypeDto = new LocTypeDto(staProtocol); - SearchLocParam param = new SearchLocParam(); param.setBarcode(barcode); param.setIoType(1); @@ -200,7 +198,6 @@ .doPost(); JSONObject jsonObject = JSON.parseObject(response); LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); -// Integer code = jsonObject.getInteger("code"); if (jsonObject.getInteger("code").equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); @@ -216,40 +213,6 @@ } else { log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); } -// if (jsonObject.getInteger("code").equals(200)) { -// StartupDto dto = jsonObject.getObject("data", StartupDto.class); -// -// barcodeThread.setBarcode(""); -// staProtocol.setWorkNo(dto.getWorkNo().shortValue()); -// staProtocol.setStaNo(dto.getStaNo().shortValue()); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// -// ledThread.errorReset(); -// -// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// if (!result) { -// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); -// } -// } else if(code == 500){ -// if (ledThread != null) { -// String errorMsg = jsonObject.getString("msg"); -// if (!Cools.isEmpty(errorMsg)) { -// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); -// } -// } -// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); -// } else if (code == 700) { -// staProtocol.setWorkNo((short) 9995); -// staProtocol.setStaNo(inSta.getBackSta().shortValue()); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// -// // led 寮傚父鏄剧ず -// if (ledThread != null) { -// String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒"; -// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); -// } -// } // // 妫�绱㈠簱浣� @@ -393,18 +356,16 @@ for (DevpSlave.Sta pickSta : devp.getPickSta()) { // 鑾峰彇鏉$爜鎵弿浠俊鎭� BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode()); - if (barcodeThread == null) { continue; } String barcode = barcodeThread.getBarcode(); - - if (!Cools.isEmpty(barcode)) { log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode); - } else { - continue; + if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { + continue; + } } // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭� @@ -417,10 +378,31 @@ } - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) { + if (staProtocol.isAutoing() + && staProtocol.isLoading() + && staProtocol.isInEnable() + && staProtocol.isPakMk() + && staProtocol.getWorkNo() == 9991) { // WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); - WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); + if (barcode.equals("") || barcode.equals("99999999")) { + Integer led = pickSta.getLed(); + if (ledThread != null) { + String errorMsg = "鎵爜寮傚父锛岃閲嶆柊鍏ュ簱锛�"; + MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg)); + } +// // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 + staProtocol.setWorkNo((short)9999); + staProtocol.setStaNo((short)(staProtocol.getStaNo()-1)); + devpThread.setPakMk(staProtocol.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + if (!result) { + log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); + } + continue; + } + + WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); ledThread.errorReset(); if (wrkMast == null) { wrkMast = wrkMastMapper.selectPickStep(barcode); @@ -433,14 +415,13 @@ MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg)); } // // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 -// devpThread.ioModeOf1F1 = IoModeType.PAKOUT_BOOTING; -// staProtocol.setWorkNo((short)9999); -// staProtocol.setStaNo((short)(staProtocol.getStaNo()-1)); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// if (!result) { -// log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); -// } + staProtocol.setWorkNo((short)9999); + staProtocol.setStaNo((short)(staProtocol.getStaNo()-1)); + devpThread.setPakMk(staProtocol.getSiteId(), false); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + if (!result) { + log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); + } continue; } if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java index a63b90b..aaa114d 100644 --- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java @@ -251,32 +251,32 @@ return basCrnp; } - public void setxSpeed(Short xSpeed) { - this.xSpeed = Float.valueOf(xSpeed); + public void setxSpeed(float xSpeed) { + this.xSpeed = xSpeed; } - public void setySpeed(Short ySpeed) { - this.ySpeed = Float.valueOf(ySpeed); + public void setySpeed(float ySpeed) { + this.ySpeed = ySpeed; } - public void setzSpeed(Short zSpeed) { - this.zSpeed = Float.valueOf(zSpeed); + public void setzSpeed(float zSpeed) { + this.zSpeed = zSpeed; } - public void setxDistance(Short xDistance) { - this.xDistance = Float.valueOf(xDistance); + public void setxDistance(float xDistance) { + this.xDistance = xDistance; } - public void setyDistance(Short yDistance) { - this.yDistance = Float.valueOf(yDistance); + public void setyDistance(float yDistance) { + this.yDistance = yDistance; } - public void setxDuration(Short xDuration) { - this.xDuration = Float.valueOf(xDuration); + public void setxDuration(float xDuration) { + this.xDuration = xDuration; } - public void setyDuration(Short yDuration) { - this.yDuration = Float.valueOf(yDuration); + public void setyDuration(float yDuration) { + this.yDuration = yDuration; } } diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index f78d802..dbae985 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -167,13 +167,13 @@ crnProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 22)); crnProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 24)); crnProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 26)); - crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28)); - crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 32)); - crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 36)); - crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40)); - crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 44)); - crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48)); - crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52)); + crnProtocol.setxSpeed(siemensNet.getByteTransform().TransSingle(result.Content, 28)); + crnProtocol.setySpeed(siemensNet.getByteTransform().TransSingle(result.Content, 32)); + crnProtocol.setzSpeed(siemensNet.getByteTransform().TransSingle(result.Content, 36)); + crnProtocol.setxDistance(siemensNet.getByteTransform().TransSingle(result.Content, 40)); + crnProtocol.setyDistance(siemensNet.getByteTransform().TransSingle(result.Content, 44)); + crnProtocol.setxDuration(siemensNet.getByteTransform().TransSingle(result.Content, 48)); + crnProtocol.setyDuration(siemensNet.getByteTransform().TransSingle(result.Content, 52)); OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 43fffed..e258910 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -8,7 +8,7 @@ name: @pom.build.finalName@ datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://127.0.0.1:1433;databasename=kdyasrs + url: jdbc:sqlserver://10.10.10.200:1433;databasename=kdyasrs # url: jdbc:sqlserver://192.168.4.15:1433;databasename=nbjfasrs username: sa password: sa@123 @@ -35,7 +35,7 @@ enable: false wms: - url: localhost:8088/kdywms + url: localhost:8080/kdywms # 涓嬩綅鏈洪厤缃� wcs-slave: -- Gitblit v1.9.1