From efa19855d33d76f68d22dd4fe978db041dda2f74 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期六, 12 十月 2024 08:47:37 +0800 Subject: [PATCH] 修改RTU上行数据log4j日志显示方式(首行换行)与内容(上行数据+命令应答数据) --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java | 35 +++++++++++++++++++++++++++++++---- 1 files changed, 31 insertions(+), 4 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java index 5a6cb09..c3f1aa5 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java @@ -3,6 +3,7 @@ import com.dy.common.mw.protocol.*; import com.dy.common.mw.protocol.p206V1_0_0.*; import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd02Vo; import com.dy.common.util.ByteUtil; @AnnotationCodeDown(ifAny={ @@ -19,9 +20,10 @@ MidResultToRtu midRs = new MidResultToRtu() ; midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О - midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�; + midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�; midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 midRs.hasResponse = false ;//鏄惁鏈夊簲绛� @@ -56,7 +58,7 @@ bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; index++ ; - bsHead[index] = commonV1_0_1.createCtrl((byte)0) ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; index++ ; GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); @@ -65,16 +67,41 @@ ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; byte[] bs = new byte[7] ; - bs[0] = (byte)0xF2 ;//鏁版嵁鍩燂細 1 涓瓧鑺傦紝F0 鐧诲綍锛� F1 閫�鍑虹櫥褰曪紝F2 鍦ㄧ嚎淇濇寔銆� + + Integer loginFlag = 0xF2 ; + if(para.param != null && para.param instanceof DataCd02Vo){ + DataCd02Vo vo = (DataCd02Vo)para.param ; + if(vo != null && vo.status != null){ + loginFlag = Integer.parseInt(vo.status, 16); + } + } + bs[0] = loginFlag.byteValue() ;//鏁版嵁鍩燂細 1 涓瓧鑺傦紝F0 鐧诲綍锛� F1 閫�鍑虹櫥褰曪紝F2 鍦ㄧ嚎淇濇寔銆� GlCreate.createTp(bs, 1); bytes = ByteUtil.bytesMerge(bsHead, bs) ; GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 - bytes = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; return bytes ; } + public static void main(String[] args) throws Exception{ + ParseParamsForDownV1_0_1 p = new ParseParamsForDownV1_0_1() ; + p.commandCode = "02" ; + p.rtuAddr = "9672950001"; + + Cd_02_Down obj = new Cd_02_Down() ; + byte[] bs = obj.doParse(p) ; + + String hex1 = ByteUtil.bytes2Hex(bs,true) ; + String hex2 = ByteUtil.bytes2Hex(bs,false) ; + + System.out.println(hex1); + System.out.println(hex2); + } + } -- Gitblit v1.8.0