| | |
| | | |
| | | 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.*; |
| | | |
| | | /** |
| | |
| | | * @Description 中间件的下行数据 |
| | | */ |
| | | public class DownData { |
| | | |
| | | private static int count9602 = 0; |
| | | |
| | | public void parseData(byte[] bs){ |
| | | if(bs != null && bs.length > 0){ |
| | |
| | | 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 > 98){ |
| | | UpHeartBeat.upHeartBeat = true ;//使能上行心跳 |
| | | }else{ |
| | | UpCd9602.upData() ; |
| | | } |
| | | }else{ |
| | | UpCd9602.upData() ; |
| | | } |
| | | }else{ |
| | | UpCd9602.upData() ; |
| | | } |
| | | } |
| | | }else if(cd.equals("1603")){ |
| | | //升级校验 |
| | | UpCd9603.upData() ; |