From d90be3792d9152efc47eae0e7747aa0fd70faad3 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期六, 13 一月 2024 10:48:49 +0800 Subject: [PATCH] #输送初始化 --- src/main/java/com/zy/core/model/protocol/StaProtocol.java | 2 src/main/java/com/zy/asrs/controller/SiteController.java | 2 src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java | 2 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 36 ++++++------ src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java | 2 src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java | 2 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 84 +++++++++++++++++----------- src/main/resources/application.yml | 34 ++++++++++- 8 files changed, 105 insertions(+), 59 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..9cab390 100644 --- a/src/main/java/com/zy/asrs/controller/SiteController.java +++ b/src/main/java/com/zy/asrs/controller/SiteController.java @@ -166,7 +166,7 @@ @PostMapping("/detl/update") @ManagerAuth(memo = "淇敼绔欑偣鏁版嵁") public R siteDetlUpdate(@RequestParam Integer siteId, - @RequestParam Short workNo, + @RequestParam Integer workNo, @RequestParam Short staNo, @RequestParam String pakMk){ for (DevpSlave devp : slaveProperties.getDevp()) { 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..8512360 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 = "-"; 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 66df567..3d1ef7e 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -137,7 +137,7 @@ if (staProtocol.isAutoing()&& !staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 9999 && staProtocol.isPakMk() && staProtocol.getStamp()==2){ staProtocol.setStamp(3); News.info(""+mark+" - 7"+" - 鎵爜澶辫触2 ===>> {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{},绔欑偣:{}", inSta.getBarcode(), barcode11, inSta.getStaNo()); - staProtocol.setWorkNo((short) 9989); + staProtocol.setWorkNo(9989); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -161,7 +161,7 @@ if(!Cools.isEmpty(barcode)) { News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)) { - staProtocol.setWorkNo((short) 9999); + staProtocol.setWorkNo( 9999); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -175,7 +175,7 @@ continue; } } else { - staProtocol.setWorkNo((short) 9999); + staProtocol.setWorkNo( 9999); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -200,7 +200,7 @@ } if (wrkMast != null) { News.error(""+mark+" - 4"+" - 宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo()); - staProtocol.setWorkNo((short)9999); + staProtocol.setWorkNo(9999); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -235,7 +235,7 @@ StartupDto dto = jsonObject.getObject("data", StartupDto.class); barcodeThread.setBarcode(""); - staProtocol.setWorkNo(dto.getWorkNo().shortValue()); + staProtocol.setWorkNo(dto.getWorkNo()); staProtocol.setStaNo(dto.getStaNo().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -260,7 +260,7 @@ } } else { News.error(""+mark+" - 5"+" - 璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); - staProtocol.setWorkNo((short)9999); + staProtocol.setWorkNo(9999); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -332,7 +332,7 @@ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -422,7 +422,7 @@ StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { News.error(""+mark+" - 2"+" - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); - staProtocol.setWorkNo((short) 9989); + staProtocol.setWorkNo(9989); staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1)); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -477,7 +477,7 @@ } // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -538,7 +538,7 @@ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) { continue; @@ -1398,7 +1398,7 @@ StartupDto dto = jsonObject.getObject("data", StartupDto.class); // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 - staProtocol.setWorkNo(dto.getWorkNo().shortValue()); + staProtocol.setWorkNo(dto.getWorkNo()); staProtocol.setStaNo(dto.getStaNo().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -1422,7 +1422,7 @@ // ledThread.errorReset(); } } else { - staProtocol.setWorkNo((short)9999); + staProtocol.setWorkNo(9999); staProtocol.setStaNo(emptyInSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -2172,7 +2172,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { - log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�2", rgvSlave.getId()); continue; } @@ -2208,7 +2208,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { - log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�3", rgvSlave.getId()); continue; } @@ -2291,7 +2291,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { - log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�4", rgvSlave.getId()); continue; } @@ -2351,7 +2351,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { - log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�5", rgvSlave.getId()); continue; } @@ -2414,7 +2414,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { - log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�6", rgvSlave.getId()); continue; } @@ -2484,7 +2484,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { - log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�1", rgvSlave.getId()); continue; } 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 2e3fb74..0f32c47 100644 --- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java @@ -15,7 +15,7 @@ // ---------------------------------------------------------------- // 宸ヤ綔鍙� - private Short workNo = 0; + private Integer workNo = 0; // ---------------------------------------------------------------- // 鐩爣绔� diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 5008cf0..a7ba3b2 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -147,7 +147,7 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } - staProtocol.setWorkNo((short) 0); // ID + staProtocol.setWorkNo(0); // ID staProtocol.setAutoing(false); // 鑷姩 staProtocol.setLoading(false); // 鏈夌墿 staProtocol.setInEnable(false); // 鍙叆 @@ -191,8 +191,7 @@ // updateIoMode(); ArrayList<Integer> staNos = getStaNo(); int staNoSize = staNos.size(); - OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*4)); -// OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB100.2", (short) (staNoSize*2)); + 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); // 绔欑偣缂栧彿 @@ -202,19 +201,11 @@ 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().TransInt16(result.Content, i*8 + 4)); // 鐩爣绔� - Thread.sleep(200); - OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.0", (short) (staNoSize * 4)); - if (result1.IsSuccess) { - for (int i = 0; i < staNoSize; i++) { - Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 - boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*4, 1); - StaProtocol staProtocol = station.get(siteId); + boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*8 + 6, 2); staProtocol.setAutoing(status[0]); // 鑷姩 staProtocol.setLoading(status[1]); // 鏈夌墿 staProtocol.setInEnable(status[2]); // 鍙叆 @@ -227,20 +218,12 @@ if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { staProtocol.setPakMk(true); } - - if (staProtocol.getStamp()>=2 && !staProtocol.isLoading()){ - staProtocol.setStamp(0); - }else if (staProtocol.getStamp()<2 && staProtocol.isLoading()){ - //lfd鍏ュ簱鍗拌 褰搒tamp>=2鏃舵墠鍏ュ簱 - staProtocol.setStamp(staProtocol.getStamp()+1); - } } } - -// Thread.sleep(200); -// OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 186); -// if (result0.IsSuccess) { -// for (int i = 0; i < 93; i++) { +// OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*4)); +//// OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB100.2", (short) (staNoSize*2)); +// if (result.IsSuccess) { +// for (int i = 0; i < staNoSize; i++) { // Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 // StaProtocol staProtocol = station.get(siteId); // if (null == staProtocol) { @@ -248,9 +231,41 @@ // staProtocol.setSiteId(siteId); // station.put(siteId, staProtocol); // } -// staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result0.Content, i*2)); // 鐩爣绔� +// staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4)); // 宸ヤ綔鍙� +// +// staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4 + 2)); // 鐩爣绔� // } // } +// +// Thread.sleep(200); +// OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.0", (short) (staNoSize * 4)); +// if (result1.IsSuccess) { +// for (int i = 0; i < staNoSize; i++) { +// Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 +// boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*4, 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); +// } +// +// if (staProtocol.getStamp()>=2 && !staProtocol.isLoading()){ +// staProtocol.setStamp(0); +// }else if (staProtocol.getStamp()<2 && staProtocol.isLoading()){ +// //lfd鍏ュ簱鍗拌 褰搒tamp>=2鏃舵墠鍏ュ簱 +// staProtocol.setStamp(staProtocol.getStamp()+1); +// } +// } +// } + //鏉$爜鎵弿鍣� Thread.sleep(200); OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.0",(short)(barcodeSize*8)); @@ -265,7 +280,7 @@ } } - if (result.IsSuccess && result1.IsSuccess) { + if (result.IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); @@ -303,20 +318,23 @@ } ArrayList<Integer> staNos = getStaNo(); int index = staNos.indexOf(staProtocol.getSiteId()); - short[] array = new short[2]; - array[0] = staProtocol.getWorkNo(); - array[1] = staProtocol.getStaNo(); +// short[] array = new short[2]; +// array[0] = staProtocol.getWorkNo(); +// array[1] = staProtocol.getStaNo(); // OperateResult write = siemensS7Net.Write("DB100." + index*4, array); OperateResult write = null; + OperateResult write1 = null; //浠诲姟涓嬪彂娆℃暟 int writeCount = 0; do { // write = siemensS7Net.Write("DB100.0" + index*2, staProtocol.getWorkNo()); // 宸ヤ綔鍙� // Thread.sleep(500); // write1 = siemensS7Net.Write("DB100.0" + index*2+2, staProtocol.getStaNo()); // 鐩爣绔� - write = siemensS7Net.Write("DB100." + index*4, array); - if(write.IsSuccess){ + write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo()); // 宸ヤ綔鍙� + Thread.sleep(500); + write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔� + if(write.IsSuccess && write1.IsSuccess){ Thread.sleep(200); OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100.0" + index*2, (short) 2); OperateResultExOne<byte[]> readResult1 = siemensS7Net.Read("DB100.0" + index*2+2, (short) 2); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1e7f52c..23af70c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -144,7 +144,7 @@ # RGV绌挎杞�1 rgv[0]: id: 1 - ip: 192.168.4.250 + ip: 10.10.10.60 port: 502 rack: 0 slot: 0 @@ -172,7 +172,35 @@ # RGV绌挎杞�2 rgv[1]: id: 2 - ip: 192.168.4.250 + ip: 10.10.10.63 + port: 502 + rack: 0 + slot: 0 + #RGV鍏ュ簱婧愮珯鐐� + rgvInSStn[0]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 100 + rgvInSStn[1]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 101 + #RGV鍑哄簱婧愮珯鐐� + rgvOutSStn[0]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 110 + rgvOutSStn[1]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 112 + #RGV鐩爣绔欑偣 + rgvDestStn[0]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 102 + rgvDestStn[1]: + devpPlcId: ${wcs-slave.devp[0].id} + staNo: 103 + # RGV绌挎杞�2 + rgv[2]: + id: 3 + ip: 10.10.10.66 port: 502 rack: 0 slot: 0 @@ -200,7 +228,7 @@ # 杈撻�佺嚎1 devp[0]: id: 1 - ip: 192.168.4.250 + ip: 10.10.10.50 port: 102 rack: 0 slot: 0 -- Gitblit v1.9.1