From d19833d058eb3995e35cb9d45fb831169053eee4 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 16 七月 2024 22:21:24 +0800 Subject: [PATCH] 1、完善代码; 2、修改上行命令结果匹配命令的bug; --- pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpConstant.java | 15 ++- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java | 5 + pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java | 6 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java | 3 pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/ComSupportP206V1_0_0.java | 6 + pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java | 6 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandCache.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java | 17 ++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml | 6 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionToRtu.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuUpTask.java | 35 ++++++-- pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java | 19 +--- pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java | 89 ++++++++++++++++++++++ 14 files changed, 172 insertions(+), 41 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java index 01ef2c9..cedbfa8 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java @@ -138,6 +138,21 @@ if(ServerProperties.isLowPower == null){ ServerProperties.isLowPower = false ; } + + String onlyDealRtus = conf.getSetAttrTxt(doc, "config.base", "onlyDealRtus", null, true, null) ; + if(onlyDealRtus == null || onlyDealRtus.trim().equals("")){ + ServerProperties.onlyDealRtusTest = false ; + }else{ + onlyDealRtus = onlyDealRtus.replaceAll("锛�", ",") ; + onlyDealRtus = onlyDealRtus.replaceAll(" ", "") ; + ServerProperties.onlyDealRtus = onlyDealRtus.split(",") ; + if(ServerProperties.onlyDealRtus != null && ServerProperties.onlyDealRtus.length > 0){ + ServerProperties.onlyDealRtusTest = true ; + }else{ + ServerProperties.onlyDealRtusTest = false ; + } + } + //鍦ㄦ敮鎸佸閫氫俊鍗忚鏃讹紝鍙湁RTU涓婄嚎浜嗭紝鎵嶈兘璇嗗埆鍑鸿RTU瀹為檯鐢ㄧ殑閫氫俊鍗忚锛岃繘鑰岀敤姝ゅ崗璁В鏋愪笂琛屾暟鎹強鏋勯�犱笅琛屽懡浠ゃ�� //濡傛灉RTU鏈浘涓婄嚎锛堥�氫俊涓棿浠跺惎鍔ㄥ悗璇TU鏈浘涓婄嚎锛夛紝閭d箞鍦ㄥ悜瀹冨彂閫佷笅琛屽懡浠ゆ椂锛屼笉鑳藉垽鏂嚭鍏堕噰鐢ㄧ殑鍗忚锛屼篃涓嶈兘鏋勯�犲懡浠わ紝灏ゅ叾鏄綆鍔熻�楁儏鍐典笅锛屼笉涓婄嚎鏄甯哥幇璞°�� // 褰撳彧鏈変竴涓崗璁儏鍐典笅锛屽湪RTU鏈浘涓婄嚎鏃讹紝涔熻兘鐢ㄦ鍗忚鏋勯�犲懡浠ゅ苟缂撳瓨涓嬫潵锛屽挨鍏堕�傚悎浣庡姛鑰楁儏鍐点�� @@ -151,7 +166,7 @@ //閽堝涓�涓猂TU锛屼笅鍙戝懡浠ょ殑鏃堕棿闂撮殧 ServerProperties.commandSendInterval = conf.getSetAttrPlusInt(doc, "config.base", "commandSendInterval", null, 1, 40, null) * 1000L ; //鍛戒护宸茬粡鍙戦�佽揪鏈�澶ф鏁帮紝浠嶆湭鏀跺埌鍛戒护缁撴灉锛岄渶瑕佸湪缂撳瓨缁х画绛夊緟锛屽叾绛夊緟鏈�澶ф椂闀� - ServerProperties.cachWaitResultTimeout = conf.getSetAttrPlusInt(doc, "config.base", "cachWaitResultTimeout", null, 10, 60, null) * 1000L ; + ServerProperties.cachWaitResultTimeout = conf.getSetAttrPlusInt(doc, "config.base", "cachWaitResultTimeout", null, 10, 360, null) * 1000L ; //涓嶅湪绾跨紦瀛樼殑鍛戒护鏈�澶х紦瀛樻椂闀� ServerProperties.offLineCachTimeout = conf.getSetAttrPlusInt(doc, "config.base", "offLineCachTimeout", null, 15, 172800, null) * 1000L ; //TCP涓婅鏁版嵁鏃跺埢缂撳瓨鏃堕暱锛屽綋杈惧埌鏃堕暱鏃讹紝TCP涓婅鏁版嵁鏃跺埢琚竻绌猴紝閲囩敤TCP涓婅鏁版嵁鏃跺埢鐩殑鏄紝闃绘涓婃暟鎹悓鏃朵笅鍙戞暟鎹紝鍥犱负RTU澶勭悊涓嶈繃鏉� diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java index 19e02ec..e225ebd 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java @@ -6,6 +6,11 @@ public static String orgTag = "ym" ; //鏄惁涓轰綆鍔熻�� public static Boolean isLowPower = false ; + //鍙鐞嗘寚瀹歊TU鍦板潃璁惧锛屽叾浠栬澶囨暟鎹涪寮冿紝澶氫釜RTU鍦板潃鐢ㄨ嫳鏂囬�楀彿闅斿紑锛屽鏋滈厤缃┖涓诧紙鍗虫棤IMEI鍙凤級锛屽垯鎺ユ敹鍏ㄩ儴姘磋〃鏁版嵁锛岃缃鐩殑鏄拡瀵规煇涓按琛ㄨ繘琛岃皟璇� + public static Boolean onlyDealRtusTest = false ; + public static String[] onlyDealRtus ; + + //鍦ㄦ敮鎸佸閫氫俊鍗忚鏃讹紝鍙湁RTU涓婄嚎浜嗭紝鎵嶈兘璇嗗埆鍑鸿RTU瀹為檯鐢ㄧ殑閫氫俊鍗忚锛岃繘鑰岀敤姝ゅ崗璁В鏋愪笂琛屾暟鎹強鏋勯�犱笅琛屽懡浠ゃ�� //濡傛灉RTU鏈浘涓婄嚎锛堥�氫俊涓棿浠跺惎鍔ㄥ悗璇TU鏈浘涓婄嚎锛夛紝閭d箞鍦ㄥ悜瀹冨彂閫佷笅琛屽懡浠ゆ椂锛屼笉鑳藉垽鏂嚭鍏堕噰鐢ㄧ殑鍗忚锛屼篃涓嶈兘鏋勯�犲懡浠わ紝灏ゅ叾鏄綆鍔熻�楁儏鍐典笅锛屼笉涓婄嚎鏄甯哥幇璞°�� // 褰撳彧鏈変竴涓崗璁儏鍐典笅锛屽湪RTU鏈浘涓婄嚎鏃讹紝涔熻兘鐢ㄦ鍗忚鏋勯�犲懡浠ゅ苟缂撳瓨涓嬫潵锛屽挨鍏堕�傚悎浣庡姛鑰楁儏鍐点�� diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java index 95a86a8..4697e4a 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java @@ -34,6 +34,7 @@ this.nextDealRtuData(false, resFromRtu); this.nextDealRtuComResult(resFromRtu); }else{ + log.error("鍖归厤鍛戒护澶辫触锛屽姛鑳界爜鏄細" + ((MidResultFromRtu) result).upCode ); this.nextDealRtuData(false, resFromRtu); //鏈尮閰嶅埌涓嬪彂鐨勫懡浠わ紝鍛戒护鍦ㄧ紦瀛樺洜瓒呮椂琚竻闄や簡 RtuStatusDealer.commandFail2Success(resFromRtu.rtuAddr) ; @@ -64,7 +65,9 @@ */ private void nextDealRtuComResult(MidResultFromRtu resFromRtu){ try{ + log.info("寮�濮嬫妸鍛戒护缁撴灉鏀惧叆缂撲腑"); RtuComResultCache.cacheRtuComResult(new RtuComResultNode(resFromRtu.data)); + log.info("缁撴潫鎶婂懡浠ょ粨鏋滄斁鍏ョ紦涓�"); }catch(Exception e){ log.error(e.getMessage(), e); } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionToRtu.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionToRtu.java index 8d906fc..c112773 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionToRtu.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionToRtu.java @@ -16,7 +16,7 @@ try { MidResultToRtu resToRtu = (MidResultToRtu)result ; TcpDownCommandCache.cacheCommand(resToRtu); - log.info("涓嬭鍛戒护(toRtu)" + resToRtu.downCode + "涓棿缁撴灉宸茬粡鏀惧叆涓嬭鍛戒护缂撳瓨涓�"); + log.info("涓嬭鍛戒护(toRtu锛宨d=" + resToRtu.commandId + ")" + resToRtu.downCode + "涓棿鏁版嵁(MidResult)宸茬粡鏀惧叆涓嬭鍛戒护缂撳瓨涓�"); } catch (Exception e) { log.error(e); } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandCache.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandCache.java index 54d5ecd..b4fc611 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandCache.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandCache.java @@ -62,7 +62,7 @@ obj.onceReceivedResult = true ;//鏍囪瘑宸茬粡鏀跺埌鍛戒护缁撴灉 return res ; }else{ - node = node.pre ; + node = node.next ; } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuUpTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuUpTask.java index 167f7d7..bedf45e 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuUpTask.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuUpTask.java @@ -78,18 +78,33 @@ } } } - if(rtuAddr != null){ - if(protocolName == null){ - protocolName = TcpSessionCache.getTcpProtocolName(rtuAddr) ; + boolean toDeal = true ; + if(ServerProperties.onlyDealRtusTest){ + boolean find = false ; + for(String testRtu : ServerProperties.onlyDealRtus){ + if(testRtu.equals(rtuAddr)){ + find = true ; + break ; + } + } + if(!find){ + //涓嶅湪澶勭悊鑼冨洿鍐� + toDeal = false ; + } } - - //璁剧疆鏀跺埌鏁版嵁鏃跺埢 - TcpSessionCache.cacheUpDataTime(rtuAddr); - - if(protocolName != null){ - //瀵逛笂琛屾暟鎹繘琛屽鐞� - this.dealUpData(session, rtuAddr, protocolName, isOnLine, upBuf, upHex) ; + if(toDeal){ + if(protocolName == null){ + protocolName = TcpSessionCache.getTcpProtocolName(rtuAddr) ; + } + + //璁剧疆鏀跺埌鏁版嵁鏃跺埢 + TcpSessionCache.cacheUpDataTime(rtuAddr); + + if(protocolName != null){ + //瀵逛笂琛屾暟鎹繘琛屽鐞� + this.dealUpData(session, rtuAddr, protocolName, isOnLine, upBuf, upHex) ; + } } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java index 10534e5..58b046e 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java @@ -2,7 +2,8 @@ import com.dy.common.mw.protocol.Command; import com.dy.common.mw.protocol.Data; -import lombok.extern.slf4j.Slf4j; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; import org.springframework.http.converter.StringHttpMessageConverter; @@ -18,10 +19,11 @@ * @LastEditTime 2023/12/21 20:28 * @Description */ -@Slf4j @Component() public class CommandResultDeal { + private static final Logger log = LogManager.getLogger(CommandResultDeal.class.getName()); + private RestTemplate restTemplate; @Autowired diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml index 87ad035..bddaf88 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml @@ -5,6 +5,7 @@ 鍩烘湰閰嶇疆 orgTag 鏈烘瀯tag(瀵瑰簲鏈烘瀯tag,鍜屾暟鎹簮鍚庣紑) isLowPower: 鏄惁涓轰綆鍔熻�� + onlyDealRtus:鍙鐞嗘寚瀹歊TU鍦板潃璁惧锛屽叾浠栬澶囨暟鎹涪寮冿紝澶氫釜RTU鍦板潃鐢ㄨ嫳鏂囬�楀彿闅斿紑锛� onlyOneProtocol锛氬湪鏀寔澶氶�氫俊鍗忚鏃讹紝鍙湁RTU涓婄嚎浜嗭紝鎵嶈兘璇嗗埆鍑鸿RTU瀹為檯鐢ㄧ殑閫氫俊鍗忚锛岃繘鑰岀敤姝ゅ崗璁В鏋愪笂琛屾暟鎹強鏋勯�犱笅琛屽懡浠ゃ�� 濡傛灉RTU鏈浘涓婄嚎锛堥�氫俊涓棿浠跺惎鍔ㄥ悗璇TU鏈浘涓婄嚎锛夛紝閭d箞鍦ㄥ悜瀹冨彂閫佷笅琛屽懡浠ゆ椂锛屼笉鑳藉垽鏂嚭鍏堕噰鐢ㄧ殑鍗忚锛屼篃涓嶈兘鏋勯�犲懡浠わ紝灏ゅ叾鏄綆鍔熻�楁儏鍐典笅锛屼笉涓婄嚎鏄甯哥幇璞°�� 褰撳彧鏈変竴涓崗璁儏鍐典笅锛屽湪RTU鏈浘涓婄嚎鏃讹紝涔熻兘鐢ㄦ鍗忚鏋勯�犲懡浠ゅ苟缂撳瓨涓嬫潵锛屽挨鍏堕�傚悎浣庡姛鑰楁儏鍐点�� @@ -22,10 +23,11 @@ <base orgTag="ym" isLowPower="false" - onlyOneProtocol="true" + onlyDealRtus="532328059995" + onlyOneProtocol="false" downComandMaxResendTimes="1" commandSendInterval="2" - cachWaitResultTimeout="60" + cachWaitResultTimeout="120" offLineCachTimeout="86400" lastUpDataTimeLive="500" dbDataIdSuffix="0" diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java index 4550f5a..6c9ad33 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/p206V1_0_0/RtuP206V1_0_0Ctrl.java @@ -3,6 +3,7 @@ import com.dy.common.webUtil.BaseResponse; import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd83Close; import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd83Open; +import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpCd84; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -22,9 +23,11 @@ @GetMapping(path = "test") public BaseResponse<String> test(String com) { if(com.equals("83Open")){ - this.cd83Open() ; + UpCd83Open.upCd83Data(); }else if(com.equals("83Close")){ - this.cd83Close() ; + UpCd83Close.upCd83Data(); + }else if(com.equals("84")){ + UpCd84.upCd84Data(); } BaseResponse<String> rt = new BaseResponse<String>() ; rt.setCode("001") ; @@ -32,18 +35,6 @@ rt.setSuccess(true) ; return rt ; } - - - private void cd83Open(){ - UpCd83Open.upCd83Data(); - } - - - private void cd83Close(){ - UpCd83Close.upCd83Data(); - } - - } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java index 9a82f4c..05a43a0 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Close.java @@ -2,7 +2,6 @@ import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; import com.dy.common.util.ByteUtil; -import com.dy.common.util.ByteUtilUnsigned; import com.dy.pipIrrMwTestRtu.ServerProperties; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -31,13 +30,14 @@ /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犱笂琛屾暟鎹� * * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 */ private static byte[] createData(String rtuAddr) throws Exception { - UpConstant.closeValve(); + UpConstant.addValve();//璋冩暣娴侀噺 + byte[] bytes = creatHead(rtuAddr, "83", (byte)0xB0); byte[] bs = new byte[1] ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java index 9273b94..d2dad7c 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd83Open.java @@ -31,7 +31,7 @@ /** - * 鏋勯�犲績璺虫暟鎹� + * 鏋勯�犱笂琛屾暟鎹� * * @return 瀛楄妭鏁扮粍 * @throws Exception 寮傚父 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java new file mode 100644 index 0000000..c015151 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpCd84.java @@ -0,0 +1,89 @@ +package com.dy.pipIrrMwTestRtu.tcpClient.upData; + +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.pipIrrMwTestRtu.ServerProperties; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2024/7/16 19:32 + * @Description + */ +public class UpCd84 extends UpData { + + private static final Logger log = LogManager.getLogger(UpCd84.class); + + public static void upCd84Data() { + 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 { + UpConstant.addValve();//璋冩暣娴侀噺 + + byte[] bytes = creatHead(rtuAddr, "84", (byte)0xB0); + + byte[] bs = new byte[1] ; + bs[0] = (byte)0x01 ;//鍒峰崱寮�闃� + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[1] ; + bs[0] = (byte)0x01 ;//鍗$被鍨� 鐢ㄦ埛鍗� + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[4] ;//IC鍗″湴鍧� + ByteUtil.hex2Bytes_LE(ServerProperties.icCardAddr, bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[8] ;//IC鍗$紪鍙� + GlCreate.createIcCardNo(ServerProperties.icCardNo, bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[4] ;//鐢ㄦ按鎴蜂綑棰� + ByteUtil.int2BCD_LE(UpConstant.remainMoney, bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[5] ;//绱娴侀噺 + ByteUtil.int2BCD_LE(UpConstant.totalAmount, bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[5] ;//鐬椂娴侀噺 + ByteUtil.int2BCD_LE(UpConstant.instantAmount, bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[]{0x00, 0x00} ;//鎶ヨ + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[]{0x00, 0x00} ;//鐘舵�� + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + bs = new byte[6] ;//鎺у埗鍣ㄦ椂閽� + GlCreate.createTp(bs, 0); + bytes = ByteUtil.bytesMerge(bytes, bs) ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpConstant.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpConstant.java index ce2ba66..6d4213f 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpConstant.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/upData/UpConstant.java @@ -13,15 +13,16 @@ private static String openValveDt ; private static String closeValveDt ; + public static Integer instantAmount = 10123;//鐬椂娴侀噺10.000 public static Integer totalAmount = 1234567;//瀹炰负12345.67 public static Integer remainMoney = 56789;//瀹炰负567.89 - public static Integer thisAmount = 1000;//瀹炰负10.00 - public static Integer thisMoney = 1000;//瀹炰负10.00 + public static Integer thisAmount = 0;// + public static Integer thisMoney = 0;// public static Integer thisTime = 10;//瀹炰负10 public static Integer thisPrice = 100;//瀹炰负1.00 - public static Integer perAmount = thisAmount; - public static Integer perMoney = thisMoney; + public static Integer perAmount = 10; + public static Integer perMoney = 0; public static void clearOpenValveDt(){ @@ -40,7 +41,11 @@ return closeValveDt ; } - public static void closeValve(){ + public static void addValve(){ + perMoney = perAmount / (thisPrice / 100) ; + thisAmount += perAmount ; + thisMoney += perMoney ; + totalAmount = totalAmount + perAmount ; remainMoney = remainMoney - perMoney ; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/ComSupportP206V1_0_0.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/ComSupportP206V1_0_0.java index b5dd099..6b98168 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/ComSupportP206V1_0_0.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/ComSupportP206V1_0_0.java @@ -20,8 +20,12 @@ public class ComSupportP206V1_0_0 { protected static String mwUrlTest = "http://127.0.0.1:8070/rtuMw/com/test" ; protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ; - protected static String rtuAddr = "532328059995" ; + +// protected static String mwUrlTest = "http://8.140.179.55:8071/rtuMw/com/test" ; +// protected static String mwUrlSendCom = "http://8.140.179.55:8071/rtuMw/com/send" ; +// protected static String rtuAddr = "620202000066" ; + protected static String rtuResultSendWebUrl = "http://127.0.0.1:65535/test/comRes/receive" ; protected static String vsIcCardNo = "61181622830147822" ;//铏氭嫙IC鍗$紪鍙凤紙鐢ㄦ埛铏氭嫙鍗″簭鍒楀彿锛� -- Gitblit v1.8.0