From d9765e031e100e1d8eea34e086cb9c81766e1a00 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 21 二月 2025 09:52:14 +0800 Subject: [PATCH] 针对王江海制定的协议: 1、优化相关注释; 2、优化代码; 3、协议中报警信息有变化:外门报警改为电池电压报警、增加阀门开关状态、增加阀门堵转报警等。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_1601_Down.java | 37 ++++++++++++++++++++++++++++++++++--- 1 files changed, 34 insertions(+), 3 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_1601_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_1601_Down.java index 6d38fa7..3b5864f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_1601_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_1601_Down.java @@ -4,7 +4,8 @@ import com.dy.common.mw.protocol.p206V2.CodeV2; import com.dy.common.mw.protocol.p206V2.ParseParamsForDownV2; import com.dy.common.mw.protocol.p206V2.ProtocolConstantV206V2; -import com.dy.common.mw.protocol.p206V2.parse.global.GlCreate; +import com.dy.common.mw.protocol.p206V1.parse.global.GlCreate; +import com.dy.common.softUpgrade.Com1601Vo; import com.dy.common.util.ByteUtil; /** @@ -32,9 +33,12 @@ midRs.downCodeName = CodeV2.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�; midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 - midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.hasResponse = false ;//鏄惁鏈夊簲绛� midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + midRs.isFastCom = true ;//閫熷彂鍛戒护锛屼笅鍙戞暟鎹椂闂撮棿闅斿彈灏忓�硷紙閰嶇疆鏂囦欢涓璮astCommandSendInterval锛夐檺鍒� + midRs.countdown4Send = 1 ;//鍊掕鏃讹紝褰撴鍊间负灏忎簬绛変簬0鏃舵墠浼氫笅鍙戯紝鍚﹀垯閫愭鍑�1 if(isLowPower != null && isLowPower.booleanValue()){ //浣庡姛鑰楁椂锛屽敖蹇彂閫� @@ -71,7 +75,34 @@ index += 2 ; GlCreate.createRtuAddr4PUg(para.rtuAddr, preBytes, index); - byte[] bytes = ByteUtil.bytesMerge(preBytes, (byte[])para.attachment) ; + if(para.param == null){ + throw new Exception("鍙傛暟涓虹┖") ; + } + if(!(para.param instanceof Com1601Vo)){ + throw new Exception("鍙傛暟绫诲瀷闈濩om1601Vo") ; + } + Com1601Vo vo = (Com1601Vo) para.param ; + byte[] bs = new byte[4] ; + ByteUtil.hex2Bytes(vo.softStoreAddr, bs, 0) ; + byte[] bytes = ByteUtil.bytesMerge(preBytes, bs) ; + + bs = new byte[4] ; + ByteUtil.int2Bytes_BE(bs, vo.totalByte, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[2] ; + ByteUtil.short2Bytes_BE(bs, (short)vo.softCrc, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[2] ; + ByteUtil.short2Bytes_BE(bs, (short)vo.softCrc, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[4] ; + ByteUtil.hex2Bytes(vo.softStartAddr, bs, 0) ; + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + GlCreate.createLen4PUg(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 byte[] bsTail = GlCreate.createCrcTail4Ug(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� -- Gitblit v1.8.0