| | |
| | | staProtocol.setSiteId(siteId); |
| | | station.put(siteId, staProtocol); |
| | | } |
| | | staProtocol.setSiteId(siteId); |
| | | staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 8)); // 工作号 |
| | | staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*8 + 4 )); // 目标站 |
| | | } |
| | |
| | | private void read10() throws InterruptedException { |
| | | ArrayList<Integer> staNos = getStaNo(); |
| | | int staNoSize = staNos.size(); |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 10)); |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 12)); |
| | | if (result.IsSuccess) { |
| | | for (int i = 0; i < staNoSize; i++) { |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | |
| | | staProtocol.setSiteId(siteId); |
| | | station.put(siteId, staProtocol); |
| | | } |
| | | staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 10)); // 工作号 |
| | | staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*10 + 4 )); // 目标站 |
| | | staProtocol.setMatnr((int) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 10 + 6)); // 目标站 |
| | | staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 12)); // 工作号 |
| | | staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*12 + 4 )); // 目标站 |
| | | staProtocol.setMatnr(siemensS7Net.getByteTransform().TransInt32(result.Content, i * 12 + 6)); // 目标站 |
| | | } |
| | | } |
| | | Thread.sleep(200); |
| | | OperateResultExOne<byte[]> result1 = null; |
| | | result1 = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 10)); |
| | | result1 = siemensS7Net.Read("DB101.10", (short) (getStaNo().size() * 12)); |
| | | if (result1.IsSuccess) { |
| | | for (int i = 0; i < staNoSize; i++) { |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | | boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*10+8, 2); |
| | | boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*12, 2); |
| | | StaProtocol staProtocol = station.get(siteId); |
| | | staProtocol.setAutoing(status[0]); // 自动 |
| | | staProtocol.setLoading(status[1]); // 有物 |
| | |
| | | } |
| | | } |
| | | |
| | | OperateResultExOne<byte[]> readBatch = siemensS7Net.Read("DB101.240", (short) 20); |
| | | if (readBatch.IsSuccess){ |
| | | String batch = siemensS7Net.getByteTransform().TransString(readBatch.Content, 0, 20, "UTF-8"); |
| | | for (int i = 0; i < 1; i++) { |
| | | StaProtocol staProtocol = station.get(2106); |
| | | staProtocol.setBatch(batch); |
| | | } |
| | | } |
| | | |
| | | OperateResultExOne<byte[]> readWeight = siemensS7Net.Read("DB101.260", (short) 2); |
| | | if (readWeight.IsSuccess){ |
| | | Short weight = siemensS7Net.getByteTransform().TransInt16(readWeight.Content,0); |
| | | for (int i = 0; i < 1; i++) { |
| | | StaProtocol staProtocol = station.get(2102); |
| | | staProtocol.setWeight(weight); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | // 条码扫描器 |
| | | if(slave.getId() == 2) { |
| | | Thread.sleep(200); |
| | | OperateResultExOne<byte[]> result2 = null; |
| | | result2 = siemensS7Net.Read("DB101.194.0", (short) (8)); |
| | | result2 = siemensS7Net.Read("DB101.232.0", (short) (8)); |
| | | if (result2.IsSuccess) { |
| | | for (int i = 0; i < 1; i++) { |
| | | String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8"); |
| | |
| | | staProtocol.setOutEnable(status[3]);// 可出 |
| | | staProtocol.setForce(status[4]); |
| | | staProtocol.setAmount(count); |
| | | staProtocol.setLow(true); |
| | | |
| | | |
| | | if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { |
| | |
| | | } |
| | | ArrayList<Integer> staNos = getWriteStaNo(); |
| | | int index = staNos.indexOf(staProtocol.getSiteId()); |
| | | OperateResult write = siemensS7Net.Write("DB100." + index*8, staProtocol.getWorkNo().intValue()); // 工作号 |
| | | OperateResult write1 = siemensS7Net.Write("DB100." + (index*8+4), staProtocol.getStaNo()); // 目标站 |
| | | OperateResult write2 = siemensS7Net.Write("DB100." + (index*8+6), staProtocol.getMatnr()); // 目标站 |
| | | OperateResult write = siemensS7Net.Write("DB100." + index*10, staProtocol.getWorkNo().intValue()); // 工作号 |
| | | OperateResult write1 = siemensS7Net.Write("DB100." + (index*10+4), staProtocol.getStaNo()); // 目标站 |
| | | OperateResult write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr()); // 目标站 |
| | | |
| | | if (!write.IsSuccess || !write1.IsSuccess || !write2.IsSuccess) { |
| | | staProtocol = station.get(staProtocol.getSiteId()); |