| | |
| | | } |
| | | 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()); |
| | | } |
| | | } |
| | | } |