| | |
| | | import lombok.Data; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Map; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | |
| | |
| | | staProtocol.setSiteId(i); |
| | | station.put(i, staProtocol); |
| | | } |
| | | System.out.println(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2)); |
| | | System.out.println("------"); |
| | | System.out.println("站点编号:" + i); |
| | | System.out.println("工作号:" + siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2)); |
| | | System.out.println("目标站:" + siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2+20)); |
| | | staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2)); |
| | | staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2+20)); |
| | | // staProtocol.setAutoing(siemensS7Net.getByteTransform().TransBool()); |
| | | } |
| | | System.out.println("===> 状态"); |
| | | OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.40", (short) 10); |
| | | for (int i = 1; i <= 8; i++) { |
| | | System.out.println(siemensS7Net.getByteTransform().TransByte(result.Content, (i-1))); |
| | | if (result1.IsSuccess) { |
| | | // System.out.println("状态:"+Arrays.toString(result1.Content)); |
| | | System.out.println(Arrays.toString(siemensS7Net.getByteTransform().TransBool(result1.Content, 0, 1))); |
| | | } |
| | | } |
| | | |
| | |
| | | return; |
| | | } |
| | | OperateResult write = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2, staProtocol.getWorkNo()); // 工作号 |
| | | OperateResult write1 = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2 + 20, staProtocol.getSiteId()); // 目标站 |
| | | System.out.println(((staProtocol.getSiteId() - 1) * 2) + 20); |
| | | OperateResult write1 = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) * 2 + 20), staProtocol.getStaNo()); // 目标站 |
| | | boolean[] status = new boolean[8]; |
| | | status[0] = staProtocol.isAutoing(); |
| | | status[1] = staProtocol.isLoading(); |
| | | status[2] = staProtocol.isInEnable(); |
| | | status[3] = staProtocol.isOutEnable(); |
| | | status[4] = staProtocol.isEmptyMk(); |
| | | OperateResult write2 = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2 + 40, status);// 状态 |
| | | OperateResult write2 = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) + 40), status); // 状态 |
| | | if (!write.IsSuccess || !write1.IsSuccess || !write2.IsSuccess) { |
| | | log.error("写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol)); |
| | | } |
| | |
| | | devpThread.read(); |
| | | // 写 |
| | | StaProtocol staProtocol = devpThread.getStation().get(1); |
| | | staProtocol.setWorkNo((short) 666); |
| | | staProtocol.setWorkNo((short) 978); |
| | | staProtocol.setStaNo((short) 150); |
| | | staProtocol.setAutoing(true); |
| | | staProtocol.setEmptyMk(true); |
| | | devpThread.write(staProtocol); |
| | |
| | | // 读 |
| | | devpThread.read(); |
| | | System.out.println(JSON.toJSONString(devpThread.station)); |
| | | |
| | | |
| | | System.out.println("[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]"); |
| | | boolean[] status = new boolean[8]; |
| | | status[0] = true; |
| | | status[1] = false; |
| | | status[2] = true; |
| | | status[3] = false; |
| | | status[4] = true; |
| | | OperateResult write2 = devpThread.siemensS7Net.Write("DB100.40", status); // 状态 |
| | | if (write2.IsSuccess) { |
| | | System.out.println("success"); |
| | | } |
| | | OperateResultExOne<byte[]> result1 = devpThread.siemensS7Net.Read("DB100.40", (short) 10); |
| | | if (result1.IsSuccess) { |
| | | // System.out.println("状态:"+Arrays.toString(result1.Content)); |
| | | System.out.println(Arrays.toString(devpThread.siemensS7Net.getByteTransform().TransBool(result1.Content, 0, 1))); |
| | | } |
| | | } |
| | | |
| | | } |