| | |
| | | * 读取状态 ====> 整块plc |
| | | */ |
| | | private void read() throws InterruptedException { |
| | | // 更新入出库模式 |
| | | updateIoMode(); |
| | | // // 更新入出库模式 |
| | | // updateIoMode(); |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 186); |
| | | if (result.IsSuccess) { |
| | | for (int i = 0; i < 83; i++) { |
| | | for (int i = 0; i < 93; i++) { |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | | StaProtocol staProtocol = station.get(siteId); |
| | | if (null == staProtocol) { |
| | |
| | | Thread.sleep(200); |
| | | OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 186); |
| | | if (result0.IsSuccess) { |
| | | for (int i = 0; i < 83; i++) { |
| | | for (int i = 0; i < 93; i++) { |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | | StaProtocol staProtocol = station.get(siteId); |
| | | if (null == staProtocol) { |
| | |
| | | Thread.sleep(200); |
| | | OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.0", (short) 186); |
| | | if (result1.IsSuccess) { |
| | | for (int i = 0; i < 83; i++) { |
| | | for (int i = 0; i < 93; i++) { |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | | boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*2, 1); |
| | | StaProtocol staProtocol = station.get(siteId); |
| | |
| | | } |
| | | } |
| | | |
| | | OperateResultExOne<Short> result2 = siemensS7Net.ReadInt16("DB200.0"); |
| | | if (result2.IsSuccess) { |
| | | this.ioMode = IoModeType.get(result2.Content); |
| | | Thread.sleep(200); |
| | | OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB300.0", (short) 10); |
| | | if (result3.IsSuccess) { |
| | | // Integer siteId = staNos.get(i); // 站点编号 |
| | | Integer siteId = 0; |
| | | for (int i = 0; i < 5; i++) { |
| | | switch (i){ |
| | | case 0: |
| | | siteId = 100; |
| | | break; |
| | | case 1: |
| | | siteId = 102; |
| | | break; |
| | | case 2: |
| | | siteId = 104; |
| | | break; |
| | | case 3: |
| | | siteId = 106; |
| | | break; |
| | | case 4: |
| | | siteId = 108; |
| | | break; |
| | | } |
| | | StaProtocol staProtocol = station.get(siteId); |
| | | if (null == staProtocol) { |
| | | staProtocol = new StaProtocol(); |
| | | staProtocol.setSiteId(siteId); |
| | | station.put(siteId, staProtocol); |
| | | } |
| | | short value = siemensS7Net.getByteTransform().TransInt16(result3.Content, i*2); |
| | | staProtocol.setInQty(value); // 入库暂存数 |
| | | String str=""; |
| | | } |
| | | } |
| | | |
| | | // OperateResultExOne<Short> result2 = siemensS7Net.ReadInt16("DB200.0"); |
| | | // if (result2.IsSuccess) { |
| | | // this.ioMode = IoModeType.get(result2.Content); |
| | | // } |
| | | |
| | | if (result.IsSuccess && result0.IsSuccess && result1.IsSuccess) { |
| | | |
| | |
| | | StaProtocol staProtocol = station.get(siteId); |
| | | basDevps.add(staProtocol.toSqlModel()); |
| | | } |
| | | |
| | | BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class); |
| | | if (!basDevpService.updateBatchById(basDevps)) { |
| | | if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) { |
| | | throw new Exception("更新数据库数据失败"); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】更新数据库数据失败 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); |
| | | log.error("更新数据库数据失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); |
| | | } |