src/main/java/com/zy/asrs/entity/TaskWrk.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/TaskWrkLog.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.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/mapper/TaskWrkLogMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/TaskWrkMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -180,6 +180,14 @@ @TableField("type") private String type; @TableField("mp") private short mp; @TableField("lx") private short lx; @TableField("lev") private short lev; public TaskWrk() { } src/main/java/com/zy/asrs/entity/TaskWrkLog.java
@@ -171,6 +171,15 @@ @TableField("type") private String type; @TableField("mp") private short mp; @TableField("lx") private short lx; @TableField("lev") private short lev; public TaskWrkLog() { } src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
@@ -35,6 +35,21 @@ //堆垛机 private Integer crn; /** * 1:码盘。 2不码盘 */ private short mp; /** * 种类1 永远不叠盘;2叠2层;3叠三层;4叠四层 */ private short lx; /** * 码盘层数 */ private short lev; public TaskCreateParam() { } src/main/java/com/zy/asrs/entity/wms/StorageEscalationParam.java
@@ -18,6 +18,9 @@ //是否满板 private Integer fullPlt; // 码盘高度 1低2高 private short mpHigh; // 物料号列表 private List<String> matIdList; } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -182,6 +182,7 @@ storageEscalationParam.setBarcode(BoxNo); storageEscalationParam.setMatIdList(staProtocol.getMatIdList()); storageEscalationParam.setFullPlt(staProtocol.isFullPlt() ? 1 : 0); storageEscalationParam.setMpHigh(staProtocol.getMpHigh()); log.info("组托入库={}", storageEscalationParam); TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam); if (taskWrk == null) { @@ -254,6 +255,10 @@ boolean offer = false; try { offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); staProtocol.setMp(taskWrk.getMp()); staProtocol.setLx(taskWrk.getLx()); staProtocol.setLev(taskWrk.getLev()); MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol)); } catch (Exception e) { log.error("下发输送线任务失败:异常:" + e); log.error("下发输送线任务失败:异常:offer:" + offer); src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -81,6 +81,9 @@ taskWrk.setBarcode(param.getBarcode());//条码 taskWrk.setCrnNo(locMast.getCrnNo()); taskWrk.setType(param.getType()); taskWrk.setMp(param.getMp()); taskWrk.setLx(param.getLx()); taskWrk.setLev(param.getLev()); if (param.getIoType() == 1) { taskWrk.setWrkSts(1); if (!Cools.isEmpty(param.getTargetPoint())) { src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -73,6 +73,24 @@ // 条码,侧面出库给输送线 private String barcode; // 高度,侧面码盘的高度 private short mpHigh; /** * 1:码盘。 2不码盘 */ private short mp; /** * 种类1 永远不叠盘;2叠2层;3叠三层;4叠四层 */ private short lx; /** * 码盘层数 */ private short lev; // 外形检测 ------------------------------------------------------------------------ // 前超限 src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -159,6 +159,11 @@ write((StaProtocol) task.getData()); read(); break; // 出入库写码盘信息 case 3: write3((StaProtocol) task.getData()); read(); break; default: break; } @@ -653,6 +658,48 @@ } private void write3(StaProtocol staProtocol){ int lx = 0,mp = 0,lev = 0; switch (staProtocol.getSiteId()) { case 205: lx = 16;mp = 18;lev=344;break; case 207: lx = 24;mp = 26;lev=348;break; case 210: lx = 36;mp = 38;lev=354;break; case 212: lx = 44;mp = 46;lev=358;break; default: log.error("写码盘信息站点有误:{}" , staProtocol.getSiteId()); return; } String addressPre = "DB79."; //任务下发次数 int writeCount = 0; //任务下发成功标识 boolean writeFlag = false; while (writeCount < 5) { OperateResult writeResult1 = siemensS7Net.Write(addressPre + lx, staProtocol.getLx()); // 工装类型 OperateResult writeResult2 = siemensS7Net.Write(addressPre + mp, staProtocol.getMp()); // 是否码盘 OperateResult writeResult3 = siemensS7Net.Write(addressPre + lev, staProtocol.getLev()); // 码盘层数 if (writeResult1.IsSuccess && writeResult2.IsSuccess && writeResult3.IsSuccess) { writeFlag = true; log.info("码盘信息写入输送线命令后返回成功,并且回读成功。输送线plc编号={},{},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); break; } else { writeCount++; log.error("码盘信息写入输送线命令失败。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); } } //写命令尝试了5次还是失败了 if (!writeFlag) { //重新添加数据到任务队列 MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol)); log.error("码盘信息写入输送线命令尝试5次失败重新推送队列。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol)); } } // /** // * 写入 ID+目标站 =====> 单站点写入 // */ src/main/resources/mapper/TaskWrkLogMapper.xml
@@ -25,7 +25,9 @@ <result column="crn_no" property="crnNo" /> <result column="command_step" property="commandStep" /> <result column="transfer_mark" property="transferMark" /> <result column="mp" property="mp"/> <result column="lx" property="lx"/> <result column="lev" property="lev"/> </resultMap> </mapper> src/main/resources/mapper/TaskWrkMapper.xml
@@ -25,6 +25,9 @@ <result column="command_step" property="commandStep" /> <result column="transfer_mark" property="transferMark" /> <result column="mark_start" property="markStart"/> <result column="mp" property="mp"/> <result column="lx" property="lx"/> <result column="lev" property="lev"/> </resultMap>