From 7f3cae29516a35e85e4b6fc02ec655882d4c2538 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 08 五月 2025 11:55:24 +0800 Subject: [PATCH] 1、测控一体阀协议功能码50补充实现; 2、RTU模拟器模拟实现50、91、92功能码上报; 3、remote模块:完善透传命令实现,完善接收通信中间件返回命令结果实现。 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java | 38 +++++++++++++++++++++++++++++++++++--- 1 files changed, 35 insertions(+), 3 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 6211d7b..7f64bf3 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.*; /** @@ -10,6 +12,8 @@ * @Description 涓棿浠剁殑涓嬭鏁版嵁 */ public class DownData { + + private static int count9602 = 0; public void parseData(byte[] bs){ if(bs != null && bs.length > 0){ @@ -26,22 +30,50 @@ } } 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 ;//涓嶄笂琛屽績璺� + 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