From a299299d0ca45a03ff1b31a337ff823fde516c6a Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 11 十二月 2024 17:57:21 +0800
Subject: [PATCH] 完善代码

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java |   35 +++++++++++++++++++++++++++++------
 1 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
index 33709d1..3876932 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
+++ b/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.*;
 
 /**
@@ -11,8 +13,10 @@
  */
 public class DownData {
 
+    private static int count9602 = 0;
+
     public void parseData(byte[] bs){
-        if(bs != null && bs.length >= ProtocolConstantV206V1.lenHead2Code){
+        if(bs != null && bs.length > 0){
             if(bs.length >= (ProtocolConstantV206V1.ctrlIndex)
                     && bs[0] == ProtocolConstantV206V1.P_Head_Byte
                     && bs[2] == ProtocolConstantV206V1.P_Head_Byte){
@@ -29,19 +33,38 @@
         //搴旇鏄摼璺娴嬫暟鎹�
     }
     private void dealUpgrade(byte[] bs){
-        String cdPre = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.codeIndex, 1);
+        String cdPre = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.UG_codeIndex, 1);
         if(cdPre.equals("16")){
             //鍗囩骇鍔熻兘鐮�
-            UpHeartBeat.upHeartBeat = false ;//涓嶄笂琛屽績璺�
-            if(bs.length >= ProtocolConstantV206V1.lenHead2Code + 1){
-                String cdSuf = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.codeIndex + 1, 1);
+            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() ;

--
Gitblit v1.8.0