wuzeyu
2024-11-29 ac87f61568a68501aa50d5c3f0d083e8ea36ebb3
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,35 @@
        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")){
                    //升级配置
                    UpCd9601.upData() ;
                }else if(cd.equals("1602")){
                    //升级数据
                    UpCd9602.upData() ;
                    count9602 ++ ;
                    if(ServerProperties.argOneDie){
                        UpHeartBeat.upHeartBeat = true ;//使能上行心跳
                    }else{
                        if(ServerProperties.argMultiDie){
                            if(count9602 > 10){
                                int random =  CreateRandom.create_between(10, 100) ;
                                if(random > 90){
                                    UpHeartBeat.upHeartBeat = true ;//使能上行心跳
                                }else{
                                    UpCd9602.upData() ;
                                }
                            }else{
                                UpCd9602.upData() ;
                            }
                        }else{
                            UpCd9602.upData() ;
                        }
                    }
                }else if(cd.equals("1603")){
                    //升级校验
                    UpCd9603.upData() ;