#
zjj
2024-03-21 882d2ee2d9a35bf02e5fbb11a79c3abffe9cfe61
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -338,25 +338,45 @@
                staProtocol.setBarcodeErr(status[6]);
            }
        } else if (slave.getId() == 3) {
            //条码
            //Thread.sleep(200);
            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.18",(short)10);
            if (result2.IsSuccess) {
                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,0,8, "UTF-8");
                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 7);
                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                        barcodeThread.setBarcode(barcode);
                    }
            }
            OperateResultExOne<byte[]> result10 = siemensS7Net.Read("DB101.26", (short)1);
            if (result10.IsSuccess) {
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result10.Content, 0, 1);
                StaProtocol staProtocol = station.get(301);
                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]);
            }
        } else if (slave.getId() == 4) {
            //条码
            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.18",(short)10);
            if (result2.IsSuccess) {
                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,0,8, "UTF-8");
                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 8);
                if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                    barcodeThread.setBarcode(barcode);
                }
            }
            // 外形检测 - 111
            //Thread.sleep(50);
            OperateResultExOne<byte[]> result10 = siemensS7Net.Read("DB101.26", (short)1);
            if (result10.IsSuccess) {
                boolean[] status = siemensS7Net.getByteTransform().TransBool(result10.Content, 0, 1);
                StaProtocol staProtocol = station.get(301);
                StaProtocol staProtocol = station.get(401);
                staProtocol.setFrontErr(status[0]);
                staProtocol.setBackErr(status[1]);
                staProtocol.setHighErr(status[2]);
@@ -573,20 +593,12 @@
            return;
        } else {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】 输送线命令下发成功 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
            log.info("输送线命令下发 [id:{}] >>>>> 命令下发成功: {}",  slave.getId(), JSON.toJSON(staProtocol));
            //log.info("输送线命令下发 [id:{}] >>>>> 命令下发成功: {}",  slave.getId(), JSON.toJSON(staProtocol));
            Integer siteId = staProtocol.getSiteId();
            staProtocol = station.get(siteId);
            if ((siteId == 101 || siteId == 201)&&(staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0)) {
                staProtocol.setPakMk(true);
            }
            //更新任务步序
            TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
            TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo().intValue());
            if (taskWrk != null) {
                taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//更新指令步序
                taskWrkService.updateById(taskWrk);
            }
        }
@@ -657,12 +669,12 @@
            log.error("写入输送线命令尝试5次失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol));
            //重新添加数据到任务队列
            boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(2, staProtocol));
            boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(3, staProtocol));
            read();//读取1次设备状态
            return;
        } else {
            OutputQueue.DEVP.offer(MessageFormat.format("【{0}】 输送线命令下发成功 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
            log.info("输送线命令下发 [id:{}] >>>>> 命令下发成功: {}",  slave.getId(), JSON.toJSON(staProtocol));
            //log.info("输送线命令下发 [id:{}] >>>>> 命令下发成功: {}",  slave.getId(), JSON.toJSON(staProtocol));
            Integer siteId = staProtocol.getSiteId();
            staProtocol = station.get(siteId);
@@ -670,13 +682,6 @@
                staProtocol.setPakMk(true);
            }
            //更新任务步序
            TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
            TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo().intValue());
            if (taskWrk != null) {
                taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//更新指令步序
                taskWrkService.updateById(taskWrk);
            }
        }
    }