dubin
2025-08-20 5549a8a5751ea37ec7d31bc6e1e9488c0ae6a2af
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -68,10 +68,10 @@
        add(1); add(2);add(3);add(4);add(5);
    }};
    public static final ArrayList<Integer> BarcodeList2 = new ArrayList<Integer>() {{
   /* public static final ArrayList<Integer> BarcodeList2 = new ArrayList<Integer>() {{
        add(6);add(7);add(8);add(9);
        add(10); add(11); add(12); add(13);
    }};
    }};*/
    /*public static final ArrayList<Integer> staNosErrList2 = new ArrayList<Integer>() {{
        add(102); add(105);add(107);add(109);
        add(203);add(205);add(208);add(211);
@@ -83,13 +83,13 @@
    }};
    public static final ArrayList<Integer> staNoWeight1 = new ArrayList<Integer>() {{
        add(223);add(225);add(228);add(231);
        add(101);add(102);add(103);add(104);add(105);
    }};
    public static final ArrayList<Integer> staNoWeight2 = new ArrayList<Integer>() {{
    /*public static final ArrayList<Integer> staNoWeight2 = new ArrayList<Integer>() {{
        add(102);add(105);add(107);add(109);
        add(203);add(205);add(208);add(211);
    }};
    }};*/
    private Integer count=0;
@@ -130,8 +130,8 @@
        switch (slave.getId()) {
            case 1:
                return staNoWeight1;
            case 2:
                return staNoWeight2;
            /*case 2:
                return staNoWeight2;*/
            default:
                throw new CoolException("服务器异常");
        }
@@ -151,8 +151,8 @@
        switch (slave.getId()) {
            case 1:
                return BarcodeList1;
            case 2:
                return BarcodeList2;
            /*case 2:
                return BarcodeList2;*/
            default:
                throw new CoolException("获取站点失败!");
        }
@@ -264,20 +264,23 @@
//        updateIoMode();
//        if (slave.getId()==1) return;
        ArrayList<Integer> staNos = getStaNo();
        ArrayList<Integer> staNos = staNos1;
        int staNoSize = staNos1.size();
        //ArrayList<Integer> staNos = getStaNo();
        ArrayList<Integer> staNosErrList = getStaNoErr();
        ArrayList<Integer> staNoWeight = getStaNoWeight();
        int staNoSize = staNos.size();
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (500 * 8));
        //int staNoSize = staNos.size();
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 8));
        OperateResultExOne<byte[]> resultWeight = null;
        if(staNoWeight.size()>4){
        /*if(staNoWeight.size()>4){
            resultWeight = siemensS7Net.Read("DB102.0", (short)  (8 * 4));
        }else{
            resultWeight = siemensS7Net.Read("DB102.0", (short)  (4 * 4));
        }
        OperateResultExOne<byte[]> resultWeight2 = siemensS7Net.Read("DB102.0", (short)  (4 * 4));
        OperateResultExOne<byte[]> resultWeight2 = siemensS7Net.Read("DB102.0", (short)  (4 * 4));*/
        if (result.IsSuccess && resultWeight.IsSuccess) {
        //if (result.IsSuccess && resultWeight.IsSuccess) {
            if (result.IsSuccess) {
            int j = 0;
            for(int i = 0 ; i<staNoSize;i++){
                Integer siteId = staNos.get(i); // 站点编号
@@ -290,8 +293,8 @@
                boolean[] status = null;
                int offset = getOffsetFromSiteId(siteId);//取余获得对应db块数据
                staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, offset));     // 工作号
                if (staNoWeight.contains(siteId)) {
                staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, i * 8));     // 工作号
                /*if (staNoWeight.contains(siteId)) {
                    if(staNoWeight.size() == 4){
                        staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(resultWeight2.Content, j));
                        j = j + 4;
@@ -300,9 +303,9 @@
                        j = j + 4;
                    }
                }
                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, offset+ 4));   // 目标站
                status = siemensS7Net.getByteTransform().TransBool(result.Content, offset+ 6, 2);
                }*/
                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 8 + 4));   // 目标站
                status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 8 + 6, 1);
                staProtocol.setAutoing(status[0]);  // 自动
                staProtocol.setLoading(status[1]);  // 有物