package com.example.springboot.component;
|
|
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONObject;
|
import lombok.extern.slf4j.Slf4j;
|
|
import java.io.IOException;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
import com.example.springboot.service.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import com.example.springboot.entity.Out_slice;
|
import com.example.springboot.entity.Queue;
|
import com.example.springboot.entity.StorageCage;
|
import com.example.springboot.entity.alarmmg;
|
import com.example.springboot.entity.north_glass_buffer1;
|
import com.example.springboot.mapper.HomeMapper;
|
import com.example.springboot.mapper.SpianMapper;
|
|
@Slf4j
|
public class PlcLayout extends Thread {
|
|
@Autowired
|
private HomeMapper homeMapper;
|
@Autowired
|
// 出片队列是否允许出片
|
public static Boolean isAllowQueue = true;
|
public static Boolean isAllowReordering = true;
|
// 出片队列警告
|
public static Boolean isQueueWarning = false;
|
// 铝框id
|
public static String FrameNo = "";
|
// 是否需要手动确认玻璃
|
public static Boolean isConfirm = false;
|
// 待确认的出片队列
|
public static List<north_glass_buffer1> AluminumFrame;
|
|
// private Configuration config;
|
|
private StorageCageService storageCageService;
|
|
// public Plchome() throws IOException {
|
// config = new Configuration("config.properties");
|
// }
|
|
// public static Map b=new HashMap<>();
|
// b.put()
|
@Override
|
public void run() {
|
while (this != null) {
|
try {
|
Thread.sleep(1000);
|
JSONObject jsonObject = new JSONObject();
|
|
// 注入mapper
|
|
homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
|
|
if (S7control.getinstance().CheckConnected() == true) {
|
|
// 查询报警信息
|
List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
|
jsonObject.append("alarmmg", alarmmg);
|
|
// 复位倒计时
|
// 地址104.9.6
|
List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
|
for (Boolean countdowns : countdown) {
|
jsonObject.append("countdown", countdowns);
|
}
|
// jsonObject.append("countdown", true);
|
// 复位完成信号ss
|
List<Boolean> resetss = S7control.getinstance().ReadBits("DB103.284", 1);
|
for (Boolean reset : resetss) {
|
jsonObject.append("reset", reset);
|
}
|
|
// 是否急停
|
List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
|
for (Boolean emergencystop : emergencystops) {
|
jsonObject.append("emergencystop", emergencystop);
|
}
|
|
}
|
|
// jsonObject.append("params", new short[] { 30, 40, });
|
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Layout");
|
if (sendwServer != null) {
|
for (WebSocketServer webserver : sendwServer) {
|
|
|
if (webserver != null&& webserver.session.isOpen()) {
|
webserver.sendMessage(jsonObject.toString());
|
List<String> messages = webserver.getMessages();
|
|
if (!messages.isEmpty()) {
|
// // 将最后一个消息转换为整数类型的列表
|
webserver.clearMessages();
|
}
|
}else{
|
log.info("Layout is closed");
|
}
|
|
}
|
}
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
|
}
|
}
|
}
|