src/main/java/com/zy/asrs/controller/SiteController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/model/protocol/StaProtocol.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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()) { 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 = ""; 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; 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 = "-"; 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"+" - 工作档中已存在该站状态为( 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"+" - 请求接口失败!!!url:{};request:{};response:{}", 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("{}号RGV尚未在数据库进行维护!", rgvSlave.getId()); log.error("{}号RGV尚未在数据库进行维护!2", rgvSlave.getId()); continue; } @@ -2208,7 +2208,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { log.error("{}号RGV尚未在数据库进行维护!", rgvSlave.getId()); log.error("{}号RGV尚未在数据库进行维护!3", rgvSlave.getId()); continue; } @@ -2291,7 +2291,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { log.error("{}号RGV尚未在数据库进行维护!", rgvSlave.getId()); log.error("{}号RGV尚未在数据库进行维护!4", rgvSlave.getId()); continue; } @@ -2351,7 +2351,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { log.error("{}号RGV尚未在数据库进行维护!", rgvSlave.getId()); log.error("{}号RGV尚未在数据库进行维护!5", rgvSlave.getId()); continue; } @@ -2414,7 +2414,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { log.error("{}号RGV尚未在数据库进行维护!", rgvSlave.getId()); log.error("{}号RGV尚未在数据库进行维护!6", rgvSlave.getId()); continue; } @@ -2484,7 +2484,7 @@ } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); if (basRgv == null) { log.error("{}号RGV尚未在数据库进行维护!", rgvSlave.getId()); log.error("{}号RGV尚未在数据库进行维护!1", rgvSlave.getId()); continue; } src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -15,7 +15,7 @@ // ---------------------------------------------------------------- // 工作号 private Short workNo = 0; private Integer workNo = 0; // ---------------------------------------------------------------- // 目标站 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入库印记 当stamp>=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入库印记 当stamp>=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); 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