| | |
| | | |
| | | public DevpThread(Slave slave) { |
| | | this.slave = slave; |
| | | connect(); |
| | | } |
| | | |
| | | @Override |
| | | @SuppressWarnings("InfiniteLoopStatement") |
| | | public void run() { |
| | | connect(); |
| | | while (true) { |
| | | try { |
| | | int step = 1; |
| | |
| | | default: |
| | | break; |
| | | } |
| | | |
| | | // 心跳 |
| | | heartbeat(); |
| | | Thread.sleep(400); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 读取状态 |
| | | * 读取状态 ====> 整块plc |
| | | */ |
| | | private void read(){ |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 40); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 写入 |
| | | * 写入 =====> 单站点写入 |
| | | */ |
| | | private void write(StaProtocol staProtocol){ |
| | | if (null == staProtocol) { |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 心跳 |
| | | */ |
| | | private void heartbeat(){ |
| | | OperateResult write = siemensS7Net.Write("DB100.50", (short) 1); |
| | | if (!write.IsSuccess) { |
| | | log.error("输送线plc编号={} 心跳失败", slave.getId()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void close() { |
| | | siemensS7Net.ConnectClose(); |
| | |
| | | Slave slave = new Slave(); |
| | | slave.setIp("192.168.2.125"); |
| | | DevpThread devpThread = new DevpThread(slave); |
| | | devpThread.connect(); |
| | | devpThread.read(); |
| | | // 写 |
| | | StaProtocol staProtocol = devpThread.getStation().get(2); |
| | | staProtocol.setWorkNo((short) 0); |
| | | staProtocol.setStaNo((short) 1001); |
| | | StaProtocol staProtocol = devpThread.getStation().get(1); |
| | | staProtocol.setWorkNo((short) 232); |
| | | staProtocol.setStaNo((short) 6); |
| | | staProtocol.setAutoing(true); |
| | | staProtocol.setEmptyMk(true); |
| | | staProtocol.setInEnable(true); |