From d2263e86d837ef331d77fd39dccd79f100041e76 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 14 四月 2025 16:28:49 +0800
Subject: [PATCH] 获取轮灌组时,项目ID不为必须条件

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpHeartBeat.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpHeartBeat.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpHeartBeat.java
new file mode 100644
index 0000000..faccaf1
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/tcpClient/upData/UpHeartBeat.java
@@ -0,0 +1,57 @@
+package com.dy.simRtu202404.tcpClient.upData;
+
+import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
+import com.dy.common.util.ByteUtil;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/02/26 11:10
+ * @Description
+ */
+public class UpHeartBeat extends UpData {
+
+    private static final Logger log = LogManager.getLogger(UpHeartBeat.class) ;
+
+    public static void upCd02Data(String rtuAddr){
+        try{
+            if(UpData.session != null && UpData.session.isConnected()){
+                byte[] bs = createCd02Data(rtuAddr) ;
+                UpData.upSend(bs) ;
+            }else{
+                log.error("鏈繛鎺ラ�氫俊涓棿浠讹紝涓嶈兘鍙戦�佹暟鎹�");
+            }
+        }catch (Exception e){
+            log.error("鍚戦�氫俊涓棿浠跺彂閫佹暟鎹骇鐢熷紓甯�", e);
+        }
+    }
+
+
+    /**
+     * 鏋勯�犲績璺虫暟鎹�
+     * @return 瀛楄妭鏁扮粍
+     * @throws Exception 寮傚父
+     */
+    private static byte[] createCd02Data(String rtuAddr) throws Exception {
+        byte[] bytes = creatHead(rtuAddr, "02", (byte)0x81);
+
+        byte[] bs = new byte[]{(byte)0x02} ;//0x02:琛ㄩ榾涓�浣撴満
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+        bs = new byte[]{(byte)0x0A} ;//椤圭洰缂栧彿
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+        bs = new byte[]{(byte)0xF2} ;//淇濇寔鍦ㄧ嚎
+        bytes = ByteUtil.bytesMerge(bytes, bs) ;
+
+        GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑
+
+        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓�
+
+        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
+
+        return bytes ;
+    }
+
+}

--
Gitblit v1.8.0