| New file | 
|  |  |  | 
|---|
|  |  |  | package com.dy.simRtu.tcpClient.downData; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @Author: liurunyu | 
|---|
|  |  |  | * @Date: 2024/11/18 10:57 | 
|---|
|  |  |  | * @Description 中间件的下行数据 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class DownData { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static int count9602 = 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void parseData(byte[] bs){ | 
|---|
|  |  |  | if(bs != null && bs.length > 0){ | 
|---|
|  |  |  | if(bs.length >= (ProtocolConstantV206V1.ctrlIndex) | 
|---|
|  |  |  | && bs[0] == ProtocolConstantV206V1.P_Head_Byte | 
|---|
|  |  |  | && bs[2] == ProtocolConstantV206V1.P_Head_Byte){ | 
|---|
|  |  |  | this.dealP206V1(bs); | 
|---|
|  |  |  | }else if(bs.length >= (ProtocolConstantV206V1.UG_codeIndex) | 
|---|
|  |  |  | && bs[0] == ProtocolConstantV206V1.UG_P_Head_Byte | 
|---|
|  |  |  | && bs[3] == ProtocolConstantV206V1.UG_P_Head_Byte){ | 
|---|
|  |  |  | this.dealUpgrade(bs); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private void dealP206V1(byte[] bs){ | 
|---|
|  |  |  | String cdPre = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.codeIndex, 1); | 
|---|
|  |  |  | if(cdPre.equals("50")){ | 
|---|
|  |  |  | UpCd50.upData() ; | 
|---|
|  |  |  | }else if(cdPre.equals("66")){ | 
|---|
|  |  |  | UpCd66.upData() ; | 
|---|
|  |  |  | }else if(cdPre.equals("91")){ | 
|---|
|  |  |  | UpCd91.upData() ; | 
|---|
|  |  |  | }else if(cdPre.equals("92")){ | 
|---|
|  |  |  | UpCd92.upData() ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private void dealUpgrade(byte[] bs){ | 
|---|
|  |  |  | String cdPre = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.UG_codeIndex, 1); | 
|---|
|  |  |  | if(cdPre.equals("16")){ | 
|---|
|  |  |  | //升级功能码 | 
|---|
|  |  |  | 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")){ | 
|---|
|  |  |  | //升级数据 | 
|---|
|  |  |  | 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() ; | 
|---|
|  |  |  | }else if(cd.equals("1600")){ | 
|---|
|  |  |  | //升级复位 | 
|---|
|  |  |  | UpCd9600.upData() ; | 
|---|
|  |  |  | UpHeartBeat.upHeartBeat = true ;//不上行心跳 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|