| | |
| | | |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import org.apache.commons.io.FileUtils; |
| | | |
| | | import java.io.*; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | @Slf4j |
| | | public class PlcManualonePosition extends Thread { |
| | | private Configuration config; |
| | | |
| | |
| | | while (this != null) { |
| | | try { |
| | | Thread.sleep(500); |
| | | |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | // this.readValue(); |
| | | // this.readValue(); |
| | | // String PlcAddress = this.name; |
| | | // Integer Plccount = this.count; |
| | | |
| | |
| | | List<String> B01start = Arrays.asList(config.getProperty("mlp.B01start")); |
| | | |
| | | List<String> B02start = Arrays.asList(config.getProperty("mlp.B02start")); |
| | | |
| | | // 故障地址 |
| | | List<String> waddresses5 = Arrays.asList(config.getProperty("PlcManualonePosition.fault2").split(",")); |
| | | |
| | | |
| | | // 复位地址 |
| | | List<String> waddresses6 = Arrays.asList(config.getProperty("PlcManualonePosition.Reset").split(",")); |
| | | List<Boolean> readreast = S7control.getinstance().readBits(waddresses6); |
| | | short[] reast6 = PLCBooleanConverter.convertListsToBinaryShortArray(readreast); |
| | | |
| | | // 回零地址 |
| | | List<String> waddresses7 = Arrays.asList(config.getProperty("PlcManualonePosition.Zero").split(",")); |
| | | List<Boolean> readhuiling = S7control.getinstance().readBits(waddresses7); |
| | | short[] huiling7 = PLCBooleanConverter.convertListsToBinaryShortArray(readhuiling); |
| | | |
| | | List<Boolean> A01readstart = S7control.getinstance().readBits(A01start); |
| | | List<Boolean> A02readstart = S7control.getinstance().readBits(A02start); |
| | |
| | | jsonObject.append("guzhang", params2); |
| | | jsonObject.append("weihuiling", params3); |
| | | jsonObject.append("qidong", combinedBinaryShortArray); |
| | | jsonObject.append("fuwei", reast6); |
| | | jsonObject.append("huiling", huiling7); |
| | | |
| | | // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition"); |
| | | // if (sendwServer != null) { |
| | |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualonePosition"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | |
| | | // WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualonePosition"); |
| | | if (webserver != null) { |
| | | if (webserver != null&&webserver.session.isOpen()) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | List<String> messages = webserver.getMessages(); |
| | | |
| | | |
| | | // 故障地址 |
| | | List<String> waddresses5 = Arrays.asList(config.getProperty("PlcManualonePosition.fault2").split(",")); |
| | | |
| | | |
| | | // 复位地址 |
| | | List<String> waddresses6 = Arrays.asList(config.getProperty("PlcManualonePosition.Reset").split(",")); |
| | | |
| | | |
| | | // 回零地址 |
| | | List<String> waddresses7 = Arrays.asList(config.getProperty("PlcManualonePosition.Zero").split(",")); |
| | | |
| | | |
| | | |
| | |
| | | |
| | | // 写入A02 |
| | | customS7Control.WriteWordToPLC(messageArray, addresses2, 1); |
| | | |
| | | |
| | | // 写入B01 |
| | | customS7Control.WriteWordToPLC(messageArray, addresses3, 2); |
| | |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | }else{ |
| | | log.info("ManualonePosition is closed"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |