严智鑫
2025-09-22 fa095d4c1a440cf28a9ac82aaf9fe26984010670
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java
@@ -53,24 +53,26 @@
    }
    public void readData() {
        try {
            byte[] resultValues=new byte[PlcMesObject.getPlcAddressLength()];
            int maxRead=1092;
            int size=PlcMesObject.getPlcAddressLength()%maxRead==0?
                    (PlcMesObject.getPlcAddressLength()/maxRead):
                    (PlcMesObject.getPlcAddressLength()/maxRead+1);
            for (int i = 0; i <size ; i++) {
                int begin=i*maxRead;
                int length=(i==size-1?PlcMesObject.getPlcAddressLength()-begin:maxRead);
                String beginAddress=PlcMesObject.getPlcAddressBegin().substring(0, PlcMesObject.getPlcAddressBegin().indexOf("."))+"."+begin;
                byte[] getplcvlues = plccontrol.readByte(beginAddress, length);
                System.arraycopy(getplcvlues,0,resultValues,begin,length);
            }
            if (resultValues != null) {
            byte[] resultValues=plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
//            byte[] resultValues=new byte[PlcMesObject.getPlcAddressLength()];
//            int maxRead=1092;
//            int size=PlcMesObject.getPlcAddressLength()%maxRead==0?
//                    (PlcMesObject.getPlcAddressLength()/maxRead):
//                    (PlcMesObject.getPlcAddressLength()/maxRead+1);
//            for (int i = 0; i <size ; i++) {
//                int begin=i*maxRead;
//                int length=(i==size-1?PlcMesObject.getPlcAddressLength()-begin:maxRead);
//                String beginAddress=PlcMesObject.getPlcAddressBegin().substring(0, PlcMesObject.getPlcAddressBegin().indexOf("."))+"."+begin;
//                byte[] getplcvlues = plccontrol.readByte(beginAddress, length);
//                System.arraycopy(getplcvlues,0,resultValues,begin,length);
//            }
            if (resultValues.length>0) {
                PlcMesObject.setPlcParameterList(resultValues);
            }
        } catch (Exception e) {
            PlcMesObject=null;
            log.info("异常:ip:{},port:{},错误{}",this.ip,this.port,e.getMessage());
            log.info("异常:ip:{},port:{},错误{},{}",this.ip,this.port,e.getMessage(),e.toString());
        }
    }
}