From 7d885c1d4c86f40927af50e6e7bfa13aac0c2180 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 21 十二月 2023 21:47:15 +0800 Subject: [PATCH] 1、common模块优化代码,Command命令中增加RTU命令结果返回webRul; 2、通信中间件增加了接收http下发RTU命令和内部命令的Controler; 3、RTU模拟器和控制器增加了上报完数据是否关闭TCP连接的控制。 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/MidResultActionFromRtu.java | 25 ++++++++++++++++++++----- 1 files changed, 20 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/MidResultActionFromRtu.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/MidResultActionFromRtu.java index 40747c2..b3ac066 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/MidResultActionFromRtu.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/MidResultActionFromRtu.java @@ -1,5 +1,7 @@ package com.dy.aceMw.server.forTcp; +import com.dy.aceMw.server.rtuData.RtuComResultCache; +import com.dy.aceMw.server.rtuData.RtuComResultNode; import com.dy.aceMw.server.rtuData.RtuDataNode; import com.dy.aceMw.server.rtuData.RtuDataCache; import org.apache.logging.log4j.LogManager; @@ -28,16 +30,17 @@ MidResultToRtu resToRtu = TcpDownCommandCache.matchFromHead(resFromRtu) ; if(resToRtu != null){ //鍖归厤鍒颁笅鍙戠殑鍛戒护 - resFromRtu.setCommandId(resToRtu.commandId) ; - this.nextDeal(false, resFromRtu); + resFromRtu.matchedCommand(resToRtu.rtuResultSendWebUrl, resToRtu.commandId) ; + this.nextDealRtuData(false, resFromRtu); + this.nextDealRtuComResult(resFromRtu); }else{ - this.nextDeal(false, resFromRtu); + this.nextDealRtuData(false, resFromRtu); //鏈尮閰嶅埌涓嬪彂鐨勫懡浠わ紝鍛戒护鍦ㄧ紦瀛樺洜瓒呮椂琚竻闄や簡 RtuStatusDealer.commandFail2Success(resFromRtu.rtuAddr) ; } }else{ //涓诲姩涓婃姤鏁版嵁 - this.nextDeal(true, resFromRtu); + this.nextDealRtuData(true, resFromRtu); } } } @@ -47,11 +50,23 @@ * @param reportOrResponse_trueOrFalse * @param resFromRtu */ - private void nextDeal(boolean reportOrResponse_trueOrFalse, MidResultFromRtu resFromRtu){ + private void nextDealRtuData(boolean reportOrResponse_trueOrFalse, MidResultFromRtu resFromRtu){ try{ RtuDataCache.cacheRtuUpData(reportOrResponse_trueOrFalse, new RtuDataNode(resFromRtu.data)); }catch(Exception e){ log.error(e.getMessage(), e); } } + + /** + * 杩涘叆鍗曠嚎绋嬬幆澧冧腑杩愯 + * @param resFromRtu + */ + private void nextDealRtuComResult(MidResultFromRtu resFromRtu){ + try{ + RtuComResultCache.cacheRtuComResult(new RtuComResultNode(resFromRtu.data)); + }catch(Exception e){ + log.error(e.getMessage(), e); + } + } } -- Gitblit v1.8.0