1
zhang
2 天以前 add29c9dfe37a3147ee1a426e1dba2f42ad741e6
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -38,23 +38,61 @@
public class SiemensDevpThread implements Runnable, DevpThread {
    public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
        add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109);add(110);
        add(111);add(112);add(113);add(114);add(115);add(116); // 侧面从 index 16开始 长度12
        add(201);add(202);add(203);add(204);add(205);add(206);add(207);add(208);add(209);add(210);add(211);add(212);
        add(101);
        add(102);
        add(103);
        add(104);
        add(105);
        add(106);
        add(107);
        add(108);
        add(109);
        add(110);
        add(111);
        add(112);
        add(113);
        add(114);
        add(115);
        add(116); // 侧面从 index 16开始 长度12
        add(201);
        add(202);
        add(203);
        add(204);
        add(205);
        add(206);
        add(207);
        add(208);
        add(209);
        add(210);
        add(211);
        add(212);
    }};
    public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
        add(301);add(302);add(303);add(304);add(305);add(306);add(307);add(308);
        add(301);
        add(302);
        add(303);
        add(304);
        add(305);
        add(306);
        add(307);
        add(308);
    }};
    // 正面5个条码扫描站
    public static final ArrayList<Integer> barcodeSite2 = new ArrayList<Integer>() {{
        add(102);add(105);add(108);add(111);add(114);
        add(102);
        add(105);
        add(108);
        add(111);
        add(114);
    }};
    // 侧面三个条码扫描站
    public static final ArrayList<Integer> barcodeSite = new ArrayList<Integer>() {{
        add(202);add(206);add(211);
        add(202);
        add(206);
        add(211);
    }};
    /**
@@ -482,11 +520,11 @@
        // 目标站地址
        String staNoAddress;
        // 高度类型地址
        String heightAddress;
        String heightAddress = null;
        if (index < 16) {
            workNoAddress = "DB100." + index * 4;
            staNoAddress = "DB100." + (index * 4 + 2);
            heightAddress = "DB104." + (index * 4 + 2);
            heightAddress = "DB104." + (index * 4);
        } else {
            workNoAddress = "DB100." + (400 + (index-16) * 4);
            staNoAddress = "DB100." + (400 + (index-16) * 4 + 2);
@@ -500,6 +538,13 @@
        while (writeCount < 5) {
            OperateResult writeResult1 = siemensS7Net.Write(workNoAddress, staProtocol.getWorkNo());    // 工作号
            OperateResult writeResult2 = siemensS7Net.Write(staNoAddress, staProtocol.getStaNo());    // 目标站
            if (!Cools.isEmpty(staProtocol.getHeight()) && heightAddress != null) {
                OperateResult writeResult3 = siemensS7Net.Write(heightAddress, Short.valueOf(staProtocol.getHeight()));    // 高度类型
                if (!writeResult3.IsSuccess) {
                    log.error("写入输送线命令失败,尝试重新写入,输入参数={},输出参数={}", JSON.toJSON(staProtocol), writeResult3);// 写入输送线命令失败,尝试重新写入,输入参数={},输出参数={}", JSON.toJSON(staProtocol), writeResult3);
                    writeResult3 = siemensS7Net.Write(heightAddress, staProtocol.getHeight());    // 高度类型
                }
            }
            if (writeResult1.IsSuccess && writeResult2.IsSuccess) {
                Thread.sleep(200);
                OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 4, (short) 2);
@@ -571,6 +616,7 @@
//        array[1] = staProtocol.getStaNo();
//        OperateResult write = siemensS7Net.Write("DB100." + index*4, array);
//
////        OperateResult write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo());    // 工作号
////        Thread.sleep(500);
////        OperateResult write1 = siemensS7Net.Write("DB101." + index*2, staProtocol.getStaNo());    // 目标站
@@ -593,7 +639,6 @@
//            }
//        }
//    }
    private void write2(StaProtocol staProtocol) throws InterruptedException {
        if (null == staProtocol) {
            return;