wuyouming666
2023-12-25 c49dc2f40279bcc360948cea68dec69cf213b85f
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -2,8 +2,10 @@
import cn.hutool.json.JSONObject;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,10 +32,20 @@
    private JdbcConnections dbserve;
    // 出片队列是否允许出片
    public static Boolean isAllowQueue = true;
    public static Boolean isAllowReordering = true;
    // 铝框id
    public static String FrameNo;
    public static String FrameNo="";
    // 是否需要手动确认玻璃
    public static Boolean isConfirm = false;
    private Configuration config;
    public Plchome() throws IOException {
        config = new Configuration("config.properties");
    }
    // public static Map b=new HashMap<>();
    // b.put()
@@ -92,70 +104,81 @@
            // 获取出片队列信息
            List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
            jsonObject.append("listoutslice", listoutslice);
            // 获取当前出片队列状态
            // 获取当前出片队列出片状态
            jsonObject.append("isAllowQueue", Plchome.isAllowQueue);
            // 获取当前出片队列调序状态
            jsonObject.append("isAllowReordering", Plchome.isAllowReordering);
            // 是否需要人工确认上片玻璃
            jsonObject.append("isConfirm", isConfirm);
            // 读去Plc进片车与出片车位置W
            List<String> addressList = new ArrayList<String>();
            addressList.add("DB106.12");
            addressList.add("DB106.0");
            List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
            if (paramlist != null) {
                jsonObject.append("params", paramlist);
            }
            // 获取进片车状态
            List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
                    1);// 获取进片车状态
            boolean exist1 = datas1ListState.contains((short) 0);
            jsonObject.append("zhuangtai", exist1);
            // 获取进片玻璃信息
            List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
            if (inglassInfo != null) {
                if (inglassInfo.size() > 0)
                    jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
            }
             // 读去Plc进片车与出片车位置W
             List<String> addressList = new ArrayList<String>();
             addressList.add("DB106.12");
             addressList.add("DB106.0");
             List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
             if (paramlist != null) {
                 jsonObject.append("params", paramlist);
             }
             // 获取进片车状态
             List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
                     1);// 获取进片车状态
             boolean exist1 = datas1ListState.contains((short) 0);
             jsonObject.append("zhuangtai", exist1);
             // 获取进片玻璃信息
             List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
             if (inglassInfo != null) {
                 if (inglassInfo.size() > 0)
                     jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
             }
            // 获取铝框idDB106.DBW64
            String frameno=spianService.queGlassid("DB103.270",14).toString();
            if(frameno!=Plchome.FrameNo&&frameno!=""){
            Plchome.FrameNo=frameno;
            }
            try {
            north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
            } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            }
             // 获取铝框idDB106.DBW64
             String frameno = spianService.queGlassid("DB103.270", 14).toString();
             // String frameno="X12345611002GV";
             if (!frameno.equals(Plchome.FrameNo)) {
                 Plchome.FrameNo = frameno;
                 try {
                     north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
                 } catch (SQLException e) {
                     // TODO Auto-generated catch block
                     e.printStackTrace();
                 }
             }
            // 获取进片请求状态
            List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
            boolean D01RequestState = D01Request.contains((short) 1);
            // boolean D01RequestState =true;
            jsonObject.append("D01RequestState", D01RequestState);
             // 获取进片请求状态
             List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
             boolean D01RequestState = D01Request.contains((short) 1);
             // boolean D01RequestState =true;
             jsonObject.append("D01RequestState", D01RequestState);
            // 复位倒计时
            // 地址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);
            // 复位完成信号
            List<Boolean> resets = S7control.getinstance().ReadBits("DB103.284", 1);
            for (Boolean reset : resets) {
                jsonObject.append("reset", reset);
            }
             // 复位倒计时
             // 地址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);
             // 复位完成信号
             List<Boolean> resets = S7control.getinstance().ReadBits("DB103.284", 1);
             for (Boolean reset : resets) {
                 jsonObject.append("reset", reset);
             }
            // 是否急停
            List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
            for (Boolean emergencystop : emergencystops) {
                jsonObject.append("emergencystop", emergencystop);
            }
             // 是否急停
             List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
             for (Boolean emergencystop : emergencystops) {
                 jsonObject.append("emergencystop", emergencystop);
             }
             //终止继续按钮
            List<String> niuanaddressList3 = Arrays.asList(config.getProperty("Parameter2.stop").split(","));
            List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
            short[] anniuparams = new short[anniuread.size()];
            for (int i = 0; i < anniuread.size(); i++) {
                boolean value = anniuread.get(i);
                anniuparams[i] = value ? (short) 1 : (short) 0;
            }
            jsonObject.append("Abort", anniuparams);
            // 铝框线交互
            // //铝框id请求字