自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-12-08 e74add6a913a5fd6ea1de5fc62379e3f9b24b228
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -150,20 +150,19 @@
        //读条码
        Thread.sleep(100);
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.100",(short)(barcodeSize*8));
        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.0",(short)31);
        if (result2.IsSuccess) {
            for (int i = 0; i < barcodeSize; i++) {
                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*16,15, "UTF-8");
                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
                if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                    barcodeThread.setBarcode(barcode);
                }
            }
        }
        // 充电信号位
        Thread.sleep(100);
        Thread.sleep(50);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB102.128", (short)1);
        if (result3.IsSuccess) {
            boolean[] status = siemensS7Net.getByteTransform().TransBool(result3.Content, 0, 1);
@@ -172,6 +171,35 @@
            charge2 = status[2];
        }
        // 外形检测 - 102
        Thread.sleep(50);
        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB102.129", (short)1);
        if (result4.IsSuccess) {
            boolean[] status = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
            StaProtocol staProtocol = station.get(102);
            staProtocol.setFrontErr(status[0]);
            staProtocol.setBackErr(status[1]);
            staProtocol.setHighErr(status[2]);
            staProtocol.setLeftErr(status[3]);
            staProtocol.setRightErr(status[4]);
            staProtocol.setWeightErr(status[5]);
            staProtocol.setBarcodeErr(status[6]);
        }
        // 外形检测 - 203
        Thread.sleep(50);
        OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB102.130", (short)1);
        if (result5.IsSuccess) {
            boolean[] status = siemensS7Net.getByteTransform().TransBool(result5.Content, 0, 1);
            StaProtocol staProtocol = station.get(203);
            staProtocol.setFrontErr(status[0]);
            staProtocol.setBackErr(status[1]);
            staProtocol.setHighErr(status[2]);
            staProtocol.setLeftErr(status[3]);
            staProtocol.setRightErr(status[4]);
            staProtocol.setWeightErr(status[5]);
            staProtocol.setBarcodeErr(status[6]);
        }
        if (result.IsSuccess && result1.IsSuccess) {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId()));