dubin
3 天以前 52cbfeb0c93770530965955ca861f3d0a2bedd66
src/main/java/com/zy/core/network/real/ZyStationRealConnect.java
@@ -123,10 +123,23 @@
                }
                String barcode = siemensNet.getByteTransform().TransString(result2.Content, i * 16, 4, "UTF-8");
                barcode = barcode.trim();
                barcodeEntity.setBarcode(barcode);
                statusEntity.setBarcode(barcode);
            }
        }
        // 称重
        OperateResultExOne<byte[]> result3 = siemensNet.Read("DB102.0", (short) (barcodeStatusList.size() * 32));
        if (result3.IsSuccess) {
            for (int i = 0; i < barcodeStatusList.size(); i++) {
                ZyStationStatusEntity barcodeEntity = barcodeStatusList.get(i);
                ZyStationStatusEntity statusEntity = findStatusEntity(barcodeEntity.getStationId());
                if (statusEntity == null) {
                    continue;
                }
                Double weight = siemensNet.getByteTransform().TransDouble(result3.Content, i * 32);
                statusEntity.setWeight(weight);
            }
        }
        return statusList;
    }
@@ -144,16 +157,14 @@
            return commandResponse;
        }
        OperateResult write = null;
        OperateResult writeTaskNo = null;
        OperateResult writeTargetStaNo = null;
        // 任务下发次数
        int writeCount = 0;
        do {
            short[] data = new short[2];
            data[0] = command.getTaskNo().shortValue();
            data[1] = command.getTargetStaNo().shortValue();
            write = siemensNet.Write("DB100." + index * 4, data);
            if (write.IsSuccess) {
            writeTaskNo = siemensNet.Write("DB100." + index * 4, command.getTaskNo());
            writeTargetStaNo = siemensNet.Write("DB100." + index * 4 + 4, command.getTargetStaNo().shortValue());
            if (writeTaskNo.IsSuccess && writeTargetStaNo.IsSuccess) {
                log.error("写入输送线命令成功。站点编号={},站点数据={},写入次数={}", command.getStationId(), JSON.toJSON(command),
                        writeCount);
                commandResponse.setResult(true);
@@ -166,12 +177,7 @@
            }
        } while (writeCount < 5);
        if (write == null) {
            commandResponse.setMessage("写入命令失败");
            return commandResponse;
        }
        if (!write.IsSuccess) {
        if (!writeTaskNo.IsSuccess || !writeTargetStaNo.IsSuccess) {
            ZyStationStatusEntity staProtocol = findStatusEntity(command.getStationId());
            OutputQueue.DEVP.offer(MessageFormat.format("写入输送线站点数据失败。站点编号={1},站点数据={2}", command.getStationId(),
                    JSON.toJSON(staProtocol)));