| | |
| | | add(101); |
| | | add(102); |
| | | add(103); |
| | | //add(104); |
| | | add(104); |
| | | }}; |
| | | |
| | | public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ |
| | |
| | | //条码扫描器 |
| | | Thread.sleep(200); |
| | | //ArrayList<Integer> barcodeList = BarcodeList; |
| | | OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.200", (short) (3 * 8)); |
| | | OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.200", (short) (24)); |
| | | if (result2.IsSuccess) { |
| | | for (int i = 0; i < 3; i++) { |
| | | String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8"); |
| | | BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i); |
| | | if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { |
| | | barcodeThread.setBarcode(barcode); |
| | | News.info(" - 7" + " - 扫码失败2 ===>> {}号条码扫描器检测条码信息:{},站点:{}", barcode); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | //plc故障 |
| | | OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB101.300", (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]); |
| | | |
| | | } |
| | | } |
| | | |
| | | if (result.IsSuccess) { |
| | | |
| | |
| | | OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 6, (short) 4); |
| | | OperateResultExOne<byte[]> readResult1 = siemensS7Net.Read("DB100." + (index * 6 + 4), (short) 2); |
| | | if (readResult.IsSuccess && readResult1.IsSuccess) { |
| | | short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0); |
| | | short staNo = siemensS7Net.getByteTransform().TransInt16(readResult1.Content, 0); |
| | | short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4); |
| | | short staNo = siemensS7Net.getByteTransform().TransInt16(readResult1.Content, 2); |
| | | if (staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)) { |
| | | //任务命令写入成功 |
| | | log.info("写入堆垛机命令后返回成功,并且回读成功。堆垛机plc编号={},{},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); |