package com.example.springboot.component;
|
|
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONObject;
|
|
import java.io.*;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
public class PlcAlbaniaServo extends Thread {
|
private Configuration config;
|
|
public PlcAlbaniaServo() throws IOException {
|
config = new Configuration("config.properties");
|
}
|
|
@Override
|
public void run() {
|
while (this != null) {
|
try {
|
Thread.sleep(500);
|
|
|
|
|
// List<Short> listA01param=new ArrayList<>();
|
// listA01param.add((short)100);
|
// listA01param.add((short)100);
|
// listA01param.add((short)100);
|
// listA01param.add((short)100);
|
// listA01param.add((short)100);
|
// List<Boolean> listA01button=new ArrayList<>();
|
// listA01button.add(true);
|
// listA01button.add(false);
|
// for (Boolean boolean1 : listA01button) {
|
// listA01param.add((short) (boolean1 ? 1 : 0));
|
// }
|
JSONObject jsonObject = new JSONObject();
|
// jsonObject.append("listA01param", listA01param);
|
|
//A01
|
List<String> A01input = Arrays.asList(config.getProperty("PlcA01.param").split(","));
|
List<Float> listA01param = S7control.getinstance().readFloat32(A01input);
|
List<String> A01button = Arrays.asList(config.getProperty("PlcA01.button").split(","));
|
List<Boolean> listA01button = S7control.getinstance().readBits(A01button);
|
for (Boolean boolean1 : listA01button) {
|
listA01param.add((float) (boolean1 ? 1 : 0));
|
}
|
jsonObject.append("listA01param", listA01param);
|
|
//A02
|
List<String> A02input = Arrays.asList(config.getProperty("PlcA02.param").split(","));
|
List<Float> listA02param = S7control.getinstance().readFloat32(A02input);
|
List<String> A02button = Arrays.asList(config.getProperty("PlcA02.button").split(","));
|
List<Boolean> listA02button = S7control.getinstance().readBits(A02button);
|
for (Boolean boolean1 : listA02button) {
|
listA02param.add((float) (boolean1 ? 1 : 0));
|
}
|
jsonObject.append("listA02param", listA02param);
|
|
//B01
|
List<String> B01input = Arrays.asList(config.getProperty("PlcB01.param").split(","));
|
// List<Float> listB01param = S7control.getinstance().readFloat32(B01input);
|
|
List<Float> listB01param = S7control.getinstance().readFloat32(B01input);
|
|
List<String> B01button = Arrays.asList(config.getProperty("PlcB01.button").split(","));
|
List<Boolean> listB01button = S7control.getinstance().readBits(B01button);
|
for (Boolean boolean1 : listB01button) {
|
listB01param.add((float) (boolean1 ? 1 : 0));
|
}
|
jsonObject.append("listB01param", listB01param);
|
|
//C01
|
List<String> C01input = Arrays.asList(config.getProperty("PlcC01.param").split(","));
|
List<Float> listC01param = S7control.getinstance().readFloat32(C01input);
|
List<String> C01button = Arrays.asList(config.getProperty("PlcC01.button").split(","));
|
List<Boolean> listC01button = S7control.getinstance().readBits(C01button);
|
for (Boolean boolean1 : listC01button) {
|
listC01param.add((float) (boolean1 ? 1 : 0));
|
}
|
jsonObject.append("listC01param", listC01param);
|
|
//C02
|
List<String> C02input = Arrays.asList(config.getProperty("PlcC02.param").split(","));
|
List<Float> listC02param = S7control.getinstance().readFloat32(C02input);
|
List<String> C02button = Arrays.asList(config.getProperty("PlcC02.button").split(","));
|
List<Boolean> listC02button = S7control.getinstance().readBits(C02button);
|
for (Boolean boolean1 : listC02button) {
|
listC02param.add((float) (boolean1 ? 1 : 0));
|
}
|
jsonObject.append("listC02param", listC02param);
|
|
//中空台
|
List<String> Hollowinput = Arrays.asList(config.getProperty("PlcHollow.param").split(","));
|
List<Float> listHollowparam = S7control.getinstance().readFloat32(Hollowinput);
|
List<String> Hollowbutton = Arrays.asList(config.getProperty("PlcHollow.button").split(","));
|
List<Boolean> listHollowbutton = S7control.getinstance().readBits(Hollowbutton);
|
for (Boolean boolean1 : listHollowbutton) {
|
listHollowparam.add((float) (boolean1 ? 1 : 0));
|
}
|
jsonObject.append("listHollowparam", listHollowparam);
|
|
//当前位置
|
List<String> positioninput = Arrays.asList(config.getProperty("Plc.position").split(","));
|
List<Float> listpositionparam = S7control.getinstance().readFloat32(positioninput);
|
jsonObject.append("listpositionparam", listpositionparam);
|
// System.out.println(listpositionparam);
|
|
// System.out.println(S7control.getinstance().readFloat32("DB10.1758"));
|
// System.out.println(new BigDecimal(S7control.getinstance().readFloat32("DB10.1758")).setScale(2, BigDecimal.ROUND_HALF_UP));
|
// System.out.println(S7control.getinstance().readFloat32("DB10.1440"));
|
// System.out.println(S7control.getinstance().readFloat64("DB10.1444"));
|
|
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("AlbaniaServo");
|
if (sendwServer != null) {
|
for (WebSocketServer webserver : sendwServer) {
|
webserver.sendMessage(jsonObject.toString());
|
|
if (webserver != null) {
|
List<String> messages = webserver.getMessages();
|
|
// System.out.println(messages.isEmpty());
|
if (!messages.isEmpty()) {
|
// 将最后一个消息转换为 short 类型的列表
|
String lastMessage = messages.get(messages.size() - 1);
|
// System.out.println("lastMessage:" + lastMessage);
|
JSONArray messageArray = new JSONArray(lastMessage);
|
|
// 清空消息列表
|
webserver.clearMessages();
|
}
|
}
|
}
|
}
|
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
|
}
|
}
|
}
|