*
L
2025-07-15 e89d0cdf971ecb56d4d323f17afff2e3e139a58d
src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -283,11 +283,6 @@
            return false;
        }
        CrnErrCache.updateCrnErr(slave.getId(), "-");
        try{
            DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
            deviceErrorService.addDeviceError("crnWrite", slave.getId(), "巷道号"+command.getLaneNo()+";堆垛机指令下发:"+JSON.toJSONString(command.getNowTask()));
        } catch (Exception e2){
        }
//        try{
//            BasErrLogService basErrLogService = SpringUtils.getBean(BasErrLogService.class);
//            BasErrLog basErrLog = new BasErrLog(command,"","任务下发记录");
@@ -297,6 +292,43 @@
//        } catch (Exception e3){
//        }
//        convertRow(command);
        if (command.getAckFinish() == 0){
            try{
                Thread.sleep(100L);
                OperateResultExOne<byte[]> resultReadNOW = siemensNet.Read("DB100.0", (short) 20);
                if (resultReadNOW.IsSuccess) {
                    CrnCommand one = new CrnCommand();
                    one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 2));
                    one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 4));
                    one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 6));
                    one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 8));
                    one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 10));
                    one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 12));
                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 14));
                    one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultReadNOW.Content, 16));
                    if (one.getTaskNo()>0
                            || one.getTaskMode()>0
                            || one.getSourcePosX()!=0
                            || one.getSourcePosY()!=0
                            || one.getSourcePosZ()!=0
                            || one.getDestinationPosX()!=0
                            || one.getDestinationPosY()!=0
                            || one.getDestinationPosZ()!=0
                    ){
                        try{
                            DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
                            deviceErrorService.addDeviceError("CrnErr", slave.getId(), "巷道号"+command.getLaneNo()+";堆垛机命令地址补丁重新写入取消,wcs下发地址存在数据:"+JSON.toJSONString(command.getNowTask()));
                        } catch (Exception e2){
                        }
                        return true;
                    }
                }
            } catch (Exception eNow){
            }
        }
        command.setCrnNo(slave.getId());
        short[] array = new short[10];
        array[0] = command.getAckFinish();
@@ -311,6 +343,11 @@
//        array[9] = command.getCommand();
        array[9] = (short)0;
        OperateResult result18 = siemensNet.Write("DB100.18", (short)0);
        if (command.getAckFinish() == 0) {
            OperateResult result100 = siemensNet.Write("DB100.0", (short)0);
        }
        try{
            Thread.sleep(50L);
        } catch (Exception e){}
@@ -363,6 +400,11 @@
                    }
                    result = siemensNet.Write("DB100.0", array);
                }else{
                    try{
                        DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
                        deviceErrorService.addDeviceError("crnWrite", slave.getId(), "巷道号"+command.getLaneNo()+";堆垛机指令下发:"+JSON.toJSONString(command.getNowTask()));
                    } catch (Exception e2){
                    }
                    break;
                }
            }