src/main/java/com/zy/asrs/controller/SiteController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/pipeline.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/SiteController.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.domain.vo.PlcErrorTableVo; import com.zy.asrs.domain.vo.SiteTableVo; @@ -101,31 +102,66 @@ Map<Integer, StaProtocol> station = devpThread.getStation(); for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) { StaProtocol staProtocol = entry.getValue(); // if (staProtocol) { // PlcErrorTableVo vo = new PlcErrorTableVo(); // vo.setNo(entry.getKey()); // 序号 // // vo.setPlcDesc(""); // todo:luxiaotao plc错误描述 // vo.setError(""); // todo:luxiaotao 异常信息 // list.add(vo); // } if (!Cools.isEmpty(staPlcErr(entry))){ list.add(staPlcErr(entry).get(0)) ; } } } list.sort((o1, o2) -> { if (o1.getNo().compareTo(o2.getNo()) > 0){ return 1; }else if (o1.getNo().compareTo(o2.getNo()) < 0){ return 0; }else{ return -1; } }); return R.ok().add(list); } public List<PlcErrorTableVo> staPlcErr(Map.Entry<Integer, StaProtocol> entry){ List<PlcErrorTableVo> list = new ArrayList<>(); StaProtocol staProtocol = entry.getValue(); if (staProtocol.isFrontErr()){ PlcErrorTableVo vo = new PlcErrorTableVo(); vo.setNo(entry.getKey()); // 序号 vo.setPlcDesc("前超限"); vo.setError("前超限"); list.add(vo); } if (staProtocol.isBackErr()){ PlcErrorTableVo vo = new PlcErrorTableVo(); vo.setNo(entry.getKey()); // 序号 vo.setPlcDesc("后超限"); vo.setError("后超限"); list.add(vo); } if (staProtocol.isHighErr()){ PlcErrorTableVo vo = new PlcErrorTableVo(); vo.setNo(entry.getKey()); // 序号 vo.setPlcDesc("高超限"); vo.setError("高超限"); list.add(vo); } if (staProtocol.isLeftErr()){ PlcErrorTableVo vo = new PlcErrorTableVo(); vo.setNo(entry.getKey()); // 序号 vo.setPlcDesc("左超限"); vo.setError("左超限"); list.add(vo); } if (staProtocol.isRightErr()){ PlcErrorTableVo vo = new PlcErrorTableVo(); vo.setNo(entry.getKey()); // 序号 vo.setPlcDesc("右超限"); vo.setError("右超限"); list.add(vo); } if (staProtocol.isBarcodeErr()){ PlcErrorTableVo vo = new PlcErrorTableVo(); vo.setNo(entry.getKey()); // 序号 vo.setPlcDesc("扫码失败"); vo.setError("扫码失败"); list.add(vo); } return list; } @PostMapping("/output/site") @ManagerAuth(memo = "站点设备报文日志输出") src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -369,7 +369,7 @@ && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && staProtocol.getWorkNo() == 9991) { && staProtocol.getWorkNo() == 9999) { // WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); if (barcode.equals("") || barcode.equals("99999999")) { @@ -389,7 +389,8 @@ continue; } WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); // WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode)); ledThread.errorReset(); if (wrkMast == null) { wrkMast = wrkMastMapper.selectPickStep(barcode); @@ -474,6 +475,8 @@ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { log.error("发布命令至输送线队列失败!!! [plc编号:{}]", devp.getId()); }else { ledThread.errorReset(); } } @@ -1293,6 +1296,7 @@ // 获取空板入库站信息 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo()); LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, emptyInSta.getLed()); if (staProtocol == null) { continue; } else { @@ -1303,6 +1307,13 @@ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() >= 9990 && staProtocol.getWorkNo() <= 9999) && staProtocol.isPakMk()) { List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() .eq("sta_no", emptyInSta.getStaNo()) .eq("io_type", 10) .eq("wrk_sts", 2)); if (!Cools.isEmpty(wrkMasts)){ continue; } try { LocTypeDto locTypeDto = new LocTypeDto(staProtocol); @@ -1319,7 +1330,7 @@ JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); ledThread.errorReset(); // 更新站点信息 且 下发plc命令 staProtocol.setWorkNo(dto.getWorkNo().shortValue()); staProtocol.setStaNo(dto.getStaNo().shortValue()); src/main/resources/application.yml
@@ -160,17 +160,19 @@ # 空板入库口1 emptyInSta[0]: staNo: 1002 led: ${wcs-slave.led[0].id} emptyInSta[1]: staNo: 1012 led: ${wcs-slave.led[3].id} # 拣料入库口1 pickSta[0]: staNo: 1003 staNo: 1002 barcode: ${wcs-slave.barcode[0].id} backSta: 1001 led: ${wcs-slave.led[0].id} # 拣料入库口2 pickSta[1]: staNo: 1013 staNo: 1012 barcode: ${wcs-slave.barcode[1].id} backSta: 1011 led: ${wcs-slave.led[3].id} src/main/webapp/views/pipeline.html
@@ -61,7 +61,7 @@ <table id="plc-error-table"> <thead> <tr> <th style="width: 200px">序号</th> <th style="width: 200px">站点</th> <th style="width: 400px">PLC错误描述</th> <th style="width: 400px">异常</th> </tr>