#
zjj
2024-12-25 5e99301887e7e7e2a2218dbfa3b395a7847f7a82
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -394,7 +394,9 @@
            //报警信息
            Thread.sleep(200);
            OperateResultExOne<byte[]> result3 = null;
            OperateResultExOne<byte[]> result37new = null;
            result3 = siemensS7Net.Read("DB101.96.0", (short) (getErrorStaNo().size() * 4));
            result37new = siemensS7Net.Read("DB101.120", (short) 8);
            if (result3.IsSuccess) {
                for (int i = 0; i < getErrorStaNo().size(); i++) {
                    Integer siteId = getErrorStaNo().get(i); // 站点编号
@@ -410,6 +412,19 @@
                    staProtocol.setBarcodeErr(status[6]);
                }
            }
            if (result37new.IsSuccess) {
                StaProtocol staProtocol11 = station.get(3011);
                StaProtocol staProtocol06 = station.get(3006);
                short a11171 = siemensS7Net.getByteTransform().TransInt16(result37new.Content, 0);
                short a11172 = siemensS7Net.getByteTransform().TransInt16(result37new.Content, 2);
                short a11173 = siemensS7Net.getByteTransform().TransInt16(result37new.Content, 4);
                short a11174 = siemensS7Net.getByteTransform().TransInt16(result37new.Content, 6);
                staProtocol11.setStaNoEnd(a11173);
                staProtocol11.setBan(a11171==1);
                staProtocol06.setStaNoEnd(a11174);
                staProtocol06.setBan(a11172==1);
            }
        }
@@ -444,7 +459,7 @@
    private void read10() throws InterruptedException {
        ArrayList<Integer> staNos = getStaNo();
        int staNoSize = staNos.size();
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 12));
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 12 + 78));
        if (result.IsSuccess) {
            for (int i = 0; i < staNoSize; i++) {
                Integer siteId = staNos.get(i); // 站点编号
@@ -456,7 +471,11 @@
                }
                staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 12));     // 工作号
                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*12 + 4 ));   // 目标站
                staProtocol.setMatnr(siemensS7Net.getByteTransform().TransInt32(result.Content, i * 12 + 6));   // 目标站
                if (staProtocol.getSiteId() == 2106){
                    staProtocol.setMatnr(siemensS7Net.getByteTransform().TransString(result.Content,  284,22,"UTF-8"));   // 目标站
                }
//                staProtocol.setMatnr("");   // 目标站
            }
        }
        Thread.sleep(200);
@@ -616,18 +635,21 @@
        int staNoSize = staNos.size();
        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 8));
        result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size()*38));
        result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size()*82));
        if (result.IsSuccess) {
            for (int i = 0; i < staNoSize; i++) {
                Integer siteId = staNos.get(i); // 站点编号
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*4, 1);
                short tongType = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 2);
                Integer matnr = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 4);
//                String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 4,20, "UTF-8");
                short amount =  siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 8);
                String batch = siemensS7Net.getByteTransform().TransString(result.Content, i * 4+10, 20, "UTF-8");
                short staEnd = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 30);
                short ban = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 32);
                Integer w1 = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 34);
                String orderNo = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 38,22, "UTF-8");
                String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 60,22, "UTF-8");
                StaProtocol staProtocol = station.get(siteId);
@@ -645,6 +667,8 @@
                staProtocol.setTongType(tongType);
                staProtocol.setBatch(batch);
                staProtocol.setAmount(amount);
                staProtocol.setAnfme(Double.valueOf(amount));
                staProtocol.setAnfme2(Double.valueOf(amount));
                int i1 = w1 / 100;
                staProtocol.setWeight1((double) i1);
//                staProtocol.setWeight2(w2);
@@ -701,7 +725,7 @@
                Integer siteId = staNos.get(i); // 站点编号
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*4, 1);
//                short tongType = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 2);
                Integer matnr = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 2);
                String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 2,20, "UTF-8");
                short amount = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 6);
                String batch = siemensS7Net.getByteTransform().TransString(result.Content, i * 4+8, 20, "UTF-8");
                short ban = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 28);