| | |
| | | add(212); |
| | | }}; |
| | | |
| | | public static final ArrayList<Integer> staNosAll = new ArrayList<Integer>() {{ |
| | | add(101); |
| | | add(102); |
| | | add(103); |
| | | add(200); |
| | | add(201); |
| | | add(202); |
| | | add(210); |
| | | add(211); |
| | | add(212); |
| | | }}; |
| | | |
| | | private Integer count = 0; |
| | | |
| | | /** |
| | |
| | | if (null == staProtocol) { |
| | | return; |
| | | } |
| | | ArrayList<Integer> staNos = getStaNo(); |
| | | int index = staNos.indexOf(staProtocol.getSiteId()); |
| | | short[] array = new short[2]; |
| | | array[0] = staProtocol.getWorkNo(); |
| | | array[1] = staProtocol.getStaNo(); |
| | | // OperateResult write = siemensS7Net.Write("DB100." + index*4, array); |
| | | |
| | | System.out.println(staProtocol); |
| | | int index = staNosAll.indexOf(staProtocol.getSiteId()); |
| | | OperateResult write = null; |
| | | OperateResult write1 = null; |
| | | //任务下发次数 |
| | | int writeCount = 0; |
| | | do { |
| | | // write = siemensS7Net.Write("DB100.0" + index*2, staProtocol.getWorkNo()); // 工作号 |
| | | // Thread.sleep(500); |
| | | // write1 = siemensS7Net.Write("DB100.0" + index*2+2, staProtocol.getStaNo()); // 目标站 |
| | | write = siemensS7Net.Write("DB100." + index * 4, array); |
| | | if (write.IsSuccess) { |
| | | write = siemensS7Net.Write("DB100." + index * 6, (int) staProtocol.getWorkNo()); // 工作号 |
| | | Thread.sleep(300); |
| | | write1 = siemensS7Net.Write("DB100." + (index * 6 + 4), staProtocol.getStaNo()); // 目标站 |
| | | Thread.sleep(100); |
| | | if (write.IsSuccess && write1.IsSuccess) { |
| | | Thread.sleep(200); |
| | | OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100.0" + index * 2, (short) 2); |
| | | OperateResultExOne<byte[]> readResult1 = siemensS7Net.Read("DB100.0" + index * 2 + 2, (short) 2); |
| | | 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); |