src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/css/console.css | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/console.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -993,36 +993,41 @@ // 获取工作状态为 2,3,4,5,6 的入库工作档 WrkMast wrkMast = wrkMastMapper.selectPakInStep23456(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo()); if(null == wrkMast || (wrkMast.getCrnNo()==2 && wrkMast.getWrkSts()==2 && crnProtocol.getCrnNo()!=2 && (wrkMast.getIoType()==1 || wrkMast.getIoType()==10)) ){ // News.error("{}站点查询无待入库数据 工作号={}", crnStn.getStaNo(), staProtocol.getWorkNo()); // 已经存在吊车执行任务时,则过滤 if (wrkMastMapper.selectWorking(slave.getId()) != null) { continue; } if (Cools.isEmpty(staProtocol.getWorkNo())){ continue; } // 判断堆垛机状态等待确认 if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.statusType == CrnStatusType.IDLE && crnProtocol.forkPosType == CrnForkPosType.HOME) { News.info("堆垛机接驳任务执行,工作号:"+staProtocol.getWorkNo()+";执行堆垛机号:"+slave.getId()+";接驳取货位:"+crnStn.getStaNo()+";接驳放货位:"+staProtocol.getSiteId()); // 堆垛机接驳任务命令下发区 -------------------------------------------------------------------------- CrnCommand crnCommand = new CrnCommand(); crnCommand.setCrnNo(slave.getId()); // 堆垛机编号 crnCommand.setTaskNo(staProtocol.getWorkNo()); // 工作号 crnCommand.setAckFinish((short) 0); // 任务完成确认位 crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE); // 任务模式: 站位转移 crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 源库位排 crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 源库位列 crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 源库位层 crnCommand.setDestinationPosX(Utils.getRow(staProtocol.getSiteId())); // 目标库位排 crnCommand.setDestinationPosY(Utils.getBay(staProtocol.getSiteId())); // 目标库位列 crnCommand.setDestinationPosZ(Utils.getLev(staProtocol.getSiteId())); // 目标库位层 if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) { News.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", slave.getId(), JSON.toJSONString(crnCommand)); try{ // News.error("{}站点查询无待入库数据 工作号={}", crnStn.getStaNo(), staProtocol.getWorkNo()); // 已经存在吊车执行任务时,则过滤 if (wrkMastMapper.selectWorking(slave.getId()) != null) { continue; } return true; if (Cools.isEmpty(staProtocol.getWorkNo()) || !staProtocol.isLoading()){ continue; } // 判断堆垛机状态等待确认 if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.statusType == CrnStatusType.IDLE && crnProtocol.forkPosType == CrnForkPosType.HOME) { News.info("堆垛机接驳任务执行,工作号:"+staProtocol.getWorkNo()+";执行堆垛机号:"+slave.getId()+";接驳取货位:"+crnStn.getStaNo()+";接驳放货位:"+staProtocol.getSiteId()); // 堆垛机接驳任务命令下发区 -------------------------------------------------------------------------- CrnCommand crnCommand = new CrnCommand(); crnCommand.setCrnNo(slave.getId()); // 堆垛机编号 crnCommand.setTaskNo(staProtocol.getWorkNo()); // 工作号 crnCommand.setAckFinish((short) 0); // 任务完成确认位 crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE); // 任务模式: 站位转移 crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 源库位排 crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 源库位列 crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 源库位层 crnCommand.setDestinationPosX(Utils.getRow(staProtocol.getSiteId())); // 目标库位排 crnCommand.setDestinationPosY(Utils.getBay(staProtocol.getSiteId())); // 目标库位列 crnCommand.setDestinationPosZ(Utils.getLev(staProtocol.getSiteId())); // 目标库位层 if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) { News.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", slave.getId(), JSON.toJSONString(crnCommand)); } return true; } continue; } catch (Exception e){ News.info("堆垛机接驳任务执行,一场:"+e.getMessage()); } continue; } @@ -4084,6 +4089,9 @@ */ public synchronized void ledReset() { for (LedSlave led : slaveProperties.getLed()) { if (led.getId()>3){ continue; } // 获取输送线plc线程 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId()); // 命令集合 src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -154,9 +154,9 @@ // 更新入出库模式 updateIoMode(); ArrayList<Integer> staNos = getStaNo(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 50); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNos.size()*2)); if (result.IsSuccess) { for (int i = 0; i < 25; i++) { for (int i = 0; i < staNos.size(); i++) { Integer siteId = staNos.get(i); // 站点编号 StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { @@ -168,9 +168,9 @@ } } Thread.sleep(200); OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 50); OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) (staNos.size()*2)); if (result0.IsSuccess) { for (int i = 0; i < 25; i++) { for (int i = 0; i < staNos.size(); i++) { Integer siteId = staNos.get(i); // 站点编号 StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { @@ -182,11 +182,11 @@ } } Thread.sleep(200); OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.0", (short) 50); OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.0", (short) (staNos.size()*2)); if (result1.IsSuccess) { for (int i = 0; i < 25; i++) { for (int i = 0; i < staNos.size(); i++) { Integer siteId = staNos.get(i); // 站点编号 boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*2, 1); boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i * 2, 1); StaProtocol staProtocol = station.get(siteId); staProtocol.setAutoing(status[0]); // 自动 staProtocol.setLoading(status[1]); // 有物 @@ -199,10 +199,10 @@ if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { staProtocol.setPakMk(true); }else if (staProtocol.getSiteId().equals(300)){ } else if (staProtocol.getSiteId().equals(300)) { BasDevpMapper basDevpMapper = SpringUtils.getBean(BasDevpMapper.class); BasDevp basDevp = basDevpMapper.selectByDevNo(300); if (!basDevp.getWrkNo().equals(basDevp.getWrkNo1())){ if (!basDevp.getWrkNo().equals(basDevp.getWrkNo1())) { staProtocol.setPakMk(true); } } src/main/resources/application.yml
@@ -218,7 +218,7 @@ # 输送线2 devp[1]: id: 2 ip: 10.10.11.61 ip: 10.10.10.160 port: 102 rack: 0 slot: 0 @@ -238,7 +238,7 @@ # 输送线3 devp[2]: id: 3 ip: 10.10.12.61 ip: 10.10.10.170 port: 102 rack: 0 slot: 0 @@ -282,14 +282,14 @@ id: 1 ip: 10.10.10.205 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} devpPlcId: ${wcs-slave.devp[0].id} staArr: 100 # LED2 led[1]: id: 2 ip: 10.10.10.206 port: 5005 devpPlcId: ${wcs-slave.devp[2].id} devpPlcId: ${wcs-slave.devp[0].id} staArr: 300 # LED3 led[2]: @@ -301,14 +301,14 @@ # LED4 led[3]: id: 4 ip: 10.10.11.207 ip: 10.10.10.207 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 200 # LED5 led[4]: id: 5 ip: 10.10.12.207 ip: 10.10.10.207 port: 5005 devpPlcId: ${wcs-slave.devp[2].id} staArr: 200 src/main/webapp/static/css/console.css
@@ -310,6 +310,13 @@ .site-row-1 .site { width: 80px; } .site-row-112 { top: 89px; left: 599px; } .site-row-112 .site { width: 70px; } .site-row-2 { top: 289px; left: 499px; @@ -339,7 +346,13 @@ .site-row-5 .site { width: 70px; } .site-row-212 { top: 563px; left: 599px; } .site-row-212 .site { width: 70px; } .site-row-6 { top: 213px; left: 797px; src/main/webapp/views/console.html
@@ -22,6 +22,12 @@ <div id="site-200" class="site" style="height: 30px;line-height: 30px;margin-top: 95px;">200</div> </div> <!-- 第2列--> <div class="site-row site-row-112"> <div id="site-114" class="site" style="height: 30px;line-height: 30px;">114</div> <div id="site-113" class="site" style="height: 30px;line-height: 30px;">113</div> <div id="site-112" class="site" style="height: 30px;line-height: 30px;">112</div> </div> <!-- 第2列--> <div class="site-row site-row-2"> <div id="site-101" class="site" style="height: 36px;line-height: 36px;">101</div> <div id="site-300" class="site" style="height: 94px;line-height: 94px;">300</div> @@ -52,6 +58,11 @@ <div id="site-207" class="site" style="height: 32px;line-height: 32px;">207</div> </div> <!-- 第6列 --> <div class="site-row site-row-212"> <div id="site-212" class="site" style="height: 30px;line-height: 30px;">212</div> <div id="site-213" class="site" style="height: 30px;line-height: 30px;">213</div> <div id="site-214" class="site" style="height: 30px;line-height: 30px;">214</div> </div> <div class="site-row site-row-6"> <div id="site-108" class="site" style="height: 36px;line-height: 36px;">108</div> <div id="site-109" class="site" style="height: 36px;line-height: 36px;">109</div>