src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/model/LocTypeDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/crn.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -298,7 +298,11 @@ } // // 入出库模式判断 if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; } // if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; } if ( inSta.getStaNo()==101 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) { continue; } if ( inSta.getStaNo()==103 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; } if ( inSta.getStaNo()==105 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { continue; } if ( inSta.getStaNo()==107 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; } // 判断是否满足入库条件 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() @@ -1264,9 +1268,12 @@ // // 入出库模式判断 // if ( emptyInSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; } if ( emptyInSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; } if ( emptyInSta.getStaNo()==402 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; } // if ( emptyInSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; } // if ( emptyInSta.getStaNo()==402 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; } if ( emptyInSta.getStaNo()==101 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) { continue; } if ( emptyInSta.getStaNo()==103 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; } if ( emptyInSta.getStaNo()==105 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { continue; } if ( emptyInSta.getStaNo()==107 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; } // 站点条件判断 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() > 9990 && staProtocol.getWorkNo() <= 9999) && staProtocol.isPakMk()) { @@ -1927,7 +1934,7 @@ devpThread.ioModeOf1F = IoModeType.PAKIN_MODE; } break; case 103://1F case 103://2F if (pakout != null) { if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) { // 出库切换中 @@ -1945,7 +1952,7 @@ devpThread.ioModeOf2F = IoModeType.PAKIN_MODE; } break; case 105://1F case 105://3F if (pakout != null) { if (devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) { // 出库切换中 @@ -1963,7 +1970,7 @@ devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; } break; case 107://1F case 107://4F if (pakout != null) { if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) { // 出库切换中 src/main/java/com/zy/common/model/LocTypeDto.java
@@ -23,14 +23,15 @@ } public LocTypeDto(StaProtocol staProtocol) { if (staProtocol.isHigh() == staProtocol.isLow()) { throw new CoolException("plc高低检测异常"); } if (staProtocol.isLow()) { this.locType1 = 1; // 低库位 } else { this.locType1 = 2; // 高库位 } // if (staProtocol.isHigh() == staProtocol.isLow()) { // throw new CoolException("plc高低检测异常"); // } // if (staProtocol.isLow()) { // this.locType1 = 1; // 低库位 // } else { // this.locType1 = 2; // 高库位 // } this.locType1 = 1; } /** src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -45,7 +45,7 @@ public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ add(100);add(101);add(102);add(103);add(104); add(201);add(202);add(203); add(105);add(106);add(107); }}; public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ @@ -181,7 +181,7 @@ updateIoMode(); ArrayList<Integer> staNos = getStaNo(); int staNoSize = staNos.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*2)); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*4)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 站点编号 @@ -191,33 +191,33 @@ staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*2)); // 工作号 staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4)); // 工作号 // staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4 + 2)); // 目标站 staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4 + 2)); // 目标站 } } Thread.sleep(200); OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) (staNoSize*2)); if (result0.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 站点编号 StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { staProtocol = new StaProtocol(); staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result0.Content, i*2)); // 目标站 } } Thread.sleep(200); // OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB100.2", (short) (staNoSize*2)); // if (result0.IsSuccess) { // for (int i = 0; i < staNoSize; i++) { // Integer siteId = staNos.get(i); // 站点编号 // StaProtocol staProtocol = station.get(siteId); // if (null == staProtocol) { // staProtocol = new StaProtocol(); // staProtocol.setSiteId(siteId); // station.put(siteId, staProtocol); // } // staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result0.Content, i*2)); // 目标站 // } // } // Thread.sleep(200); OperateResultExOne<byte[]> result1 = null; if(slave.getId()==1) { result1 = siemensS7Net.Read("DB102.100", (short) (staNoSize)); result1 = siemensS7Net.Read("DB102.0", (short) (staNoSize*2)); if (result1.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 站点编号 boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i, 1); boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*2, 1); StaProtocol staProtocol = station.get(siteId); staProtocol.setAutoing(status[0]); // 自动 staProtocol.setLoading(status[1]); // 有物 @@ -260,7 +260,7 @@ Thread.sleep(200); if(slave.getId()==1) { OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.200", (short) (barcodeSize * 8)); OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.40", (short) (barcodeSize * 8)); if (result2.IsSuccess) { for (int i = 0; i < barcodeSize; i++) { String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8"); @@ -319,11 +319,11 @@ short[] array = new short[2]; array[0] = staProtocol.getWorkNo(); array[1] = staProtocol.getStaNo(); // OperateResult write = siemensS7Net.Write("DB100." + index*4, array); OperateResult write = siemensS7Net.Write("DB100." + index*4, array); OperateResult write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo()); // 工作号 Thread.sleep(500); OperateResult write1 = siemensS7Net.Write("DB101." + index*2, staProtocol.getStaNo()); // 目标站 // OperateResult write = siemensS7Net.Write("DB100.0" + index*4, staProtocol.getWorkNo()); // 工作号 // Thread.sleep(500); // OperateResult write1 = siemensS7Net.Write("DB100.2" + index*4+2, staProtocol.getStaNo()); // 目标站 if (!write.IsSuccess) { staProtocol = station.get(staProtocol.getSiteId()); @@ -341,25 +341,25 @@ // 更新入出库模式 private void updateIoMode() throws InterruptedException { if (this.ioModeOf1F != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.180", this.ioModeOf1F.id).IsSuccess) { if (!siemensS7Net.Write("DB100.80", this.ioModeOf1F.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线F1入出库模式失败。输送线plc编号={1}", slave.getId())); log.error("写入输送线1F入出库模式失败。输送线plc编号={}", slave.getId()); } } if (this.ioModeOf2F != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.182", this.ioModeOf2F.id).IsSuccess) { if (!siemensS7Net.Write("DB100.82", this.ioModeOf2F.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线F2入出库模式失败。输送线plc编号={1}", slave.getId())); log.error("写入输送线2F入出库模式失败。输送线plc编号={}", slave.getId()); } } if (this.ioModeOf3F != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.184", this.ioModeOf3F.id).IsSuccess) { if (!siemensS7Net.Write("DB100.84", this.ioModeOf3F.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线F3入出库模式失败。输送线plc编号={1}", slave.getId())); log.error("写入输送线3F入出库模式失败。输送线plc编号={}", slave.getId()); } } if (this.ioModeOf4F != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.186", this.ioModeOf4F.id).IsSuccess) { if (!siemensS7Net.Write("DB100.86", this.ioModeOf4F.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线F4入出库模式失败。输送线plc编号={1}", slave.getId())); log.error("写入输送线4F入出库模式失败。输送线plc编号={}", slave.getId()); } src/main/resources/application.yml
@@ -8,9 +8,9 @@ name: @pom.build.finalName@ datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://192.168.4.15:1433;databasename=tzhtasrs username: sa password: sa@123 url: jdbc:sqlserver://localhost:1433;databasename=tzhtasrs username: SA password: SQLsqlserver1234 mvc: static-path-pattern: /** redis: @@ -34,7 +34,7 @@ enable: false wms: url: 127.0.0.1:8081/lywms url: 127.0.0.1:8080/htwms # 下位机配置 wcs-slave: @@ -47,7 +47,7 @@ # 堆垛机1 crn[0]: id: 1 ip: 10.10.10.101 ip: 10.10.10.110 port: 102 rack: 0 slot: 0 @@ -86,7 +86,7 @@ # 堆垛机2 crn[1]: id: 2 ip: 10.10.10.111 ip: 10.10.10.120 port: 102 rack: 0 slot: 0 @@ -123,7 +123,7 @@ # 输送线 devp[0]: id: 1 ip: 10.10.10.50 ip: 10.10.10.100 port: 102 rack: 0 slot: 0 @@ -191,19 +191,19 @@ # 条码扫描仪 barcode[0]: id: 1 ip: 10.10.10.52 ip: 10.10.10.105 port: 51236 barcode[1]: id: 2 ip: 10.10.10.53 ip: 10.10.10.106 port: 51236 barcode[2]: id: 3 ip: 10.10.10.54 ip: 10.10.10.107 port: 51236 barcode[3]: id: 4 ip: 10.10.10.95 ip: 10.10.10.108 port: 51236 # LED1 led[0]: src/main/webapp/views/crn.html
@@ -133,9 +133,6 @@ <div class="select-container" style="padding: 20px 0;"> <label><input type="radio" name="crnSelect" value="1" checked> 1号堆垛机</label> <label><input type="radio" name="crnSelect" value="2"> 2号堆垛机</label> <label><input type="radio" name="crnSelect" value="3"> 3号堆垛机</label> <label><input type="radio" name="crnSelect" value="4"> 4号堆垛机</label> <label><input type="radio" name="crnSelect" value="5"> 5号堆垛机</label> </div> </div> <!-- 源站/源库位 选择 -->