pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeTaskVo.java
@@ -15,6 +15,7 @@ public String softFileName ;//升级程序文件名 public String softStoreAddr ;//升级程序存放地址 public String softStartAddr ;//程序覆盖起始地址 public String softFileData64 ;//有效升级程序字节数组 public byte[] softFileData ;//有效升级程序字节数组 public Integer softBytesCalculate ;//根据公式计算得到的有效升级程序字节数 public Integer softByteSrc16 ;//有效升级程序字节数CRC16校验值 @@ -27,7 +28,7 @@ " 升级程序文件名=" + softFileName + "\n" + " 升级程序存放地址=" + softStoreAddr + "\n" + " 程序覆盖起始地址=" + softStartAddr + "\n" + " 有效升级程序字节数=" + softFileData.length + "\n" + " 有效升级程序字节数(base64)=" + softFileData64 + "\n" + " 公式计算程序字节数=" + softBytesCalculate + " 程序CRC16校验值=" + softByteSrc16 + "\n" + " 升级控制器数量=" + rtuAddrList.size() + "\n" + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -76,7 +76,7 @@ if(taskVo.softStartAddr == null || taskVo.softStartAddr.trim().length() != 8){ throw new Exception("程序覆盖起始地址不合法,必须是8字符(十六进制)的字符串") ; } if(taskVo.softFileData == null || taskVo.softFileData.length <= 0){ if(taskVo.softFileData64 == null || taskVo.softFileData64.trim().length() == 0){ throw new Exception("升级程序内容必须提供") ; } if(taskVo.softBytesCalculate == null){ @@ -96,7 +96,8 @@ this.taskVo = taskVo ; this.upgradeRtus = new HashMap<>(); if(taskVo.softFileData != null && taskVo.softFileData.length >0){ if(taskVo.softFileData64 != null && taskVo.softFileData64.trim().equals("")){ taskVo.softFileData = Base64.getDecoder().decode(taskVo.softFileData64); List<byte[]> listBytes = new HexFileParse().splitBytesByUnit512(taskVo.softFileData); this.softFileDataGrp = listBytes.toArray(new byte[0][]); for(String rtuAddr : this.taskVo.rtuAddrList){ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
@@ -29,6 +29,7 @@ import org.springframework.web.client.RestTemplate; import java.util.ArrayList; import java.util.Base64; import java.util.List; /** @@ -118,7 +119,8 @@ vo.softFileName = ppo.hexFileName ; vo.softStoreAddr = ppo.storeRamAddr ; vo.softStartAddr = ppo.startRamAddr ; vo.softFileData = ppo.programBytes ; vo.softFileData64 = Base64.getEncoder().encodeToString(ppo.programBytes) ; //vo.softFileData = ppo.programBytes ; vo.softBytesCalculate = ppo.programCalculateBytes ; vo.softByteSrc16 = ppo.programCrc16 ; }