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-mw/pipIrr-com-creator/src/main/resources/application.yml | 11 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java | 11 pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd21.java | 9 pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd93.java | 9 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_50_Down.java | 88 +++++ pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/console/CommandConsole.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd92.java | 53 +++ pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd02.java | 9 pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd91.java | 9 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java | 19 pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd66.java | 9 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/upVos/DataCd50Vo.java | 39 ++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_50_Down.java | 81 +++++ pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd3C.java | 9 pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Deal.java | 14 pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd10.java | 9 pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd50.java | 9 pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd92.java | 11 pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd67.java | 9 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/PipIrrMwSimulateRtu202404Application.java | 3 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_50_Up.java | 69 ++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java | 3 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/upVos/DataCd50Vo.java | 39 ++ pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd66.java | 60 +++ pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd.java | 18 + pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd37.java | 9 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd50.java | 55 +++ pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd65.java | 9 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd91.java | 49 +++ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java | 122 +++++++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_50_Up.java | 66 ++++ 31 files changed, 806 insertions(+), 106 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_50_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_50_Down.java new file mode 100644 index 0000000..2fa803e --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_50_Down.java @@ -0,0 +1,88 @@ +package com.dy.common.mw.protocol.p206V1.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1.CodeV1; +import com.dy.common.mw.protocol.p206V1.CommonV1; +import com.dy.common.mw.protocol.p206V1.ParseParamsForDownV1; +import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1; +import com.dy.common.mw.protocol.p206V1.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2025/5/8 10:36 + * @LastEditTime 2025/5/8 10:36 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1.cd_50 +}) +public class Cd_50_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1 para = (ParseParamsForDownV1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.protocolVersion = para.protocolVersion ;//鍗忚鐗堟湰鍙� + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 + midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�; + midRs.downCodeName = CodeV1.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�; + midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 + midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 + midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1 para) throws Exception { + CommonV1 commonV_1 = new CommonV1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr4P206(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + bytes = bsHead ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail4P206(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_50_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_50_Up.java new file mode 100644 index 0000000..788d395 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_50_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1.*; +import com.dy.common.mw.protocol.p206V1.upVos.DataCd50Vo; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2025/5/8 10:37 + * @LastEditTime 2025/5/8 10:37 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1.cd_50 +}) +public class Cd_50_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_50_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1 para = (ParseParamsForUpV1)params ; + int bsLen = new CommonV1().parseDataLen4P206(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("\n鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.protocolVersion = para.protocolVersion ;//鍗忚鐗堟湰鍙� + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + midRs.reportOrResponse_trueOrFalse = false ;//鍛戒护搴旂瓟 + + callback.callback(midRs.reportOrResponse_trueOrFalse, para.data.subData==null?null:((DataV1)(para.data.subData)).subData); + return new MidResult[]{midRs} ; + } + /** + * 鎵ц鍒嗘瀽 + * @param bs 瀛楄妭鏁扮粍 + * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級 + * @param dataCode 鍔熻兘鐮� + * @param data 鏁版嵁 + * @throws Exception 寮傚父 + */ + protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { + DataV1 dV1 = (DataV1)data.getSubData() ; + DataCd50Vo cdData = new DataCd50Vo() ; + dV1.subData = cdData ; + cdData.rtuAddr = new CommonV1().parseRtuAddr(bs, ProtocolConstantV206V1.dataIndex, true) ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/upVos/DataCd50Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/upVos/DataCd50Vo.java new file mode 100644 index 0000000..64fdb50 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/upVos/DataCd50Vo.java @@ -0,0 +1,39 @@ +package com.dy.common.mw.protocol.p206V1.upVos; + +import com.dy.common.mw.protocol.UpComResVo; +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2025/5/8 10:37 + * @LastEditTime 2025/5/8 10:37 + * @Description + */ +@Data +public class DataCd50Vo implements UpComResVo { + public String rtuAddr ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 鏌ヨRTU鍦板潃搴旂瓟:\n"); + sb.append(" 鏂板湴鍧�锛�"); + sb.append(rtuAddr); + sb.append("\n"); + + return sb.toString() ; + } + + public String comLog(){ + StringBuilder sb = new StringBuilder() ; + sb.append("鏌ヨRTU鍦板潃鍛戒护鍥炲:\n"); + sb.append(" 鍦板潃锛�"); + sb.append(rtuAddr); + sb.append("\n"); + return sb.toString() ; + } + + @Override + public String comLog(String code) { + return null; + } +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_50_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_50_Down.java new file mode 100644 index 0000000..3764b22 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_50_Down.java @@ -0,0 +1,81 @@ +package com.dy.common.mw.protocol.p206V2.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V2.CodeV2; +import com.dy.common.mw.protocol.p206V2.CommonV2; +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.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2025/5/8 10:36 + * @LastEditTime 2025/5/8 10:36 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV2.cd_50 +}) +public class Cd_50_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV2 para = (ParseParamsForDownV2) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.protocolVersion = para.protocolVersion ;//鍗忚鐗堟湰鍙� + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 + midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�; + midRs.downCodeName = CodeV2.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�; + midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 + midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 + midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV2 para) throws Exception { + CommonV2 commonV_1 = new CommonV2() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V2.lenHead2Code] ; + byte index = GlCreate.createHead(para.protocolVersion, bsHead); + + index++ ; + bsHead[index] = commonV_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr4P206(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + bytes = bsHead ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail4P206(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_50_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_50_Up.java new file mode 100644 index 0000000..3be2069 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_50_Up.java @@ -0,0 +1,69 @@ +package com.dy.common.mw.protocol.p206V2.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V2.*; +import com.dy.common.mw.protocol.p206V2.upVos.DataCd10Vo; +import com.dy.common.mw.protocol.p206V2.upVos.DataCd50Vo; +import com.dy.common.mw.protocol.p206V2.upVos.DataCd51Vo; +import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2025/5/8 10:37 + * @LastEditTime 2025/5/8 10:37 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV2.cd_50 +}) +public class Cd_50_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_50_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV2 para = (ParseParamsForUpV2)params ; + int bsLen = new CommonV2().parseDataLen4P206(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("\n鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV2.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.protocolVersion = para.protocolVersion ;//鍗忚鐗堟湰鍙� + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + midRs.reportOrResponse_trueOrFalse = false ;//鍛戒护搴旂瓟 + + callback.callback(midRs.reportOrResponse_trueOrFalse, para.data.subData==null?null:((DataV2)(para.data.subData)).subData); + return new MidResult[]{midRs} ; + } + /** + * 鎵ц鍒嗘瀽 + * @param bs 瀛楄妭鏁扮粍 + * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級 + * @param dataCode 鍔熻兘鐮� + * @param data 鏁版嵁 + * @throws Exception 寮傚父 + */ + protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { + DataV2 dV2 = (DataV2)data.getSubData() ; + DataCd50Vo cdData = new DataCd50Vo() ; + dV2.subData = cdData ; + cdData.rtuAddr = new CommonV2().parseRtuAddr(bs, ProtocolConstantV206V2.dataIndex) ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/upVos/DataCd50Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/upVos/DataCd50Vo.java new file mode 100644 index 0000000..273265b --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/upVos/DataCd50Vo.java @@ -0,0 +1,39 @@ +package com.dy.common.mw.protocol.p206V2.upVos; + +import com.dy.common.mw.protocol.UpComResVo; +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2025/5/8 10:37 + * @LastEditTime 2025/5/8 10:37 + * @Description + */ +@Data +public class DataCd50Vo implements UpComResVo { + public String rtuAddr ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 鏌ヨRTU鍦板潃搴旂瓟:\n"); + sb.append(" 鏂板湴鍧�锛�"); + sb.append(rtuAddr); + sb.append("\n"); + + return sb.toString() ; + } + + public String comLog(){ + StringBuilder sb = new StringBuilder() ; + sb.append("鏌ヨRTU鍦板潃鍛戒护鍥炲:\n"); + sb.append(" 鍦板潃锛�"); + sb.append(rtuAddr); + sb.append("\n"); + return sb.toString() ; + } + + @Override + public String comLog(String code) { + return null; + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/console/CommandConsole.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/console/CommandConsole.java index afb34ee..1d359f1 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/console/CommandConsole.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/console/CommandConsole.java @@ -57,7 +57,7 @@ char[] password = console.readPassword(">>Password: "); String passwordStr = String.valueOf(password) ; if (passwordStr.equals("help")) { - console.printf("瀵嗙爜鏄�%1$s.\n", myPassword); + console.printf("瀵嗙爜鏄�%1$s\n", myPassword); // 浣跨敤鍚庡簲绔嬪嵆灏嗘暟缁勬竻绌猴紝浠ュ噺灏戝叾鍦ㄥ唴瀛樹腑鍗犵敤鐨勬椂闂达紝澧炲己瀹夊叏鎬� password = null; } else if(passwordStr.equals(myPassword)){ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd.java index b44595f..dc5f687 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd.java @@ -13,9 +13,27 @@ protected static final byte CTRL = (byte)0xB0 ;//鎺у埗鍩� + /** + * 妫�鏌ュ懡浠ゅ弬鏁� + * @return 淇℃伅 + */ public abstract String checkParams(String ...params) ; + /** + * 鍛戒护甯姪淇℃伅 + * @return 淇℃伅 + */ public abstract String helpInfo() ; + /** + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� + * @throws Exception 寮傚父 + */ public abstract String hex(String rtuAddr, String ...params) throws Exception ; + /** + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ public abstract byte[] bs(String rtuAddr, String ...params) throws Exception ; public byte[] createHead(String rtuAddr, String code, byte ctrl)throws Exception { diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd02.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd02.java index 55bec70..96b4c7f 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd02.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd02.java @@ -20,18 +20,17 @@ return ComCode + "[Enter](蹇冭烦鍛戒护搴旂瓟锛堥摼璺淮鎸佹姤搴旂瓟锛�)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd10.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd10.java index 33d2bff..9b61501 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd10.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd10.java @@ -29,18 +29,17 @@ return ComCode + " *...*[Enter](璁剧疆鎺у埗鍣ㄥ湴鍧�)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd21.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd21.java index 21375ee..2b5da21 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd21.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd21.java @@ -38,18 +38,17 @@ return ComCode + " *...* *...*[Enter](璁剧疆鏈嶅姟绔疘P鍜岀鍙�)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd37.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd37.java index 206d721..e6bd0ef 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd37.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd37.java @@ -31,18 +31,17 @@ return ComCode + " *...*[Enter](璁剧疆娴侀噺閲囬泦鍛ㄦ湡)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd3C.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd3C.java index ce36e93..77d5e43 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd3C.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd3C.java @@ -32,18 +32,17 @@ return ComCode + " *...*[Enter](璁剧疆鑷姤鍛ㄦ湡)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd50.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd50.java index f37e7ac..140dd59 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd50.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd50.java @@ -19,18 +19,17 @@ return ComCode + "[Enter](鏌ヨ鎺у埗鍣ㄥ湴鍧�)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd65.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd65.java index 4e977ad..55feee7 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd65.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd65.java @@ -19,18 +19,17 @@ return ComCode + "[Enter](鏌ヨ鑷姤鍛ㄦ湡)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd66.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd66.java index 66a9275..5a0b58c 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd66.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd66.java @@ -19,18 +19,17 @@ return ComCode + "[Enter](鏌ヨ鏈嶅姟绔疘P鍜岀鍙�)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd67.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd67.java index b5754f8..5391680 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd67.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd67.java @@ -19,18 +19,17 @@ return ComCode + "[Enter](鏌ヨ鏌ヨ娴侀噺閲囬泦鍛ㄦ湡)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd91.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd91.java index 7bba4d7..251796a 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd91.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd91.java @@ -19,18 +19,17 @@ return ComCode + "[Enter](娓呯┖鍘嗗彶璁板綍)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd92.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd92.java index cc9dd02..60a20c3 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd92.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd92.java @@ -24,18 +24,17 @@ return ComCode + "[Enter](骞冲彴杩滅▼寮�鍚榾闂�)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { - byte[] bytes = bs(rtuAddr,params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + byte[] bytes = bs(rtuAddr, params) ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd93.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd93.java index b011e30..b38ad99 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd93.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Cd93.java @@ -24,18 +24,17 @@ return ComCode + "[Enter](骞冲彴杩滅▼鍏抽棴闃�闂�)" ; } /** - * 鏋勯�犲績璺虫暟鎹� - * @return 瀛楄妭鏁扮粍 + * 鏋勯�犲懡浠ゆ暟鎹紙鍗佸叚杩涘埗锛� + * @return 瀛楃涓� * @throws Exception 寮傚父 */ public String hex(String rtuAddr, String ...params) throws Exception { byte[] bytes = bs(rtuAddr, params) ; - String hex = ByteUtil.bytes2Hex(bytes, false) ; - return hex ; + return ByteUtil.bytes2Hex(bytes, false) ; } /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犲懡浠ゆ暟鎹紙瀛楄妭鏁扮粍锛� * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Deal.java b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Deal.java index 29184d3..ae53541 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Deal.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/java/com/dy/pipirrComCreator/p206V1/P206V1Deal.java @@ -41,20 +41,6 @@ } } - private static void cd02(List<String> comList, PrintWriter prtWrt)throws Exception{ - P206V1Cd cd = new P206V1Cd02() ; - if(comList.size() > 1){ - String p = comList.get(1); - if(p.equals("-h")){ - prtWrt.println(cd.helpInfo()); - }else{ - Command.outNoIdentify(prtWrt) ; - } - }else{ - Command.out(cd.hex(ServerProperties.rtuAddr), prtWrt); - } - } - private static void cdWithoutParam(P206V1Cd cd, List<String> comList, PrintWriter prtWrt)throws Exception{ if(comList.size() > 1){ String p = comList.get(1); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/resources/application.yml b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/resources/application.yml index 20145fa..52c006c 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/resources/application.yml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-com-creator/src/main/resources/application.yml @@ -7,12 +7,5 @@ devtools: livereload: enabled: false - -#绂佽緭鍑簊pringboot鏍囧織淇℃伅 -management: - endpoints: - info: - enabled: false - web: - exposure: - include: "*" \ No newline at end of file + main: + banner-mode: off #Spring Boot鍚姩鏃剁杈撳嚭Banner diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java index 2e20a49..02fcd72 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/PipIrrMwSimulateRtuApplication.java @@ -22,10 +22,11 @@ "com.dy.common.aop..*", "com.dy.common.apiDoc..*", "com.dy.common.multiDataSource..*", - "com.dy.common.mybatis..*", "com.dy.common.singleDataSource..*", + "com.dy.common.mybatis..*", "com.dy.common.webFilter..*", "com.dy.common.webListener..*", + "com.dy.pipIrrGlobal.config..*", "com.dy.pipIrrGlobal.webCtrls..*" }) } 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 3876932..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 @@ -30,7 +30,16 @@ } } 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); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd50.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd50.java new file mode 100644 index 0000000..f381f6c --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd50.java @@ -0,0 +1,55 @@ +package com.dy.simRtu.tcpClient.upData; + +import com.dy.common.mw.protocol.p206V1.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; +import com.dy.simRtu.ServerProperties; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/5/8 11:14 + * @Description + */ +public class UpCd50 extends UpData { + + private static final Logger log = LogManager.getLogger(UpCd66.class); + + public static void upData() { + try { + if (UpData.session != null && UpData.session.isConnected()) { + byte[] bs = createData(ServerProperties.rtuAddr); + UpData.upSend(bs); + } else { + log.error("鏈繛鎺ラ�氫俊涓棿浠讹紝涓嶈兘鍙戦�佹暟鎹�"); + } + } catch (Exception e) { + log.error("鍚戦�氫俊涓棿浠跺彂閫佹暟鎹骇鐢熷紓甯�", e); + } + } + + + /** + * 鏋勯�犳暟鎹� + * + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + private static byte[] createData(String rtuAddr) throws Exception { + byte[] bytes = creatHead(rtuAddr, "50",(byte)0xB0); + + byte[] bs = new byte[6]; + GlCreate.createRtuAddr4P206(rtuAddr, bs, 0); + + bytes = ByteUtil.bytesMerge(bytes, bs); + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail4P206(bytes);//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail); + + return bytes; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd66.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd66.java new file mode 100644 index 0000000..b606176 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd66.java @@ -0,0 +1,60 @@ +package com.dy.simRtu.tcpClient.upData; + +import com.dy.common.mw.protocol.p206V1.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; +import com.dy.simRtu.ServerProperties; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/5/8 8:29 + * @Description + */ +public class UpCd66 extends UpData { + + private static final Logger log = LogManager.getLogger(UpCd66.class); + + public static void upData() { + try { + if (UpData.session != null && UpData.session.isConnected()) { + byte[] bs = createData(ServerProperties.rtuAddr); + UpData.upSend(bs); + } else { + log.error("鏈繛鎺ラ�氫俊涓棿浠讹紝涓嶈兘鍙戦�佹暟鎹�"); + } + } catch (Exception e) { + log.error("鍚戦�氫俊涓棿浠跺彂閫佹暟鎹骇鐢熷紓甯�", e); + } + } + + + /** + * 鏋勯�犳暟鎹� + * + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + private static byte[] createData(String rtuAddr) throws Exception { + byte[] bytes = creatHead(rtuAddr, "66",(byte)0xB0); + + byte[] bs = new byte[6]; + bs[0] = (byte) 100; + bs[1] = (byte) 101; + bs[2] = (byte) 102; + bs[3] = (byte) 103; + + ByteUtilUnsigned.short2Bytes_BE(bs,1234, 4); + + bytes = ByteUtil.bytesMerge(bytes, bs); + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail4P206(bytes);//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail); + + return bytes; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd91.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd91.java new file mode 100644 index 0000000..ab8164a --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd91.java @@ -0,0 +1,49 @@ +package com.dy.simRtu.tcpClient.upData; + +import com.dy.common.mw.protocol.p206V1.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.simRtu.ServerProperties; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/5/8 10:58 + * @Description + */ +public class UpCd91 extends UpData { + + private static final Logger log = LogManager.getLogger(UpCd91.class); + + public static void upData() { + try { + if (UpData.session != null && UpData.session.isConnected()) { + byte[] bs = createData(ServerProperties.rtuAddr); + UpData.upSend(bs); + } else { + log.error("鏈繛鎺ラ�氫俊涓棿浠讹紝涓嶈兘鍙戦�佹暟鎹�"); + } + } catch (Exception e) { + log.error("鍚戦�氫俊涓棿浠跺彂閫佹暟鎹骇鐢熷紓甯�", e); + } + } + + + /** + * 鏋勯�犳暟鎹� + * + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + private static byte[] createData(String rtuAddr) throws Exception { + byte[] bytes = creatHead(rtuAddr, "91",(byte)0xB0); + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail4P206(bytes);//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail); + + return bytes; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd92.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd92.java new file mode 100644 index 0000000..3e39cdf --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpCd92.java @@ -0,0 +1,53 @@ +package com.dy.simRtu.tcpClient.upData; + +import com.dy.common.mw.protocol.p206V1.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.simRtu.ServerProperties; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/5/7 15:05 + * @Description + */ +public class UpCd92 extends UpData { + + private static final Logger log = LogManager.getLogger(UpCd92.class); + + public static void upData() { + try { + if (UpData.session != null && UpData.session.isConnected()) { + byte[] bs = createData(ServerProperties.rtuAddr); + UpData.upSend(bs); + } else { + log.error("鏈繛鎺ラ�氫俊涓棿浠讹紝涓嶈兘鍙戦�佹暟鎹�"); + } + } catch (Exception e) { + log.error("鍚戦�氫俊涓棿浠跺彂閫佹暟鎹骇鐢熷紓甯�", e); + } + } + + + /** + * 鏋勯�犳暟鎹� + * + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + private static byte[] createData(String rtuAddr) throws Exception { + byte[] bytes = creatHead(rtuAddr, "92",(byte)0xB0); + + byte[] bs = new byte[1]; + bs[0] = (byte) 0xAA;//0xAA琛ㄧず鍛戒护鎺ユ敹鎴愬姛锛�0x00琛ㄧず鍛戒护涓嶈兘鎵ц + bytes = ByteUtil.bytesMerge(bytes, bs); + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail4P206(bytes);//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail); + + return bytes; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/PipIrrMwSimulateRtu202404Application.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/PipIrrMwSimulateRtu202404Application.java index 5c994c3..e65404c 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/PipIrrMwSimulateRtu202404Application.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu202404/src/main/java/com/dy/simRtu202404/PipIrrMwSimulateRtu202404Application.java @@ -23,10 +23,11 @@ "com.dy.common.aop..*", "com.dy.common.apiDoc..*", "com.dy.common.multiDataSource..*", - "com.dy.common.mybatis..*", "com.dy.common.singleDataSource..*", + "com.dy.common.mybatis..*", "com.dy.common.webFilter..*", "com.dy.common.webListener..*", + "com.dy.pipIrrGlobal.config..*", "com.dy.pipIrrGlobal.webCtrls..*" }) } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java index 9f1bb1c..0fa14ab 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java @@ -27,20 +27,19 @@ public class CommandResultCtrl extends ComSupport { @PostMapping(path = "receive", consumes = MediaType.APPLICATION_JSON_VALUE) public void receive(@RequestBody Data data) { - JSONObject job_data = (JSONObject) JSON.toJSON(data); - //String job_dataS = job_data.toJSONString(); - JSONObject job_subData = job_data.getJSONObject("subData").getJSONObject("subData"); + JSONObject protocolData = data == null ? null : (JSONObject)data.subData ; //鍗忚鏁版嵁 + JSONObject codeData = protocolData == null ? null : (protocolData.getJSONObject("subData")) ; //鍗忚鍔熻兘鐮佹暟鎹� JSONObject job_response = new JSONObject(); - job_response.put("data", job_subData); - job_response.put("commandCode", job_data.getString("code")); - job_response.put("commandId", job_data.getString("commandId")); + job_response.put("data", codeData==null?protocolData:codeData); + job_response.put("commandCode", data.code); + job_response.put("commandId", data.commandId); - CompletableFuture<JSONObject> feature = (CompletableFuture<JSONObject>) ComResultWait.get(job_data.getLong("commandId")); + CompletableFuture<JSONObject> feature = (CompletableFuture<JSONObject>) ComResultWait.get(Long.parseLong(data.commandId)); if(feature != null) { feature.complete(job_response); - }//else{ - // feature.complete(new JSONObject()); - //} + }else{ + //瓒呮椂锛宖eature琚竻闄や簡 + } } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java index 2c87d06..96d3d20 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java @@ -33,13 +33,14 @@ * @Date: 2025/4/30 16:08 * @Description */ - @Slf4j @Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护") @RestController @RequestMapping(path = "comTrans") @RequiredArgsConstructor public class ComTransCtrl { + + private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛"; @Autowired private Environment env ; @@ -112,14 +113,9 @@ try{ //绛夊緟閫氫俊涓棿浠堕�氱煡鎺у埗鍣ㄦ墽琛屽懡浠や笂琛屾暟鎹紙鍛戒护缁撴灉锛� JSONObject resultData = feature.get(waitMwRtnResultTimeout, TimeUnit.SECONDS); - Long commandId = resultData.getLong("commandId"); - if (commandId.equals(comId)) { - return BaseResponseUtils.buildSuccess(resultData); - } else { - return BaseResponseUtils.buildSuccess("鎺у埗鍣ㄦ墽琛屽懡浠ゆ垚鍔�"); - } + return BaseResponseUtils.buildSuccess(this.createRtnMsg(dto.comCode, resultData)); }catch (Exception e){ - return BaseResponseUtils.buildFail("绛夊緟閫氫俊涓棿浠堕�氱煡鍛戒护缁撴灉瓒呮椂鎴栧紓甯�"); + return BaseResponseUtils.buildFail("绛夊緟閫氫俊涓棿浠堕�氱煡鍛戒护缁撴灉瓒呮椂"); } } }catch (Exception e){ @@ -153,4 +149,114 @@ return null ; } + private String createRtnMsg(String code, JSONObject resultData){ + String msg; + if(resultData != null){ + JSONObject codeData = resultData.getJSONObject("data") ; + switch (code){ + case "3C": msg = createCd3CRtnMsg(codeData); break; + case "10": msg = createCd10RtnMsg(codeData); break; + case "21": msg = createCd21RtnMsg(codeData); break; + case "37": msg = createCd37RtnMsg(codeData); break; + case "50": msg = createCd50RtnMsg(codeData); break; + case "65": msg = createCd65RtnMsg(codeData); break; + case "66": msg = createCd66RtnMsg(codeData); break; + case "67": msg = createCd67RtnMsg(codeData); break; + case "91": msg = createCd91RtnMsg(codeData); break; + case "92": msg = createCd92RtnMsg(codeData); break; + case "93": msg = createCd93RtnMsg(codeData); break; + default: msg = RtuSuccessMsg; break; + } + }else{ + msg = RtuSuccessMsg ; + } + return msg; + } + private String createCd3CRtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else{ + Integer minute = codeData.getInteger("minute"); + return "璁剧疆鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓" ; + } + } + private String createCd10RtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else { + String newRtuAddr = codeData.getString("newRtuAddr"); + return "璁剧疆鎴愬姛锛屾帶鍒跺櫒鍦板潃锛�" + newRtuAddr; + } + } + private String createCd21RtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else { + String ip = codeData.getString("ip"); + Integer port = codeData.getInteger("port"); + return "璁剧疆鎴愬姛锛孖P鍦板潃锛�" + ip + "锛岀鍙e彿锛�" + port; + } + } + private String createCd37RtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else { + Integer second = codeData.getInteger("second"); + return "璁剧疆鎴愬姛锛屾祦閲忛噰闆嗗懆鏈燂細" + second + "绉�"; + } + } + private String createCd50RtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else { + String rtuAddr = codeData.getString("rtuAddr"); + return "鏌ヨ鎴愬姛锛屾帶鍒跺櫒鍦板潃锛�" + rtuAddr; + } + } + private String createCd65RtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else { + Integer minute = codeData.getInteger("minute"); + return "鏌ヨ鎴愬姛锛岃嚜鎶ュ懆鏈燂細" + minute + "鍒嗛挓"; + } + } + private String createCd66RtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else { + String ip = codeData.getString("ip"); + Integer port = codeData.getInteger("port"); + return "鏌ヨ鎴愬姛锛孖P鍦板潃锛�" + ip + "锛岀鍙e彿锛�" + port; + } + } + private String createCd67RtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else { + Integer second = codeData.getInteger("second"); + return "鏌ヨ鎴愬姛锛屾祦閲忛噰闆嗗懆鏈燂細" + second + "绉�"; + } + } + private String createCd91RtnMsg(JSONObject codeData){ + //姝ゅ懡浠ょ殑codeData鏄痭ull + return "鎺у埗鍣ㄦ竻绌哄巻鍙茶褰曟垚鍔�" ; + } + private String createCd92RtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else { + Boolean success = codeData.getBoolean("success"); + return success ? "鎺у埗鍣ㄥ凡鎵ц閬ユ帶寮�闃�鍛戒护" : "鎺у埗鍣ㄦ嫆缁濇墽琛岄仴鎺у紑闃�鍛戒护"; + } + } + private String createCd93RtnMsg(JSONObject codeData){ + if(codeData == null){ + return RtuSuccessMsg ; + }else { + Boolean success = codeData.getBoolean("success"); + return success ? "鎺у埗鍣ㄥ凡鎵ц閬ユ帶鍏抽榾鍛戒护" : "鎺у埗鍣ㄦ嫆缁濇墽琛岄仴鎺у叧闃�鍛戒护"; + } + } + } -- Gitblit v1.8.0