#
1
7 天以前 8980782bebfd40b2a56169e4fb53686882e87a97
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -84,7 +84,7 @@
        add(2022);add(2024);
        add(2028);add(2030);
        add(2025);add(2027);
        add(2031);add(2033);
        add(2031);add(2032);add(2033);
        add(2034);add(2035);add(2037);
//        add(2041);add(2042);add(2043);add(2044);
//        add(2045);add(2046);add(2047);add(2048);
@@ -538,23 +538,13 @@
                    } else if(siteId<4000){
                        if (siteId == 2110) {
                            if (resultArm5.IsSuccess) {
                                // 转换为字符串
                                String resultString = siemensS7Net.getByteTransform().TransString(resultArm5.Content, 2, 254,"UTF-8");
                                // 去除可能的空字符
//                                resultString = resultString.TrimEnd('\0');
//                                System.out.println("2110Barcode:"+resultString);
                                staProtocol.setBarcode(resultString);
                                staProtocol.setBarcode(parseS7String(resultArm5));
                            } else {
                                staProtocol.setBarcode("");
                            }
                        } else if (siteId == 2120){
                            if (resultArm6.IsSuccess) {
                                // 转换为字符串
                                String resultString = siemensS7Net.getByteTransform().TransString(resultArm6.Content, 2, 254,"UTF-8");
                                // 去除可能的空字符
//                                resultString = resultString.TrimEnd('\0');
//                                System.out.println("2120Barcode:"+resultString);
                                staProtocol.setBarcode(resultString);
                                staProtocol.setBarcode(parseS7String(resultArm6));
                            } else {
                                staProtocol.setBarcode("");
                            }
@@ -623,7 +613,9 @@
                    boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 4, 3);
                    boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 8, 3);
                    boolean[] statusSign = siemensS7Net.getByteTransform().TransBool(resultErr.Content, offsetSign, 3);
                    if(siteId == 2032){
                    }
                    boolean loading = false;
                    if(!status1[0])
                    {
@@ -1071,6 +1063,39 @@
        }
    }
    private String parseS7String(OperateResultExOne<byte[]> result) {
        if (result == null || !result.IsSuccess || result.Content == null) {
            return "";
        }
        byte[] buf = result.Content;
        if (buf.length < 2) {
            return "";
        }
        // S7 字符串格式:
        // buf[0] = 最大长度
        // buf[1] = 当前真实长度
        int realLen = buf[1] & 0xFF;
        if (realLen <= 0) {
            return "";
        }
        // 防止 PLC 写错长度导致越界
        if (realLen > buf.length - 2) {
            realLen = buf.length - 2;
        }
        String value = siemensS7Net.getByteTransform()
                .TransString(buf, 2, realLen, "UTF-8");
        return value == null ? "" : value.trim();
    }
    /**
     * 设置入库标记
     */