From c2976b80e8850be2d28dc2132c6659856b871f3c Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 08 五月 2025 21:10:42 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_1601_Down.java | 38 +++++++++++++++++++++++++++++++++++--- 1 files changed, 35 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..e0c53a5 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 = 10 ;//鍊掕鏃讹紝褰撴鍊间负灏忎簬绛変簬0鏃舵墠浼氫笅鍙戯紝鍚﹀垯閫愭鍑�1锛岀洰鐨勬槸寤惰繜涓嬪彂鍛戒护锛屼娇鍏朵粬鍛戒护鍙互鎻愬墠鍙戦�� if(isLowPower != null && isLowPower.booleanValue()){ //浣庡姛鑰楁椂锛屽敖蹇彂閫� @@ -71,7 +75,35 @@ 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[4] ; + byte[] crcBs = new byte[4] ; + ByteUtil.int2Bytes_BE(crcBs, vo.softCrc, 0); + bs[0] = crcBs[2] ; + bs[1] = crcBs[3] ; + bs[2] = crcBs[2] ; + bs[3] = crcBs[3] ; + 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