| | |
| | |
|
| | | import cn.hutool.json.JSONArray;
|
| | | import cn.hutool.json.JSONObject;
|
| | | import lombok.extern.slf4j.Slf4j;
|
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | |
| | |
|
| | | import org.apache.commons.io.FileUtils;
|
| | |
|
| | | @Slf4j
|
| | |
|
| | | public class PlcPositioning1 extends Thread {
|
| | |
|
| | | // 用于存储应用程序的配置信息
|
| | |
| | | // 创建一个自定义的 S7 控制器消息处理器对象
|
| | | MessageHandler customS7Control = new MessageHandler();
|
| | |
|
| | |
|
| | | public PlcPositioning1() throws IOException {
|
| | | config = new Configuration("config.properties");
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void run() {
|
| | | while (this != null) {
|
| | | try {
|
| | | Thread.sleep(1000);
|
| | |
|
| | | } catch (InterruptedException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | |
|
| | | // System.out.println(stt);
|
| | | //存片格 出片格读取
|
| | | // System.out.println(stt);
|
| | | // 存片格 出片格读取
|
| | |
|
| | | String address = config.getProperty("PlcPositioning1.address");
|
| | | List<Short> arraylist = S7control.getinstance().ReadWord(address, 33);
|
| | | // System.out.println(arraylist);
|
| | | List<Short> arraylist = S7control.getinstance().ReadWord(address, 33);
|
| | | // System.out.println(arraylist);
|
| | |
|
| | |
|
| | | // Short[] values1 = {1,1,1, 1,2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12,13,14,15,16,17,18,19,20,11, 12,13,14,15,16,17,18,19,20 };
|
| | | // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
|
| | |
|
| | |
|
| | | // Short[] values1 = {1,1,1, 1,2, 3, 4, 5, 6, 7, 8, 9, 10,11,
|
| | | // 12,13,14,15,16,17,18,19,20,11, 12,13,14,15,16,17,18,19,20 };
|
| | | // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
|
| | | List<Short> arraylist5 = S7control.getinstance().ReadWord("DB106.0", 1);
|
| | | List<Short> arraylist6 = S7control.getinstance().ReadWord("DB106.12", 1);
|
| | | List<Short> arraylist7 = S7control.getinstance().ReadWord("DB106.40", 1);
|
| | | List<Short> arraylist8 = S7control.getinstance().ReadWord("DB106.50", 1);
|
| | | arraylist5.addAll(arraylist6);
|
| | | arraylist5.addAll(arraylist7);
|
| | | arraylist5.addAll(arraylist8);
|
| | | JSONObject jsonObject = new JSONObject();
|
| | |
|
| | |
|
| | | jsonObject.append("params", arraylist);
|
| | | jsonObject.append("shishi1", arraylist5);
|
| | |
|
| | | // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Positioning1");
|
| | | // if (sendwServer != null) {
|
| | | // sendwServer.sendMessage(jsonObject.toString());
|
| | | // }
|
| | |
|
| | | // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Positioning1");
|
| | | // if (sendwServer != null) {
|
| | | // sendwServer.sendMessage(jsonObject.toString());
|
| | | // }
|
| | |
|
| | | // WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Positioning1");
|
| | | // WebSocketServer webSocketServer =
|
| | | // WebSocketServer.sessionMap.get("Positioning1");
|
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Positioning1");
|
| | | if (sendwServer != null) {
|
| | | for (WebSocketServer webserver : sendwServer) {
|
| | | webserver.sendMessage(jsonObject.toString());
|
| | | |
| | |
|
| | | if (webserver != null) {
|
| | | if (webserver != null&&webserver.session.isOpen()) {
|
| | | webserver.sendMessage(jsonObject.toString());
|
| | | List<String> messages = webserver.getMessages();
|
| | | //存片格 出片格地址
|
| | |
|
| | | // 存片格 出片格地址
|
| | |
|
| | | if (!messages.isEmpty()) {
|
| | | // 将最后一个消息转换为 short 类型的列表
|
| | | String lastMessage = messages.get(messages.size() - 1);
|
| | | // System.out.println("lastMessage:" + lastMessage);
|
| | | // System.out.println("lastMessage:" + lastMessage);
|
| | | JSONArray messageArray = new JSONArray(lastMessage);
|
| | |
|
| | | // 整合第 1 到 3 个数组并去掉 null 元素
|
| | |
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | // 写入存片格 出片格位置设定数据
|
| | | // 写入存片格 出片格位置设定数据
|
| | | if (!mergedList.isEmpty()) {
|
| | | S7control.getinstance().WriteWord(address, mergedList);
|
| | | System.out.println("messageValue:" + mergedList + " written to PLC at address " + address);
|
| | | System.out.println(
|
| | | "messageValue:" + mergedList + " written to PLC at address " + address);
|
| | | }
|
| | |
|
| | | // 清空消息列表
|
| | | webserver.clearMessages();
|
| | | }
|
| | | }else{
|
| | | log.info("Positioning1 is closed");
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | }
|
| | | } catch (InterruptedException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | |
| | | }
|
| | | }
|
| | | }
|