#
lty
3 天以前 a454c4e3e56ed63a7676348f260a240fa18be481
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -77,17 +77,16 @@
        add(10); add(11); add(12); add(13);
    }};
    public static final ArrayList<Integer> staNosErrList2 = new ArrayList<Integer>() {{
        add(101); add(104);add(106);add(108);
        add(202);add(204);add(207);add(210);
        add(102); add(105);add(107);add(109);
        add(203);add(205);add(208);add(211);
    }};
    public static final ArrayList<Integer> staNosErrList1 = new ArrayList<Integer>() {{
        add(122);
        add(222);add(224);add(227);add(230);
        add(123);
        add(223);add(225);add(228);add(231);
    }};
    public static final ArrayList<Integer> staNoWeight1 = new ArrayList<Integer>() {{
        add(123);
        add(223);add(225);add(228);add(231);
    }};
@@ -242,7 +241,7 @@
            OutputQueue.DEVP.offer(MessageFormat.format( "【{0}】输送线plc连接失败!!! ===>> [id:{1}] [ip:{2}] [port:{3}]  [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
            News.error("SiemensDevp"+" - 2"+" - 输送线plc连接失败!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
        }
        siemensS7Net.ConnectClose();
//        siemensS7Net.ConnectClose();
        initSite();
        return result;
    }
@@ -267,13 +266,20 @@
    private void read() throws InterruptedException {
//        // 更新入出库模式
//        updateIoMode();
//        if (slave.getId()==1) return;
        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));
        OperateResultExOne<byte[]> resultWeight = siemensS7Net.Read("DB102.0", (short) (10 * 4));
        OperateResultExOne<byte[]> resultWeight1 = siemensS7Net.Read("DB102.8", (short) (10));
        OperateResultExOne<byte[]> resultWeight = null;
        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));
        if (result.IsSuccess && resultWeight.IsSuccess) {
            int j = 0;
@@ -290,8 +296,14 @@
                staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, offset));     // 工作号
                if (staNoWeight.contains(siteId)) {
                    staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(resultWeight.Content, j));
                    j = j + 4;
                    if(staNoWeight.size() == 4){
                        staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(resultWeight2.Content, j));
                        j = j + 4;
                    }else{
                        staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(resultWeight.Content, j));
                        j = j + 4;
                    }
                }
                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, offset+ 4));   // 目标站
                status = siemensS7Net.getByteTransform().TransBool(result.Content, offset+ 6, 2);