From 93e0a5e12a3f52e88d91c4a7e3f67c5e2dda5bc5 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 28 十一月 2023 08:56:43 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/model/protocol/StaProtocol.java | 4 src/main/java/com/zy/asrs/controller/SiteController.java | 4 src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java | 2 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 239 ++++++++++++++++++++------------------- src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java | 2 src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java | 4 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 72 +++++++---- 7 files changed, 176 insertions(+), 151 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java index bbcb229..ec0486e 100644 --- a/src/main/java/com/zy/asrs/controller/SiteController.java +++ b/src/main/java/com/zy/asrs/controller/SiteController.java @@ -166,8 +166,8 @@ @PostMapping("/detl/update") @ManagerAuth(memo = "淇敼绔欑偣鏁版嵁") public R siteDetlUpdate(@RequestParam Integer siteId, - @RequestParam Short workNo, - @RequestParam Short staNo, + @RequestParam Integer workNo, + @RequestParam Integer staNo, @RequestParam String pakMk){ for (DevpSlave devp : slaveProperties.getDevp()) { DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java index 7cdcf91..68b61ac 100644 --- a/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java @@ -13,7 +13,7 @@ private Integer siteId; // 宸ヤ綔鍙� - private Short workNo; + private Integer workNo; // 宸ヤ綔鐘舵�� private String wrkSts = ""; diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java index 2677861..ce27481 100644 --- a/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java @@ -14,7 +14,7 @@ private String siteId; // 宸ヤ綔鍙� - private Short workNo; + private Integer workNo; // 绔欑偣鐘舵�� private SiteStatusType siteStatus; diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java index 42b7bc9..5987ff5 100644 --- a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java @@ -12,7 +12,7 @@ private Integer devNo; // 宸ヤ綔鍙� - private Short workNo = 0; + private Integer workNo = 0; // 鑷姩 private String autoing = "-"; @@ -33,7 +33,7 @@ private String emptyMk = "-"; // 鐩爣绔� - private Short staNo = 0; + private Integer staNo = 0; //楂樹綆搴撲綅 private String locType1 = "-"; 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 77c8773..f81702f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -197,12 +197,12 @@ StartupDto dto = jsonObject.getObject("data", StartupDto.class); barcodeThread.setBarcode(""); - staProtocol.setWorkNo(dto.getWorkNo().shortValue()); + staProtocol.setWorkNo(dto.getWorkNo()); if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) { - staProtocol.setStaNo(dto.getStaNo().shortValue()); + staProtocol.setStaNo(dto.getStaNo()); } else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯 - staProtocol.setStaNo(dto.getRgvSstaNo().shortValue()); + staProtocol.setStaNo(dto.getRgvSstaNo()); } devpThread.setPakMk(staProtocol.getSiteId(), false); @@ -263,8 +263,8 @@ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (result) { @@ -393,8 +393,8 @@ } // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { @@ -448,8 +448,8 @@ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) { continue; } @@ -475,50 +475,54 @@ * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 */ public synchronized void crnIoExecute() { - for (CrnSlave crn : slaveProperties.getCrn()) { - // 鑾峰彇鍫嗗灈鏈轰俊鎭� - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); - CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - if (crnProtocol == null) { - continue; - } - BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); - if (basCrnp == null) { - log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); - continue; - } + try{ + for (CrnSlave crn : slaveProperties.getCrn()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { + continue; + } + BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); + if (basCrnp == null) { + log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); + continue; + } - // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� - if (crnProtocol.getStatusType() == CrnStatusType.IDLE - && crnProtocol.getTaskNo() == 0 - && crnProtocol.getModeType() == CrnModeType.AUTO - && crnProtocol.getLoaded() == 0 - && crnProtocol.getForkPos() == 0) { - // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 - if (crnProtocol.getLastIo().equals("I")) { - if (basCrnp.getInEnable().equals("Y")) { - this.crnStnToLoc1(crn, crnProtocol); // 鍏ュ簱 - crnProtocol.setLastIo("O"); - } else if (basCrnp.getOutEnable().equals("Y")) { - this.locToCrnStn1(crn, crnProtocol); // 鍑哄簱 - crnProtocol.setLastIo("I"); + // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� + if (crnProtocol.getStatusType() == CrnStatusType.IDLE + && crnProtocol.getTaskNo() == 0 + && crnProtocol.getModeType() == CrnModeType.AUTO + && crnProtocol.getLoaded() == 0 + && crnProtocol.getForkPos() == 0) { + // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 + if (crnProtocol.getLastIo().equals("I")) { + if (basCrnp.getInEnable().equals("Y")) { + this.crnStnToLoc1(crn, crnProtocol); // 鍏ュ簱 + crnProtocol.setLastIo("O"); + } else if (basCrnp.getOutEnable().equals("Y")) { + this.locToCrnStn1(crn, crnProtocol); // 鍑哄簱 + crnProtocol.setLastIo("I"); + } + } + // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡 + else if (crnProtocol.getLastIo().equals("O")) { + if (basCrnp.getOutEnable().equals("Y")) { + this.locToCrnStn1(crn, crnProtocol); // 鍑哄簱 + crnProtocol.setLastIo("I"); + } else if (basCrnp.getInEnable().equals("Y")) { + this.crnStnToLoc1(crn, crnProtocol); // 鍏ュ簱 + crnProtocol.setLastIo("O"); + } } } - // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡 - else if (crnProtocol.getLastIo().equals("O")) { - if (basCrnp.getOutEnable().equals("Y")) { - this.locToCrnStn1(crn, crnProtocol); // 鍑哄簱 - crnProtocol.setLastIo("I"); - } else if (basCrnp.getInEnable().equals("Y")) { - this.crnStnToLoc1(crn, crnProtocol); // 鍏ュ簱 - crnProtocol.setLastIo("O"); - } - } - } - // 搴撲綅绉昏浆 - this.locToLoc(crn, crnProtocol); + // 搴撲綅绉昏浆 + this.locToLoc(crn, crnProtocol); // this.crnRebackHp(crnProtocol, crnThread); + } + }catch (Exception e){ + log.error("鍫嗗灈鏈哄嚭鍏ュ簱涓嬪彂鎶ラ敊"+e); } } @@ -526,60 +530,65 @@ * 鎼滅储RGV杞︺�傞�氳繃鐩爣绔欐悳绱㈠摢鍙拌溅鍙敤 */ public synchronized Integer searchRgvNo(Integer staNo) { - BasDevp basDevp = basDevpService.selectById(staNo); - if (basDevp == null) { - return null;//鐩爣绔欎笉瀛樺湪 - } - //璺緞鍊� - int path = basDevp.getLocType3().intValue(); - - ArrayList<RgvThread> list = new ArrayList<>(); - for (RgvSlave rgv : slaveProperties.getRgv()) { - // 鑾峰彇RGV淇℃伅 - RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); - RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); - if (rgvProtocol == null) { - - continue; + try{ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp == null) { + return null;//鐩爣绔欎笉瀛樺湪 } - BasRgv basRgv = basRgvService.selectById(rgv.getId()); - if (basRgv == null) { - log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgv.getId()); - continue; - } + //璺緞鍊� + int path = basDevp.getLocType3().intValue(); - list.add(rgvThread); - } + ArrayList<RgvThread> list = new ArrayList<>(); + for (RgvSlave rgv : slaveProperties.getRgv()) { + // 鑾峰彇RGV淇℃伅 + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { - if (list.size() > 1) { - //瓒呰繃涓ゅ彴杞︼紝鎸夌収閰嶇疆鐨勮鍒欒繘琛屽垎閰� - for (RgvThread rgvThread : list) { - //鑾峰彇杞﹁締閰嶇疆鐨勮矾寰勮鍒� - BasRgvPath basRgvPath = basRgvPathService.selectByRgvNo(rgvThread.getSlave().getId()); - if (basRgvPath == null) { continue; } - //鐩爣绔欐槸鍚﹀寘鍚綋鍓嶈矾寰勪腑 + BasRgv basRgv = basRgvService.selectById(rgv.getId()); + if (basRgv == null) { + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgv.getId()); + continue; + } + + list.add(rgvThread); + } + + if (list.size() > 1) { + //瓒呰繃涓ゅ彴杞︼紝鎸夌収閰嶇疆鐨勮鍒欒繘琛屽垎閰� + for (RgvThread rgvThread : list) { + //鑾峰彇杞﹁締閰嶇疆鐨勮矾寰勮鍒� + BasRgvPath basRgvPath = basRgvPathService.selectByRgvNo(rgvThread.getSlave().getId()); + if (basRgvPath == null) { + continue; + } + //鐩爣绔欐槸鍚﹀寘鍚綋鍓嶈矾寰勪腑 + List<Integer> rgvPath = JSON.parseArray(basRgvPath.getPath(), Integer.class); + if (rgvPath.contains(path)) { + //褰撳墠璺緞涓寘鍚洰鏍囩珯锛屽垯閫夊畾杩欏彴杞� + return rgvThread.getSlave().getId(); + } + } + }else { + //灏忎簬鎴栫瓑浜�1鍙拌溅锛屽垎閰嶅叏璺緞 + BasRgvPath basRgvPath = basRgvPathService.selectByRgvNo(0);//鑾峰彇榛樿璺緞 + if (basRgvPath == null) { + return null; + } List<Integer> rgvPath = JSON.parseArray(basRgvPath.getPath(), Integer.class); if (rgvPath.contains(path)) { //褰撳墠璺緞涓寘鍚洰鏍囩珯锛屽垯閫夊畾杩欏彴杞� - return rgvThread.getSlave().getId(); + return list.get(0).getSlave().getId(); } } - }else { - //灏忎簬鎴栫瓑浜�1鍙拌溅锛屽垎閰嶅叏璺緞 - BasRgvPath basRgvPath = basRgvPathService.selectByRgvNo(0);//鑾峰彇榛樿璺緞 - if (basRgvPath == null) { - return null; - } - List<Integer> rgvPath = JSON.parseArray(basRgvPath.getPath(), Integer.class); - if (rgvPath.contains(path)) { - //褰撳墠璺緞涓寘鍚洰鏍囩珯锛屽垯閫夊畾杩欏彴杞� - return list.get(0).getSlave().getId(); - } - } - return null; + return null; + }catch (Exception e){ + log.error("鎼滅储RGV杞︺�傞�氳繃鐩爣绔欐悳绱㈠摢鍙拌溅鍙敤"+e); + return null; + } } // /** @@ -2350,8 +2359,8 @@ && rgvProtocol.statusType1 == RgvStatusType.WAITING) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); if (!MessageQueue.offer(SlaveType.Devp, rgvStn.getDevpPlcId(), new Task(2, staProtocol))) { continue; } @@ -2371,8 +2380,8 @@ && rgvProtocol.statusType2 == RgvStatusType.WAITING) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); if (!MessageQueue.offer(SlaveType.Devp, rgvStn.getDevpPlcId(), new Task(2, staProtocol))) { continue; } @@ -2426,8 +2435,8 @@ && rgvProtocol.statusType1 == RgvStatusType.WAITING) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); if (!MessageQueue.offer(SlaveType.Devp, rgvStn.getDevpPlcId(), new Task(2, staProtocol))) { continue; } @@ -2447,8 +2456,8 @@ && rgvProtocol.statusType2 == RgvStatusType.WAITING) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); if (!MessageQueue.offer(SlaveType.Devp, rgvStn.getDevpPlcId(), new Task(2, staProtocol))) { continue; } @@ -2871,8 +2880,8 @@ StartupDto dto = jsonObject.getObject("data", StartupDto.class); // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 - staProtocol.setWorkNo(dto.getWorkNo().shortValue()); - staProtocol.setStaNo(dto.getStaNo().shortValue()); + staProtocol.setWorkNo(dto.getWorkNo()); + staProtocol.setStaNo(dto.getStaNo()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { @@ -3676,9 +3685,8 @@ && staProtocol.getWorkNo() == 9992 ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) { - staProtocol.setWorkNo((short)9999); - staNo = staNo + 1; - staProtocol.setStaNo((short)staNo); + staProtocol.setWorkNo(9999); + staProtocol.setStaNo(staNo + 1); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol)); if (!result) { @@ -3688,8 +3696,9 @@ } } }catch (Exception e){ - e.printStackTrace(); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// e.printStackTrace(); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("鍏朵粬 ===>> 鐮佸灈瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝ワ紙鍏ュ簱鍓嶆壂鐮侊級"+e); } } /** @@ -3732,8 +3741,8 @@ && staProtocol.getWorkNo() >= 9990 ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) { - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol)); if (!result) { @@ -3745,8 +3754,9 @@ } } }catch (Exception e){ - e.printStackTrace(); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// e.printStackTrace(); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("鍏朵粬 ===>> 鐮佸灈瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝�"+e); } } /** @@ -3791,8 +3801,8 @@ && staProtocol.isLoading() ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) { - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol)); if (!result) { @@ -3804,8 +3814,9 @@ } } }catch (Exception e){ - e.printStackTrace(); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// e.printStackTrace(); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("鍏朵粬 ===>> 璐存爣瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝�"+e); } } diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java index ca3c6db..11c8f0a 100644 --- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java @@ -15,11 +15,11 @@ // ---------------------------------------------------------------- // 宸ヤ綔鍙� - private Short workNo = 0; + private Integer workNo = 0; // ---------------------------------------------------------------- // 鐩爣绔� - private Short staNo; + private Integer staNo; // ---------------------------------------------------------------- // 鑷姩 diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 44a5806..7389f6f 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -161,7 +161,7 @@ // updateIoMode(); ArrayList<Integer> staNos = getStaNo(); int staNoSize = staNos.size(); - OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*4)); + OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 @@ -171,9 +171,23 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4)); // 宸ヤ綔鍙� + staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, i*8)); // 宸ヤ綔鍙� - staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4 + 2)); // 鐩爣绔� + staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt32(result.Content, i*8 + 4)); // 鐩爣绔� + + boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*8 + 6, 2); + staProtocol.setAutoing(status[0]); // 鑷姩 + staProtocol.setLoading(status[1]); // 鏈夌墿 + staProtocol.setInEnable(status[2]); // 鍙叆 + staProtocol.setOutEnable(status[3]);// 鍙嚭 + staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿 + staProtocol.setFullPlt(status[5]); // 婊℃墭鐩� + staProtocol.setHigh(status[6]); // 楂樺簱浣� + staProtocol.setLow(status[7]); // 浣庡簱浣� + + if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { + staProtocol.setPakMk(true); + } } } // Thread.sleep(200); @@ -190,34 +204,34 @@ // staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result0.Content, i*2)); // 鐩爣绔� // } // } - Thread.sleep(200); - OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.100", (short) (staNoSize * 2)); - if (result1.IsSuccess) { - for (int i = 0; i < staNoSize; i++) { - Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 - boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*2, 1); - StaProtocol staProtocol = station.get(siteId); - staProtocol.setAutoing(status[0]); // 鑷姩 - staProtocol.setLoading(status[1]); // 鏈夌墿 - staProtocol.setInEnable(status[2]); // 鍙叆 - staProtocol.setOutEnable(status[3]);// 鍙嚭 - staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿 - staProtocol.setFullPlt(status[5]); // 婊℃墭鐩� - staProtocol.setHigh(status[6]); // 楂樺簱浣� - staProtocol.setLow(status[7]); // 浣庡簱浣� - - if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { - staProtocol.setPakMk(true); - } - } - } +// Thread.sleep(200); +// OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.100", (short) (staNoSize * 2)); +// if (result1.IsSuccess) { +// for (int i = 0; i < staNoSize; i++) { +// Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 +// boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*2, 1); +// StaProtocol staProtocol = station.get(siteId); +// staProtocol.setAutoing(status[0]); // 鑷姩 +// staProtocol.setLoading(status[1]); // 鏈夌墿 +// staProtocol.setInEnable(status[2]); // 鍙叆 +// staProtocol.setOutEnable(status[3]);// 鍙嚭 +// staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿 +// staProtocol.setFullPlt(status[5]); // 婊℃墭鐩� +// staProtocol.setHigh(status[6]); // 楂樺簱浣� +// staProtocol.setLow(status[7]); // 浣庡簱浣� +// +// if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { +// staProtocol.setPakMk(true); +// } +// } +// } //鏉$爜鎵弿鍣� Thread.sleep(200); - OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.150",(short)(barcodeSize*8)); + OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.102",(short)(barcodeSize*10)); if (result2.IsSuccess) { for (int i = 0; i < barcodeSize; i++) { - String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8"); + String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*10,10, "UTF-8"); BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { barcodeThread.setBarcode(barcode); @@ -241,7 +255,7 @@ - if (result.IsSuccess && result1.IsSuccess) { + if (result.IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); @@ -278,10 +292,10 @@ } ArrayList<Integer> staNos = getStaNo(); int index = staNos.indexOf(staProtocol.getSiteId()); - short[] array = new short[2]; + int[] array = new int[2]; array[0] = staProtocol.getWorkNo(); array[1] = staProtocol.getStaNo(); - OperateResult write = siemensS7Net.Write("DB100." + index*4, array); + OperateResult write = siemensS7Net.Write("DB100." + index*8, array); // OperateResult write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo()); // 宸ヤ綔鍙� // Thread.sleep(500); -- Gitblit v1.9.1