From 9f7663a33eb83deece65119da5f3711f0af892ee Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 24 一月 2025 13:30:29 +0800 Subject: [PATCH] 通信中间件增加命令数据解析回调,传回功能码数据,当前以实现远程升级功能需求 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java index 207cabb..edc3511 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java @@ -33,9 +33,12 @@ midRs.downCodeName = CodeV1.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()){ //浣庡姛鑰楁椂锛屽敖蹇彂閫� @@ -75,7 +78,7 @@ if(para.param == null){ throw new Exception("鍙傛暟涓虹┖") ; } - if(para.param instanceof Com1601Vo){ + if(!(para.param instanceof Com1601Vo)){ throw new Exception("鍙傛暟绫诲瀷闈濩om1601Vo") ; } Com1601Vo vo = (Com1601Vo) para.param ; @@ -87,18 +90,21 @@ 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); + 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鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� return ByteUtil.bytesMerge(bytes, bsTail) ; -- Gitblit v1.8.0