src/main/java/com/zy/asrs/controller/ConsoleController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/controller/CrnController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensCrnThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/console.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -149,6 +149,9 @@ /** * 堆垛机状态判断 */ if(crnProtocol.getAlarm() == 10){ crnProtocol.setAlarm((short) 0); } if (crnProtocol.getAlarm() > 0) { vo.setCrnStatus(CrnStatusType.MACHINE_ERROR); } else { src/main/java/com/zy/asrs/controller/CrnController.java
@@ -127,6 +127,9 @@ vo.setForkOffset(crnProtocol.getForkPosType().desc); // 货叉位置 vo.setLiftPos(crnProtocol.getLiftPosType().desc); vo.setWalkPos(crnProtocol.getWalkPos()==1?"不在定位":"在定位"); if(crnProtocol.getAlarm() == 10){ crnProtocol.setAlarm((short) 0); } vo.setWarnCode(String.valueOf(crnProtocol.getAlarm())); if (crnProtocol.getAlarm() > 0) { BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); @@ -513,7 +516,10 @@ } private boolean isLocSts(String row,String bay,String lev){ String loc = String.format("%2d",row)+String.format("%3d",bay)+String.format("%2d",lev); int rowInt = Integer.parseInt(row); int bayInt = Integer.parseInt(bay); int levInt = Integer.parseInt(lev); String loc = String.format("%2d",rowInt)+String.format("%3d",bayInt)+String.format("%2d",levInt); LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", loc)); if (Cools.isEmpty(locMast)){ return false; src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -411,7 +411,7 @@ StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); if(staProtocol == null) { News.error("站点信息未获得"); // News.error("站点信息未获得"); continue; } // 尺寸检测异常 @@ -1103,7 +1103,7 @@ crnCommand.setDestinationPosX((short) (locMast.getRow1() + slave.getOffset())); // 目标库位排 crnCommand.setDestinationPosY((short) (locMast.getBay1() + slave.getOffset())); // 目标库位列 crnCommand.setDestinationPosZ((short) (locMast.getLev1() + slave.getOffset())); // 目标库位层 crnCommand.setTraySize(locMast.getLocType1() == 2); // crnCommand.setTraySize(locMast.getLocType1() == 2); if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { News.error("" + mark + " - 1" + " - 16" + " - 堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); } else { @@ -1689,8 +1689,8 @@ try { LocTypeDto locTypeDto = new LocTypeDto(staProtocol); SearchLocParam param = new SearchLocParam(); locTypeDto.setLocType1((short) 1); param.setIoType(10); param.setSourceStaNo(emptyInSta.getStaNo()); param.setLocType1(locTypeDto.getLocType1()); src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -602,7 +602,7 @@ // if (result != null && result.IsSuccess) { // Thread.sleep(200); // this.readStatus(); //// News.info("堆垛机命令下发[id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); //// News.info("堆垛机命令下发[{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); // OutputQueue.CRN.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> 命令下发: {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); // return true; // } else { src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -28,10 +28,7 @@ import lombok.extern.slf4j.Slf4j; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.*; import java.util.concurrent.ConcurrentHashMap; /** @@ -71,12 +68,22 @@ add(401);add(402);add(403);add(404); }}; public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{ add(1); add(2);add(3);add(4);add(5);add(6);add(7);add(8);add(9); public static final ArrayList<Integer> BarcodeList1 = new ArrayList<Integer>() {{ add(1); add(2);add(3);add(4);add(5); }}; public static final ArrayList<Integer> BarcodeList2 = new ArrayList<Integer>() {{ add(6);add(7);add(8);add(9); add(10); add(11); add(12); add(13); }}; public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{ add(101); add(201); public static final ArrayList<Integer> staNosErrList2 = new ArrayList<Integer>() {{ add(101); add(104);add(106);add(108); add(202);add(204);add(207);add(210); }}; public static final ArrayList<Integer> staNosErrList1 = new ArrayList<Integer>() {{ add(122); add(222);add(224);add(227);add(230); }}; private Integer count=0; @@ -103,6 +110,17 @@ this.slave = slave; } private ArrayList<Integer> getStaNoErr() { switch (slave.getId()) { case 1: return staNosErrList1; case 2: return staNosErrList2; default: throw new CoolException("服务器异常"); } } private ArrayList<Integer> getStaNo() { switch (slave.getId()) { case 1: @@ -111,6 +129,16 @@ return staNos2; default: throw new CoolException("服务器异常"); } } private ArrayList<Integer> getBarcodeList() { switch (slave.getId()) { case 1: return BarcodeList1; case 2: return BarcodeList2; default: throw new CoolException("获取站点失败!"); } } @@ -198,6 +226,20 @@ return result; } public static int getOffsetFromSiteId(int siteId) { if (siteId < 100 || siteId > 450) { throw new IllegalArgumentException("siteId 超出有效范围: " + siteId); } return (siteId - 100) * 8; } public static int getOffsetFromSiteId2(int siteId) { if (siteId < 100 || siteId > 450) { throw new IllegalArgumentException("siteId 超出有效范围: " + siteId); } return (siteId - 100) * 6; } /** * 读取状态 ====> 整块plc */ @@ -205,9 +247,10 @@ // // 更新入出库模式 // updateIoMode(); ArrayList<Integer> staNos = getStaNo(); ArrayList<Integer> staNosErrList = getStaNoErr(); int staNoSize = staNos.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8)); OperateResultExOne<byte[]> result200 = siemensS7Net.Read("DB101.800", (short) (staNoSize*8)); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (500 * 8)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 站点编号 @@ -218,19 +261,13 @@ station.put(siteId, staProtocol); } boolean[] status = null; if(i < 24){ staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, i*8)); // 工作号 int offset = getOffsetFromSiteId(siteId);//取余获得对应db块数据 staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*8 + 4)); // 目标站 staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, offset)); // 工作号 status = siemensS7Net.getByteTransform().TransBool(result.Content, i*8 + 6, 2); }else { staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result200.Content, (i-24)*8)); // 工作号 staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, offset+ 4)); // 目标站 staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result200.Content, (i-24)*8 + 4)); // 目标站 status = siemensS7Net.getByteTransform().TransBool(result200.Content, (i-24)*8 + 6, 2); } status = siemensS7Net.getByteTransform().TransBool(result.Content, offset+ 6, 2); staProtocol.setAutoing(status[0]); // 自动 staProtocol.setLoading(status[1]); // 有物 @@ -248,8 +285,8 @@ } //条码扫描器 ArrayList<Integer> barcodeList = BarcodeList; OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.1648", (short) (barcodeList.size() * 8)); ArrayList<Integer> barcodeList = getBarcodeList(); OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.2848", (short) (barcodeList.size() * 8)); if (result2.IsSuccess) { for (int i = 0; i < barcodeList.size(); i++) { Integer barcodeId = barcodeList.get(i); @@ -263,9 +300,9 @@ //外形检测 ArrayList<Integer> staNoErrs = staNosErrList; int staNoErrsSize = staNoErrs.size(); OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.1608", (short) (staNoErrsSize*8)); OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.2808", (short) (staNoErrsSize * 4)); if (resultErr.IsSuccess){ for (int i = 0;i<2;i++){ for (int i = 0; i < staNoErrsSize; i++) { Integer siteId = staNoErrs.get(i); // 站点编号 boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4+2, 1); StaProtocol staProtocol = station.get(siteId); @@ -279,51 +316,51 @@ } } //plc故障 OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB101.1728", (short) (staNoSize*4)); if (resultErr2.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 站点编号 boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr2.Content, i*4, 1); StaProtocol staProtocol = station.get(siteId); staProtocol.setBreakerErr(status[0]); staProtocol.setInfraredErr(status[1]); staProtocol.setOutTimeErr(status[2]); staProtocol.setSeizeSeatErr(status[3]); staProtocol.setWrkYgoodsN(status[4]); staProtocol.setInverterErr(status[5]); staProtocol.setContactErr(status[6]); staProtocol.setUpcontactErr(status[7]); } } OperateResultExOne<byte[]> resultErr3 = siemensS7Net.Read("DB13.400", (short) 3); if (resultErr3.IsSuccess) { if (staError1 == null){ staError1 = new StaError1(); } boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr3.Content, 0, 3); staError1.setEMERGENCY_Stop_Core(status[0]); staError1.setEMERGENCY_STOP1(status[1]); staError1.setEMERGENCY_STOP2(status[2]); staError1.setEMERGENCY_STOP3(status[3]); staError1.setEMERGENCY_STOP4(status[4]); staError1.setDoor_EMERGENCY_STOP1(status[5]); staError1.setDoor_EMERGENCY_STOP2(status[6]); staError1.setDoor_EMERGENCY_STOP3(status[7]); staError1.setDoor_EMERGENCY_STOP4(status[8]); staError1.setDoor_EMERGENCY_STOP5(status[9]); staError1.setDoor_EMERGENCY_STOP6(status[10]); staError1.setDoor_Open_Err1(status[11]); staError1.setDoor_Open_Err1(status[12]); staError1.setDoor_Open_Err1(status[13]); staError1.setDoor_Open_Err1(status[14]); staError1.setDoor_Open_Err1(status[15]); staError1.setDoor_Open_Err1(status[16]); } // //plc故障 // OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB101.1728", (short) (staNoSize*4)); // if (resultErr2.IsSuccess) { // for (int i = 0; i < staNoSize; i++) { // Integer siteId = staNos.get(i); // 站点编号 // boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr2.Content, i*4, 1); // StaProtocol staProtocol = station.get(siteId); // staProtocol.setBreakerErr(status[0]); // staProtocol.setInfraredErr(status[1]); // staProtocol.setOutTimeErr(status[2]); // staProtocol.setSeizeSeatErr(status[3]); // staProtocol.setWrkYgoodsN(status[4]); // staProtocol.setInverterErr(status[5]); // staProtocol.setContactErr(status[6]); // staProtocol.setUpcontactErr(status[7]); // // } // } // OperateResultExOne<byte[]> resultErr3 = siemensS7Net.Read("DB13.400", (short) 3); // if (resultErr3.IsSuccess) { // if (staError1 == null){ // staError1 = new StaError1(); // } // boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr3.Content, 0, 3); // staError1.setEMERGENCY_Stop_Core(status[0]); // staError1.setEMERGENCY_STOP1(status[1]); // staError1.setEMERGENCY_STOP2(status[2]); // staError1.setEMERGENCY_STOP3(status[3]); // staError1.setEMERGENCY_STOP4(status[4]); // // staError1.setDoor_EMERGENCY_STOP1(status[5]); // staError1.setDoor_EMERGENCY_STOP2(status[6]); // staError1.setDoor_EMERGENCY_STOP3(status[7]); // staError1.setDoor_EMERGENCY_STOP4(status[8]); // staError1.setDoor_EMERGENCY_STOP5(status[9]); // staError1.setDoor_EMERGENCY_STOP6(status[10]); // // staError1.setDoor_Open_Err1(status[11]); // staError1.setDoor_Open_Err1(status[12]); // staError1.setDoor_Open_Err1(status[13]); // staError1.setDoor_Open_Err1(status[14]); // staError1.setDoor_Open_Err1(status[15]); // staError1.setDoor_Open_Err1(status[16]); // // } if (result.IsSuccess) { @@ -355,6 +392,7 @@ } } /** * 写入 ID+目标站 =====> 单站点写入 */ @@ -363,20 +401,17 @@ return; } ArrayList<Integer> staNos = getStaNo(); int index = staNos.indexOf(staProtocol.getSiteId()); if(index >= 24){ index = 76 + index; } // int index = staNos.indexOf(staProtocol.getSiteId()); int offset = getOffsetFromSiteId2(staProtocol.getSiteId());//取余获得对应db块数据 OperateResult write = null; OperateResult write1 = null; //任务下发次数 int writeCount = 0; do { write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo()); // 工作号 write = siemensS7Net.Write("DB100." + offset, staProtocol.getWorkNo()); // 工作号 Thread.sleep(200); write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue()); // 目标站 write1 = siemensS7Net.Write("DB100." + (offset+4), staProtocol.getStaNo().shortValue()); // 目标站 if(write.IsSuccess && write1.IsSuccess){ log.error("写入输送线命令成功。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); break; @@ -394,21 +429,22 @@ } OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线站点数据失败。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(staProtocol))); News.error("SiemensDevp"+" - 4"+" - 写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol)); } else { //dang 101,201zhan xaifazhiling qingchu tiaoxingsaomaolide shuju shanchu if (staProtocol.getSiteId()==101){ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 1); log.info("qingchutiaoma,{}",barcodeThread.getBarcode()); barcodeThread.clearBarcode(); } if (staProtocol.getSiteId()==201){ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 2); log.info("qingchutiaoma,{}",barcodeThread.getBarcode()); barcodeThread.clearBarcode(); } OutputQueue.DEVP.offer(MessageFormat.format("【{0}】 输送线命令下发 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol))); News.info("SiemensDevp"+" - 5"+" - 输送线命令下发 [id:{}] >>>>> 命令下发: {}", slave.getId(), JSON.toJSON(staProtocol)); } // else { // //dang 101,201zhan xaifazhiling qingchu tiaoxingsaomaolide shuju shanchu // if (staProtocol.getSiteId()==101){ // BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 1); // log.info("qingchutiaoma,{}",barcodeThread.getBarcode()); // barcodeThread.clearBarcode(); // } // if (staProtocol.getSiteId()==201){ // BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 2); // log.info("qingchutiaoma,{}",barcodeThread.getBarcode()); // barcodeThread.clearBarcode(); // } // OutputQueue.DEVP.offer(MessageFormat.format("【{0}】 输送线命令下发 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol))); // News.info("SiemensDevp"+" - 5"+" - 输送线命令下发 [id:{}] >>>>> 命令下发: {}", slave.getId(), JSON.toJSON(staProtocol)); // } } // 更新入出库模式 src/main/resources/application.yml
@@ -38,7 +38,7 @@ enable: false wms: url: 127.0.0.1:8080/tzglwms url: 127.0.0.1:8080/tzglasrs # 下位机配置 wcs-slave: @@ -72,14 +72,14 @@ devpPlcId: ${wcs-slave.devp[0].id} staNo: 121 row: 1 bay: 1 bay: 121 lev: 1 # 堆垛机入库站点 crnInStn[1]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 123 row: 2 bay: 1 bay: 121 lev: 1 # 堆垛机出库站点 crnOutStn[1]: @@ -94,70 +94,70 @@ staNo: 203 row: 2 bay: 1 lev: 1 lev: 2 # 堆垛机入库站点 crnInStn[3]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 223 row: 2 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机出库站点 crnOutStn[2]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 201 row: 1 bay: 1 lev: 1 lev: 2 # 堆垛机出库站点 crnOutStn[3]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 221 row: 1 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机出库站点 crnOutStn[4]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 223 row: 2 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机出库站点 crnOutStn[5]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 203 row: 2 bay: 1 lev: 1 lev: 2 # 堆垛机出库站点 crnOutStn[6]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 401 row: 1 bay: 1 lev: 1 lev: 4 # 堆垛机入库站点 crnInStn[4]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 401 row: 1 bay: 1 lev: 1 lev: 4 # 堆垛机出库站点 crnOutStn[7]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 411 row: 1 bay: 1 lev: 1 bay: 121 lev: 4 # 堆垛机入库站点 crnInStn[5]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 411 row: 1 bay: 1 lev: 1 bay: 121 lev: 4 # 堆垛机2 crn[1]: id: 2 @@ -180,7 +180,7 @@ devpPlcId: ${wcs-slave.devp[0].id} staNo: 124 row: 3 bay: 1 bay: 121 lev: 1 # 堆垛机入库站点 crnInStn[1]: @@ -188,56 +188,56 @@ staNo: 205 row: 3 bay: 1 lev: 1 lev: 2 # 堆垛机入库站点 crnInStn[2]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 225 row: 3 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机出库站点 crnOutStn[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 205 row: 3 bay: 1 lev: 1 lev: 2 # 堆垛机出库站点 crnOutStn[2]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 225 row: 3 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机入库站点 crnInStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 402 row: 3 bay: 1 lev: 1 lev: 4 # 堆垛机出库站点 crnOutStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 402 row: 3 bay: 1 lev: 1 lev: 4 # 堆垛机入库站点 crnInStn[4]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 412 row: 3 bay: 1 lev: 1 bay: 121 lev: 4 # 堆垛机出库站点 crnOutStn[4]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 412 row: 3 bay: 1 lev: 1 bay: 121 lev: 4 # 堆垛机3 crn[2]: id: 3 @@ -260,7 +260,7 @@ devpPlcId: ${wcs-slave.devp[0].id} staNo: 125 row: 5 bay: 1 bay: 121 lev: 1 # 堆垛机入库站点 crnInStn[1]: @@ -268,84 +268,84 @@ staNo: 206 row: 5 bay: 1 lev: 1 lev: 2 # 堆垛机出库站点 crnOutStn[1]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 226 row: 5 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机入库站点 crnInStn[2]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 226 row: 5 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机出库站点 crnOutStn[2]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 206 row: 5 bay: 1 lev: 1 lev: 2 # 堆垛机入库站点 crnInStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 208 row: 6 bay: 1 lev: 1 lev: 2 # 堆垛机出库站点 crnOutStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 208 row: 6 bay: 1 lev: 1 lev: 2 # 堆垛机入库站点 crnInStn[4]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 228 row: 6 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机出库站点 crnOutStn[4]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 228 row: 6 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机入库站点 crnInStn[5]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 403 row: 5 bay: 1 lev: 1 lev: 4 # 堆垛机出库站点 crnOutStn[5]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 403 row: 5 bay: 1 lev: 1 lev: 4 # 堆垛机入库站点 crnInStn[6]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 413 row: 5 bay: 1 lev: 1 bay: 121 lev: 4 # 堆垛机出库站点 crnOutStn[6]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 413 row: 5 bay: 1 lev: 1 bay: 121 lev: 4 # 堆垛机4 crn[3]: id: 4 @@ -368,7 +368,7 @@ devpPlcId: ${wcs-slave.devp[0].id} staNo: 126 row: 7 bay: 1 bay: 121 lev: 1 # 堆垛机入库站点 crnInStn[1]: @@ -376,84 +376,84 @@ staNo: 209 row: 7 bay: 1 lev: 1 lev: 2 # 堆垛机出库站点 crnOutStn[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 209 row: 7 bay: 1 lev: 1 lev: 2 # 堆垛机入库站点 crnInStn[2]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 229 row: 7 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机出库站点 crnOutStn[2]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 229 row: 7 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机入库站点 crnInStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 211 row: 8 bay: 1 lev: 1 lev: 2 # 堆垛机出库站点 crnOutStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 211 row: 8 bay: 1 lev: 1 lev: 2 # 堆垛机入库站点 crnInStn[4]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 231 row: 8 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机出库站点 crnOutStn[4]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 231 row: 8 bay: 1 lev: 1 bay: 121 lev: 2 # 堆垛机入库站点 crnInStn[5]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 403 row: 7 bay: 1 lev: 1 lev: 4 # 堆垛机出库站点 crnOutStn[5]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 403 row: 7 bay: 1 lev: 1 lev: 4 # 堆垛机入库站点 crnInStn[6]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 414 row: 7 bay: 1 lev: 1 bay: 121 lev: 4 # 堆垛机出库站点 crnOutStn[6]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 414 row: 7 bay: 1 lev: 1 bay: 121 lev: 4 # 东楼plc devp[0]: id: 1 @@ -799,98 +799,98 @@ ip: 10.10.10.51 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 121 # LED2 led[1]: id: 2 ip: 10.10.10.52 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 200 staArr: 122 led[2]: id: 3 ip: 10.10.10.53 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 124 led[3]: id: 4 ip: 10.10.10.54 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 125 led[4]: id: 5 ip: 10.10.10.55 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 126 led[5]: id: 6 ip: 10.10.10.56 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 221 led[6]: id: 7 ip: 10.10.10.57 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 222 led[7]: id: 8 ip: 10.10.10.58 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 224 led[8]: id: 9 ip: 10.10.10.59 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 226 led[9]: id: 10 ip: 10.10.10.60 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 227 led[10]: id: 11 ip: 10.10.10.61 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 229 led[11]: id: 12 ip: 10.10.10.62 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 230 led[12]: id: 13 ip: 10.10.10.63 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 411 led[13]: id: 14 ip: 10.10.10.64 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 412 led[14]: id: 15 ip: 10.10.10.65 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 413 led[15]: id: 16 ip: 10.10.10.66 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 101 staArr: 414 led[16]: id: 17 ip: 10.10.10.67 @@ -902,92 +902,89 @@ ip: 10.10.10.68 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 103 led[18]: id: 19 ip: 10.10.10.69 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 104 led[19]: id: 20 ip: 10.10.10.70 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 106 led[20]: id: 21 ip: 10.10.10.71 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 108 led[21]: id: 22 ip: 10.10.10.72 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 201 led[22]: id: 23 ip: 10.10.10.73 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 202 led[23]: id: 24 ip: 10.10.10.74 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 204 led[24]: id: 25 ip: 10.10.10.75 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 206 led[25]: id: 26 ip: 10.10.10.76 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 207 led[26]: id: 27 ip: 10.10.10.77 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 209 led[27]: id: 28 ip: 10.10.10.78 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 210 led[28]: id: 29 ip: 10.10.10.79 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 401 led[29]: id: 30 ip: 10.10.10.80 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 402 led[30]: id: 31 ip: 10.10.10.81 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 403 led[31]: id: 32 ip: 10.10.10.82 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 101 staArr: 404 src/main/webapp/views/console.html
@@ -595,7 +595,7 @@ // crns[i].bay = 15; var offSet = 0; unit = 15; unit = 13; offSet = 140;