| | |
| | | import lombok.Data; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Map; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | |
| | |
| | | default: |
| | | break; |
| | | } |
| | | Thread.sleep(3000); |
| | | Thread.sleep(500); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | staProtocol.setSiteId(i); |
| | | station.put(i, staProtocol); |
| | | } |
| | | 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.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2)); // 工作号 |
| | | staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2+20)); // 目标站 |
| | | } |
| | | System.out.println("===> 状态"); |
| | | OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.40", (short) 10); |
| | | OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.40", (short) 8); |
| | | if (result1.IsSuccess) { |
| | | // System.out.println("状态:"+Arrays.toString(result1.Content)); |
| | | System.out.println(Arrays.toString(siemensS7Net.getByteTransform().TransBool(result1.Content, 0, 1))); |
| | | for (int i = 1; i <= 8; i++) { |
| | | boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i-1, 1); |
| | | StaProtocol staProtocol = station.get(i); |
| | | staProtocol.setAutoing(status[0]); // 自动 |
| | | staProtocol.setLoading(status[1]); // 有物 |
| | | staProtocol.setInEnable(status[2]); // 可入 |
| | | staProtocol.setOutEnable(status[3]);// 可出 |
| | | staProtocol.setEmptyMk(status[4]); // 空板信号 |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | return; |
| | | } |
| | | OperateResult write = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2, staProtocol.getWorkNo()); // 工作号 |
| | | 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(); |
| | |
| | | |
| | | @Override |
| | | public void close() { |
| | | |
| | | siemensS7Net.ConnectClose(); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | Slave slave = new Slave(); |
| | | slave.setIp("192.168.2.125"); |
| | | DevpThread devpThread = new DevpThread(slave); |
| | | boolean connect = devpThread.connect(); |
| | | System.out.println(connect); |
| | | devpThread.read(); |
| | | // 写 |
| | | StaProtocol staProtocol = devpThread.getStation().get(1); |
| | | staProtocol.setWorkNo((short) 978); |
| | | staProtocol.setStaNo((short) 150); |
| | | staProtocol.setWorkNo((short) 888); |
| | | staProtocol.setStaNo((short) 1001); |
| | | staProtocol.setAutoing(true); |
| | | staProtocol.setEmptyMk(true); |
| | | staProtocol.setInEnable(true); |
| | | devpThread.write(staProtocol); |
| | | System.out.println("----------------------------------------"); |
| | | // 读 |
| | | devpThread.read(); |
| | | System.out.println(JSON.toJSONString(devpThread.station)); |
| | | |
| | | |
| | | System.out.println("[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]"); |
| | | boolean[] status = new boolean[8]; |
| | | status[0] = false; |
| | | status[1] = false; |
| | | status[2] = false; |
| | | status[3] = false; |
| | | status[4] = false; |
| | | 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(result1.Content)); |
| | | System.out.println(Arrays.toString(devpThread.siemensS7Net.getByteTransform().TransBool(result1.Content, 0, 1))); |
| | | System.out.println(Arrays.toString(devpThread.siemensS7Net.getByteTransform().TransBool(result1.Content, 1, 1))); |
| | | System.out.println(Arrays.toString(devpThread.siemensS7Net.getByteTransform().TransBool(result1.Content, 2, 1))); |
| | | } |
| | | } |
| | | |
| | | } |