#
zjj
2025-04-29 6ba157825d34078a75fee36cb66ead17327f5b32
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -74,6 +74,9 @@
    public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{
        add(0); add(1); add(2);
    }};
    public static final ArrayList<Integer> BarcodeListMat = new ArrayList<Integer>() {{
        add(3); add(4);
    }};
    public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{
        add(106); add(107); add(159);
    }};
@@ -137,7 +140,7 @@
                }
                // 心跳
//                heartbeat();
                Thread.sleep(300);
                Thread.sleep(100);
            } catch (Exception e) {
                e.printStackTrace();
            }
@@ -234,7 +237,7 @@
        }
        BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
        //RGV小车1
        Thread.sleep(100);
//        Thread.sleep(100);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB50.200",(short)10);
        if (result3.IsSuccess) {
            BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result3.Content, 0));
@@ -251,7 +254,7 @@
            }
        }
        //RGV小车2
        Thread.sleep(100);
//        Thread.sleep(100);
        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB50.212",(short)10);
        if (result4.IsSuccess) {
            BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result4.Content, 0));
@@ -269,7 +272,7 @@
        }
        //RGV小车3
        Thread.sleep(100);
//        Thread.sleep(100);
        OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB50.224",(short)10);
        if (result5.IsSuccess) {
            BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result5.Content, 0));
@@ -293,6 +296,19 @@
            for (int i = 0; i < barcodeList.size(); i++) {
                Integer barcodeId = barcodeList.get(i);
                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId + 1);
                if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                    barcodeThread.setBarcode(barcode);
                }
            }
        }
        //条码扫描器
        ArrayList<Integer> barcodeListMat = BarcodeListMat;
        OperateResultExOne<byte[]> result2Mat = siemensS7Net.Read("DB103.0", (short) (barcodeListMat.size() * 30));
        if (result2Mat.IsSuccess) {
            for (int i = 0; i < barcodeListMat.size(); i++) {
                Integer barcodeId = barcodeListMat.get(i);
                String barcode = siemensS7Net.getByteTransform().TransString(result2Mat.Content,i*30,30, "UTF-8");
                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId + 1);
                if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                    barcodeThread.setBarcode(barcode);
@@ -411,6 +427,7 @@
            Thread.sleep(200);
            write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 目标站
            if(write.IsSuccess && write1.IsSuccess){
                log.error("写入输送线命令成功。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                break;
            }
            else {