#
luxiaotao1123
2020-08-13 8963e6e71cc465271c78bbbcb4d41408447da03b
src/main/java/com/zy/core/thread/DevpThread.java
@@ -93,15 +93,21 @@
                staProtocol.setSiteId(i);
                station.put(i, staProtocol);
            }
            System.out.println(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2));
            staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2));
            staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2+20));
//            staProtocol.setAutoing(siemensS7Net.getByteTransform().TransBool());
            staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2));     // 工作号
            staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, (i-1)*2+20));   // 目标站
        }
        System.out.println("===> 状态");
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.40", (short) 10);
        for (int i = 1; i <= 8; i++) {
            System.out.println(siemensS7Net.getByteTransform().TransByte(result.Content, (i-1)));
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.40", (short) 8);
        if (result1.IsSuccess) {
            for (int i = 1; i <= 8; i++) {
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i-1, 1);
                StaProtocol staProtocol = station.get(i);
                staProtocol.setAutoing(status[0]);  // 自动
                staProtocol.setLoading(status[1]);  // 有物
                staProtocol.setInEnable(status[2]); // 可入
                staProtocol.setOutEnable(status[3]);// 可出
                staProtocol.setEmptyMk(status[4]);  // 空板信号
            }
        }
    }
@@ -113,14 +119,15 @@
            return;
        }
        OperateResult write = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2, staProtocol.getWorkNo());    // 工作号
        OperateResult write1 = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2 + 20, staProtocol.getSiteId());    // 目标站
        System.out.println(((staProtocol.getSiteId() - 1) * 2) + 20);
        OperateResult write1 = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) * 2 + 20), staProtocol.getStaNo());    // 目标站
        boolean[] status = new boolean[8];
        status[0] = staProtocol.isAutoing();
        status[1] = staProtocol.isLoading();
        status[2] = staProtocol.isInEnable();
        status[3] = staProtocol.isOutEnable();
        status[4] = staProtocol.isEmptyMk();
        OperateResult write2 = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2 + 40, status);//  状态
        OperateResult write2 = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) + 40), status);     //  状态
        if (!write.IsSuccess || !write1.IsSuccess || !write2.IsSuccess) {
            log.error("写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol));
        }
@@ -140,14 +147,16 @@
        devpThread.read();
        // 写
        StaProtocol staProtocol = devpThread.getStation().get(1);
        staProtocol.setWorkNo((short) 666);
        staProtocol.setAutoing(true);
        staProtocol.setEmptyMk(true);
        staProtocol.setWorkNo((short) 9999);
        staProtocol.setStaNo((short) 100);
        staProtocol.setAutoing(false);
        staProtocol.setEmptyMk(false);
        devpThread.write(staProtocol);
        System.out.println("----------------------------------------");
        // 读
        devpThread.read();
        System.out.println(JSON.toJSONString(devpThread.station));
    }
}