liurunyu
2024-11-23 96ac419976b202833459c8755c5a23d371368118
1、远程升级优化;
2、RTU升级模拟器完善.
7个文件已修改
1个文件已添加
75 ■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/Server.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/ServerProperties.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/resources/config.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/说明.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java
@@ -11,13 +11,15 @@
    /*
    public static void main(String[] args) {
        System.out.println(CreateRandom.Random(1, 0));
        System.out.println(CreateRandom.Random(2, 0));
        System.out.println(CreateRandom.Random(3, 0));
        System.out.println(CreateRandom.Random(4, 0));
        System.out.println(CreateRandom.Random(5, 0));
        System.out.println(CreateRandom.Random(100, 0));
        System.out.println(CreateRandom.Random(1256, 1234));
        System.out.println(CreateRandom.random(1, 0));
        System.out.println(CreateRandom.random(2, 0));
        System.out.println(CreateRandom.random(3, 0));
        System.out.println(CreateRandom.random(4, 0));
        System.out.println(CreateRandom.random(5, 0));
        System.out.println(CreateRandom.random(100, 0));
        System.out.println(CreateRandom.random(1256, 1234));
        System.out.println("=======================");
        System.out.println(create_between(10, 100));
    }
    */
    
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java
@@ -34,6 +34,27 @@
public class PipIrrMwSimulateRtuApplication implements CommandLineRunner {
    public static void main(String[] args) {
        if(args != null && args.length > 0){
            if(args.length == 3){
                if(args[0] instanceof String){
                    if(args[0] != null && !args[0].trim().equals("")){
                        String rtuAddr = (String)args[0] ;//本模拟器模拟RTU地址
                        ServerProperties.argRtuAddr = rtuAddr ;
                    }
                    if(args[1] != null && !args[1].trim().equals("")){
                        Integer oneDie = Integer.parseInt(args[1]) ;//一包死:1是,0否
                        ServerProperties.argOneDie = oneDie == 1?true:false ;
                    }
                    if(args[2] != null && !args[2].trim().equals("")){
                        Integer multiDie = Integer.parseInt(args[2]) ;//多包死:1是,0否
                        ServerProperties.argMultiDie = multiDie == 1?true:false ;
                    }
                    if(ServerProperties.argOneDie && ServerProperties.argMultiDie){
                        ServerProperties.argOneDie = false ;
                    }
                }
            }
        }
        new SpringApplicationBuilder(PipIrrMwSimulateRtuApplication.class)
                .web(WebApplicationType.NONE)//不启动web服务
                .run(args);
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/Server.java
@@ -44,6 +44,15 @@
            this.startUnits() ;
            if(ServerProperties.argRtuAddr != null && !ServerProperties.argRtuAddr.trim().equals("")){
                System.out.println("应用配置RTU地址:" + ServerProperties.rtuAddr) ;
            }else{
                 System.out.println("应用参数RTU地址:" + ServerProperties.argRtuAddr) ;
                ServerProperties.rtuAddr = ServerProperties.argRtuAddr ;
            }
            System.out.println("启动一包死:" + (ServerProperties.argOneDie==null?"否":(ServerProperties.argOneDie?"是":"否"))) ;
            System.out.println("启动多包死:" + (ServerProperties.argMultiDie==null?"否":(ServerProperties.argMultiDie?"是":"否"))) ;
            String svName ;
            try{
                svName = this.conf.getSetAttrTxt(this.doc, "config.server", "name", null, false, null) ;
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/ServerProperties.java
@@ -9,4 +9,10 @@
public class ServerProperties {
    public static String rtuAddr ;
    //程序启动参数:
    public static String argRtuAddr ;
    public static Boolean argOneDie = false ;
    public static Boolean argMultiDie = false ;
}
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
@@ -2,6 +2,8 @@
import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.CreateRandom;
import com.dy.simRtu.ServerProperties;
import com.dy.simRtu.tcpClient.upData.*;
/**
@@ -10,6 +12,8 @@
 * @Description ä¸­é—´ä»¶çš„下行数据
 */
public class DownData {
    private static int count9602 = 0;
    public void parseData(byte[] bs){
        if(bs != null && bs.length > 0){
@@ -32,16 +36,28 @@
        String cdPre = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.UG_codeIndex, 1);
        if(cdPre.equals("16")){
            //升级功能码
            UpHeartBeat.upHeartBeat = false ;//不上行心跳
            UpHeartBeat.upHeartBeat = false ;//禁止上行心跳
            if(bs.length >= ProtocolConstantV206V1.UG_lenHead2Cmd + 1){
                String cdSuf = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.UG_codeIndex + 1, 1);
                String cd = cdPre + cdSuf;
                if(cd.equals("1601")){
                    //升级配置
                    if(ServerProperties.argOneDie){
                        UpHeartBeat.upHeartBeat = true ;//使能上行心跳
                    }
                    UpCd9601.upData() ;
                }else if(cd.equals("1602")){
                    //升级数据
                    UpCd9602.upData() ;
                    count9602 ++ ;
                    if(ServerProperties.argMultiDie){
                        if(count9602 > 10){
                            int random =  CreateRandom.create_between(10, 100) ;
                            if(random > 50){
                                UpHeartBeat.upHeartBeat = true ;//使能上行心跳
                            }
                        }
                    }
                }else if(cd.equals("1603")){
                    //升级校验
                    UpCd9603.upData() ;
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/resources/config.xml
@@ -10,5 +10,5 @@
     -->
    <base rtuAddr="532328000214"></base>
    <!-- -->
    <tcpCl mwServerIp="192.168.40.132" mwServerPort="60000" connectTimeout="3000" />
    <tcpCl mwServerIp="192.168.40.166" mwServerPort="60000" connectTimeout="3000" />
</config>        
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/˵Ã÷.txt
New file
@@ -0,0 +1 @@
本模块是RTU模拟器,模拟RTU升级过程
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java
@@ -320,9 +320,11 @@
            cache.ugOverallState.allOver = true ;
        }
        if(cache.ugOverallState.allOver){
            cache.ugOverallState.overTotal = 0;
            if(cache.ugRtuStateList != null && cache.ugRtuStateList.size() > 0){
                for(UpgradeRtu rtu : cache.ugRtuStateList){
                    rtu.isOver = true ;
                    cache.ugOverallState.overTotal++;
                }
            }
        }