From 4f99f59668c9160ca60958b7347944def26f2228 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期日, 27 四月 2025 10:58:53 +0800
Subject: [PATCH] 回退配置
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java | 79 +++++++++++++++++++++++++++++++++++++++
1 files changed, 79 insertions(+), 0 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
new file mode 100644
index 0000000..3876932
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java
@@ -0,0 +1,79 @@
+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){
+ //搴旇鏄摼璺娴嬫暟鎹�
+ }
+ 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 ;//涓嶄笂琛屽績璺�
+ }
+ }
+ }
+ }
+}
--
Gitblit v1.8.0